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

a14486661f32496d8dffe21989972189.jpg

В апреле 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 и недоступен на программном уровне, поэтому невозможно провести брутфорс, не имея доступа к конкретной микросхеме.

6c991f2f14624a1c8f1ca9dc99883034.png

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

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

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

d7fd0b0d336b4393b3dd70012a8bc8d2.jpg

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

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

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

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

Для проверки работоспособности каждый контакт модуля NAND соединяют с материнской платой тефлоновыми проводами 0,3 мм.

20070bb2ea9c4cfb88339e58d7ec281c.jpg

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

1b2204b65d6d46d3839b3aa8f0561e23.jpg

bcb69be53608462e9575d5a878d8e402.jpg

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

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

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

83a3e79d8a78424ba81295b70d075db9.png
Сигнал без помех

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

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

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

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

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

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

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

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

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

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

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

© Geektimes