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

в 12:34, , рубрики: iOS, iphone, iPhone 5C, nand, информационная безопасность, Электроника для начинающих

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

В апреле 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 c зеркалированием флэш-памяти - 2

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

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

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

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

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

Демонстрация брутфорса пароля iPhone 5c c зеркалированием флэш-памяти - 4
Подготовка к извлечению NAND

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

Демонстрация брутфорса пароля iPhone 5c c зеркалированием флэш-памяти - 5
Извлечённый модуль NAND

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Демонстрация брутфорса пароля iPhone 5c c зеркалированием флэш-памяти - 13
Испытательный стенд для копирования NAND

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

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

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

Автор: alizar

Источник

Поделиться новостью

* - обязательные к заполнению поля