Выпуск #8/2016
Е.Кузнецов, А.Сауров
Аппаратные трояны. Часть 2: примеры реализации, способы внедрения и активации
Аппаратные трояны. Часть 2: примеры реализации, способы внедрения и активации
Просмотры: 6163
Во второй части цикла статей, посвященных аппаратным закладкам в интегральных схемах – аппаратным троянам, приведены примеры их реализации и внедрения в интегральные схемы.
DOI:10.22184/1993-8578.2016.70.8.12.20
DOI:10.22184/1993-8578.2016.70.8.12.20
Теги: hardware backdoor hardware trojan malicious modification аппаратная закладка аппаратный троян кибербезопасность несанкционированная модификация
Аппаратные закладки лишь недавно попали в поле зрения исследователей, поэтому пока опубликовано сравнительно мало данных об их фактической реализации, и только в нескольких публикациях предпринято углубленное рассмотрение эффектов от атак с их использованием. Ниже рассматриваются наиболее интересные подходы к реализации аппаратных закладок.
В работе [1] представлены два наиболее общих подхода к созданию вредоносного процессора. Авторы показывают, как электрические схемы аппаратных троянов могут быть встроены в процессор для реализации таких атак, как кража паролей, расширение привилегий доступа и автоматические логины в систему. Представлена общая платформа для поддержки широкого спектра атак с возможностью их динамического обновления. В центральный процессор вносятся две модификации, которые реализуют механизм, обеспечивающий злоумышленнику доступ в защищенные области памяти, и теневой режим, позволяющий взломщику выполнить скрытую "встроенную программу". В работе описывается атака на логин, которая дает злоумышленнику полный высокий уровень доступа к процессору. Атака выполнена с помощью злонамеренной модификации, реализованной на схеме с использованием только 1 341 вентилей. Авторами впервые приведена реализация аппаратной закладки, которая может использоваться в качестве общей программируемой платформы для атак. Показано внесение такой модификации на уровне VHDL (языка описания аппаратуры интегральных схем), проведено моделирование и синтез ИС для платформы на базе процессора Leon 3 SPARC 40 MГц. Рассмотрено обнаружение такого аппаратного трояна путем анализа внесенных им возмущений в аналоговые и цифровые сигналы. В частности, отмечается, что операционной системе виден программный компонент механизма доступа к памяти, и могут быть обнаружены задержки сигнала, связанные с внесением модификации. Также в работе [1] показаны общие подходы для обеспечения защиты от подобных вредоносных процессоров.
С целью изучения способов внедрения аппаратных закладок в политехническом институте Нью-Йоркского университета проводятся ежегодные конференции CSAW (Cyber Security Awareness Week – Неделя знаний об информационной безопасности). В рамках этой конференции организуются состязания между командами по внедрению и поиску встроенных аппаратных систем (Embedded System Challenge). В 2008 году было дано задание получить доступ к криптографическому устройству "АЛЬФА" на основе ПЛИС путем внесения набора аппаратных закладок, при этом устройство должно проходить тест на достоверность. Участникам соревнования выдали исходный HDL-код и предоставили один месяц на разработку. Победили две команды, одна из которых разработала механизм утечки информации секретных ключей через канал входа-выхода, другая – организовала DoS-атаку. Если обобщить все участвовавшие в состязании разработки, то аппаратные закладки были в 90% случаев внесены на этапе фазы разработки ИС, 50% из них активировались пользователем и 75% аппаратных троянов были размещены в схемах входа-выхода [2].
В работе [3] анализируется пространство проектных параметров аппаратных закладок и предлагается схема размером менее 50 вентилей, вырабатывающая мощность, которая может служить побочным каналом для скрытой утечки секретной информации. Технология, получившая название MOLES (Malicious Off-chip Leakage Enabled by Side-channels), была реализована в криптографической ИС на основе алгоритма AES, спроектированной по проектным нормам 45 нм. Использование метода расширенного спектра при разработке аппаратного трояна MOLES позволило осуществлять считывание многоразрядной информации на основе анализа потребляемой мощности с чувствительностью ниже уровня собственных шумов ИС, что обеспечивает скрытность. Авторы [3] заявляют, что данная технология обладает максимальной скрытностью и невосприимчивостью к большинству методов обнаружения аппаратных троянов, таких как визуальный контроль, проведение функциональных тестов и обнаружение на основе характерных "дактилоскопических" признаков ИС. Хотя схема задействует малое количество логических вентилей, вычислительные затраты для восстановления считанных данных, имеющих малое отношение сигнал / шум, с учетом вариабельности характеристик технологии, могут иметь критическое значение. Авторы [3] предложили обобщенную методологию проектирования и реализации MOLES-схем, опираясь на математический аппарат теории обнаружения для анализа дифференциальной мощности, которая необходима для экстракции многоразрядных ключей. Полученные результаты основаны на моделировании экстракции только коротких ключей (8-бит), весьма далеких от реальной разрядности используемых ключей. При этом авторы указывают, какие вопросы необходимо решить для практического надежного восстановления многоразрядных ключей на основе анализа потребляемой мощности крипто-процессора.
В работе [4] проведены эксперименты с двумя упрощенными аппаратными закладками, встроенными в схемы шифрования на основе RSA – алгоритма для анализа эффектов, связанных с побочными каналами. В аппаратных закладках использовался простой счетчик, отключавший ИС после определенной пороговой величины, и компаратор, который сравнивал данные на системной шине или регистре с фиксированной величиной и вносил изменения в вычислительный процесс при превышении соответствия. Указывается, что такие аппаратные закладки достаточно трудно обнаружить, и они могут использоваться для отключения электрических схем, кражи информации, сбоев в системе, нарушения целостности и безопасности всей системы, в которую включена "зараженная" ИС.
В работе [5] рассматривается пример аппаратного трояна, действие которого приводит к утечке информации из ядра DES-шифрования. За такт схема извлекает один бит 56-разрядного ключа. Вскрывая один бит в каждом 64-разрядном блоке предаваемых данных, троян обеспечивает утечку информации. После накопления всех 56-ти блоков зашифрованного текста, полный ключ передается по радиоканалу, компрометируя шифрование. Извлеченный ключ спрятан в допустимом диапазоне амплитуды или частоты, обусловленном вариацией параметров технологического процесса, что обеспечивает соблюдение разработанных функциональных спецификаций ИС.
В работе [6] описан новый тип аппаратных закладок, основанных на надежностных характеристиках ИС. Этот тип троянов –достаточно простые модификации технологического процесса, которые приводят к ускорению деградации КМОП ИС. Изменения в технологии могут не затрагивать внутренние характеристики схемы, однако влияют на увеличение вариабельности технологических параметров, поэтому выявляются в ходе технологических тестов. Такие аппаратные трояны могут основываться на следующих деградационных физических явлениях: эффекте горячих электронов (эффект HCI), электрическом пробое затворного диэлектрика, эффекте температурной нестабильности при обратном смещении в р-МОП транзисторе (NBTI эффект), эффекте электромиграции. По классификации их можно отнести к постоянно действующим аппаратным троянам типа DoS (отказ в обслуживании), которые приводят к постепенной деградации рабочих характеристик, либо к ранним отказам отдельных частей ИС.
МЕХАНИЗМЫ АКТИВАЦИИ ЗАКЛАДОК
Как правило, после внедрения в систему аппаратная закладка находится в состоянии покоя, пока не будет активирована (запущена) для выполнения своей вредоносной функции. Механизмы активации могут иметь разнообразный характер, явный или скрытый, случайный, непосредственный, или заранее определенный, в результате которых аппаратный троян может изменять свое состояние и поведение. Знания об этих механизмах важны, поскольку процесс активации может нести информацию, позволяющую выявить и противодействовать аппаратной закладке. Следует пытаться активировать аппаратные трояны на этапах верификации ИС. Обычно это выполняется при аттестационном и функциональном тестировании ИС или при исследовании пространства состояний проекта, включая состояния входов-выходов и внутренней логики. Активация аппаратной закладки во время тестирования может помочь идентифицировать ее наличие в ИС. Различные механизмы активации и их классификация коротко рассмотрены ниже.
АППАРАТНЫЕ ТРОЯНЫ
С ВНУТРЕННЕЙ АКТИВАЦИЕЙ
Внутренняя активация основывается на некоторых специфических состояниях, при достижении которых в целевом устройстве происходит активация аппаратной закладки. В большинстве случаев она строится на схемах секвенциальной (последовательностной) или комбинационной логики.
АКТИВАЦИЯ НА ОСНОВЕ
КОМБИНАЦИОННОЙ ЛОГИКИ
Аппаратный троян с активацией на основе комбинационной логики запускается при достижении так называемого триггерного состояния, когда определенные значения (векторы) обнаруживаются на определенных узлах внутренней схемы ИС. Этот тип активационного механизма может быть реализован только с использованием комбинационной логики (комбинационный триггер). В работе [7] авторы приводят пример так называемого "однотактного чит-кода" – специфического адреса на шине, который активизирует аппаратный троян. На практике комбинационная активация может потребовать большего набора определенных одновременных состояний на некоторых узлах, например на внутренних регистрах, совмещенных со специфическим словом на шине данных и определенным словом на адресной шине. В работе [8] приводится пример, в котором для активации аппаратной закладки используются определенные комбинированные наборы на входах ИС. В частности, это может быть определенный входной набор, объединяющий данные, управляющие команды, адреса и команды самотестирования.
АКТИВАЦИЯ НА ОСНОВЕ
ПОСЛЕДОВАТЕЛЬНОСТНОЙ ЛОГИКИ
Аппаратный троян с активацией на основе последовательностной логики запускается определенной последовательностью событий. Если сравнивать с комбинационной активацией, то активация на последовательностной логике имеет намного большее пространство состояний, так как триггерный механизм здесь может реализовываться с использованием конечного автомата. В работе [9] отмечается, что поскольку конечный автомат обеспечивает логическую глубину, последовательность событий обычно описывается маловероятными логическими величинами, и обнаружить их во время тестирования и верификации ИС намного труднее.
Простейшим последовательностным триггером является схема синхронного счетчика, которая активируется после определенного количества циклов синхронизации. В работе [7] такие трояны названы "бомбами замедленного действия". В работе [9] обсуждаются счетчики асинхронных последовательностей, в которых при определенных событиях осуществляется приращение, например, увеличение фронта импульса на выходе вентиля. Эти же авторы предлагают использование гибридного механизма активации, комбинируя синхронные и асинхронные триггеры.
Также в работе [9] рассматриваются так называемые последовательные чит-коды. Например, к активации аппаратного трояна приводит последовательность байт 0xd, 0xe, 0xc, 0xa, 0xf, 0xb, 0xa, 0xd в течение различных восьми циклов синхронизации. При этом нет необходимости, чтобы данные байты приходили последовательно, они могут быть разнесены по времени. Таким образом, активация аппаратного трояна достигается гораздо более сложной последовательностью событий.
Задать сложность последовательностного триггера не представляет труда для разработчика аппаратной закладки. Единственная проблема, связанная с увеличением сложности – потребляемая трояном мощность и количество логических вентилей, необходимых для его реализации. В связи с этим были предложены внутренние последовательностные механизмы активации, которые используют физические и аналоговые эффекты в ИС. Например, мониторинг температуры чипа или потребляемой мощности могут быть включены в механизм пусковой схемы. Более того, в работе [9] приводится конкретный пример схемы, состоящей из электрической емкости, заряжающейся через резистор. Заряд и напряжение на емкости определяются активностью окружающей логики, которая в свою очередь может отражать активность ИС. Аппаратная закладка запускается при достижении на емкости определенного значения порогового напряжения.
Активационный триггер может быть как цифровым, так и аналоговым. Аналоговая активация используется с целью увеличения скрытности и сложности его обнаружения. Злоумышленник может использовать несколько индивидуальных триггеров последовательностного типа для активации различных троянов в ИС.
Активация на основе последовательностной логики может предусматривать как контентные, так и временные события. В работе [10] исследовались такие триггеры, когда активация трояна происходит при определенных контентных данных в определенное время. Для простого активационного триггера было показано, что время тестирования, за которое можно с большой вероятностью активировать такой троян, составляет 3 · 1035 лет: рассматривалась вероятность определения комбинации определенных числовых кодов, вводимых с клавиатуры за определенный интервал времени.
Авторы [10] предложили также "температурный триггер". Принцип его действия заключается в следующем. Активность определенных участков ИС на кристалле модулирует частоту кольцевого генератора, выполненного на инверторах. Частота кольцевого генератора определяет тепловыделение, которое влияет на задержку в другом подобном кольцевом генераторе. При достижении определенной величины задержки происходит активация аппаратной закладки. Похожие механизмы могут быть построены на использовании в качестве сигнала для активации электромагнитных или радиочастотных помех, частоты или потребляемой мощности логической схемы, а также временной характеристики потребляемой мощности определенных участков ИС.
АППАРАТНЫЕ ТРОЯНЫ С ВНЕШНЕЙ АКТИВАЦИЕЙ
Внешняя активация подразумевает некое взаимодействие аппаратного трояна с внешней средой, отличной от системы, в которую внедрен троян. Преимущества использования внешних триггеров для атакующего заключается в том, что активация инициируется источником, расположенным вне системы и поэтому не зависящим от нее [11]. В этой же работе приводятся примеры приемников или антенн внешнего сигнала, внедренных в "зараженный" прибор.
В работе [8] рассматриваются встроенные в чип сенсоры, которые могут осуществлять мониторинг физических параметров: температуры, электрического напряжения, электромагнитных помех, влажности и высоты над уровнем моря. Активационные механизмы с подобными сенсорами на чипе часто называют триггерами побочного канала по аналогии с технологиями получения информации в электронных приборах без непосредственного влияния на них [12]. Другие внешние механизмы активации аппаратных троянов основаны на непосредственном взаимодействии с целевым прибором. Также активация может быть инициализирована прикрепленным компонентом системы, например дополнительной памятью.
ПОСТОЯННО АКТИВНЫЕ АППАРАТНЫЕ ЗАКЛАДКИ
Существуют аппаратные закладки, которые всегда активны и не могут быть активированы или дезактивированы специальным триггерным механизмом. Возможны также аппаратные трояны, которые вносят незаметные изменения в спецификацию, функциональность или синхронизацию системы и не нуждаются в триггерном механизме. В качестве примера таких постоянно действующих троянов можно привести аппаратную закладку, производящую утечку данных через побочный канал, который отражает активность специфической ИС.
Постоянно активные аппаратные закладки могут иметь и более тонкие триггерные механизмы. В работе [11] обсуждается такая модификация топологии, при которой отдельные узлы или части ИС имеют большую вероятность отказа, то есть можно говорить, что триггерный механизм постоянно действует и приводит к непрерывной деградации рабочих характеристик ИС. В работе [6] рассматриваются модификации в ИС, в результате которых она выходит из строя после определенного периода эксплуатации длительностью от нескольких месяцев до года. Примеры таких аппаратных троянов – преднамеренные изменения в технологическом процессе, приводящие к ухудшению надежности ИС. Трудность их обнаружения связана с тем, что вносимые изменения не влияют на параметры ИС, которые находятся в допустимых пределах, характерных для технологического процесса. Поскольку такие трояны постоянно активны, они не имеют побочных активационных эффектов, таких как изменения шумовых характеристик ИС, изменения характера потребляемой мощности или температуры.
ОСОБЕННОСТИ РАЗРАБОТКИ
ТРИГГЕРНЫХ МЕХАНИЗМОВ АКТИВАЦИИ
Разработчику аппаратного трояна достаточно просто создать триггерный механизм активации, который будет трудно обнаружить, поскольку он может использовать огромное пространство состояний системы, в которую внедряется троян. Это пространство состояний включает все внутренние узлы логических схем, входов и выходов ИС, модификацию топологии ИС, вариации технологических процессов, аналоговые эффекты электроники в ИС. Гибридные механизмы, совмещающие некоторые или все известные триггерные принципы, делают работу по обнаружению аппаратных закладок все более трудной. Общее мнение исследователей сводится к тому, что постоянно действующие аппаратные закладки намного более трудны для обнаружения по сравнению со сложными конструкциями триггерных механизмов для предотвращения случайной активации или активации во время тестирования.
ЗАКЛЮЧЕНИЕ
Внести и активировать аппаратные трояны становится проще с увеличением пространства состояний, повышением параллельности вычислений, усложнением внутренней разводки и возрастанием числа входов-выходов современных ИС. В таких условиях аппаратная закладка может быть глубоко скрыта внутри конструкции ИС и очень трудно поддаваться обнаружению. Необходимо отметить, что разработки, направленные на предотвращение внесения аппаратных троянов на этапе проекта или изготовления ИС, все еще находятся в зачаточном состоянии.
Статья подготовлена при финансовой поддержке Минобрнауки России в рамках выполнения государственного задания 8.527.2016/БЧ.
ЛИТЕРАТУРА
1. Baumgarten A. et al. A case study in hardware Trojan design and implementation // International Journal of Information Security. 2011. Т. 10. №. 1. С. 1–14.
2. Rajendran J. et al. Towards a comprehensive and systematic classification of hardware trojans // Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on. IEEE, 2010. С. 1871–1874.
3. Lin L., Burleson W., Paar C. MOLES: malicious off-chip leakage enabled by side-channels // Proceedings of the 2009 International Conference on Computer-Aided Design. ACM, 2009. С. 117–122.
4. Agrawal D. et al. Trojan detection using IC fingerprinting // Security and Privacy, 2007. SP’07. IEEE Symposium on. IEEE, 2007. С. 296–310.
5. Jin Y., Makris Y. Hardware Trojans in Wireless Cryptographic ICs // IEEE Design & Test of Computers. 2010. Т. 27. № 1.С. 26–35.
6. Shiyanovskii Y. et al. Exploiting semiconductor properties for hardware trojans // arXiv preprint arXiv:0906.3834. 2009.
7. Waksman A., Sethumadhavan S. Silencing hardware backdoors // Security and Privacy (SP), 2011. IEEE Symposium on. IEEE, 2011. С. 49–63.
8. Tehranipoor M., Koushanfar F. A survey of hardware trojan taxonomy and detection // IEEE Design and Test of Computers. 2010. № 1. T. 27. C. 10–25.
9. Chakraborty R.S., Narasimhan S., Bhunia S. Hardware Trojan: Threats and emerging solutions // High Level Design Validation and Test Workshop, 2009. HLDVT 2009. IEEE International. IEEE, 2009. С. 166–171.
10. Chen Z. et al. Hardware trojan designs on basys fpga board // Embedded System Challenge Contest in Cyber Security Awareness Week-CSAW. 2008. Т. 2008.
11. Wang X., Tehranipoor M., Plusquellic J. Detecting malicious inclusions in secure hardware: Challenges and solutions // Hardware-Oriented Security and Trust, 2008. HOST 2008. IEEE International Workshop on. IEEE, 2008. С. 15–19.
12. Potkonjak M. Synthesis of trustable ICs using untrusted CAD tools // Proceedings of the 47th Design Automation Conference. ACM. 2010. С. 633–634.
В работе [1] представлены два наиболее общих подхода к созданию вредоносного процессора. Авторы показывают, как электрические схемы аппаратных троянов могут быть встроены в процессор для реализации таких атак, как кража паролей, расширение привилегий доступа и автоматические логины в систему. Представлена общая платформа для поддержки широкого спектра атак с возможностью их динамического обновления. В центральный процессор вносятся две модификации, которые реализуют механизм, обеспечивающий злоумышленнику доступ в защищенные области памяти, и теневой режим, позволяющий взломщику выполнить скрытую "встроенную программу". В работе описывается атака на логин, которая дает злоумышленнику полный высокий уровень доступа к процессору. Атака выполнена с помощью злонамеренной модификации, реализованной на схеме с использованием только 1 341 вентилей. Авторами впервые приведена реализация аппаратной закладки, которая может использоваться в качестве общей программируемой платформы для атак. Показано внесение такой модификации на уровне VHDL (языка описания аппаратуры интегральных схем), проведено моделирование и синтез ИС для платформы на базе процессора Leon 3 SPARC 40 MГц. Рассмотрено обнаружение такого аппаратного трояна путем анализа внесенных им возмущений в аналоговые и цифровые сигналы. В частности, отмечается, что операционной системе виден программный компонент механизма доступа к памяти, и могут быть обнаружены задержки сигнала, связанные с внесением модификации. Также в работе [1] показаны общие подходы для обеспечения защиты от подобных вредоносных процессоров.
С целью изучения способов внедрения аппаратных закладок в политехническом институте Нью-Йоркского университета проводятся ежегодные конференции CSAW (Cyber Security Awareness Week – Неделя знаний об информационной безопасности). В рамках этой конференции организуются состязания между командами по внедрению и поиску встроенных аппаратных систем (Embedded System Challenge). В 2008 году было дано задание получить доступ к криптографическому устройству "АЛЬФА" на основе ПЛИС путем внесения набора аппаратных закладок, при этом устройство должно проходить тест на достоверность. Участникам соревнования выдали исходный HDL-код и предоставили один месяц на разработку. Победили две команды, одна из которых разработала механизм утечки информации секретных ключей через канал входа-выхода, другая – организовала DoS-атаку. Если обобщить все участвовавшие в состязании разработки, то аппаратные закладки были в 90% случаев внесены на этапе фазы разработки ИС, 50% из них активировались пользователем и 75% аппаратных троянов были размещены в схемах входа-выхода [2].
В работе [3] анализируется пространство проектных параметров аппаратных закладок и предлагается схема размером менее 50 вентилей, вырабатывающая мощность, которая может служить побочным каналом для скрытой утечки секретной информации. Технология, получившая название MOLES (Malicious Off-chip Leakage Enabled by Side-channels), была реализована в криптографической ИС на основе алгоритма AES, спроектированной по проектным нормам 45 нм. Использование метода расширенного спектра при разработке аппаратного трояна MOLES позволило осуществлять считывание многоразрядной информации на основе анализа потребляемой мощности с чувствительностью ниже уровня собственных шумов ИС, что обеспечивает скрытность. Авторы [3] заявляют, что данная технология обладает максимальной скрытностью и невосприимчивостью к большинству методов обнаружения аппаратных троянов, таких как визуальный контроль, проведение функциональных тестов и обнаружение на основе характерных "дактилоскопических" признаков ИС. Хотя схема задействует малое количество логических вентилей, вычислительные затраты для восстановления считанных данных, имеющих малое отношение сигнал / шум, с учетом вариабельности характеристик технологии, могут иметь критическое значение. Авторы [3] предложили обобщенную методологию проектирования и реализации MOLES-схем, опираясь на математический аппарат теории обнаружения для анализа дифференциальной мощности, которая необходима для экстракции многоразрядных ключей. Полученные результаты основаны на моделировании экстракции только коротких ключей (8-бит), весьма далеких от реальной разрядности используемых ключей. При этом авторы указывают, какие вопросы необходимо решить для практического надежного восстановления многоразрядных ключей на основе анализа потребляемой мощности крипто-процессора.
В работе [4] проведены эксперименты с двумя упрощенными аппаратными закладками, встроенными в схемы шифрования на основе RSA – алгоритма для анализа эффектов, связанных с побочными каналами. В аппаратных закладках использовался простой счетчик, отключавший ИС после определенной пороговой величины, и компаратор, который сравнивал данные на системной шине или регистре с фиксированной величиной и вносил изменения в вычислительный процесс при превышении соответствия. Указывается, что такие аппаратные закладки достаточно трудно обнаружить, и они могут использоваться для отключения электрических схем, кражи информации, сбоев в системе, нарушения целостности и безопасности всей системы, в которую включена "зараженная" ИС.
В работе [5] рассматривается пример аппаратного трояна, действие которого приводит к утечке информации из ядра DES-шифрования. За такт схема извлекает один бит 56-разрядного ключа. Вскрывая один бит в каждом 64-разрядном блоке предаваемых данных, троян обеспечивает утечку информации. После накопления всех 56-ти блоков зашифрованного текста, полный ключ передается по радиоканалу, компрометируя шифрование. Извлеченный ключ спрятан в допустимом диапазоне амплитуды или частоты, обусловленном вариацией параметров технологического процесса, что обеспечивает соблюдение разработанных функциональных спецификаций ИС.
В работе [6] описан новый тип аппаратных закладок, основанных на надежностных характеристиках ИС. Этот тип троянов –достаточно простые модификации технологического процесса, которые приводят к ускорению деградации КМОП ИС. Изменения в технологии могут не затрагивать внутренние характеристики схемы, однако влияют на увеличение вариабельности технологических параметров, поэтому выявляются в ходе технологических тестов. Такие аппаратные трояны могут основываться на следующих деградационных физических явлениях: эффекте горячих электронов (эффект HCI), электрическом пробое затворного диэлектрика, эффекте температурной нестабильности при обратном смещении в р-МОП транзисторе (NBTI эффект), эффекте электромиграции. По классификации их можно отнести к постоянно действующим аппаратным троянам типа DoS (отказ в обслуживании), которые приводят к постепенной деградации рабочих характеристик, либо к ранним отказам отдельных частей ИС.
МЕХАНИЗМЫ АКТИВАЦИИ ЗАКЛАДОК
Как правило, после внедрения в систему аппаратная закладка находится в состоянии покоя, пока не будет активирована (запущена) для выполнения своей вредоносной функции. Механизмы активации могут иметь разнообразный характер, явный или скрытый, случайный, непосредственный, или заранее определенный, в результате которых аппаратный троян может изменять свое состояние и поведение. Знания об этих механизмах важны, поскольку процесс активации может нести информацию, позволяющую выявить и противодействовать аппаратной закладке. Следует пытаться активировать аппаратные трояны на этапах верификации ИС. Обычно это выполняется при аттестационном и функциональном тестировании ИС или при исследовании пространства состояний проекта, включая состояния входов-выходов и внутренней логики. Активация аппаратной закладки во время тестирования может помочь идентифицировать ее наличие в ИС. Различные механизмы активации и их классификация коротко рассмотрены ниже.
АППАРАТНЫЕ ТРОЯНЫ
С ВНУТРЕННЕЙ АКТИВАЦИЕЙ
Внутренняя активация основывается на некоторых специфических состояниях, при достижении которых в целевом устройстве происходит активация аппаратной закладки. В большинстве случаев она строится на схемах секвенциальной (последовательностной) или комбинационной логики.
АКТИВАЦИЯ НА ОСНОВЕ
КОМБИНАЦИОННОЙ ЛОГИКИ
Аппаратный троян с активацией на основе комбинационной логики запускается при достижении так называемого триггерного состояния, когда определенные значения (векторы) обнаруживаются на определенных узлах внутренней схемы ИС. Этот тип активационного механизма может быть реализован только с использованием комбинационной логики (комбинационный триггер). В работе [7] авторы приводят пример так называемого "однотактного чит-кода" – специфического адреса на шине, который активизирует аппаратный троян. На практике комбинационная активация может потребовать большего набора определенных одновременных состояний на некоторых узлах, например на внутренних регистрах, совмещенных со специфическим словом на шине данных и определенным словом на адресной шине. В работе [8] приводится пример, в котором для активации аппаратной закладки используются определенные комбинированные наборы на входах ИС. В частности, это может быть определенный входной набор, объединяющий данные, управляющие команды, адреса и команды самотестирования.
АКТИВАЦИЯ НА ОСНОВЕ
ПОСЛЕДОВАТЕЛЬНОСТНОЙ ЛОГИКИ
Аппаратный троян с активацией на основе последовательностной логики запускается определенной последовательностью событий. Если сравнивать с комбинационной активацией, то активация на последовательностной логике имеет намного большее пространство состояний, так как триггерный механизм здесь может реализовываться с использованием конечного автомата. В работе [9] отмечается, что поскольку конечный автомат обеспечивает логическую глубину, последовательность событий обычно описывается маловероятными логическими величинами, и обнаружить их во время тестирования и верификации ИС намного труднее.
Простейшим последовательностным триггером является схема синхронного счетчика, которая активируется после определенного количества циклов синхронизации. В работе [7] такие трояны названы "бомбами замедленного действия". В работе [9] обсуждаются счетчики асинхронных последовательностей, в которых при определенных событиях осуществляется приращение, например, увеличение фронта импульса на выходе вентиля. Эти же авторы предлагают использование гибридного механизма активации, комбинируя синхронные и асинхронные триггеры.
Также в работе [9] рассматриваются так называемые последовательные чит-коды. Например, к активации аппаратного трояна приводит последовательность байт 0xd, 0xe, 0xc, 0xa, 0xf, 0xb, 0xa, 0xd в течение различных восьми циклов синхронизации. При этом нет необходимости, чтобы данные байты приходили последовательно, они могут быть разнесены по времени. Таким образом, активация аппаратного трояна достигается гораздо более сложной последовательностью событий.
Задать сложность последовательностного триггера не представляет труда для разработчика аппаратной закладки. Единственная проблема, связанная с увеличением сложности – потребляемая трояном мощность и количество логических вентилей, необходимых для его реализации. В связи с этим были предложены внутренние последовательностные механизмы активации, которые используют физические и аналоговые эффекты в ИС. Например, мониторинг температуры чипа или потребляемой мощности могут быть включены в механизм пусковой схемы. Более того, в работе [9] приводится конкретный пример схемы, состоящей из электрической емкости, заряжающейся через резистор. Заряд и напряжение на емкости определяются активностью окружающей логики, которая в свою очередь может отражать активность ИС. Аппаратная закладка запускается при достижении на емкости определенного значения порогового напряжения.
Активационный триггер может быть как цифровым, так и аналоговым. Аналоговая активация используется с целью увеличения скрытности и сложности его обнаружения. Злоумышленник может использовать несколько индивидуальных триггеров последовательностного типа для активации различных троянов в ИС.
Активация на основе последовательностной логики может предусматривать как контентные, так и временные события. В работе [10] исследовались такие триггеры, когда активация трояна происходит при определенных контентных данных в определенное время. Для простого активационного триггера было показано, что время тестирования, за которое можно с большой вероятностью активировать такой троян, составляет 3 · 1035 лет: рассматривалась вероятность определения комбинации определенных числовых кодов, вводимых с клавиатуры за определенный интервал времени.
Авторы [10] предложили также "температурный триггер". Принцип его действия заключается в следующем. Активность определенных участков ИС на кристалле модулирует частоту кольцевого генератора, выполненного на инверторах. Частота кольцевого генератора определяет тепловыделение, которое влияет на задержку в другом подобном кольцевом генераторе. При достижении определенной величины задержки происходит активация аппаратной закладки. Похожие механизмы могут быть построены на использовании в качестве сигнала для активации электромагнитных или радиочастотных помех, частоты или потребляемой мощности логической схемы, а также временной характеристики потребляемой мощности определенных участков ИС.
АППАРАТНЫЕ ТРОЯНЫ С ВНЕШНЕЙ АКТИВАЦИЕЙ
Внешняя активация подразумевает некое взаимодействие аппаратного трояна с внешней средой, отличной от системы, в которую внедрен троян. Преимущества использования внешних триггеров для атакующего заключается в том, что активация инициируется источником, расположенным вне системы и поэтому не зависящим от нее [11]. В этой же работе приводятся примеры приемников или антенн внешнего сигнала, внедренных в "зараженный" прибор.
В работе [8] рассматриваются встроенные в чип сенсоры, которые могут осуществлять мониторинг физических параметров: температуры, электрического напряжения, электромагнитных помех, влажности и высоты над уровнем моря. Активационные механизмы с подобными сенсорами на чипе часто называют триггерами побочного канала по аналогии с технологиями получения информации в электронных приборах без непосредственного влияния на них [12]. Другие внешние механизмы активации аппаратных троянов основаны на непосредственном взаимодействии с целевым прибором. Также активация может быть инициализирована прикрепленным компонентом системы, например дополнительной памятью.
ПОСТОЯННО АКТИВНЫЕ АППАРАТНЫЕ ЗАКЛАДКИ
Существуют аппаратные закладки, которые всегда активны и не могут быть активированы или дезактивированы специальным триггерным механизмом. Возможны также аппаратные трояны, которые вносят незаметные изменения в спецификацию, функциональность или синхронизацию системы и не нуждаются в триггерном механизме. В качестве примера таких постоянно действующих троянов можно привести аппаратную закладку, производящую утечку данных через побочный канал, который отражает активность специфической ИС.
Постоянно активные аппаратные закладки могут иметь и более тонкие триггерные механизмы. В работе [11] обсуждается такая модификация топологии, при которой отдельные узлы или части ИС имеют большую вероятность отказа, то есть можно говорить, что триггерный механизм постоянно действует и приводит к непрерывной деградации рабочих характеристик ИС. В работе [6] рассматриваются модификации в ИС, в результате которых она выходит из строя после определенного периода эксплуатации длительностью от нескольких месяцев до года. Примеры таких аппаратных троянов – преднамеренные изменения в технологическом процессе, приводящие к ухудшению надежности ИС. Трудность их обнаружения связана с тем, что вносимые изменения не влияют на параметры ИС, которые находятся в допустимых пределах, характерных для технологического процесса. Поскольку такие трояны постоянно активны, они не имеют побочных активационных эффектов, таких как изменения шумовых характеристик ИС, изменения характера потребляемой мощности или температуры.
ОСОБЕННОСТИ РАЗРАБОТКИ
ТРИГГЕРНЫХ МЕХАНИЗМОВ АКТИВАЦИИ
Разработчику аппаратного трояна достаточно просто создать триггерный механизм активации, который будет трудно обнаружить, поскольку он может использовать огромное пространство состояний системы, в которую внедряется троян. Это пространство состояний включает все внутренние узлы логических схем, входов и выходов ИС, модификацию топологии ИС, вариации технологических процессов, аналоговые эффекты электроники в ИС. Гибридные механизмы, совмещающие некоторые или все известные триггерные принципы, делают работу по обнаружению аппаратных закладок все более трудной. Общее мнение исследователей сводится к тому, что постоянно действующие аппаратные закладки намного более трудны для обнаружения по сравнению со сложными конструкциями триггерных механизмов для предотвращения случайной активации или активации во время тестирования.
ЗАКЛЮЧЕНИЕ
Внести и активировать аппаратные трояны становится проще с увеличением пространства состояний, повышением параллельности вычислений, усложнением внутренней разводки и возрастанием числа входов-выходов современных ИС. В таких условиях аппаратная закладка может быть глубоко скрыта внутри конструкции ИС и очень трудно поддаваться обнаружению. Необходимо отметить, что разработки, направленные на предотвращение внесения аппаратных троянов на этапе проекта или изготовления ИС, все еще находятся в зачаточном состоянии.
Статья подготовлена при финансовой поддержке Минобрнауки России в рамках выполнения государственного задания 8.527.2016/БЧ.
ЛИТЕРАТУРА
1. Baumgarten A. et al. A case study in hardware Trojan design and implementation // International Journal of Information Security. 2011. Т. 10. №. 1. С. 1–14.
2. Rajendran J. et al. Towards a comprehensive and systematic classification of hardware trojans // Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on. IEEE, 2010. С. 1871–1874.
3. Lin L., Burleson W., Paar C. MOLES: malicious off-chip leakage enabled by side-channels // Proceedings of the 2009 International Conference on Computer-Aided Design. ACM, 2009. С. 117–122.
4. Agrawal D. et al. Trojan detection using IC fingerprinting // Security and Privacy, 2007. SP’07. IEEE Symposium on. IEEE, 2007. С. 296–310.
5. Jin Y., Makris Y. Hardware Trojans in Wireless Cryptographic ICs // IEEE Design & Test of Computers. 2010. Т. 27. № 1.С. 26–35.
6. Shiyanovskii Y. et al. Exploiting semiconductor properties for hardware trojans // arXiv preprint arXiv:0906.3834. 2009.
7. Waksman A., Sethumadhavan S. Silencing hardware backdoors // Security and Privacy (SP), 2011. IEEE Symposium on. IEEE, 2011. С. 49–63.
8. Tehranipoor M., Koushanfar F. A survey of hardware trojan taxonomy and detection // IEEE Design and Test of Computers. 2010. № 1. T. 27. C. 10–25.
9. Chakraborty R.S., Narasimhan S., Bhunia S. Hardware Trojan: Threats and emerging solutions // High Level Design Validation and Test Workshop, 2009. HLDVT 2009. IEEE International. IEEE, 2009. С. 166–171.
10. Chen Z. et al. Hardware trojan designs on basys fpga board // Embedded System Challenge Contest in Cyber Security Awareness Week-CSAW. 2008. Т. 2008.
11. Wang X., Tehranipoor M., Plusquellic J. Detecting malicious inclusions in secure hardware: Challenges and solutions // Hardware-Oriented Security and Trust, 2008. HOST 2008. IEEE International Workshop on. IEEE, 2008. С. 15–19.
12. Potkonjak M. Synthesis of trustable ICs using untrusted CAD tools // Proceedings of the 47th Design Automation Conference. ACM. 2010. С. 633–634.
Отзывы читателей