Чуть больше недели назад Apple выпустила обновление macOS High Sierra с новой файловой системой APFS. Прошло всего пару дней — и в системе обнаружили неприятный баг, который можно назвать потенциальной уязвимостью.
Дело в том, что при создании в дисковой утилите (Disk Utility) зашифрованного контейнера APFS с указанием пароля и парольной подсказки, если отмонитровать этот контейнер, а затем примонтировать снова — то macOS High Sierra вместо парольной подсказки показывает пароль!
Бразильский разработчик Матеус Мариано (Matheus Mariano) пишет, что проблема затрагивает только «маки» с SSD-накопителями из-за ограничений файловой системы. Матеус Мариано очень удивляется, как такой баг не заметили сотрудники, тестеры Apple или кто-нибудь ещё. Неужели они не пользуются зашифрованными контейнерами или не указывают подсказки?
Баг подтвердили другие пользователи, пароль действительно демонстрируется в открытом виде в macOS High Sierra, включая версии 10.13 и 10.13.1 beta. В базе данных уязвимостей этому багу присвоен номер CVE-2017-7149.
Судя по всему, если не задавать подсказку-напоминание при указании пароля, то впоследствии баг не проявляется (негде показать пароль, если нет подсказки). И если не пользоваться дисковой утилитой, тоже всё будет нормально — баг присутствует именно в дисковой утилите. Так что если вы создаёте зашифрованные тома через консоль, то замены пароля на подсказку не произойдёт. В этом случае система корректно показывает подсказку, а не пароль.
Компания Apple признала наличие уязвимости и 5 октября опубликовала официальную рекомендацию, как устранить уязвимость:
- Установить обновление macOS High Sierra 10.13 Supplemental Update со страницы обновлений App Store.
- Создать резервную копию зашифрованных данных из поражённого тома APFS.
- Открыть дисковую утилиту (Disk Utility) и выбрать том.
- Отмонтировать его (Unmount).
- Нажать «Стереть» (Erase).
- Когда спросят, указать имя тома в поле «Имя» (Name).
- Изменить формат на APFS.
- Ещё раз изменить формат на APFS (Encrypted).
- Ввести новый пароль в диалоговое окно. Вввести его ещё раз для подтверждения, а при желании ввести подсказку-напоминание для тома APFS. Нажать «Выбрать» (Choose).
- Нажать «Стереть» (Erase). Можно наблюдать процедуру удаления.
- Нажать «Готово» (Done), когда процедура завершена.
- Восстановить данные из резервной копии, сделанной на этапе 2, в новый зашифрованный том, который вы только что создали.
Apple рекомендует считать скомпрометированными пароли от старых зашифрованных томов APFS — и поменять их везде, где они использовались, на компьютере и в интернет-сервисах.
Баг также исправлен в основной версии macOS High Sierra, если вы ещё не установили это обновление. То есть после его установки не нужно отдельно скачивать патч.
Сразу после CVE-2017-7149 в базе уязвимостей зарегистрировали ещё один баг CVE-2017-7150: неподписанные приложения имеют доступ к секретным данным, которые хранятся в «Связке ключей» (Keychain) — программе, предназначенной для хранения паролей и учётных данных. Пользователь при этом не получает никаких уведомлений, что программа обратилась к «Связке ключей» (см. видео), хотя даже подписанные нормальные приложения должны справшивать разрешение пользователей или пароль. Уязвимость обнаружил специалист по безопасности Патрик Уордл (Patrick Wardle) ещё в сентябре, но Apple не успела её устранить до выхода macOS High Sierra.
По мнению многих комментаторов на форумах и в соцсетях, Apple явно нуждается в найме дополнительных квалифицированных сотрудников в отдел тестирования, даже в iOS 11 полным-полно очевидных ляпов. А если с той же дисковой утилитой macOS поработать пять минут — то вы найдёте с десяток ляпов и любительских ошибок разработки — а ведь когда-то она была одной из самых лучших системных утилит OS X, как сумели так всё испортить? Может, не стоит так часто выпускать большие обновления ОС, а больше времени уделить тестированию?
Хотя кто-то шутит, что при замене подсказки на пароль формально тестеры не увидели ошибки: разве пароль сам по себе не считается подсказкой-напоминанием? Всем известно, что операционная система от Apple очень удобна и дружественна к пользователю. Вот и здесь: если человек забыл пароль, macOS его напоминает.
Автор: Анатолий Ализар