Авторизация:


Сообщество людей и технологий
Сегодня у нас: год

Уже есть аккаунт? Войти
Присоединяйся к нашему гик сообществу!

Создай свой блог, делись интересной информацией из мира высоких технологий.

Хардкорный взлом самошифрующегося HDD. Реверсим и хакаем внешний накопитель Aigo
Статьи, 15-02-2018, 03:46

Хардкорный взлом самошифрующегося HDD. Реверсим и хакаем внешний накопитель Aigo

Содержание статьи

  • Аппаратная архитектура
  • Основная плата
  • Плата ЖК-индикатора
  • Клавиатурная плата
  • Смотрим на провода
  • Последовательность шагов атаки
  • Снимаем дамп?данных SPI-флешки
  • Обнюхиваем коммуникации
  • Начинаем снимать дамп с внутренней флешки PSoC
  • ISSP-протокол
  • Что такое ISSP
  • Демистификация векторов
  • Общение с PSoC
  • Идентификация внутричиповых регистров
  • Защитные биты
  • Первая (неудавшаяся) атака: ROMX
  • Вторая?атака: трассировка с холодной перезагрузкой
  • Реализация
  • Считываем результат
  • Реконструкция флеш-бинарника
  • Находим адрес хранения ПИН-кода
  • Снимаем дамп блока 126
  • Восстановление ПИН-кода
  • Что дальше?
  • Заключение

Реверсинг?и взлом внешних самошифрующихся накопителей — мое давнее хобби. В прошлом мне доводилось упражняться с такими моделями, как Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500. Совсем недавно коллега занес мне еще один экспонат: Patriot (Aigo) SK8671, который построен по типичному дизайну — ЖК-индикатор и клавиатура для ввода ПИН-кода.

INFO

  • Первоисточник: Aigo Chinese encrypted HDD.
  • Материал распространяется в соответствии с лицензией CC-BY-SA 4.0.
  • Переводчик — Антон Карев.
  • Материал публикуется с согласия автора.

Корпус

Упаковка

Доступ к сохраненным на диске данным, которые якобы зашифрованы, дается после ввода ПИН-кода. Несколько вводных замечаний?по этому девайсу:

  • для изменения ПИН-кода необходимо нажать F1 перед разблокировкой;
  • в ПИН-коде должно быть от шести до девяти цифр;
  • после пятнадцати неверных попыток диск очищается.

Аппаратная архитектура

Сначала препарируем девайс на части, чтобы понять, из?каких компонентов он состоит. Самое нудное занятие — вскрывать корпус: много микроскопических винтиков и пластика. Вскрыв корпус, видим следующее (обрати внимание на припаянный мной пятиконтактный разъем):

Основная плата

Основная плата довольно проста.

Наиболее примечательные?ее части (сверху вниз):

  • разъем для ЖК-индикатора (CN1);
  • пищалка (SP1);
  • Pm25LD010 (спецификация) SPI-флешка (U2);
  • контроллер Jmicron JMS539 (спецификация) для USB-SATA (U1);
  • разъем USB 3 (J1).

SPI-флешка хранит прошивку для JMS539 и некоторые настройки.

Плата ЖК-индикатора

На плате ЖК нет ничего примечательного.

Здесь мы видим:

  • ЖК-индикатор неизвестного происхождения (вероятно, с китайским набором шрифтов); с последовательным управлением;
  • ленточный соединитель для клавиатурной платы.

Клавиатурная плата

А вот это уже интереснее!

Вот здесь, на?задней стороне, мы видим ленточный соединитель, а также Cypress CY8C21434 — микроконтроллер PSoC 1 (далее по тексту будем звать его просто PSoC).

CY8C21434 использует набор инструкций M8C (см. документацию). На странице продукта указано, что он поддерживает технологию CapSense (решение от Cypress для емкостных клавиатур). Здесь виден припаянный мной пятиконтактный разъем — это стандартный подход для?подключения внешнего программатора через ISSP-интерфейс.

Смотрим на провода

Разберемся, что с чем здесь связано. Для этого достаточно прозвонить провода мультиметром.

Пояснения к этой на коленке нарисованной схеме:

  • PSoC описан в технической спецификации;
  • следующий?разъем, тот, что правее, — ISSP-интерфейс, который волею судеб соответствует тому, что о нем написано в интернете;
  • самый правый разъем — это клемма для ленточного соединителя с клавиатурной платой;
  • черный прямоугольник — чертеж разъема CN1, предназначенного для соединения?основной платы с ЖК-платой. P11, P13 и P4 присоединены к ножкам PSoC 11, 13 и 4, на ЖК-плате.

Как называется принцип имитации стойкой защиты?

  • Security by default
  • Security by obscurity
  • Secure design

Загрузка …

Последовательность шагов атаки

Теперь когда мы знаем, из каких компонентов состоит этот накопитель, нам необходимо:

  1. убедиться, что базовая функциональность шифрования действительно присутствует;
  2. узнать, как генерируются/сохраняются ключи шифрования;
  3. найти, где именно проверяется ПИН-код.

Для этого я?проделал следующие шаги:

  • снял дамп данных SPI-флешки;
  • попытался снять дамп данных PSoC-флешки;
  • удостоверился, что обмен данными между Cypress PSoC и JMS539 фактически содержит нажатые клавиши;
  • убедился, что при изменении пароля в SPI-флешке ничего не переписывается;
  • поленился реверсить 8051-прошивку от JMS539.

Снимаем дамп?данных SPI-флешки

Эта процедура очень проста:

  • подключить зонды к ножкам флешки: CLK, MOSI, MISO и (опционально) EN;
  • «обнюхать» коммуникации сниффером, используя логический анализатор (я взял Saleae Logic Pro 16);
  • декодировать SPI-протокол и экспортировать результаты в CSV;
  • воспользоваться decode_spi.rb, чтобы распарсить результаты и получить дамп.

Обрати внимание, что такой подход в случае с JMS539-контроллером работает в особенности хорошо, поскольку этот контроллер на этапе инициализации загружает с флешки всю прошивку.

$ decode_spi.rb boot_spi1.csv dump 0.039776 : WRITE DISABLE 0.039777 : JEDEC READ ID 0.039784 : ID 0x7f 0x9d 0x21 --------------------- 0.039788 : READ @ 0x0 0x12,0x42,0x00,0xd3,0x22,0x00, [...] $ ls --size --block-size=1 dump 49152 dump $ sha1sum dump 3d9db0dde7b4aadd2b7705a46b5d04e1a1f3b125 dump 

Сняв дамп с SPI-флешки, я пришел к выводу, что ее единственная задача — хранить прошивку для устройства управления JMicron, которая встраивается в 8051-микроконтроллер. К сожалению, снятие дампа SPI-флешки оказалось бесполезным:

  • при изменении?ПИН-кода дамп флешки остается тем же самым;
  • после этапа инициализации девайс к SPI-флешке не обращается.

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

Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.

Подпишись на «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

6790 р.

Экономия 1400 рублей!

1 месяц

720 р.

25-30 статей в месяц

Уже подписан?


Добавьте комментарий, Ваше мнение очень важно:

Имя:*
E-Mail:
Комментарий:
Вопрос:
rgjrg
Ответ:*
Введите код: *


Самое интересное:
Гику на заметку:
Не iPhone самый продаваемый телефон в истории
Новый планшет BlackBerry PlayBook
Особенности ремонта айфонов своими руками
Переделка дачи
Как выбрать недорогой смартфон
Зависимость от... мобильного телефона и телевизора
Востребованные чехлы для ipone 4
Apple. Истинный лидер или дань моде?
Чехлы для смартфонов и айфонов
Вопрос:

Какой операционкой Вы пользуетесь?

Windows 8
Windows 7
Windows Vista или XP
Linux
Mac OS
Другой

 


2024 © Cig-bc.ru - Сообщество людей и технологий.

Все права защищены.

При цитировании любых материалов, публикуемых в журнале, обязательна ссылка, помещенная не ниже первого абзаца текста. При копировании новостных материалов для интернет-изданий обязательна прямая открытая для поисковых систем гиперссылка, размещаемая вне зависимости от объема используемых материалов (полного или частичного). По вопросам рекламы пишите на sales@cig-bc.ru !

Категории:

Новости IT
Гаджеты
Железо
Софт
Игры
Информация:

О проекте
Регистрация
Статистика
Карта сайта
RSS
Контакт:

Обратная связь
Email: admin@cig-bc.ru