Бэкдоры в микросхемах — оценка рисков
Не первый год специалисты задаются вопросом, как обнаружить аппаратные закладки в микросхемах. Но никто не видел таких закладок и не представляет, как они выглядят. Это может быть посторонний артефакт, добавленный на этапе корпусировки микросхемы или сборки устройства. Но самый простой и логичный вариант — спроектировать в дизайне микросхемы недокументированную функцию, которую даже в случае обнаружения посчитают просто ошибкой или неизбежным «компромиссом» дизайна, как уязвимости Spectre и Meltdown.
В целом, производство микросхем можно разделить на три основных этапа:
- Проектирование
- Изготовление
- Тестирование
Ввести аппаратный бэкдор можно на любом этапе производства. По мнению некоторых исследователей, самым рискованным является этап проектирования (см. статью Hardware Trojans in Chips: A Survey for Detection and Prevention, doi: 10.3390/s20185165). Ведь фабрика просто штампует изделия по шаблону заказчика, никто не разбирается в недокументированных функциях. Соответственно, дизайн-центр микросхем может запроектировать скрытый бэкдор, а китайская или любая другая фабрика его изготовит «в тёмную». Не так важно, где конкретно вытравливаются и корпусируются микросхемы. Важно, кто их проектирует.
Правда, здесь нужно отметить, что процитированная статья принадлежит коллективу авторов из Китая, то есть им выгодно подчёркивать угрозу именно на этапе проектирования, а не производства. Но потенциально опасными являются практически все этапы в производственной цепочке. Если посмотреть на схему вверху, то единственным безопасным считается этап составления спецификации.
▍ Классификация аппаратных троянов
Согласно выкладкам исследователей, все аппаратные закладки можно классифицировать по следующим характеристикам:
- физический уровень внедрения (уровень абстракции);
- механизм активации (триггер);
- физические свойства закладки;
- логическая структура;
- этап внедрения;
- местонахождение (память, I/O, процессор, генератор времени, источник питания);
- схема атаки.
Эта классификация приведена на схеме:
Сообщество разработчиков аппаратного обеспечения гораздо более закрыто, чем сообщество разработчиков ПО, поэтому в публичных обсуждениях действительно нет задокументированных случаев, когда кто-то злонамеренно внедрил и использовал бэкдор на аппаратном уровне. Это в своём роде табуированная тема. За такие вопросы на железячных форумах лет двадцать назад можно было легко схватить минусов или получить бан (формально банили якобы за флуд и офтоп).
Однако за прошедшие годы ситуация изменилась. Возможность аппаратных закладок на концептуальном уровне продемонстрирована несколькими группами исследователей. То есть сейчас доказано, что есть возможность внедрить такие закладки несколькими различными способами. А знакомство с хакерским инструментарием ЦРУ даёт понять, что у спецслужб есть и желание, и ресурсы провести такую операцию по внедрению.
Один из первых примеров аппаратных бэкдоров в академической литературе — научная работа A2: Analog Malicious Hardware, опубликованная в 2016 году исследователями из Мичиганского университета. Там описывается особенно скрытая аппаратная атака с использованием всего лишь одного логического вентиля (гейта) на микросхеме. В данном случае передача информации осуществляется через «случайную» утечку тока (изменение напряжения):
Группа европейских исследователей под руководством Фелипе Альмейды (Felipe Almeida) пошла ещё дальше. Они не только разработали схему аппаратного бэкдора в ASIC, но и заказали производство таких микросхем, то есть получили PoC в материальном виде. См. Ransomware Attack as Hardware Trojan: A Feasibility and Demonstration Study, статья опубликована 20 апреля 2022 года в журнале IEEE Access, doi: 10.1109/ACCESS.2022.3168991.
Ниже показан скриншот микросхемы, сгенерированный в программе Cadence Virtuoso. Размеры чипа 960 × 960 мкм, ядро зловреда занимает площадь 0,14 мм².
Тот же ASIC под микроскопом:
На высоком уровне конструкция ASIC состоит из трёх блоков: ядро зловреда → режим отладки → система хранения данных (SRAM). В принципиальном плане это минимальный рабочий концепт того, как можно внедрить закладку в какое-нибудь реальное устройство. В той же научной работе учёные описали вариант аналогичной закладки в формате FPGA.
Сравнение этого аппаратного трояна с другими образцами, описанными в научной литературе:
Троян | Кол-во элементов | Атака по таймингу? |
---|---|---|
A2 Analog (упомянут выше) | 2 | Нет |
A2 Digital | 91 | Да |
Скрытый режим | 959 | Да |
Доступ к памяти | 1341 | Да |
Эта работа | 11629 | Нет |
Как уже упоминалось выше, иногда проще внедрить аппаратный троян в IP-блок или схему, а не добавлять в чужую микросхему на уровне производства. После скандала с Meltdown и Spectre появилось мнение, что именно на таком уровне мы увидим следующую волну атак. Возможность внедрения присутствует сразу на нескольких уровнях конструкции, что сильно усложняет систему безопасности.
Авторы из Мичиганского университета пишут, что ещё сложнее обнаружить закладки в аналоговых схемах, ведь такие схемы немножко различаются по своему поведению в разных системах. Каждая из них уникальна по своему «аналоговому отпечатку».
▍ Варианты использования
Потенциальная атака производится в три этапа:
- Внедрение
- Триггер
- Исполнение
Триггер на активацию эксплоита может быть внешний или внутренний. В первом случае он срабатывает на основании данных, поступающих извне. Например, от антенны, сенсора и др. Внутренний триггер может быть по таймеру, времени, дате, на основании вычислений или по выполнению неких условий. В конце концов, триггер может быть включён изначально (если бэкдор постоянно находится в активном состоянии).
Модель применения аппаратного трояна на основе прямой коррекции ошибок (FEC) в беспроводной сети. В данном случае производится передача данных по скрытому каналу, источник
Хотя теоретически возможно внедрение в микросхемы очень хитрых логических закладок, но в реальности есть гораздо более простые способы. Самый доступный — это использование режима отладки, который даёт доступ к недокументированным возможностям. Практически у любой микросхемы есть два режима работы: стандартный режим для клиентов и режим отладки для проверки функциональности на этапе производства. В этом случае задача потенциального злоумышленника — актировать режим отладки уже после продажи устройства и его установки в сети жертвы. За потенциальное использование примерно такой схемы для промышленного шпионажа была наказана китайская компания Huawei.
С постоянным усложнением микросхем эта проблема только усугубляется, потому что для нормальной разработки требуется всё больше различных режимов отладки.
В 2020 году в классификатор уязвимостей Common Weakness Enumeration были добавлены аппаратные уязвимости такого рода. И теперь несколько CWE указывают на потенциальную возможность изменения злоумышленником режима работы микросхемы.
▍ Защита
В качестве защиты предлагается производить реверс-инжиниринг, то есть обратную разработку микросхем, анализировать их функциональность, а по возможности сравнивать с образцом:
В 2021 году Национальная ассоциация оборонной промышленности США (NDIA) распространила документ с описанием принципов «нулевого доверия» к аппаратному обеспечению.
Судя по всему, на основе отчёта NDIA в июле 2022 года Агентство национальной безопасности США опубликовало мануал для минобороны с характеристиками «угроз и рисков для микроэлектроники». Это список потенциальных возможностей для внедрения бэкдоров в микроэлектронные компоненты, включая микросхемы ASIC, FPGA и «другие микроэлектронные устройства с программируемыми функциями».
АНБ рекомендует ввести три «уровня уверенности» (level of assuarance, LoA) для аппаратного обеспечения — в зависимости от сложности, стоимости внедрения туда бэкдора, а также потенциального эффекта, который может получить злоумышленник. Соответственно, всё оборудование, вплоть до микросхем, рекомендуют оценить — и присвоить каждому модулю уровень от LoA1 до LoA3. Чтобы целая система получила первый уровень, все составляющие компоненты должны быть соответствующего уровня. Для каждого уровня предусмотрены свои сценарии обслуживания и обеспечения отказоустойчивости.
Сам факт публикации такого руководства АНБ показывает, что умышленное или неумышленное внедрение бэкдоров в микросхемы — это не фантазия, а реальная угроза, которая рассматривается на высшем уровне.
В логике спецслужб, бэкдоры в зарубежных микросхемах — это «не проблема, которую можно решить, а скорее условие, в которых мы существуем». Наша задача — уменьшить риски от жизни в такой враждебной среде.
Конечно, люди со специфическим складом ума во всём вокруг видят угрозу: везде трояны, жучки, скрытые видеокамеры, за нами следят. Но что касается аппаратных бэкдоров, то это не теория заговора, а чисто инженерный вопрос.
По мнению некоторых экспертов, в какой-то степени разница между «бэкдором» и «конструктивным недостатком» в микросхеме сводится к семантике. Всегда остаётся неизвестным, что это такое перед нами: бэкдор, ошибка или неправильный выбор дизайна. В результате крупные уязвимости типа Spectre и Meltdown могут восприниматься по-разному, ведь они используют преимущества спекулятивного выполнения и предсказания ветвлений, которые до недавнего времени считались хорошими методами повышения производительности. То есть для одних людей это закладка, а для других — нормальный компромисс ради лучшего быстродействия.
Telegram-канал и уютный чат для клиентов