Самое крутое с мировых ИБ-конференций. Десять мощных докладов о взломе и реверсинге микроэлектроники

Самое крутое с мировых ИБ-конференций. Десять мощных докладов о взломе и реверсинге микроэлектроники

Chipollino Onion Club

Если уязвимости в веб-приложениях тебя утомили, то взлом железа (точнее, прошивок) будет глотком свежего воздуха. В этой статье мы собрали доклады, авторам которых удалось обойти защиту разных устройств — от аппаратных кошельков для криптовалют до электронных дверных замков.

Не заслуживающее доверия железо и как его реабилитировать

0ctane. Untrustworthy Hardware and How to Fix It // DEF CON. 2017

Современные вычислительные платформы предоставляют своему пользователю больше свободы, чем когда-либо. Бум свободного и open source софта привел к созданию более безопасных крипторешений, однако под поверхностью open source ОС расположена категорически закрытая прошивка и столь же закрытые коды устройств. У устройств у этих, в свою очередь, закрытая архитектура. В результате код таких ОС испещрен «бинарными блямбами» (блоками бинарного кода, представляющими собой вкрапление закрытого кода в открытый).

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

После описания всевозможных низкоуровневых атак на критические системы докладчик представляет альтернативное решение с открытым исходным кодом — для уверенной криптографии и приватных вычислений. Устройство построено на базе FPGA-чипов и представляет собой опенсорсную систему, более открытую, чем какая-либо другая доступная на сегодняшний день вычислительная система. Никаких «бинарных блямб», никакой скрытой функциональности прошивки и никаких секретных процессоров с закрытым исходным кодом.

Однако не стоит думать, что, придерживаясь такой концепции, можно на 100% защититься от хакеров. Ее преимущество в другом — она дает теоретическую возможность исправлять проблемы, если они возникнут. Тогда как системы, содержащие закрытые архитектурные компоненты, такой возможности не дают в принципе.



Взлом аппаратных биткойн-кошельков

Josh Datko, Chris Quartier, Kirill Belyayev. Breaking Bitcoin Hardware Wallets // DEF CON. 2017

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

В 2015 году впервые было продемонстрировано, как извлечь секретный ключ из TREZOR, используя простую технику анализа потребляемой мощности. Хотя эта уязвимость была вскоре исправлена, микроконтроллер, на базе которого построен TREZOR (который, к слову говоря, тот же самый, что и у KeepKey), уязвим и для других атак по обходным каналам. В докладе представлен краткий обзор метода анализа потребляемой мощности и некоторых других полезных для аппаратного взлома техник, с использованием аппаратного опенсорсного инструмента ChipWhisperer. Затем докладчик объясняет, как разворачивать эти аппаратные атаки против STM32F205 — того самого микроконтроллера, на базе которого построены TREZOR и KeepKey. Наконец, докладчик представляет собственные находки, которые позволяют сделать новые модификации атаки по обходным каналам.

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

Защитный токен и Doobiekeys: как взламывают аппаратные защитные девайсы

Joe FitzPatrick, Michael Leibowitz. Secure Tokin’ and Doobiekeys: How to roll your own counterfeit hardware security devices // DEF CON. 2017

Посмотрим правде в глаза: безопасность софта по-прежнему находится в очень плачевном состоянии. Мы, конечно, можем, прикрываясь умными словами, говорить, что у нас все в порядке, но в глубине души мы знаем, что мир находится в огне. Даже если ты хакер — невозможно быть уверенным, что твой компьютер, мобильник или защищенный мессенджер не взломаны.

Конечно, есть традиционные «эффективные» решения — аппаратные защитные девайсы. Мы сегодня используем токены аутентификации не только для защиты наших систем банкинга или VPN-соединений, но и для доступа ко всему остальному: от облачных сервисов до социальных сетей. Хотя мы изолировали эти «надежные» аппаратные компоненты от наших уязвимых для взлома систем, чтобы они были более надежными, возможность их компрометации все же остается.

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


Атака на шифрованные USB-ключи: аппаратный подход

Attacking Encrypted USB Keys: the Hard(ware) Way // Black Hat. 2017

А ты когда-нибудь задумывался о том, действительно ли твой новенький AES-шифрованный USB-девайс шифрует данные? Или же это просто бутафория? В этом докладе представлены результаты аудита, которые показывают, что данные продукты не соответствуют развернутой вокруг них шумихе. Среди проанализированных девайсов многочисленные USB-ключи и жесткие диски, которые претендуют на то, что они шифруют данные.

В докладе представлена методология анализа «защищенных» USB-девайсов, которая включает в себя комбинацию аппаратного и программного подхода. В процессе анализа были найдены несколько уязвимостей и разработаны атаки, эксплуатирующие эти уязвимости. Описание сопровождается практическими демонстрациями на живых примерах. Вооружившись предоставленными в докладе знаниями и инструментами, каждый может легко и просто проанализировать безопасность любого USB-девайса.


Взлом электронных дверных замков: почти как в кино

Colin O’Flynn. Breaking Electronic Door Locks Like You’re on CSI // BlackHat. 2017

Киношное представление о взломе электронных дверных замков ничуть не эволюционировало со времен второго «Терминатора», в котором Джон Коннор взламывал банкомат с помощью лэптопа. Сегодня оказывается, что в реальности все выглядит примерно так же. 


В этом докладе рассмотрены несколько широкодоступных электронных замков и представлены попытки (успешные) их взлома. Докладчик подробно объясняет, как взламывать электронику на этих замках, и описывает уязвимости, которые может эксплуатировать аппаратный хакер для обхода этих замков. Все с демонстрацией на реальных примерах.

EvilSploit — универсальный пакет инструментов для аппаратного взлома

Chui Yew Leong, Wan Ming Ming. EvilSploit — a Universal Hardware Hacking Toolkit // BlackHat. 2017

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

Для успешного реверсинга крайне важно идентифицировать порты доступа исследуемой железяки. Стандартный подход для идентификации — пакеты инструментов для поиска пинов, такие как Jtagulator. Другой пакет инструментов — Shikra манипулирует портом инициализации. Однако он, во-первых, пестрит ошибками, а во-вторых, не заточен под хакеров. Таким образом, важно найти способ заполнить пробел между идентификацией порта и манипулированием. Это позволит автоматизировать процесс аппаратного взлома и обеспечить возможность управления этим взломом — через скрипты, написанные на высоком неаппаратном уровне.

В докладе представлен новый метод для идентификации портов и для манипулирования ими — посредством матрицы подключений (самая левая часть картинки). Помимо всего прочего, матрица подключений — это идеальный инструмент для анализа неизвестных сигналов, для SCA-атак (Side Channel Analysis — анализ обходных каналов) и FI-атак (Fault Injection — инъекция намеренных неисправностей). Идентификацию четырех JTAG-пинов (TMS, TDI, TDO, TCK) из общего количества 16 возможных пинов EvilSploit производит за 100 секунд. После завершения идентификации «матрица подключений» автоматически перенастроит шаблон маршрутизации сигнала — к интерфейсной микросхеме для чипа. Теперь чип готов для управления и манипулирования любыми известными инструментами JTAG-отладки, такими как UrJtag или OpenOCD.

Для UART процедура идентификации пинов (Tx и Rx) из 16 возможных пинов занимает 90 секунд. Опять же, после этого чип готов к управлению и манипулированию — любыми инструментами для UART-отладки, такими как Minicom или PuTTY. В качестве вспомогательного инструмента для SCA-атаки EvilSploit использует ChipWhisperer для восстановления секретного ключа для 3DES и SM4, которые используются этими чипами при шифровании. В обоих случаях EvilSploit генерирует триггерные сигналы для ChipWhisperer — для запуска генерации семплов и контроля потраченного на их выполнение времени. Собранные семплы затем обрабатываются супероптимизированным MatLab-скриптом для восстановления секретного ключа; успешно восстанавливаются секретные ключи и для 3DES, и для SM4.

Что касается проблемы обхода схемы обнаружения, EvilSploit успешно убеждает ее, что к управляющим пинам ничего не подключено. Таким образом, манипуляция уровнем сигнала полностью доступна, даже в самых защищенных механизмах.



DMA-атаки нового поколения при помощи поддельного контроллера памяти

Anna Trikalinou, Dan Lake. Taking DMA Attacks to the Next Level: How to do arbitrary reads/writes in a live and unmodified system, using a rogue memory controller // Black Hat. 2017

Доклад о том, как встраивать аппаратные жучки в мобильные и стационарные микропроцессорные системы. Физические DMA-атаки на девайсы, а также возможность произвольного считывания и модификации содержимого памяти в действующей и немодифицированной системе — серьезная угроза безопасности, в особенности для мобильных устройств, которые теряются или воруются чаще других, и крупных дата-центров, где имплантация недоверенного компонента может быть легко упущена из виду.

В частности, возможность считывания памяти может быть использована для считывания секретных ключей (то есть ключей шифрования диска). А возможность активной модификации памяти может быть использована для обхода политик/механизмов безопасности платформы. Однако обычно для проведения подобных атак требуется специфический интерфейс (например, Thunderbolt), и для таких атак может быть введена смягчающая контрмера: блокировка связанных драйверов и портов.

В этом докладе представлена физическая DMA-атака нового поколения, которую невозможно обнаружить и которая не требует доступа к определенному порту; она использует архитектурную аппаратную уязвимость DIMM; эта аппаратная уязвимость присутствует повсеместно. Используя кастомизированный PCB-зонд с FPGA, хакеры смогли подключиться к открытым DDR4-пинам типичной настольной системы неинвазивным способом, прямо во время работы этой системы (находящейся в режиме сна S3). Маскируя себя под доброкачественный контроллер памяти, хакеры могут читать и модифицировать память на любом физическом адресе, и целевая система при выходе из спящего режима примет все изменения.

Докладчик делает акцент на том, как реверсили контроллер памяти и DIMM-схемы, чтобы затем совершать инъекции своих сигналов на шину памяти атакуемой системы, в то время, пока система находилась в режиме сна S3. Также докладчик описывает JEDEC-стандарт для DDR4-команд на поддельном контроллере памяти; как он выполняет каждую операцию, его временные ограничения, сопоставление физических адресов с DDR4-адресами. Наконец, докладчик представляет дизайн поддельного контроллера памяти: печатной платы и FPGA.



Считываем защищенную от считывания прошивку

Johannes Obermaier, Stefan Tatschner. Shedding too much Light on a Microcontroller’s Firmware Protection // Proceedings of the 11th USENIX Workshop on Offensive Technologies (WOOT). 2017

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

Этот доклад — первое публичное исследование концепции безопасности STM32. Докладчик сначала приводит результаты концептуального анализа и затем раскрывает три существенных уязвимости — с демонстрацией соответствующих этим уязвимостям атак. Во-первых, докладчик указывает на то, что основная конфигурация безопасности обеспечивает низкую защиту, против которой можно развернуть эксплоит, с использованием авторского подхода «пошаговой холодной загрузки», для извлечения критических данных или даже прошивки с защитой от считывания. Во-вторых, докладчик описывает уязвимость дизайна (в хранилище конфигурации безопасности), которая позволяет злоумышленнику понизить уровень защиты прошивки; в результате чего открывается возможность для дополнительных атак. В-третьих, докладчик демонстрирует уязвимость в интерфейсе отладки, которая может спровоцировать «состояние гонки», что позволяет напрямую извлекать прошивку с защитой от чтения, с применением итеративного подхода.

Для осуществления трех описанных атак достаточно недорогого оборудования, из-за чего риски возникновения таких угроз увеличиваются в разы. Ценового барьера для вхождения в эту игру нет.



Автоматический реверсинг печатных плат

Stephan Kleber, Henrik Ferdinand Nölscher, Frank Kargl. Automated PCB Reverse Engineering // Proceedings of the 11th USENIX Workshop on Offensive Technologies (WOOT). 2017

Анализ безопасности встроенного устройства, о внутренней архитектуре которого сведения недоступны, начинается с реверсинга печатной платы. Результатом такого реверсинга будет список компонентов, техническая документация на эти компоненты и схематическая реконструкция, которая иллюстрирует основные соединения между компонентами печатной платы.

Не найдя бюджетных методов для эффективного реверсинга печатных плат, группа исследователей предложила новый фреймворк, который формализует и автоматизирует большинство действий, необходимых при реверсинге печатных плат. Этот фреймворк автоматически обнаруживает компоненты (при помощи машинного зрения), собирает техническую документацию из интернета и анализирует технические документы для извлечения сведений, относящихся к безопасности. Используя сегментацию изображений, исследователи добились того, что их фреймворк обнаруживает более 65% компонентов печатной платы.

Кроме того, удалось сократить количество требуемых перетаскиваний мышью (при идентификации нескольких экземпляров компонентов, которые не удалось обнаружить автоматически этим софтом) на 85%, чем это обычно требуется. Также разработана эффективная система абстрагирования, благодаря которой из технической документации получается с высокой точностью отсеивать ненужную информацию. Кроме того, представленный фреймворк хранит извлеченную информацию структурированным образом, что помогает аналитику избежать путаницы и ошибок.

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


Взлом современной ОСевой защиты посредством атак на прошивку

Fractured Backbone: Breaking Modern OS Defenses With Firmware Attacks // BlackHat. 2017

В этом докладе представлены две новые тенденции.

Первая тенденция: нарастающая угроза атак на прошивку, в том числе EFI-импланты для Mac, информацию о которых недавно опубликовала WikiLeaks в своей грандиозной подборке Vault7. В докладе подробно описаны уязвимости системной прошивки (в том числе UEFI, Mac’овская EFI, Coreboot) и атаки, которые эксплуатируют эти уязвимости. Подчеркивается, что при наличии таких серьезных изъянов даже новичку не составит труда внедрить в прошивку скрытый и неустранимый имплант. Докладчик также представляет несколько авторских методик для обнаружения аномалий в прошивке, на основе open source фреймворка CHIPSEC.

Вторая тенденция: современные ОС начали оснащаться более мощным механизмом защиты софта на основе технологии виртуализации. Так, в Windows 10 реализована VBS-защита (Virtualization Based Security — защита на основе виртуализации), которая обеспечивает изолированную среду выполнения, на основе гипервизора. VBS-защита применяется для выполнения критичных компонентов ОС и для защиты конфиденциальных данных, таких как учетные записи для входа в систему. Докладчик подробно объясняет, как посредством эксплуатации уязвимостей прошивки злоумышленник может подчинить себе гипервизор. Докладчик демонстрирует описываемую методику на примере атаки против VBS-подсистемы Windows 10, в ходе которой удается извлечь учетные записи, защищенные механизмом Credential Guard.


Источник: https://xakep.ru/2018/06/01/top10-conf-may/

Chipollino Onion Club

Report Page