Пароль на Screen Time: тоже задержки, но без блокировки устройства
Пароль Экранного времени (Screen Time) используется для ограничений и контроля использования устройства, в основном — в руках у ребёнка (но также может служить в качестве последней линии обороны от некоторых несанкционированных действий с устройством). Для защиты от перебора этот пароль тоже имеет свою систему задержек. Раньше механизм также использовал прогрессивные задержки, а после 11-й попытки задержка оставалась фиксированной — 1 час, что, в принципе, позволяло ребёнку или злоумышленнику со временем подобрать 4-значный код — ведь блокировки устройства не происходит независимо от числа попыток.
Мы проверили задержки на iOS 18; они выглядят так:
- 5 неверных попыток — без задержки
- 6-я попытка — 1 минута
- 7-я попытка — 5 минут
- 8-я попытка — 15 минут
- 9-я попытка — 1 час
Дальше тестировать мы не стали. Стоит отметить, что пароль Screen Time всегда состоит из 4 цифр, этот формат не изменился с момента появления функции.
Плюсы новой схемы задержек: защита от случайной блокировки
Добавление задержек длительностью в 3 и 8 часов после седьмой попытки ввода имеет один очевидный плюс: теперь ребёнку, в руки которого попало устройство, станет сложнее случайно заблокировать устройство. Ранее для этого хватало 2,5 часов активных нажатий экранных кнопок; маловероятно, что смартфон будет в руках у ребёнка (или в зоне его доступа) более 12 часов подряд.
Интересные факты о кодах блокировки
Казалось бы, что интересного можно рассказать о такой простой вещи, как PIN-код на разблокировку iPhone? Тем не менее, нам удалось собрать целый ряд фактов, опровергающих популярные городские легенды или проливающих свет на функционирование механизмов защиты. Вот они:
Действительно ли данные удаляются после 10-11 попытки?
Ответ на этот вопрос неоднозначен.
- Для 32-битных устройств данные не удаляются, их можно извлечь. Причём устройства с iOS 7 и более ранними версиями позволяют получить доступ к данным даже без знания пароля.
- На всех устройствах данные в принципе не стираются полностью — удаляются лишь метаданные, содержащие ключи шифрования. Впрочем, этого вполне достаточно; без этих ключей расшифровать данные технически невозможно в принципе.
- Для некоторых старых 64-битных устройств (до iPhone 7 включительно) на iOS примерно до 12-й версии существовала возможность взломать код даже в состоянии «iPhone is disabled» и извлечь информацию.
Легенда про обновление iOS и получение дополнительной попытки
Существует миф, что если попытки ввода пароля исчерпаны и устройство находится в статусе «iPhone is disabled», можно обновить iOS (например, через 3uTools) и получить одну дополнительную попытку. Нам не удалось найти подтверждений этой гипотезе. В редких случаях система действительно позволяет ввести пароль ещё раз, но эта «дополнительная попытка» оказывается пустышкой — даже правильный пароль всё равно не принимается.
Влияют ли задержки на скорость перебора форензик-софтом?
Нет, эти задержки никак не сказываются на скорости перебора паролей специальными инструментами, поскольку реализованы на уровне iOS. Там, где перебор возможен, он выполняется на скоростях от 5-20 паролей в секунду для 32-битных устройств или до 2 паролей в минуту для более новых моделей.
Пример: в посте на LinkedIn описан случай перебора 595 тысяч паролей за 192 дня. Это означает, что устройство iPhone SE 2020 (чип A13, iOS 15.6.1) позволяло проверять примерно 2 пароля в минуту.
Есть ли решения для iPhone 12 и новее?
Насколько нам известно, на момент написания статьи для iPhone 12 и более новых устройств (чип A14) способов перебора кода блокировки не существует — даже в самых технологически продвинутых решениях, доступных исключительно государственным органам. Скорее всего, это связано с переходом на новое поколение Secure Enclave. Подробнее об изменениях в этой технологии можно прочитать в документе Apple: Secure Enclave feature summary.
Реальные скорости перебора vs. официальные заявления
В официальной документации Apple утверждается:
«Число итераций калибровано так, что одна попытка занимает примерно 80 миллисекунд. Таким образом, полный перебор всех возможных 6-значных буквенно-цифровых паролей займёт более пяти с половиной лет.»
На практике такие расчёты не соответствуют реальности; перебор гораздо медленнее. Перебор со скоростью 12 паролей в секунду невозможен даже для iPhone 7, не говоря уже о более новых устройствах. К тому же, расчёты Apple основаны на комбинации из 6 символов (буквы и цифры), тогда как пользователи чаще выбирают 6-значный цифровой код, который при такой скорости был бы перебран всего за несколько часов, чего на самом деле не происходит.
Отметим, что иногда более высокую скорость можно получить на старых устройствах (до iPhone 7 включительно) сразу после установки или смены кода блокировки. В таких случаях мы могли наблюдать скорости порядка 30-35 п/с. В реальности ситуация редкая и относится к тестовым: после небольшого количества циклов штатной блокировки-разблокировки происходят изменения в SEP, после чего перебор становится заметно более медленным- порядка 5-6 паролей в минуту.
Заключение
Эволюция системы защиты от перебора кодов блокировки в iOS показывает небольшие, но важные изменения в схеме задержек между попытками. Перебор паролей в ручном режиме как был, так и остаётся малоэффективным; увеличение же задержек на последних перед сбросом или блокировкой устройства этапах ведёт, скорее, не к увеличению безопасности, а к возможности «остыть» и вспомнить забытый пароль для владельца устройства.