- PVSM.RU - https://www.pvsm.ru -
В прошлой статье я рассказал о режиме ограничения доступа к аксессуарам в устройствах под управлением iOS. В статье я акцентировал внимание на особенности iOS, которая ставит безопасность данных пользователя в зависимость от единственного «непреодолимого» защитного рубежа: кода блокировки экрана. Практически все защитные меры так или иначе завязаны на код блокировки. Apple периодически (по сложному расписанию) отключает в iPhone биометрику, заставляя пользователя вводить пасскод для разблокировки экрана. Включил или перезагрузил телефон – нужен код блокировки. Использовал режим SOS – код блокировки. Телефон не использовался несколько часов – снова код блокировки. Подключаешь к компьютеру – и опять введи код блокировки. Хочешь установить пароль на резервную копию? Начиная с iOS 13 и здесь нужен код блокировки.
Казалось бы, пользователю достаточно установить длинный и сложный код блокировки, чтобы полностью обезопасить устройство. Однако такое поведение ничем не отличается от гипотетической системы безопасности здания, в котором охраняется только вход – при этом двери в кабинеты всегда нараспашку, на компьютерах в офисах нет никаких паролей, а к внутренней сети с любого устройства можно получить неограниченный доступ, просто подключившись к сети Wi-Fi (конечно же, тоже совершенно открытой).
Фантастика? Действительно, описанное звучит странновато, но именно в таком состоянии находится сейчас система безопасности iOS. Фактически, вся защита целиком и полностью основана на единственном рубеже обороны, которым является код блокировки экрана – при единственном маленьком условии: учётная запись пользователя защищена двухфакторной аутентификацией.
Если известен код блокировки экрана, из iPhone можно извлечь практически все данные, включая пароли от учётных записей. Как это сделать? Создать резервную копию, защитив её паролем. А для чего здесь код блокировки? Вот последовательность шагов для создания такой резервной копии:
Код блокировки можно использовать для полноценного, неограниченного доступа к паролям из Связки ключей в самом iPhone. Более того, зная код блокировки, можно легко просмотреть все сохранённые пользователем пароли как в Связке ключей, так и в стороннем менеджере паролей, который подключён к системе автозаполнения iOS (например, Roboform).
Зная код блокировки, можно легко отвязать украденный телефон от iCloud. Для этого достаточно сменить пароль от iCloud прямо в настройках телефона; вводить оригинальный пароль владельца iPhone для этого вовсе не нужно. При минимальной сноровке пароль к iCloud меняется в несколько секунд, после чего Find my iPhone выключается моментально.
Посредством кода блокировки можно расшифровать базу данных паролей пользователя в iCloud, его сообщения SMS и iMessage, а также данные «Здоровья». Здесь есть тонкий момент: для доступа к этим данным нужно, чтобы учётная запись пользователя была защищена двухфакторной аутентификацией.
Хорошо, с тем, что именно доступно злоумышленнику, узнавшему код блокировки, мы разобрались. Но при чём здесь двухфакторная аутентификация?
Дело в том, что лишь при включении двухфакторной аутентификации становятся доступными некоторые продвинутые возможности iCloud. При этом весь смартфон целиком превращается в тот самый дополнительный фактор, который необходим для… а вот для чего.
«Какой ужас! Нет, я точно не буду включать двухфакторную аутентификацию, это просто опасно!» Логичное рассуждение? Честно говоря, не очень: включить двухфакторную аутентификацию с iPhone, зная его код блокировки, будет очень и очень просто, что возвращает нас к первому пункту. А вот выключить 2FA на сегодняшний день очень тяжело, практически невозможно.
При помощи кода блокировки злоумышленник (или правоохранительные органы) могут проделать ряд нежелательных для пользователя вещей. Код блокировки – практически единственный и последний оставшийся рубеж обороны. Если он падёт, злоумышленник сможет сделать как с самим iPhone, так и с данными в облаке практически что угодно – полный аналог здания, вся система безопасности которого ограничивается цифровым замком на входе. Дальше можно просто идти по цепочке: пароли от учётных записей из Связки ключей помогут войти в социальные сети; если найдётся пароль от учётной записи Google – можно получить доступ и к тем данным, которые накопили устройства пользователя с Android.
Apple обо всём этом известно. Вот уже долгое время при настройке iPhone или iPad вам будет предложено ввести код блокировки, состоящий из 6 цифр (раньше было всего 4). Да, включить 4-цифровой код блокировки можно, но безопасность такого шага сомнительна: 4-значные коды блокировки при помощи специальных средств можно взломать в течение получаса. А вот на перебор паролей, состоящих из 6 цифр, может уйти до 19 лет – это достаточно безопасно. Впрочем, известные нам решения используют своеобразные обходные пути: первые несколько сотен тысяч паролей в некоторых случаях (AFU, определённые поколения аппаратного обеспечения) перебираются заметно быстрее, а вместо полного перебора используются частотные словари.
А что насчёт аппаратной защиты от перебора? Во всех 64-разрядных устройствах с iOS присутствует подсистема безопасности Secure Enclave, аппаратная часто которого – Secure Element, — как раз и ограничивает скорость и число возможных попыток. На сегодняшний день защиту Secure Enclave сумели более-менее обойти для всех поколений iPhone и iPad, кроме последнего, основанного на SoC A12. В числе «безопасных» моделей – iPhone Xs, Xs Max и Xr. В этих моделях скорость перебора будет ограничена одним паролем за 10 минут; обойти это ограничение, насколько мне известно, производителям средств для взлома пока не удалось. А вот для более старых моделей, особенно в режиме AFU (After First Unlock, т.е. телефон был изъят у пользователя во включённом состоянии, и пользователь разблокировал его хотя бы раз после включения) скорость перебора выше в разы.
Правда – но только для устройств, зарегистрированных в учётной записи с активной двухфакторной аутентификацией. Удивительно, но это так: самый, пожалуй, мощный механизм, продвинутый сдерживающий фактор, после появления которого кражи iPhone сократились в несколько раз, можно отключить, зная лишь код блокировки и ничего более.
Как это делается? Нужен сам iPhone и его код блокировки. Запустим системное приложение Find iPhone. В приложении — поле ввода пароля с надписью “Required”. Проигнорируем его, нажав на “Forgot Apple ID or password?”, и увидим запрос кода блокировки телефона:

Вводим код блокировки, а на следующем шаге устанавливаем новый пароль к iCloud:

Задача решена: пароль от Apple ID/iCloud нам теперь известен; iCloud lock можно отключить из настроек системы.
Альтернативный способ не требует использовать приложение Find My Phone. Заходим в Apple ID в настройках устройства, после чего открываем пункт Password & Security:

Далее – Change Password. Будет запрос кода блокировки устройства:

После этого меняем пароль от iCloud / Apple ID:

Даже после этого оригинальный владелец всё ещё может вернуть себе контроль над учётной записью, послав запрос на восстановление и указав доверенный телефонный номер.

В настройках Trusted Phone Number указывается тот номер телефона, на который будут приходить SMS для двухфакторной аутентификации. Именно этот номер владелец сможет использовать для восстановления доступа к учётной записи, если злоумышленник сменит пароль от Apple ID.
Удалить единственный номер нельзя, но злоумышленника это не остановит. Первым шагом будет добавлен новый «доверенный номер телефона», вторым – удаляется старый, принадлежавший бывшему владельцу учётной записи. С этого момента – действительно всё: быстро восстановить доступ к учётной записи у оригинального владельца устройства уже не получится. В лучшем случае это удастся сделать после длительной процедуры верификации, за время которой следы украденного устройства успеют затеряться.
С моей точки зрения, система безопасности iOS сейчас оставляет желать много лучшего. Единственный рубеж обороны – совершенно недостаточная защита. (Здесь упомяну о защите паролем «Экранного времени»; она не совершенна, но лучше, чем ничего. Как-нибудь я расскажу об этой защите подробнее.)
Как можно усилить безопасность? Я бы предложил следующие меры.
Можно ли как-то самостоятельно усилить безопасность iOS? Корпоративные пользователи могут воспользоваться системой Apple Configurator, в которой можно установить ограничения на манипуляции с учётной записью. Конечным пользователям имеет смысл устанавливать пароль «Экранного времени». Если не увлекаться самоограничениями, то опыт использования устройства не пострадает, но пароль к резервной копии сбросить уже не удастся: помимо кода блокировки экрана, система запросит ввести ещё и пароль «Экранного времени». Кроме того, можно настроить ограничения таким образом, что без пароля «Экранного времени» не получится сменить пароль от учётной записи или удалить её с iPhone.
Автор: Oleg_Afonin
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios/325854
Ссылки в тексте:
[1] Источник: https://habr.com/ru/post/462271/?utm_campaign=462271&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.