Атака позволяет злоумышленникам осуществлять любое количество попыток ввода пароля на заблокированном устройстве Apple без риска, что сработает защитный механизм, стирающий все данные.
С тех пор, как в 2014 году была выпущена iOS 8, все айфоны и айпады используют шифрование. Часто защищённые 4- или 6-значным паролем эти устройства становятся практически неуязвимыми для взлома, благодаря сочетанию программных и аппаратных средств безопасности. В случае превышения допустимого числа попыток ввода пароля все данные с устройства удаляются.
Но Мэтью Хики, исследователь безопасности и сооснователь компании Hacker House нашёл способ обойти ограничение в 10 попыток и ввести столько паролей, сколько захочет — даже на iOS 11.3.
Атакующему нужен лишь включенный заблокированный смартфон и Lightning-кабель.
В обычных условиях на айфонах и айпадах ограничено количество попыток ввода пароля в минуту. Последние устройства Apple содержат отдельный чип для защиты от брутфорс-атак, который подсчитывает, сколько попыток ввода пароля было сделано, и замедляет ответную реакцию с каждой новой ошибкой.
Хики сумел обойти эту защиту. Он объяснил, что когда айфон или айпад подключены, и атакующий посылает нажатия клавиш, это вызывает срабатывание прерывания, которое имеет наивысший приоритет на устройстве.
Вместо того, чтобы отправлять пароли по одному и ждать ответа, отправьте их все сразу. Если вы запустите брутфорс-атаку одной длинной строкой, она будет обработана целиком как одна попытка ввода пароля, что позволит избежать обнаружения подбора и удаления данных.
Атакующий может отправить все пароли за один раз, перечислив их в одну строку без пробелов. Из-за того, что это не даёт программному обеспечению перерывов, процесс обработки клавиатурного ввода удерживает более высокий приоритет, не давая запуститься процессу подсчёта попыток ввода и удаления данных с устройства. Это означает, что атака возможна только после загруки устройства, говорит Хики, так как тогда запущено больше программ.
В готовящемся обновлении iOS 12 будет представлен режим ограничения USB, который сделает невозможным использование порта ни для чего, кроме зарядки устройства, если прошло более часа с момента последней разблокировки. Это ограничит возможности эксплуатации найденной уязвимости, так как в ходе брутфорс-атаки на проверку каждого пароля тратится 3-5 секунд, что позволит за час подобрать только четырёхзначный пароль, но не шестизначный.
Хики отправил Apple письмо с описанием уязвимости, но пока не получил ответа.
Найти этот баг было несложно. Думаю, и другие справятся, либо уже сделали это.
UPD 23.06.2018
Мэтью написал в своём Твитере, что Apple начала расследование на основе предоставленной им информации, в ходе которого они, возможно, объяснят такое поведение смартфона, а также назовут существующие меры защиты от продемонстрированной атаки, не замеченные им.
UPD 24.06.2018
Пресс-секретарь Apple Мишель Уаймен заявила, что недавний отчёт о способе обхода защиты на айфоне является ошибкой и результатом некорректного тестирования.
Хики написал позже в своём Твитере, что, похоже, не все передаваемые пароли фактически доходили до устройства:
Пароли не во всех случаях попадали в модуль безопасности. То есть, хотя это выглядело, как будто они были введены, на самом деле они не были проверены устройством на коррректность и не увеличивали счётчик попыток входа.
Хики благодарит Стефана Эссера за помощь.
Я вернулся к повторной проверке кода и процесса тестирования. Когда я отправлял пароли на смартфон, казалось, что 20 и более из них были введены, но на самом деле для проверки в устройство отправлялись лишь 4-5 паролей.
Автор: Michae1