Представлена техника атаки на микроконтроллеры, встроенные в MicroSD-карты

Hacking skills on display at the 35th Chaos Communication Congress ...

На проходящей в эти дни тридцатой конференции Chaos Communication Congress (30C3) представлен отчёт (PDF) об эксперименте по модификации прошивок микроконтроллеров, встроенных в карты памяти MicroSD. Замена прошивки на карте памяти интересна потенциальной возможностью встраивания бэкдора, который может контролировать потоки данных и при необходимости влиять на них.

Современные MicroSD-карты выносят логику работы с накопителем на встроенный в карту микроконтроллер, который как правило базируется на CPU 8051 или ARM7. Необходимость использования дополнительной прослойки обусловлена технологией производства и особенностью эксплуатции Flash-памяти, которые приводят к необходимости применения расширенных механизмов пометки bad-блоков (например, продаваемая 2GiB карта может оказаться чипом на 16GiB с 80% bad-блоков), отслеживания появления ошибок и их корректировки при помощи специальных избыточных кодов восстановления (ECC), адаптации к обновляемой раз в 12-18 месяцев геометрии накопителей (метод маппинга блоков, размер страниц).

При этом логика работы микроконтроллера скрыта за внешним интерфейсом, что позволяет совершить MITM-атаки, которые очень трудно обнаружить. Проблему усугубляет отсутствие стандартных методов или протокола для верификации кода, выполняемого на микроконтроллере MicroSD-карты. Например, нельзя гарантировать, что “безопасное” стирание данных с карты приведёт действительно к очистке конфиденциальной информации, без возможности её дальнейшего восстановления.

Несмотря на отсутствие публичной документации по контроллерам и трудность подключения к MicroSD-карте, исследователям безопасности удалось подготовить аппаратуру для изучения и перепрошивки контроллеров карт памяти. Наиболее неприятным выводом стало то, что программное обеспечение контроллера может быть изменено через специальные зарезервированные производителем команды, отправленные с host-системы. Например, чипы Appotech AX211 и AX215 могут быть переведены в режим загрузки прошивки через команду CMD63 следующую за последовательностью ‘A’,’P’,’P’,’O’, после чего карта воспринимает следующие 512 байт как код для выполнения на стороне контроллера.

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

Поділіться своєю знахідкою

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x