Чуть больше недели назад 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 его напоминает.
Комментарии (27)
famiak
06.10.2017 18:13+6Установить обновление macOS High Sierra 10.13 Supplemental Update со страницы обновлений App Store.
Создать резервную копию зашифрованных данных из поражённого тома APFS.
Открыть дисковую утилиту (Disk Utility) и выбрать том.
Отмонтировать его (Unmount).
Нажать «Стереть» (Erase).
Когда спросят, указать имя тома в поле «Имя» (Name).
Изменить формат на APFS.
Ещё раз изменить формат на APFS (Encrypted).
Ввести новый пароль в диалоговое окно. Вввести его ещё раз для подтверждения, а при желании ввести подсказку-напоминание для тома APFS. Нажать «Выбрать» (Choose).
Нажать «Стереть» (Erase). Можно наблюдать процедуру удаления.
Нажать «Готово» (Done), когда процедура завершена.
Восстановить данные из резервной копии, сделанной на этапе 2, в новый зашифрованный том, который вы только что создали.
А потом говорят про дружественный интерфейс и юзабилити и вот это вот все.Ilyasyakubov
06.10.2017 20:25А что не так? Разработчики пользовательского интерфейса должны были заранее менюшку специальную придумать для разруливания этой довольно серьезной проблемы?
famiak
06.10.2017 20:36Встроить простенький скрипт в обновление?
kekekeks
06.10.2017 21:24+1Простенький скрипт, который стирает и переформатирует диск? Это бамблби какой-то уже.
Cenzo
06.10.2017 23:48+2Интересно, а просто затереть подсказку они не смогли? Похоже проблема не такая, как её описывают — пароль сохранили в подсказке. Там что-то хуже.
0o0
08.10.2017 13:12Там написано «Changing the password on an affected volume clears the hint but doesn’t affect the underlying encryption keys that protect the data.».
Т.е., как я понял, раз пароли, попавшие в хинт надо считать скомпрометированными, то и ключи шифрования тоже. Поэтому контейнер лучше пересоздать.Cenzo
10.10.2017 04:03+1Даже линуксовый LUKS умеет делать перешифрование «на лету», без пересоздания устройства. Удивлён, что на МАКе такую очевидную вещь не сделали.
lohmatij
08.10.2017 13:12При смене пароля меняется только пароль, а ключ шифрования остаётся прежним.
То есть если пароль скомпрометировали и ключ уже украли, то смена пароля не поможет.
ruzhovt
06.10.2017 19:41+1ух, пятой точкой чуял что не стоит переходить с 10.12 до 10.13 :)
Ilyasyakubov
06.10.2017 22:49+1Зря. Мой MacBook Air 13 (2014 года) ожил. Батарею стал держать очень хорошо, субъективно система стала работать быстрее.
Celtis
07.10.2017 01:21+1Как раз в Вашем случае есть нюанс: в Metal2 есть веселый баг с компиляцией шейдеров, который приводик к крешу при старте очень разных приложений. Закономерность пока не ясна. Затронуты Intel HD 4000-5000 и некоторые Iris.
kozyabka
Верно понимаю, что это свидетельствует о том что макось хранит пароли к этим зашифрованным контейнерам где-то у себя? Если так, то это очень плохо и странно что нет на этом акцента.
klinifini
Макось хранит подсказку в незашифрованном виде. А дисковая утилита при создании тома сохраняет пароль как подсказку.
kozyabka
Спасибо, буду так и думать)
za121
Это не баг-это фича ))
BarredEwe
Нет, из за бага пароль записывается в поле с подсказкой, а это поле уже хранится «где-то у себя».
pftbest
Похоже что утилита записывала пароль вместо подсказки в поле для подсказки. Я уверен что разработчики файловой системы не настолько глупы чтобы хранить пароль в открытом виде.
ivlis
Вместо
написали
Ну с кем не бывает? :)
BubaVV
Интересно, статический анализатор такое поймает?