Аппаратные закладки под микроскопом. Обнаружение

Блог компании RUVDS.com. Автор: Анатолий Ализар. Много лет в сообществе технических специалистов идёт дискуссия о возможности внедрения троянов в популярные коммерческие микросхемы. К сожалению, в этот чисто технический вопрос вмешиваются политические аргументы: мол, давайте переходить на российские процессоры, потому что в западных чипах закладки!

Такой типичный FUD (см. контрпропаганду на Хабре). Кстати, американские коллеги используют такие же аргументы, но против китайских микрочипов. Похоже, политики любят использовать «пугалки» для принятия выгодных решений, ведь искусство политики древнее самого человечества.

Хотим ещё раз подчеркнуть: мы исследуем эту тему исключительно в общемировом контексте как важную область микроэлектроники и информационной безопасности. А как используют данные факты ангажированные представители индустрии и политики — пусть останется на их совести.

В прошлой статье мы подробно обсудили классификацию аппаратных бэкдоров и методы их закладки.


zakladki1.png

Если вкратце, ввести аппаратный бэкдор можно на любом этапе производственного цикла: от проектирования до корпусировки. По мнению некоторых исследователей, самым рискованным является именно этап проектирования (см. статью Hardware Trojans in Chips: A Survey for Detection and Prevention, doi: 10.3390/s20185165), а не производства. Дело в том, что внешнему подрядчику (производственной фабрике) не так легко внести изменения в готовый проект, присланный заказчиком. Гораздо легче разместить закладку самому разработчику микросхемы на этапе проектирования, когда проект открыт на экране компьютера в инструменте EDA.

Более того, в таком случае закладку можно внедрить гораздо более скрытно. После скандала с Meltdown и Spectre появилось мнение, что именно на таком уровне мы увидим следующую волну атак. То есть даже после обнаружения бэкдора останется сомнение, а это действительно бэкдор или просто случайная ошибка разработчиков?

Обнаружение

В 2022 году вышло наиболее полное исследованиеhttps://ryancor.medium.com/hardware-trojans-under-a-microscope-bf542acbcc29, которое суммирует существующие практические данные по реальному обнаружению аппаратных троянов. Если свести к сухому остатку, то обнаружение осуществляется тремя методами:

  • временны́е диаграммы (waveform tests);
  • тесты на задержку прохождения сигнала (delay tests);
  • проверки на пустоты «заполненной» матрицы.

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

zakladki2.pngСравнение сигнала до и после внедрения аппаратной закладки (код Verilog дизайна с закладкой и без, проверить можно в EDA Playgrounds)

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

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

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

zakladki3.png

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

Подробнее
Пожалуйста, оцените статью:
Пока нет голосов
Источник(и):

Хабр