Библиотека

Мы делимся с Вами только полезной информацией

Восстановление данных с разбитого iPhone

Телефон прибыл в нашу лабораторию в плачевном состоянии: задняя крышка выломана, наружу торчат куски соединительных кабелей, батарея сильно вспучена. Сослов заказчика, телефон долгое время лежал на солнце и взорвался. Такое бывает, когда перегревается батарея; собственно, именно она и являлась в данном случае «корнем зла». Взрыв батареи привел к повреждениям основной платы телефона, оказавшимсянесовместимыми с его жизнью. Проще говоря, ремонт невозможен.

В поступившем к нам телефоне объем памяти составлял 16 Гбайт, соответственно,все данные хранятся в чипе Toshiba означенной емкости. Чип был нами аккуратно снят с платы (работы проведены Андреем Дрошиным с использованием ИК-паяльной станции). Тип чипа: BGA52, т.е. работы можно проводить в штатном адаптере PC-3000 Flash (что мы и сделали).

NAND-микросхема имеет 4 банка по 4 Гбайт каждый. Для того, чтобы увеличить вероятность нормального чтения чипа, мы используем собственный алгоритм. Суть алгоритма заключается в подаче на чип пониженного питания (1.7 – 1.8V) с одновременным увеличением таймингов на обработку команд. В совокупности это дает нам возможность вычитывать чип медленнее, чем в штатных режимах РС-3000 (в среднем раза в 3), но зато мы получаем на выходе дампы, практически не имеющие битовых ошибок и, соответственно, практически не нуждающиеся в дополнительном дочитывании.

После чтения началась работа с дампами. В целом работы с NAND-памятью iPhone не отличаются от работ с аналогичными микросхемами других устройств, за исключением двух ключевых особенностей: 1) содержимое может быть зашифровано на аппаратном уровне (на новых iPhone, начиная с версии 5, шифрование уже является обязательным); 2) кроме данных клиента, на том же NAND-чипе лежит iOS и множество служебных файлов.Соответственно, сборка дампа стандартными методами анализа файловых структур FAT нам не подходит.

Первое, что пришлось сделать «по наитию» - поиск и отработка алгоритмов ECC. Поскольку структуры файловой системы отличаются от FAT, то ЕСС определяются не данными, а ID микросхемы. Сделано. Следующая обязательная операция – определение необходимости XOR-преобразований. Опыт показывает, что большинство современных микросхем NAND без XOR не работают. Не исключением стал и наш чип. После проведения коррекции, начинаем работать с данными.

Определяем, есть ли в чипе вставки. Ожидается, что Apple использует качественные микросхемы, и вставок нет. Так и есть – вставок нет. После этого начинаем обрабатывать непосредственно дамп – ищем микс и устраняем его. Это делается обычно на основе служебных байт, которые несложно вычленить из данных при определенном навыке. Вычленили, убрали микс.

Последний этап работ – определить, каков алгоритм сборки образа. В нашем случае это транслятор по номеру блока (0000). Определяем параметры (размер банка, размер сектора и его формулу) и запускаем сборку. На выходе получаем дамп, который по идее должен содержать уже готовый к извлечению данных клиента образ.

Как бы не так. Телефон зашифрован. Образ не содержит файловых структур, не работает ни черновое восстановление, ни сканирование. Тут без помощи заказчика нам не обойтись: для расшифровки будет использован Apple ID - ключ шифрования привязан к нему. В целом шифрование iPhone при наличии этих вводных (Apple ID и пароль) не представляет ничего сложного – примерно также, как вирусы-крипторы (о них я расскажу отдельно – это весьма своеобразная тема), если к ним известен ключ. Мы написали небольшую утилиту для расшифровки зашифрованных дампов iPhone 4 и iPhone 5 – более новые модели к нам пока не попадали – которая позволяет нам провести полную или частичную расшифровку данных.

Результат нашей работы: восстановленные фотографии, довольный заказчик и еще одна крупица опыта в нашей копилке..

Станислав Корб | 10 Октября 2016