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

В целом, производство микросхем можно разделить на три основных этапа:

  1. Проектирование
  2. Изготовление
  3. Тестирование

Ввести аппаратный бэкдор можно на любом этапе производства. По мнению некоторых исследователей, самым рискованным является этап проектирования (см. статью 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 появилось мнение, что именно на таком уровне мы увидим следующую волну атак. Возможность внедрения присутствует сразу на нескольких уровнях конструкции, что сильно усложняет систему безопасности.

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

▍ Варианты использования


Потенциальная атака производится в три этапа:

  1. Внедрение
  2. Триггер
  3. Исполнение



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


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

Хотя теоретически возможно внедрение в микросхемы очень хитрых логических закладок, но в реальности есть гораздо более простые способы. Самый доступный — это использование режима отладки, который даёт доступ к недокументированным возможностям. Практически у любой микросхемы есть два режима работы: стандартный режим для клиентов и режим отладки для проверки функциональности на этапе производства. В этом случае задача потенциального злоумышленника — актировать режим отладки уже после продажи устройства и его установки в сети жертвы. За потенциальное использование примерно такой схемы для промышленного шпионажа была наказана китайская компания Huawei.

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

В 2020 году в классификатор уязвимостей Common Weakness Enumeration были добавлены аппаратные уязвимости такого рода. И теперь несколько CWE указывают на потенциальную возможность изменения злоумышленником режима работы микросхемы.

▍ Защита


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



В 2021 году Национальная ассоциация оборонной промышленности США (NDIA) распространила документ с описанием принципов «нулевого доверия» к аппаратному обеспечению.

Судя по всему, на основе отчёта NDIA в июле 2022 года Агентство национальной безопасности США опубликовало мануал для минобороны с характеристиками «угроз и рисков для микроэлектроники». Это список потенциальных возможностей для внедрения бэкдоров в микроэлектронные компоненты, включая микросхемы ASIC, FPGA и «другие микроэлектронные устройства с программируемыми функциями».

АНБ рекомендует ввести три «уровня уверенности» (level of assuarance, LoA) для аппаратного обеспечения — в зависимости от сложности, стоимости внедрения туда бэкдора, а также потенциального эффекта, который может получить злоумышленник. Соответственно, всё оборудование, вплоть до микросхем, рекомендуют оценить — и присвоить каждому модулю уровень от LoA1 до LoA3. Чтобы целая система получила первый уровень, все составляющие компоненты должны быть соответствующего уровня. Для каждого уровня предусмотрены свои сценарии обслуживания и обеспечения отказоустойчивости.



Сам факт публикации такого руководства АНБ показывает, что умышленное или неумышленное внедрение бэкдоров в микросхемы — это не фантазия, а реальная угроза, которая рассматривается на высшем уровне.



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

Конечно, люди со специфическим складом ума во всём вокруг видят угрозу: везде трояны, жучки, скрытые видеокамеры, за нами следят. Но что касается аппаратных бэкдоров, то это не теория заговора, а чисто инженерный вопрос.

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

Telegram-канал и уютный чат для клиентов

Комментарии (6)


  1. vassabi
    19.09.2022 13:04
    +1

    вот поэтому тем, у кого нет возможности исследовать микросхемы под микроскопом (ака простые смертные), и нужна прикладная анонимность - чтобы оставаться "неизвестным Неуловимым Джо"


  1. ALexhha
    19.09.2022 13:56
    +14

    Ну как тут не вспомнить классику


    1. Tarakanator
      19.09.2022 15:08
      +9

      Our trusted LAN

      honeypot


  1. victor_1212
    19.09.2022 20:15

    > опубликовало мануал для минобороны с характеристиками «угроз и рисков для микроэлектроники».

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

    см

    название документа: Levels of Assurance Definitions and Applications

    цитата из последнего абзаца:

    "In practice, each program must identify and implement level of assurance required to resolve specific risks to that program."


  1. SADKO
    20.09.2022 10:10
    -1

    Какая нафиг оценка рисков, люди вообще не в теме, а она боянистый баян. Всё началось ещё с микроконтроллеров, SoC и FPGA. Когда производили вроде бы предоставили возможность защити интеллектуальной собственности клиентов. (А в некоторых продуктах иикриптоключей.)

    Но эта возможность, иногда работала довольно странным образом, намекающим криптографам, что доверять не стоит. Дальше больше, пошёл пиар умельцев микроскопа и лазера, и иные производители с помпой изменили топологию, что бы кристал ковырять было не повадно :-)

    Но странности ни куда не делись, а умельцы во всю шаманили с питанием, так что и на этот вызов производителем пришлось ответить, мол сначала трём пп, а потом регистры. Ну ладно сказали умельцы, и немного подправили программы своих стэндов :-)

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


  1. i_Max2
    21.09.2022 17:56

    <тория заговора>

    Хороший сценарий для ограничения работы микросхем.
    Производитель встаривает некий тригер/счетчик по истечению какого то периода времени он срабатывает и портит логику работы микросхемы и владельцу такого устройства придется его чинить или покупать новое.

    Хотя наверно незачем особо лезть в аппаратную часть если это просто можно в софте заделать (закрытом) или в микрокоде чипа.


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

    </тория заговора>