Как стать автором
Обновить

Демонстрация брутфорса пароля iPhone 5c c зеркалированием флэш-памяти

Время на прочтение4 мин
Количество просмотров58K


В апреле 2016 года ФБР и Apple устроили настоящее шоу вокруг телефона iPhone 5c стрелка из Сан-Бернардино, для которого якобы никак не удавалось подобрать пароль без помощи компании Apple.

ФБР давило на Apple, требуя технической помощи. Тим Кук опубликовал открытое письмо, в котором обвинил ФБР в принуждении Apple встроить бэкдор в iOS. Дело дошло до Конгресса и Сената США, проблему обсуждали все крупнейшие американские СМИ и телеканалы. Мир с замиранием сердца следил за санта-барбарой и гадал: даст Apple федералам или не даст доступ к криптосистеме iPhone.

iPhone защищён от брутфорса через опцию уничтожения данных на устройстве после десяти некорректных попыток ввода и увеличивающееся время задержки между наборами кода разблокировки (5 секунд после 5 попыток, затем 1 минута, 5 минут, 15 минут и 60 минут).

Защиту логично обойти путём копирования флэш-памяти с брутфорсом сделанных копий (NAND mirroring), но специалисты ФБР почему-то не смогли провести такую атаку. Они обратились к АНБ — те тоже не смогли помочь.

После длительных безуспешных попыток давления на Apple ФБР заплатило больше $1 млн хакерам (предположительно, из Израиля), которые предложили рабочий метод брутфорса пароля iPhone 5c. Источники сообщили тогда, что смартфон был взломан с использованием ранее неизвестной (0day) уязвимости в iOS 9. Несмотря на требование компании Apple, ФБР до сих пор не обнародовало информацию об уязвимости, чтобы Apple могла устранить её — такая месть по-фбровски.

Директор ФБР сказал, что копирование NAND не применялось, потому что оно не работает.

Теперь один простой хакер сделал то, что не могли сделать специалисты ФБР и АНБ. Сергей Скоробогатов из Кембриджского университета (Великобритания) наглядно показал, как осуществляется брутфорс пароля iPhone 5C после копирования флэш-памяти. Научная работа по криптографии опубликована в свободном доступе на сайте arXiv.org.

Согласно схеме шифрования iOS, пароль пользователя и уникальный ключ UID применяются для генерации ключа к системному хранилищу System Keybag. Ключ UID аппаратно прописан в SoC и недоступен на программном уровне, поэтому невозможно провести брутфорс, не имея доступа к конкретной микросхеме.



Хотя архитектура iPhone 5c держится в секрете, на форумах можно найти схемы и наименования микросхем iPhone 5c, iPhone 6 и др., с цоколёвкой NAND. Но Сергей Скоробогатов предупреждает, что некоторые контакты VCCQ и GND поменяли местами, так что по той распиновке можно безвозвратно повредить микросхему. Для изучения протоколов и команд понадобится осциллограф и логический анализатор.



В демонстрационном видеоролике Сергей показывает, как разобрать iPhone, извлечь микросхему с чипом флэш-памяти, отпаять её паяльным феном и клонировать данные. Подобную инструкцию по разбору iPhone 5C см. на iFixit.

SoC A6 и микросхема NAND находятся разных сторонах материнской платы. Между NAND и платой расстояние примерно 0,05 мм. Для извлечения потребуется специальный тонкий нож и паяльный фен с температурой более 300°C.



Все мелкие компоненты вокруг чипа были предварительно защищены температуростойкой эпоксидной смолой.


Подготовка к извлечению NAND

Высокая температура не повреждает данные во флэш-памяти. Проведённые ранее исследования показали, что она выдерживает до 400°C.


Извлечённый модуль NAND

Для проверки работоспособности каждый контакт модуля NAND соединяют с материнской платой проводами 0,3 мм c тефлоновой изоляцией (МГТФ).



Затем материнскую плату вставили на место, а для проводов с извлечённым модулем NAND в корпусе вырезали дырку.





В первое время телефон сильно глючил. Сергей выяснил, что это из-за помех в длинных проводах.


Сигнал с помехами

Пришлось добавить согласующие резисторы на все сигнальные провода. Тогда сигнал выровнялся и телефон перестал глючить.


Сигнал без помех

Дальше инженер из Кембриджского университета вставил промежуточную плату для прослушки сигнала, подключил осциллограф и логический анализатор для реверс-инжиниринга протокола и команд iPhone 5c.


Промежуточная плата для прослушки

Здесь опять возникли проблемы с целостностью сигнала, на этот раз из-за входной и выходной электрической ёмкости буферных элементов 74LVC и 74AVC в 4 пФ и 6 пФ. Пришлось заменить их на элементы с меньшей ёмкостью 74AUP и 74AXP.

В конце концов, исследователю всё-таки удалось подготовить iPhone 5с к реверс-инжинирингу. К этому моменту он, очевидно, зашёл уже дальше, чем удалось зайти специалистам ФБР и АНБ.


iPhone 5c с логическим анализатором

Дальнейшее было делом техники. Оказалось, что iPhone 5c использует разные интерфейсы и команды на разных этапах загрузки, в том числе недокументированные проприетарные команды на тактовой частоте 50 МГц. В конце концов, логический анализатор записал все команды и помог определить особый проприетарный протокол, который используется для коммуникации с NAND.

Сергей Скоробогатов научился считывать, стирать и записывать память NAND по своему желанию. Это всё, что необходимо для успешного брутфорса пароля.


Испытательный стенд для копирования NAND

Программа для брутфорса пробует шесть вариантов пароля, пока не появляется задержка в 1 минуту, тогда автоматически начинается процесс восстановления памяти из резервной копии (чтобы сбросить счётчик, защищающий от брутфорса), затем брутфорс продолжается. Цикл восстановления после 6 попыток занимает 90 секунд. Таким образом, полный перебор всех вариантов пинкода из четырёх цифр займёт около 40 часов.


Программа для зеркалирования NAND для iPhone 5c

Такой метод брутфорса не работает в более новых моделях iPhone, куда встроена дополнительная защита Secure Enclave. Но вполне можно предположить, что коллеги Сергея Скоробогатова из компании Elcomsoft и других фирм, которые специализируются на взломе смартфонов, в том числе по заказу спецслужб, уже решают эту проблему.

Теги:
Хабы:
Всего голосов 69: ↑66 и ↓3+63
Комментарии88

Публикации

Истории

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область