Исследователь провел реверс-инжиниринг новой функции безопасности iPhone «Перезагрузка при неактивности»

Недавний отчет 404 Media показал, что сотрудники правоохранительных органов обеспокоены тем, что iPhone автоматически перезагружаются, что затрудняет взлом этих устройств. Исследователь безопасности Jiska Classen позже обнаружил, что это поведение вызвано новой функцией под названием «Перезагрузка при неактивности», реверс-инжинирингом которой теперь занялся Classen.

Реверс-инжиниринг функции «Перезагрузка при неактивности» iPhone

Исследователь подробно описал в своем блоге, как именно Apple реализовала функцию «Перезагрузка при неактивности», сделав все это тихо, без публичного анонса новой функции безопасности. На основе кода iOS удалось подтвердить, что «Перезагрузка при неактивности» была реализована в iOS 18.1, хотя код бета-версии iOS 18.2 предполагает, что Apple продолжает улучшать ее работу.

Вопреки прежним предположениям, функция безопасности не связана с беспроводным подключением. Вместо этого она использует Secure Enclave Processor (SEP) для отслеживания времени последнего разблокирования iPhone. Если с момента последнего разблокирования прошло более трех дней, SEP уведомляет ядро, которое завершает работу Springboard (ядра iOS) и инициирует перезагрузку.

Как и следовало ожидать, по словам Classen, Apple внедрила способы предотвращения обхода этого процесса хакерами. Например, если что-то мешает ядру перезагрузить iPhone, система автоматически вызовет панику ядра, чтобы вызвать сбой и перезагрузить устройство. Система также отправляет аналитические данные в Apple, когда устройство входит в состояние «aks-inactivity».

Поскольку все, связанное с «Перезагрузкой при неактивности», происходит в SEP, а не в основном ядре iOS, обойти его гораздо сложнее, даже если основное ядро скомпрометировано (например, с помощью инструмента для джейлбрейка). Как пояснил Classen, о SEP известно немногое, поскольку Apple держит все, включая прошивку, в секрете.

При перезагрузке iPhone переходит в режим Before First Unlock (BFU), который шифрует все файлы на устройстве до тех пор, пока пользователь не введет пароль. Даже Cellebrite, компания в области кибербезопасности, специализирующаяся на извлечении данных из заблокированных iPhone, признает, что получение данных из устройства в режиме BFU весьма затруднительно.

Apple усиливает борьбу с инструментами взлома

Cellebrite can't unlock iPhones running iOS 17.4 and later | One of the company's devices
Инструмент Cellebrite, используемый для взлома iPhone

Apple не объясняет, почему она внедрила функцию «Перезагрузка при неактивности» в iPhone с iOS 18, но причины кажутся вполне очевидными. Компания, безусловно, хочет бороться с такими инструментами, как Cellebrite и шпионское ПО Pegasus, которые часто используются сотрудниками правоохранительных органов. Конечно, это также защищает обычных пользователей, чьи данные могут быть извлечены после кражи или ограбления.

Больше информации о реверс-инжиниринге функции «Перезагрузка при неактивности» можно найти в блоге Jiska Classen.