Выпуск #1/2017
Е.Кузнецов, А.Сауров
Аппаратные трояны. Часть 3: способы предупреждения и обнаружения
Аппаратные трояны. Часть 3: способы предупреждения и обнаружения
Просмотры: 5351
В третьей части цикла обзорных статей рассмотрены наиболее действенные способы предупреждения и обнаружения аппаратных закладок в интегральных схемах – аппаратных троянов.
DOI:10.22184/1993-8578.2017.71.1.30.40
DOI:10.22184/1993-8578.2017.71.1.30.40
Теги: hardware backdoor hardware trojan integrated circuit аппаратная закладка аппаратный троян интегральная схема кибербезопасность
Наличие аппаратных троянов представляет значительную угрозу безопасности, поэтому самая действенная мера борьбы с ними – предотвращение их внедрения в процессе разработки ИС. Предупреждение является первым уровнем защиты от аппаратных троянов и важным звеном в стратегии многоуровневой защиты. Исходя из традиционных правил, процедур и практического опыта, для сохранения контроля над процессом разработки ИС следует задействовать доверенные команды разработчиков, средства проектирования и доверенные производства. Однако существуют и специальные исследования, посвященные новым методам предупреждения внедрения аппаратных троянов на различных этапах проектирования и изготовления ИС.
ПРЕДУПРЕЖДЕНИЕ АППАРАТНЫХ
ЗАКЛАДОК НА ЭТАПЕ ПРОЕКТИРОВАНИЯ
На этапе проектирования аппаратная закладка может быть внедрена в проект членом группы разработчиков, занесена непроверенным программным обеспечением для разработки ИС или через включение в проект непроверенных сторонних сложно-функциональных модулей (IP-блоков). Создание проверенных схем (без аппаратных закладок) с использованием непроверенных инструментов САПР ИС рассмотрено в работе [1]. Предложенное решение основано на использовании инструментов САПР для сложных синтезов и очень простой проверенной программы, созданной разработчиком для контроля результата и выявления возможных привнесенных в проект модификаций. Основная идея заключается в создании такой спецификации проекта, при которой не остается места для добавления злонамеренной схемы непроверенными инструментами САПР. Полная спецификация должна предполагать, что аппаратные ресурсы проекта должны быть полностью задействованы во все такты. Метод базируется на том, что достаточно легко проверить, используются ли в проекте полностью все ресурсы (NP-полная задача), по аналогии с тем, что найти решение NP-полной задачи сложно, но проверить, удовлетворяет ли ей решение, относительно просто.
Основная проблема такого подхода состоит в том, что вполне возможно [2] построить аппаратный троян, используя только логику, которая уже задействована в проекте. Относительно просто разработать программу для проверки того, что проект использует все доступные аппаратные ресурсы, но определить, отсутствуют ли злонамеренные изменения достаточно сложно.
Похожий подход, но с использованием методов обфускации (запутывания), подробно рассмотрен в работе [3]. Правильная функциональность ("нормальный режим") спрятана за секретную инициализирующую последовательность, любое отклонение от которой переводит ИС в невозвратимый "режим обфускации" в графе состояний. Отличие между этим подходом и изложенным выше заключается в том, что метод обфускации использует тупиковые состояния, а не стремление задействовать все доступные логические вентили. Это упрощает его реализацию, но и позволяет внести более простые изменения в проект вне последовательности. Такой подход не защищает от возможных изменений исходника, причем они не выявляются специальным анализом проекта методами обратного проектирования после изготовления ИС.
ПРЕДУПРЕЖДЕНИЕ НА ЭТАПЕ ИЗГОТОВЛЕНИЯ
Вопросы изготовления ИС на непроверенном производстве рассмотрены в работе [4]. Авторы предложили систему, которая обеспечивает разработчика – потребителя СФ-блоков (IP-блоков), спецификацией используемых в нем аппаратных средств, а также списком так называемых "свойств, имеющих отношение к секретности". И поставщик, и потребитель СФ-блоков соглашаются транслировать эти свойства в формальный математический код на языке "автоматического доказательства". Поскольку разработчик СФ-блока пишет HDL-код, он проводит формальное доказательство того, что специфицированные аппаратные средства выполняют все требуемые свойства. Они могут быть проверены через программу автоматического доказательства, когда СФ-блок будет доставлен потребителю. Эта идея подобна процессу программной верификации на основе PCC-кода (кода носителя доказательства) [5]. Связывание формальной модели проекта со спецификацией проекта может привести к более корректной реализации ИС. Однако, как отмечают авторы, создание формальной модели остается за поставщиком СФ-блока, и необходимо быть полностью уверенным в его надежности, что он не добавит аппаратную закладку в проект или в доказательный код. В противном случае такую закладку будет достаточно трудно обнаружить.
ПРЕДУПРЕДИТЕЛЬНЫЕ МЕРЫ ПОСЛЕ ИЗГОТОВЛЕНИЯ ИС
В работе [2] рассматривается подход к реализации ИС с применением реконфигурируемой логики (специфицируется после изготовления ИС), которую располагают между выходами одной схемы и входами другой. Таким образом, достигается скрытность проекта от злоумышленника, который имеет доступ к описанию на уровне регистровых передач. Этот подход можно рассматривать как превентивную меру и как метод противодействия при эксплуатации ИС в присутствии аппаратного трояна. С точки зрения превентивных качеств, этот метод оставляет злоумышленнику неопределенность в работе без знания схемы реконфигурируемой логики, что сужает область возможных атак.
Даже прилагая большие усилия, достаточно трудно полностью предотвратить внедрение аппаратной закладки в ИС. Однако наилучших результатов в комплексном противодействии аппаратным троянам можно достичь, не допустив его наличия в ИС.
ОБНАРУЖЕНИЕ АППАРАТНЫХ ЗАКЛАДОК
Наряду с превентивными мерами защиты от проникновения троянов в проект или в ИС, существуют и методы их обнаружения. При выявлении аппаратный троян может быть удален из проекта (если обнаружен в описании на уровне регистровых передач), либо ИС с трояном может не использоваться, или же может эксплуатироваться и с присутствием аппаратной закладки. В зависимости от механизма обнаружения, закладка может быть идентифицирована, или же может быть выполнена статистическая оценка вероятности наличия изменений в проекте.
Традиционное тестирование и верификация ИС направлены на проверку соответствия техническим условиям и спецификации. Наличие дополнительных функциональных возможностей ИС, как правило, не проверяется. Учитывая все пространство состояний, в котором могут быть спрятаны эти дополнительные функции, такая проверка выполнима только для небольших логических проектов.
В настоящее время не существует общего подхода, гарантирующего обнаружение всех аппаратных троянов. Большинство исследований сфокусированы на поиске аппаратных троянов после изготовления ИС, поскольку этот этап рассматривается как самое слабое звено в полном цикле разработки и производства ИС. Малая часть исследований посвящена обнаружению аппаратных троянов в исходном RTL-коде (RTL – язык уровня регистровых передач) до синтеза проекта (преобразования проекта, написанного на уровне регистровых передач в двоичный код нет-листа для шаблонов), или непосредственно во время изготовления ИС. Предполагается, что к персоналу, осуществляющему поиска троянов, существует полное доверие, а поиск аппаратных троянов – доверенная экспертная процедура, которая должна включать анализ проекта на уровне регистровых передач, а также исследование его имитационного поведения (имитационное моделирование).
При индивидуальном проектировании аппаратной закладки будет сделана попытка обойти существующие и появляющиеся по мере исследований и разработок новые методы обнаружения троянов. Это своего рода гонка вооружений, подобная той, которую мы наблюдаем в антивирусной индустрии программного обеспечения. На рисунке приведена классификация современных методов обнаружения аппаратных троянов [3].
ДЕСТРУКТИВНЫЕ МЕТОДЫ ОБНАРУЖЕНИЯ
Под деструктивными подразумевают методы обнаружения аппаратных троянов, которые приводят к полному разрушению ИС. Полное разрушение в значительной степени ограничивает их применение. Чтобы быть уверенным, что данная ИС не содержит аппаратного трояна, ее исследуют методами обратного проектирования. Однако, обратное проектирование современной сложной ИС достаточно трудоемкий и дорогостоящий процесс. Как правило, оно осуществляется методами химико-механической полировки с последующей реконструкцией и анализом топологии ИС с использованием сканирующего электронного микроскопа. В большинстве случаев "корректность" чипа устанавливается путем визуального сравнения с известным примером или эталонной ИС. Однако, если аппаратный троян был внесен непосредственно перед изготовлением (следовательно, он будет присутствовать во всех изготовленных ИС), визуальное сравнение ничего не даст.
Аппаратной модификации могут быть подвергнута лишь часть ИС. В этом случае метод обратного проектирования может только с некоторой вероятностью дать основания утверждать, что ИС не содержит аппаратного трояна. В связи с этим в работе [6] предложено использовать деструктивное обратное проектирование для выявления "хороших" ИС. Перед проведением обратного проектирования исследуются косвенные характеристики случайной выборки ИС, такие как профили потребляемой мощности, температуры, электромагнитного излучения, токов утечек. В итоге для каждой ИС получают набор характеристик – "отпечаток пальцев". Если наблюдается определенное выделенное распределение характеристик, то все образцы из этой выборки подвергаются обратному проектированию для проверки наличия аппаратных троянов. В дальнейшем принадлежность "отпечатка пальцев" ИС к характерному распределению (как для "хороших", так и "зараженных" ИС) может использоваться для неразрушающей сортировки ИС в партии.
Описанный подход не решает ряда проблем. Так, аппаратный троян может быть реализован путем добавления, удаления или модификации всего двух логических вентилей [7], в то время как современная ИС состоит из миллиарда вентилей. Поиск такой "иголки в стоге сена" требует проведения полного обратного проектирования ИС на уровне вентилей, что может быть намного дороже разработки и изготовления ИС. С другой стороны, нет гарантии того, что "отпечаток пальцев" ИС с аппаратным трояном будет отличаться от "незараженной" ИС на фоне возрастающих дисперсий характеристик ИС, что обусловлено уменьшением характеристического линейного размера.
НЕРАЗРУШАЮЩИЕ МЕТОДЫ ОБНАРУЖЕНИЯ
Неразрушающие методы обнаружения аппаратных троянов не приводят к нарушению целостности ИС и классифицируются на инвазивные и неинвазивные. Неинвазивные методы не изменяют проект ИС, в то время как инвазивные характеризуются внесением изменений в проект с целью придания функций, способствующих обнаружению трояна.
Инвазивные методы делятся на два класса: превентивные и вспомогательные. Вспомогательные методы используются для того, чтобы было легче обнаружить троян в тестах после изготовления ИС. В работе [3] предложена схема, которая позволяет выявить наличие аппаратного трояна в мульти-модальном проекте. Это достигается путем использования дополнительных входов и выходов, которые добавляются к каждому модулю. Дополнительные входы обеспечивают "ключ", который переводит модуль в "прозрачный режим". В этом режиме модуль выполняет самотестирование схемы, разработанное таким образом, чтобы проверить редкие события и маловероятные состояния. По окончании самотестирования на выход модуля поступает подпись, которая состоит из установленного входного ключа и результата самотестирования. Эта подпись затем последовательно поступает на вход следующего модуля, как входной "ключ". Таким образом, простой "специальный" входной ключ, введенный на основной вход, тестирует всю систему, и результат этого тестирования выводится однозначной величиной на основном выходе. Авторы утверждают, что этот метод действенен против злоумышленника, который располагает информацией о функциональной и логической структуре ИС.
Использование логики, позволяющей проверять расширенное пространство состояний, в которых может проявиться аппаратный троян, на практике обеспечивает очень слабую защиту от целевой закладки. Как уже говорилось в данном разделе, вероятность обнаружения профессионально спроектированной закладки достаточно мала. К тому же, этот метод предполагает, что аппаратная закладка будет внедрена на конкретной стадии проектирования. Однако злоумышленник может вставить троян после разработки функционального проекта модуля, но перед разработкой логики определения "отпечатков пальцев".
В работе [8] предложен метод, основанный на добавлении в проект нерабочей триггерной схемы, которая приводит к увеличению активности аппаратного трояна при его включении. Это упрощает его обнаружение через побочные каналы. В работе [9], для обнаружения закладки через побочные каналы предлагается дополнительная схема, характеризующая время задержки ИС, которое изменяется в случае наличия трояна.
Неинвазивные методы обнаружения аппаратных закладок основаны на сравнении рабочих характеристик ИС с характеристиками заведомо исправной эталонной ИС. Обнаружение неинвазийным методом может быть проведено или во время работы ИС или во время ее тестирования. Механизмы обнаружения во время работы ИС во многом пересекаются с методами противодействия аппаратным троянам. Если закладка обнаружена, то можно попытаться продолжить эксплуатацию ИС и в ее присутствии. Обнаружение во время проведения теста основывается на улучшении традиционного тестирования или анализе побочных характеристик ИС (побочного канала).
В работе [10] подробно рассмотрен подход к обнаружению аппаратных троянов с использованием аппаратного и программного обеспечения. Стратегия позволяет обнаруживать только два типа атаки. Атака типа DoS (отказ в обслуживании), обнаруживается с использованием небольшой заказной схемы защиты на шине памяти, которая запрограммирована реагировать на периодические пинги "живучести". Отсутствие ответа в установленное время рассматривается как успешное обнаружение попытки DoS атаки. Комбинированные атаки с применением аппаратных и программных средств, когда аппаратный троян отключает защиту памяти, а программный троян может расширить свои привилегии, обнаруживаются тестированием того, могут или нет непривилегированные программы получить доступ к закрытым для них разделам памяти. Этот подход требует также внесения изменений в операционную систему для работы с защитной схемой.
АНАЛИЗ КОСВЕННЫХ ХАРАКТЕРИСТИК
Анализ косвенных характеристик ИС (анализ побочных каналов), в отличие от непосредственной активации аппаратного трояна с целью его обнаружения, использует тот факт, что внедренный активационный триггерный механизм изменяет некоторые характеристики ИС независимо от того, активирована закладка или нет. Величина потребляемой мощности отдельными частями ИС, количество выделяемого тепла в определенных участках или время, необходимое определенным блокам для выполнения операций (задержка) – типичные примеры вторичных характеристик ИС, которые можно использовать для проведения такого анализа. Этот тип анализа, по всей видимости, обеспечивает наилучшую вероятность обнаружения аппаратного трояна, поскольку не требует его активации.
В работе [11] представлен характерный пример рассматриваемого механизма обнаружения закладок. Вначале исследуются образцы ИС без аппаратных троянов – эталонные ИС, снимаются одна или несколько характерных вторичных характеристик – так называемые "отпечатки пальцев". Далее тестируются другие чипы, и проводится сравнение их "отпечатков пальцев" с эталонными. Для того чтобы выбрать статистически значимые (но хорошо спрятанные) различия, могут быть использованы различные статистические методы. Авторы, в частности, использовали характеристику энергопотребления ИС в качестве основной косвенной характеристики. Очевидный недостаток метода заключается в том, что необходимо полностью быть уверенным, что эталонные ИС не "заражены".
Другая косвенная характеристика ИС – переходная характеристика потребляемой мощности – анализировалась в работе [12]. Цель работы – определение наименьшего размера аппаратного трояна, который можно обнаружить с помощью предлагаемого метода. Проведенные тесты, имитирующие работу конкретной экспериментальной ИС, показали, что этим методом можно обнаружить минимальную аппаратную закладку, состоящую из трех вентилей.
В работе [13] предложен метод, позволяющий усилить различие косвенных характеристик ИС, в которой отсутствовали аппаратные трояны, и такой же ИС, но "зараженной" закладкой. В качестве косвенной характеристики анализировалось энергопотребление. Использовался так называемый метод "устойчивого вектора", периодически подаваемого на отдельные входы ИС. Через некоторое время с момента подачи ИС входит в стабильное состояние. Эта процедура названа авторами "переключательной минимизацией". Изменяя входной вектор, можно задействовать различные участки ИС. Изменения разницы потребляемой мощности с эталонным образцом свидетельствует о посторонних аппаратных устройствах в исследуемом участке ИС, то есть идентифицируются цепи, которые активны, но не должны быть таковыми.
Анализ и использование в качестве косвенной характеристики ИС и ее "отпечатков пальцев" задержки прохождения сигнала исследовалось в работе [14]. Авторы рассматривали две категории аппаратных троянов, имеющих явную и неявную нагрузки. Трояны с явной полезной нагрузкой напрямую влияют на схему, к которой они присоединены (например, изменяют значение управляющего или информационного сигнала). Аппаратные закладки с неявной полезной нагрузкой не вносят непосредственных изменений в цепь, но могут, например, считывать информацию через побочные каналы или исполнить DoS-атаку при инициализации. Авторы утверждают, что могут обнаружить 100% явных и 36% неявных аппаратных троянов, однако эксперименты проводились на симуляторах (моделирующих программах), а трояны представляли собой несложные модификации, специально разработанные и влияющие на энергопотребление и задержку прохождения сигнала. В аналогичной работе [15] в качестве косвенных характеристик и побочного канала рассматривались ток утечки и задержка прохождения сигнала.
Другой подход изложен в работе [3]. Авторы измеряли интеграционный ток – временные зависимости электрического заряда в узлах ИС, и использовали данные, полученные с различных участков схемы, для анализа и поиска троянской цепи. При анализе учитывались также данные, снятые с эталонной ИС, не содержащей закладок. Авторы заявили, что способны обнаружить внесенные аппаратные закладки, размером в "несколько вентилей", занимающие до 0,1% от площади всей ИС.
Основная проблема метода анализа косвенных характеристик для обнаружения аппаратных закладок заключается в том, что он полностью зависит от наличия подлинной эталонной ИС, которую можно использовать для сравнения и оценки. Если же аппаратная закладка была добавлена где-либо до стадии изготовления и, следовательно, содержится в каждой ИС, рассматриваемый метод неприменим. Кроме того, пространство поиска с использованием этого метода может быть очень большим. Несмотря на интересные разработки и использование современных статистических методов определения различий характеристик модифицированной и подлинной ИС, вероятность обнаружения такого отличия очень мала, особенно, если аппаратная закладка хорошо спроектирована и имеет целевое назначение.
ЗАКЛЮЧЕНИЕ
Таким образом, исследовательские работы, направленные на выявление аппаратных троянов, преимущественно посвящены разрушающим методам, а также подходам с использованием побочных каналов и вспомогательных методов на этапе тестирования ИС. Механизмы обнаружения часто сосредоточены на конкретном классе аппаратных троянов, не существует единого метода или комбинации методов, которые могли бы обеспечить широкий охват при выявлении несанкционированных закладок.
Самый эффективный путь предупреждения внесения аппаратных закладок в ИС – тщательный контроль всего цикла разработки и изготовления. Небольшая проверенная команда разработчиков, использующих собственные программные средства и библиотеки, могут создать проект ИС, гарантированно свободный от аппаратных закладок. Изготовление такого проекта на проверенном кристальном производстве (управляемого небольшой группой поверенных лиц) обеспечит получение верных и надежных изделий. Заключительная сборка микросхем в корпуса и последующее их использование только лицами, которым полностью доверяет заказчик, обеспечит полную уверенность, что оригинальный проект реализован без вредоносных изменений.
Для такой страны, как Россия, которая не является лидером в полупроводниковой промышленности, замкнуть процесс от проектирования до изготовления возможно только для малых проектов специализированных ИС, поэтому доля ИС, изготовленных в кооперации с иностранными партнерами, будет увеличиваться. В связи с этим будет повышаться вероятность внесения аппаратных закладок. Для обеспечения безопасной работы электронной аппаратуры становится крайне важной разработка способов контроля, которые смогут надежно гарантировать аутентичность используемых ИС.
Возможен и другой подход, основанный на использовании сертифицированных коммерческих электронных компонентов, находящихся в свободной продаже (COTS – Commercial Off The Shelf – компонентов). Коммерческий сектор использует обширные библиотеки СФ-блоков, что обеспечивает быстрое развитие новых, более функциональных приборов (например, смартфонов). Если бы оборонные сектора разрабатывали и использовали только собственные СФ-блоки, то связанные с электроникой военные разработки находились бы далеко позади коммерческих гражданских продуктов. Поэтому имеет смысл создавать только некоторые ИС, такие как крипточипы, где полностью возможен проверенный цикл разработка / изготовление, особенно для чипов с малым количеством логических вентилей. Однако и в этом случае возможны кража, проведение обратного проектирования, изготовление ИС с модификацией и подмена оригинальных ИС через ненадежную цепь поставщиков и посредников.
Статья подготовлена при финансовой поддержке Минобрнауки России в рамках выполнения государственного задания 16.9021.2017/БЧ.
ЛИТЕРАТУРА
Potkonjak M. Synthesis of trustable ICs using untrusted CAD tools // Proceedings of the 47th Design Automation Conference. – ACM, 2010.
С. 633–634.
Baumgarten A. et al. A case study in hardware Trojan design and implementation // International Journal of Information Security. 2011. Vol. 10. №. 1. P. 1–14.
Chakraborty R.S., Narasimhan S., Bhunia S. Hardware trojan: Threats and emerging solutions. –http://www.trust–hub.org/resources/113, 2010.
Love E., Jin Y., Makris Y. Enhancing security via provably trustworthy hardware intellectual property // Hardware–Oriented Security and Trust (HOST), 2011. – IEEE International Symposium on. IEEE, 2011. С. 12–17.
Necula G. C., Lee P. Safe, untrusted agents using proof–carrying code // Mobile Agents and Security. Springer Berlin Heidelberg, 1998. С. 61–91.
Agrawal D. et al. Trojan detection using IC fingerprinting // Security and Privacy, 2007. SP’07. IEEE Symposium on. – IEEE, 2007. С. 296–310.
Sturton C. et al. Defeating UCI: Building stealthy and malicious hardware // Security and Privacy (SP), 2011 IEEE Symposium on. – IEEE, 2011. С. 64–77.
Salmani H., Tehranipoor M., Plusquellic J. New design strategy for improving hardware trojan detection and reducing trojan activation time // Hardware-Oriented Security and Trust, 2009. HOST›09. IEEE International Workshop on. – IEEE, 2009. С. 66–73.
Li J., Lach J. At–speed delay characterization for IC authentication and Trojan horse detection // Hardware-Oriented Security and Trust, 2008. HOST 2008. IEEE International Workshop on. – IEEE, 2008. С. 8–14.
Bloom G., Narahari B., Simha R. OS support for detecting Trojan circuit attacks // Hardware-Oriented Security and Trust, 2009. HOST’09. IEEE International Workshop on. – IEEE, 2009. С. 100–103.
Abramovici M., Bradley P. Integrated circuit security: new threats and solutions // Proceedings of the 5th Annual Workshop on Cyber Security and Information Intelligence Research: Cyber Security and Information Intelligence Challenges and Strategies. – ACM, 2009. С. 55.
Rad R., Plusquellic J., Tehranipoor M. Sensitivity analysis to hardware Trojans using power supply transient signals // Hardware-Oriented Security and Trust, 2008. HOST 2008. – IEEE International Workshop on. IEEE, 2008. С. 3–7.
Banga M., Hsiao M.S. A novel sustained vector technique for the detection of hardware Trojans // VLSI Design, 2009 22nd International Conference on. IEEE, 2009. С. 327–332.
Jin Y., Makris Y. Hardware Trojans in Wireless Cryptographic ICs // IEEE Design & Test of Computers. – 2010. Т. 27. № 1. С. 26–35.
Potkonjak M. et al. Hardware Trojan horse detection using gate–level characterization // Design Automation Conference, 2009. DAC›09. 46th ACM/IEEE. IEEE, 2009. С. 688–693.
ПРЕДУПРЕЖДЕНИЕ АППАРАТНЫХ
ЗАКЛАДОК НА ЭТАПЕ ПРОЕКТИРОВАНИЯ
На этапе проектирования аппаратная закладка может быть внедрена в проект членом группы разработчиков, занесена непроверенным программным обеспечением для разработки ИС или через включение в проект непроверенных сторонних сложно-функциональных модулей (IP-блоков). Создание проверенных схем (без аппаратных закладок) с использованием непроверенных инструментов САПР ИС рассмотрено в работе [1]. Предложенное решение основано на использовании инструментов САПР для сложных синтезов и очень простой проверенной программы, созданной разработчиком для контроля результата и выявления возможных привнесенных в проект модификаций. Основная идея заключается в создании такой спецификации проекта, при которой не остается места для добавления злонамеренной схемы непроверенными инструментами САПР. Полная спецификация должна предполагать, что аппаратные ресурсы проекта должны быть полностью задействованы во все такты. Метод базируется на том, что достаточно легко проверить, используются ли в проекте полностью все ресурсы (NP-полная задача), по аналогии с тем, что найти решение NP-полной задачи сложно, но проверить, удовлетворяет ли ей решение, относительно просто.
Основная проблема такого подхода состоит в том, что вполне возможно [2] построить аппаратный троян, используя только логику, которая уже задействована в проекте. Относительно просто разработать программу для проверки того, что проект использует все доступные аппаратные ресурсы, но определить, отсутствуют ли злонамеренные изменения достаточно сложно.
Похожий подход, но с использованием методов обфускации (запутывания), подробно рассмотрен в работе [3]. Правильная функциональность ("нормальный режим") спрятана за секретную инициализирующую последовательность, любое отклонение от которой переводит ИС в невозвратимый "режим обфускации" в графе состояний. Отличие между этим подходом и изложенным выше заключается в том, что метод обфускации использует тупиковые состояния, а не стремление задействовать все доступные логические вентили. Это упрощает его реализацию, но и позволяет внести более простые изменения в проект вне последовательности. Такой подход не защищает от возможных изменений исходника, причем они не выявляются специальным анализом проекта методами обратного проектирования после изготовления ИС.
ПРЕДУПРЕЖДЕНИЕ НА ЭТАПЕ ИЗГОТОВЛЕНИЯ
Вопросы изготовления ИС на непроверенном производстве рассмотрены в работе [4]. Авторы предложили систему, которая обеспечивает разработчика – потребителя СФ-блоков (IP-блоков), спецификацией используемых в нем аппаратных средств, а также списком так называемых "свойств, имеющих отношение к секретности". И поставщик, и потребитель СФ-блоков соглашаются транслировать эти свойства в формальный математический код на языке "автоматического доказательства". Поскольку разработчик СФ-блока пишет HDL-код, он проводит формальное доказательство того, что специфицированные аппаратные средства выполняют все требуемые свойства. Они могут быть проверены через программу автоматического доказательства, когда СФ-блок будет доставлен потребителю. Эта идея подобна процессу программной верификации на основе PCC-кода (кода носителя доказательства) [5]. Связывание формальной модели проекта со спецификацией проекта может привести к более корректной реализации ИС. Однако, как отмечают авторы, создание формальной модели остается за поставщиком СФ-блока, и необходимо быть полностью уверенным в его надежности, что он не добавит аппаратную закладку в проект или в доказательный код. В противном случае такую закладку будет достаточно трудно обнаружить.
ПРЕДУПРЕДИТЕЛЬНЫЕ МЕРЫ ПОСЛЕ ИЗГОТОВЛЕНИЯ ИС
В работе [2] рассматривается подход к реализации ИС с применением реконфигурируемой логики (специфицируется после изготовления ИС), которую располагают между выходами одной схемы и входами другой. Таким образом, достигается скрытность проекта от злоумышленника, который имеет доступ к описанию на уровне регистровых передач. Этот подход можно рассматривать как превентивную меру и как метод противодействия при эксплуатации ИС в присутствии аппаратного трояна. С точки зрения превентивных качеств, этот метод оставляет злоумышленнику неопределенность в работе без знания схемы реконфигурируемой логики, что сужает область возможных атак.
Даже прилагая большие усилия, достаточно трудно полностью предотвратить внедрение аппаратной закладки в ИС. Однако наилучших результатов в комплексном противодействии аппаратным троянам можно достичь, не допустив его наличия в ИС.
ОБНАРУЖЕНИЕ АППАРАТНЫХ ЗАКЛАДОК
Наряду с превентивными мерами защиты от проникновения троянов в проект или в ИС, существуют и методы их обнаружения. При выявлении аппаратный троян может быть удален из проекта (если обнаружен в описании на уровне регистровых передач), либо ИС с трояном может не использоваться, или же может эксплуатироваться и с присутствием аппаратной закладки. В зависимости от механизма обнаружения, закладка может быть идентифицирована, или же может быть выполнена статистическая оценка вероятности наличия изменений в проекте.
Традиционное тестирование и верификация ИС направлены на проверку соответствия техническим условиям и спецификации. Наличие дополнительных функциональных возможностей ИС, как правило, не проверяется. Учитывая все пространство состояний, в котором могут быть спрятаны эти дополнительные функции, такая проверка выполнима только для небольших логических проектов.
В настоящее время не существует общего подхода, гарантирующего обнаружение всех аппаратных троянов. Большинство исследований сфокусированы на поиске аппаратных троянов после изготовления ИС, поскольку этот этап рассматривается как самое слабое звено в полном цикле разработки и производства ИС. Малая часть исследований посвящена обнаружению аппаратных троянов в исходном RTL-коде (RTL – язык уровня регистровых передач) до синтеза проекта (преобразования проекта, написанного на уровне регистровых передач в двоичный код нет-листа для шаблонов), или непосредственно во время изготовления ИС. Предполагается, что к персоналу, осуществляющему поиска троянов, существует полное доверие, а поиск аппаратных троянов – доверенная экспертная процедура, которая должна включать анализ проекта на уровне регистровых передач, а также исследование его имитационного поведения (имитационное моделирование).
При индивидуальном проектировании аппаратной закладки будет сделана попытка обойти существующие и появляющиеся по мере исследований и разработок новые методы обнаружения троянов. Это своего рода гонка вооружений, подобная той, которую мы наблюдаем в антивирусной индустрии программного обеспечения. На рисунке приведена классификация современных методов обнаружения аппаратных троянов [3].
ДЕСТРУКТИВНЫЕ МЕТОДЫ ОБНАРУЖЕНИЯ
Под деструктивными подразумевают методы обнаружения аппаратных троянов, которые приводят к полному разрушению ИС. Полное разрушение в значительной степени ограничивает их применение. Чтобы быть уверенным, что данная ИС не содержит аппаратного трояна, ее исследуют методами обратного проектирования. Однако, обратное проектирование современной сложной ИС достаточно трудоемкий и дорогостоящий процесс. Как правило, оно осуществляется методами химико-механической полировки с последующей реконструкцией и анализом топологии ИС с использованием сканирующего электронного микроскопа. В большинстве случаев "корректность" чипа устанавливается путем визуального сравнения с известным примером или эталонной ИС. Однако, если аппаратный троян был внесен непосредственно перед изготовлением (следовательно, он будет присутствовать во всех изготовленных ИС), визуальное сравнение ничего не даст.
Аппаратной модификации могут быть подвергнута лишь часть ИС. В этом случае метод обратного проектирования может только с некоторой вероятностью дать основания утверждать, что ИС не содержит аппаратного трояна. В связи с этим в работе [6] предложено использовать деструктивное обратное проектирование для выявления "хороших" ИС. Перед проведением обратного проектирования исследуются косвенные характеристики случайной выборки ИС, такие как профили потребляемой мощности, температуры, электромагнитного излучения, токов утечек. В итоге для каждой ИС получают набор характеристик – "отпечаток пальцев". Если наблюдается определенное выделенное распределение характеристик, то все образцы из этой выборки подвергаются обратному проектированию для проверки наличия аппаратных троянов. В дальнейшем принадлежность "отпечатка пальцев" ИС к характерному распределению (как для "хороших", так и "зараженных" ИС) может использоваться для неразрушающей сортировки ИС в партии.
Описанный подход не решает ряда проблем. Так, аппаратный троян может быть реализован путем добавления, удаления или модификации всего двух логических вентилей [7], в то время как современная ИС состоит из миллиарда вентилей. Поиск такой "иголки в стоге сена" требует проведения полного обратного проектирования ИС на уровне вентилей, что может быть намного дороже разработки и изготовления ИС. С другой стороны, нет гарантии того, что "отпечаток пальцев" ИС с аппаратным трояном будет отличаться от "незараженной" ИС на фоне возрастающих дисперсий характеристик ИС, что обусловлено уменьшением характеристического линейного размера.
НЕРАЗРУШАЮЩИЕ МЕТОДЫ ОБНАРУЖЕНИЯ
Неразрушающие методы обнаружения аппаратных троянов не приводят к нарушению целостности ИС и классифицируются на инвазивные и неинвазивные. Неинвазивные методы не изменяют проект ИС, в то время как инвазивные характеризуются внесением изменений в проект с целью придания функций, способствующих обнаружению трояна.
Инвазивные методы делятся на два класса: превентивные и вспомогательные. Вспомогательные методы используются для того, чтобы было легче обнаружить троян в тестах после изготовления ИС. В работе [3] предложена схема, которая позволяет выявить наличие аппаратного трояна в мульти-модальном проекте. Это достигается путем использования дополнительных входов и выходов, которые добавляются к каждому модулю. Дополнительные входы обеспечивают "ключ", который переводит модуль в "прозрачный режим". В этом режиме модуль выполняет самотестирование схемы, разработанное таким образом, чтобы проверить редкие события и маловероятные состояния. По окончании самотестирования на выход модуля поступает подпись, которая состоит из установленного входного ключа и результата самотестирования. Эта подпись затем последовательно поступает на вход следующего модуля, как входной "ключ". Таким образом, простой "специальный" входной ключ, введенный на основной вход, тестирует всю систему, и результат этого тестирования выводится однозначной величиной на основном выходе. Авторы утверждают, что этот метод действенен против злоумышленника, который располагает информацией о функциональной и логической структуре ИС.
Использование логики, позволяющей проверять расширенное пространство состояний, в которых может проявиться аппаратный троян, на практике обеспечивает очень слабую защиту от целевой закладки. Как уже говорилось в данном разделе, вероятность обнаружения профессионально спроектированной закладки достаточно мала. К тому же, этот метод предполагает, что аппаратная закладка будет внедрена на конкретной стадии проектирования. Однако злоумышленник может вставить троян после разработки функционального проекта модуля, но перед разработкой логики определения "отпечатков пальцев".
В работе [8] предложен метод, основанный на добавлении в проект нерабочей триггерной схемы, которая приводит к увеличению активности аппаратного трояна при его включении. Это упрощает его обнаружение через побочные каналы. В работе [9], для обнаружения закладки через побочные каналы предлагается дополнительная схема, характеризующая время задержки ИС, которое изменяется в случае наличия трояна.
Неинвазивные методы обнаружения аппаратных закладок основаны на сравнении рабочих характеристик ИС с характеристиками заведомо исправной эталонной ИС. Обнаружение неинвазийным методом может быть проведено или во время работы ИС или во время ее тестирования. Механизмы обнаружения во время работы ИС во многом пересекаются с методами противодействия аппаратным троянам. Если закладка обнаружена, то можно попытаться продолжить эксплуатацию ИС и в ее присутствии. Обнаружение во время проведения теста основывается на улучшении традиционного тестирования или анализе побочных характеристик ИС (побочного канала).
В работе [10] подробно рассмотрен подход к обнаружению аппаратных троянов с использованием аппаратного и программного обеспечения. Стратегия позволяет обнаруживать только два типа атаки. Атака типа DoS (отказ в обслуживании), обнаруживается с использованием небольшой заказной схемы защиты на шине памяти, которая запрограммирована реагировать на периодические пинги "живучести". Отсутствие ответа в установленное время рассматривается как успешное обнаружение попытки DoS атаки. Комбинированные атаки с применением аппаратных и программных средств, когда аппаратный троян отключает защиту памяти, а программный троян может расширить свои привилегии, обнаруживаются тестированием того, могут или нет непривилегированные программы получить доступ к закрытым для них разделам памяти. Этот подход требует также внесения изменений в операционную систему для работы с защитной схемой.
АНАЛИЗ КОСВЕННЫХ ХАРАКТЕРИСТИК
Анализ косвенных характеристик ИС (анализ побочных каналов), в отличие от непосредственной активации аппаратного трояна с целью его обнаружения, использует тот факт, что внедренный активационный триггерный механизм изменяет некоторые характеристики ИС независимо от того, активирована закладка или нет. Величина потребляемой мощности отдельными частями ИС, количество выделяемого тепла в определенных участках или время, необходимое определенным блокам для выполнения операций (задержка) – типичные примеры вторичных характеристик ИС, которые можно использовать для проведения такого анализа. Этот тип анализа, по всей видимости, обеспечивает наилучшую вероятность обнаружения аппаратного трояна, поскольку не требует его активации.
В работе [11] представлен характерный пример рассматриваемого механизма обнаружения закладок. Вначале исследуются образцы ИС без аппаратных троянов – эталонные ИС, снимаются одна или несколько характерных вторичных характеристик – так называемые "отпечатки пальцев". Далее тестируются другие чипы, и проводится сравнение их "отпечатков пальцев" с эталонными. Для того чтобы выбрать статистически значимые (но хорошо спрятанные) различия, могут быть использованы различные статистические методы. Авторы, в частности, использовали характеристику энергопотребления ИС в качестве основной косвенной характеристики. Очевидный недостаток метода заключается в том, что необходимо полностью быть уверенным, что эталонные ИС не "заражены".
Другая косвенная характеристика ИС – переходная характеристика потребляемой мощности – анализировалась в работе [12]. Цель работы – определение наименьшего размера аппаратного трояна, который можно обнаружить с помощью предлагаемого метода. Проведенные тесты, имитирующие работу конкретной экспериментальной ИС, показали, что этим методом можно обнаружить минимальную аппаратную закладку, состоящую из трех вентилей.
В работе [13] предложен метод, позволяющий усилить различие косвенных характеристик ИС, в которой отсутствовали аппаратные трояны, и такой же ИС, но "зараженной" закладкой. В качестве косвенной характеристики анализировалось энергопотребление. Использовался так называемый метод "устойчивого вектора", периодически подаваемого на отдельные входы ИС. Через некоторое время с момента подачи ИС входит в стабильное состояние. Эта процедура названа авторами "переключательной минимизацией". Изменяя входной вектор, можно задействовать различные участки ИС. Изменения разницы потребляемой мощности с эталонным образцом свидетельствует о посторонних аппаратных устройствах в исследуемом участке ИС, то есть идентифицируются цепи, которые активны, но не должны быть таковыми.
Анализ и использование в качестве косвенной характеристики ИС и ее "отпечатков пальцев" задержки прохождения сигнала исследовалось в работе [14]. Авторы рассматривали две категории аппаратных троянов, имеющих явную и неявную нагрузки. Трояны с явной полезной нагрузкой напрямую влияют на схему, к которой они присоединены (например, изменяют значение управляющего или информационного сигнала). Аппаратные закладки с неявной полезной нагрузкой не вносят непосредственных изменений в цепь, но могут, например, считывать информацию через побочные каналы или исполнить DoS-атаку при инициализации. Авторы утверждают, что могут обнаружить 100% явных и 36% неявных аппаратных троянов, однако эксперименты проводились на симуляторах (моделирующих программах), а трояны представляли собой несложные модификации, специально разработанные и влияющие на энергопотребление и задержку прохождения сигнала. В аналогичной работе [15] в качестве косвенных характеристик и побочного канала рассматривались ток утечки и задержка прохождения сигнала.
Другой подход изложен в работе [3]. Авторы измеряли интеграционный ток – временные зависимости электрического заряда в узлах ИС, и использовали данные, полученные с различных участков схемы, для анализа и поиска троянской цепи. При анализе учитывались также данные, снятые с эталонной ИС, не содержащей закладок. Авторы заявили, что способны обнаружить внесенные аппаратные закладки, размером в "несколько вентилей", занимающие до 0,1% от площади всей ИС.
Основная проблема метода анализа косвенных характеристик для обнаружения аппаратных закладок заключается в том, что он полностью зависит от наличия подлинной эталонной ИС, которую можно использовать для сравнения и оценки. Если же аппаратная закладка была добавлена где-либо до стадии изготовления и, следовательно, содержится в каждой ИС, рассматриваемый метод неприменим. Кроме того, пространство поиска с использованием этого метода может быть очень большим. Несмотря на интересные разработки и использование современных статистических методов определения различий характеристик модифицированной и подлинной ИС, вероятность обнаружения такого отличия очень мала, особенно, если аппаратная закладка хорошо спроектирована и имеет целевое назначение.
ЗАКЛЮЧЕНИЕ
Таким образом, исследовательские работы, направленные на выявление аппаратных троянов, преимущественно посвящены разрушающим методам, а также подходам с использованием побочных каналов и вспомогательных методов на этапе тестирования ИС. Механизмы обнаружения часто сосредоточены на конкретном классе аппаратных троянов, не существует единого метода или комбинации методов, которые могли бы обеспечить широкий охват при выявлении несанкционированных закладок.
Самый эффективный путь предупреждения внесения аппаратных закладок в ИС – тщательный контроль всего цикла разработки и изготовления. Небольшая проверенная команда разработчиков, использующих собственные программные средства и библиотеки, могут создать проект ИС, гарантированно свободный от аппаратных закладок. Изготовление такого проекта на проверенном кристальном производстве (управляемого небольшой группой поверенных лиц) обеспечит получение верных и надежных изделий. Заключительная сборка микросхем в корпуса и последующее их использование только лицами, которым полностью доверяет заказчик, обеспечит полную уверенность, что оригинальный проект реализован без вредоносных изменений.
Для такой страны, как Россия, которая не является лидером в полупроводниковой промышленности, замкнуть процесс от проектирования до изготовления возможно только для малых проектов специализированных ИС, поэтому доля ИС, изготовленных в кооперации с иностранными партнерами, будет увеличиваться. В связи с этим будет повышаться вероятность внесения аппаратных закладок. Для обеспечения безопасной работы электронной аппаратуры становится крайне важной разработка способов контроля, которые смогут надежно гарантировать аутентичность используемых ИС.
Возможен и другой подход, основанный на использовании сертифицированных коммерческих электронных компонентов, находящихся в свободной продаже (COTS – Commercial Off The Shelf – компонентов). Коммерческий сектор использует обширные библиотеки СФ-блоков, что обеспечивает быстрое развитие новых, более функциональных приборов (например, смартфонов). Если бы оборонные сектора разрабатывали и использовали только собственные СФ-блоки, то связанные с электроникой военные разработки находились бы далеко позади коммерческих гражданских продуктов. Поэтому имеет смысл создавать только некоторые ИС, такие как крипточипы, где полностью возможен проверенный цикл разработка / изготовление, особенно для чипов с малым количеством логических вентилей. Однако и в этом случае возможны кража, проведение обратного проектирования, изготовление ИС с модификацией и подмена оригинальных ИС через ненадежную цепь поставщиков и посредников.
Статья подготовлена при финансовой поддержке Минобрнауки России в рамках выполнения государственного задания 16.9021.2017/БЧ.
ЛИТЕРАТУРА
Potkonjak M. Synthesis of trustable ICs using untrusted CAD tools // Proceedings of the 47th Design Automation Conference. – ACM, 2010.
С. 633–634.
Baumgarten A. et al. A case study in hardware Trojan design and implementation // International Journal of Information Security. 2011. Vol. 10. №. 1. P. 1–14.
Chakraborty R.S., Narasimhan S., Bhunia S. Hardware trojan: Threats and emerging solutions. –http://www.trust–hub.org/resources/113, 2010.
Love E., Jin Y., Makris Y. Enhancing security via provably trustworthy hardware intellectual property // Hardware–Oriented Security and Trust (HOST), 2011. – IEEE International Symposium on. IEEE, 2011. С. 12–17.
Necula G. C., Lee P. Safe, untrusted agents using proof–carrying code // Mobile Agents and Security. Springer Berlin Heidelberg, 1998. С. 61–91.
Agrawal D. et al. Trojan detection using IC fingerprinting // Security and Privacy, 2007. SP’07. IEEE Symposium on. – IEEE, 2007. С. 296–310.
Sturton C. et al. Defeating UCI: Building stealthy and malicious hardware // Security and Privacy (SP), 2011 IEEE Symposium on. – IEEE, 2011. С. 64–77.
Salmani H., Tehranipoor M., Plusquellic J. New design strategy for improving hardware trojan detection and reducing trojan activation time // Hardware-Oriented Security and Trust, 2009. HOST›09. IEEE International Workshop on. – IEEE, 2009. С. 66–73.
Li J., Lach J. At–speed delay characterization for IC authentication and Trojan horse detection // Hardware-Oriented Security and Trust, 2008. HOST 2008. IEEE International Workshop on. – IEEE, 2008. С. 8–14.
Bloom G., Narahari B., Simha R. OS support for detecting Trojan circuit attacks // Hardware-Oriented Security and Trust, 2009. HOST’09. IEEE International Workshop on. – IEEE, 2009. С. 100–103.
Abramovici M., Bradley P. Integrated circuit security: new threats and solutions // Proceedings of the 5th Annual Workshop on Cyber Security and Information Intelligence Research: Cyber Security and Information Intelligence Challenges and Strategies. – ACM, 2009. С. 55.
Rad R., Plusquellic J., Tehranipoor M. Sensitivity analysis to hardware Trojans using power supply transient signals // Hardware-Oriented Security and Trust, 2008. HOST 2008. – IEEE International Workshop on. IEEE, 2008. С. 3–7.
Banga M., Hsiao M.S. A novel sustained vector technique for the detection of hardware Trojans // VLSI Design, 2009 22nd International Conference on. IEEE, 2009. С. 327–332.
Jin Y., Makris Y. Hardware Trojans in Wireless Cryptographic ICs // IEEE Design & Test of Computers. – 2010. Т. 27. № 1. С. 26–35.
Potkonjak M. et al. Hardware Trojan horse detection using gate–level characterization // Design Automation Conference, 2009. DAC›09. 46th ACM/IEEE. IEEE, 2009. С. 688–693.
Отзывы читателей