
Целостность и безопасность аппаратных систем стали критически важными в эпоху глобализированного производства аппаратуры и всё более изощрённых атак. Одной из растущих угроз является аппаратный троянец (AT) — форма злонамеренной модификации интегральных схем (ИС), которая может поставить под угрозу предполагаемую функциональность, надёжность, конфиденциальность или доступность коммерческих и оборонных систем. Учитывая их потенциал обхода стандартных мер безопасности и сложность в обнаружении хорошо замаскированных троянцев, обнаружение аппаратных троянцев стало краеугольной темой в исследованиях по безопасности аппаратуры.
Эта обширная статья вводит основы аппаратных троянцев, резюмирует недавние достижения в обнаружении AT, в частности, ссылаясь на французский проект HOMERE, и представляет современные методы, включая подходы, основанные на машинном обучении. Кроме того, вы найдёте примеры из реальной жизни, кейсы и образцы кода, иллюстрирующие, как можно подойти к обнаружению AT с практической точки зрения, включая использование Bash и Python скриптов для анализа данных ИС. Независимо от того, новичок вы в этой области или опытный специалист по кибербезопасности, эта статья направит вас через основные методики и соображения для обнаружения и предотвращения аппаратных троянцев в современных цепочках поставок аппаратуры.
Аппаратный троянец (АТ) — это зловредная, намеренно вставленная модификация в аппаратный дизайн или интегральную схему (ИС), которая может изменить функциональность схемы, ухудшить её производительность, утекать конфиденциальную информацию или скрытно подорвать работу чипа. В отличие от программных угроз, АТ встраиваются на физическом или дизайнерском уровне, что делает их особенно сложными для обнаружения и устранения после изготовления.
Современные цепочки поставок ИС распределены по всему миру, вовлекая многочисленных сторонних продавцов и производственные площадки. Эта глобализация увеличивает риск, что злоумышленники могут ввести АТ на любом этапе — во время проектирования, изготовления, сборки, тестирования или даже в эксплуатации.
АТ представляют серьёзные угрозы не только для корректности и надёжности аппаратуры, но и для основы доверия в системах кибербезопасности. Троянцы могут:
В 2018 году агентство Bloomberg сообщило о предположениях, что микрочипы, добавленные к материнским платам серверов поставщиком, позволяли злоумышленникам получить доступ через бэкдор к крупным центрам данных, что подчёркивает реальную серьёзность АТ (хотя это конкретное утверждение оспаривалось, оно усилило осведомлённость об угрозах цепочек поставок аппаратуры).
АТ могут быть охарактеризованы по их расположению, механизму активации, эффекту (вредоносной нагрузке) и физическим свойствам.
| Тип | Описание | Пример |
|---|---|---|
| Комбинационный троянец | Активируется в редких логических условиях | Зловредная логика, срабатывающая после нескольких сбросов |
| Последовательностный троянец | Требует специфической последовательности событий | Машина состояний достигает редкого состояния |
| "Часовая бомба" троянец | Срабатывает через определённое время или в определённый момент | Отказ в обслуживании через заданное время |
| Параметрический троянец | Изменяет время, мощность или надежность | Деградация сигнала, ведущая к сбою в цепи |
| Всегда активный троянец | Всегда активен, утекание данных | Атака через побочные каналы, утекание ключей через мощность |
Физические примеры:
Традиционно обнаружение аппаратных троянцев опирается на две основные категории: логическое тестирование и анализ боковых каналов. Оба подхода могут быть применены на различных стадиях (до изготовления, после изготовления или в процессе эксплуатации).
1. Примените тестовые входные сигналы к тестируемой ИС.
2. Измерьте задержки переходов с использованием прецизионных зондов.
3. Сравните статистику (среднее, дисперсия) с эталонной золотой ИС.
4. Пометьте значительные выбросы или аномальные распределения.
Проект HOMERE (“Аппаратная обфускация и метрология для надёжной оценки безопасности оборудования”) — это французская исследовательская программа, посвящённая аппаратной безопасности, с сильным акцентом на новаторы в обнаружении троянцев (см. резюме в IEEE Xplore).
Исследования из HOMERE продемонстрировали заметное улучшение в идентификации скрытых троянцев, особенно тех, которые спроектированы для избегания традиционного обнаружения. Кроме того, результаты показывают, что статистическая агрегация данных боковых каналов значительно улучшает надёжность обнаружения.
С увеличением сложности современных ИС и изощрённости аппаратных троянцев, машинное обучение (МО) стало мощным инструментом для автоматизации и улучшения точности обнаружения (обзор ACM TETC).
[Тестирование ИС] --> [Предварительная обработка данных] --> [Выбор/извлечение признаков] --> [Обучение модели] --> [Обнаружение]
Большинство обученных на МО детекторов требуют исправного (золотого) эталона для обучения, что не всегда осуществимо в крупномасштабном распределённом производстве. Новые исследования исследуют полуорганизованные и несупервизированные модели, техники обнаружения аномалий/выбросов и надёжное проектирование признаков для ослабления этого требования.
Ниже приведена упрощённая рабочая схема, показывающая, как можно применять модель машинного обучения для классификации измерений мощности, указывающих на троянцев в ИС или кроме них.
Хотя большинство тестов ИС в реальной жизни используют специализированное лабораторное оборудование, подходы на уровне командной строки и скриптов могут автоматизировать аспекты потока обнаружения — в частности анализ данных, предварительная обработка сигналов и агрегация результатов. Ниже вы найдёте практические образцы кода для обработки тестовых данных и выполнения алгоритмов обнаружения.
Предположим, вы техник безопасности на фабрике, которому поручено автоматизировать сбор и сравнение сигнатур мощности от ИС.
Допустим:
golden1.txt, golden2.txt, ..., test1.txt, ...), каждый из которых содержит серию данных.#!/bin/bash
# Директория, содержащая файлы измерений
MEAS_DIR="/путь/к/измерениям"
# Список золотых файлов
GOLDENS=$(ls $MEAS_DIR/golden*.txt)
# Список тестовых файлов
TESTS=$(ls $MEAS_DIR/test*.txt)
echo "Статистика золотых образцов:"
for file in $GOLDENS; do
MEAN=$(awk '{sum+=$1} END {print sum/NR}' "$file")
VAR=$(awk '{sum+=$1; sumsq+=$1*$1} END {print (sumsq/NR)-(sum/NR)**2}' "$file")
echo "$(basename $file): Среднее=$MEAN, Дисперсия=$VAR"
done
echo -e "\nСтатистика тестовых образцов:"
for file in $TESTS; do
MEAN=$(awk '{sum+=$1} END {print sum/NR}' "$file")
VAR=$(awk '{sum+=$1; sumsq+=$1*$1} END {print (sumsq/NR)-(sum/NR)**2}' "$file")
echo "$(basename $file): Среднее=$MEAN, Дисперсия=$VAR"
done
# По желанию, записать в .csv для дальнейшего анализа на Python
Этот скрипт вычисляет основные статистики боковых каналов для дальнейшего анализа и помечает ИС, которые отклоняются от золотых значений.
Предположим, вы хотите провести более богатый анализ, такой как визуализация данных или применение моделей машинного обучения.
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
from sklearn.ensemble import IsolationForest
def load_trace(filename):
return np.loadtxt(filename)
# Загрузка золотых и тестовых наборов данных
golden_files = ['golden1.txt', 'golden2.txt']
test_files = ['test1.txt', 'test2.txt', 'test3.txt']
def extract_features(signals):
features = []
for sig in signals:
mean = np.mean(sig)
var = np.var(sig)
skew = stats.skew(sig)
kurt = stats.kurtosis(sig)
features.append([mean, var, skew, kurt])
return np.array(features)
golden_signals = [load_trace(f) for f in golden_files]
test_signals = [load_trace(f) for f in test_files]
# Извлечение признаков
golden_features = extract_features(golden_signals)
test_features = extract_features(test_signals)
# Настройка Isolation Forest на "золотых" признаках
clf = IsolationForest(contamination=0.1, random_state=42)
clf.fit(golden_features)
# Прогнозирование для тестовых признаков
preds = clf.predict(test_features)
for i, f in enumerate(test_files):
print(f"{f} is {'SUSPECT' if preds[i] == -1 else 'SAFE'}")
# По желанию визуализация
plt.scatter(golden_features[:,0], golden_features[:,1], c='g', label='Golden')
plt.scatter(test_features[:,0], test_features[:,1], c='r', marker='x', label='Test')
plt.xlabel('Среднее')
plt.ylabel('Дисперсия')
plt.legend()
plt.title('Сравнение характеристик сигнала мощности')
plt.show()
Объяснение:
Обнаружение критически важно, но ещё более эффективным является профилактика троянцев — затруднение или невозможность для злоумышленников внедрения троянцев с самого начала.
С увеличением сложности и стоимости аппаратных систем доверенность и безопасности ИС становятся основополагающими для современного общества — влияя на всё, от облачных вычислений до оборонных систем и критической инфраструктуры. Аппаратные троянцы остаются одной из самых серьёзных угроз из-за своей скрытности, воздействия и потенциала для недетектируемой эксплуатации.
Исследователи, включая тех, кто в проекте HOMERE, стремятся расширить границы обнаружения АТ. Прогресс особенно заметен в:
Практические подходы — от простых Bash скриптов для обработки данных до сложного ML-базированного обнаружения на Python — позволяют инженерам и исследователям безопасности внедрять эти методики в реальные, крупномасштабные среды.
Борьба между атакующими и защитниками аппаратного обеспечения продолжается и развивается. Овладение методикой обнаружения и предотвращения аппаратных троянцев останется важной и захватывающей областью, интегрирующей инженерную науку, кибербезопасность и науку о данных на протяжении многих лет.
Обнаружение аппаратных троянцев: Достижения и перспективы (проект HOMERE)
https://ieeexplore.ieee.org/document/7092490/
Обнаружение аппаратных троянцев с использованием машинного обучения
https://dl.acm.org/doi/full/10.1145/3579823
Обнаружение и предотвращение аппаратных троянцев - д-р Доминик Форте, Университет Флориды
https://faculty.eng.ufl.edu/dforte/research/hardware-trojan-detection-and-prevention/
Методы обнаружения аппаратных троянцев
https://www.sciencedirect.com/science/article/pii/S136324091830035X (Открытый обзор)
scikit-learn: Машинное обучение на Python
https://scikit-learn.org/stable/
Ключевые слова: аппаратный троянец, безопасность ИC, обнаружение троянцев, безопасность цепочки поставок, анализ боковых каналов, машинное обучение в аппаратной безопасности, золотой эталон ИC, проект HOMERE, анализ мощности на Bash, обнаружение аномалий на Python, киберугрозы к аппаратуре, проектирование безопасных чипов, защита аппаратной кибербезопасности.
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.