Идентификация бэкдоров в аппаратном обеспечении: сложности и методы

Идентификация бэкдоров в аппаратном обеспечении: сложности и методы

Аппаратные бэкдоры — это скрытые, преднамеренные уязвимости на низком уровне внутри устройств, что затрудняет их обнаружение. Для выявления таких бэкдоров требуются специализированные методы и тщательный анализ.
# Насколько сложно найти закладки, встроенные в оборудование?

## Оглавление

- [Введение](#введение)
- [Что такое аппаратная закладка?](#что-такое-аппаратная-закладка)
  - [Определение](#определение)
  - [Типы аппаратных закладок](#типы-аппаратных-закладок)
- [Почему аппаратные закладки опасны?](#почему-аппаратные-закладки-опасны)
- [История и примеры из реального мира](#история-и-примеры-из-реального-мира)
    - [Скандал с материнской платой Supermicro из Китая](#скандал-с-материнской-платой-supermicro-из-китая)
    - [Каталог АНБ ANT](#каталог-анб-ant)
    - [Закладка в генераторе случайных чисел Dual_EC_DRBG](#закладка-в-генераторе-случайных-чисел-dual_ec_drbg)
    - [Чиповые трояны в академических кругах](#чиповые-трояны-в-академических-кругах)
- [Как встраиваются аппаратные закладки?](#как-встраиваются-аппаратные-закладки)
  - [Вставка на этапе проектирования](#вставка-на-этапе-проектирования)
  - [Вставка на этапе изготовления](#вставка-на-этапе-изготовления)
  - [Атаки на цепочки поставок](#атаки-на-цепочки-поставок)
- [Насколько сложно найти аппаратные закладки?](#насколько-сложно-найти-аппаратные-закладки)
  - [Технические барьеры](#технические-барьеры)
  - [Сложность современных аппаратных средств](#сложность-современных-аппаратных-средств)
  - [Механизмы обнаружения](#механизмы-обнаружения)
    - [Визуальный осмотр](#визуальный-осмотр)
    - [Функциональное тестирование](#функциональное-тестирование)
    - [Анализ побочных каналов](#анализ-побочных-каналов)
    - [Формальная верификация](#формальная-верификация)
    - [Реверс-инжиниринг и визуализация](#реверс-инжиниринг-и-визуализация)
- [Обнаружение аппаратных закладок в кибербезопасности](#обнаружение-аппаратных-закладок-в-кибербезопасности)
    - [Обнаружение в лабораторных условиях](#обнаружение-в-лабораторных-условиях)
    - [Программные контрмеры](#программные-контрмеры)
- [Образцы кода для обнаружения и анализа](#образцы-кода-для-обнаружения-и-анализа)
    - [Сканирование с помощью Chipsec](#сканирование-с-помощью-chipsec)
    - [Разбор вывода с помощью Python](#разбор-вывода-с-помощью-python)
    - [Скрипт Bash для автоматизированного сканирования](#скрипт-bash-для-автоматизированного-сканирования)
- [Лучшие практики для безопасности оборудования](#лучшие-практики-для-безопасности-оборудования)
- [Заключение](#заключение)
- [Ссылки](#ссылки)

---

## Введение

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

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

---

## Что такое аппаратная закладка?

### Определение

**Аппаратная закладка** — это преднамеренно вставленная уязвимость, секретная функция или скрытый канал связи в аппаратное устройство, такое как микропроцессор, сетевая карта или материнская плата, который позволяет несанкционированный доступ или управление, обходя все уровни безопасности программного обеспечения ([глоссарий NHIMG аппаратных закладок](https://nhimg.org/glossary/hardware-backdoor/)).

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

**Ключевые характеристики:**
- Устанавливаются на этапе проектирования или производства.
- Обходят или переопределяют стандартную безопасность.
- Невидимы для обычных системных сканеров и антивирусных инструментов.
- Могут быть активированы определенными данными, сигналами или синхронизацией.

### Типы аппаратных закладок

Аппаратные закладки могут быть нескольких видов:

- **Троянские схемы:** Вредоносная логика, внедренная в интегральные схемы (ИС) ([Infosec Institute](https://www.infosecinstitute.com/resources/hacking/hardware-attacks-backdoors-and-electronic-component-qualification/)).
- **Не задокументированные тестовые режимы:** Секретные режимы обслуживания/отладки, оставленные включенными в производственных кристаллах.
- **Злокачественные имплантаты:** Дополнительные чипы или компоненты, скрытые на печатных платах для перехвата или вывода данных.
- **Модификации микропрограмм/ПЗУ:** Закладочный код, установленный в микроконтроллерах, флеш-памяти или масочных ПЗУ.

---

## Почему аппаратные закладки опасны?

- **Постоянность:** Переустановка микропрограммы или ОС не удаляют аппаратную закладку.
- **Скрытность:** Работают ниже уровня операционной системы, недоступны для большинства средств.
- **Привилегия:** Могут наблюдать или контролировать все операции из привилегированной позиции.
- **Масштабное воздействие:** Если вставлены на этапе производства, могут скомпрометировать тысячи/миллионы устройств.
- **Невозможность исправления:** Требуют замены оборудования для полного устранения.

---

## История и примеры из реального мира

### Скандал с материнской платой Supermicro из Китая

В 2018 году Bloomberg [сообщила](https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies), что китайские субподрядчики якобы встроили "размером с рисовое зерно" чипы на материнские платы Supermicro, используемые американскими технологическими гигантами. Предполагается, что эти чипы позволяли злоумышленникам создавать ложные каналы связи. Индустрия в основном оспаривала эту историю, но инцидент подчеркнул всемирную озабоченность по поводу вмешательства в аппаратное обеспечение в цепочках поставок и трудности верификации или опровержения таких утверждений.

### Каталог АНБ ANT

Утечки документов АНБ описывают [аппаратные имплантаты](https://www.theguardian.com/world/interactive/2013/dec/12/nsa-ant-catalog-surveillance-december-2013), такие как модули эксплуатации для устройств Cisco, Juniper и Dell, и даже вредоносное USB-оборудование ("Cottonmouth") — демонстрирующие реальные государственные аппаратные закладки.

### Закладка в генераторе случайных чисел Dual_EC_DRBG

Хотя теоретически это "криптозакладка" на уровне алгоритма, [спор Dual_EC_DRBG RNG](https://en.wikipedia.org/wiki/Dual_EC_DRBG) показал, как закладочный алгоритм, реализованный на уровне чипов RNG, мог бы немедленно ослабить всю криптографию на десятилетия.

### Чиповые трояны в академических кругах

Исследователи неоднократно демонстрировали, что добавление небольших, скрытых функциональных модификаций ("троянских схем") к сложным ИС может оставаться незамеченным, но разрушительным, утечка криптографических ключей или вставка переключателей отключения ([Infosec Institute](https://www.infosecinstitute.com/resources/hacking/hardware-attacks-backdoors-and-electronic-component-qualification/)).

---

## Как встраиваются аппаратные закладки?

### Вставка на этапе проектирования

На самом раннем этапе, вредоносные функции можно вставлять во время **проектирования аппаратного обеспечения** — в HDL/RTL код (VHDL/Verilog), описывающий чип. Такие вставки могут:
- Добавлять скрытые инструкции, коды активации, тестовые схемы "бога".
- Модифицировать существующую логику для скрытого вывода данных.

### Вставка на этапе изготовления

Когда чипы изготавливаются, злоумышленники могут:
- Модифицировать маски, используемые для травления слоев кремния.
- Заменять ПЗУ/регистры в процессе сборки.
- Заменять или внедрять дополнительные мелкие чипы или управляющие элементы на печатных платах.

### Атаки на цепочки поставок

По мере продвижения аппаратного обеспечения от OEM к конечному заказчику, атакующие могут вмешаться в микропрограмму, заменять чипы или внедрять чужие печатные платы. [Атаки на цепочки поставок](https://www.infosecinstitute.com/resources/hacking/hardware-attacks-backdoors-and-electronic-component-qualification/) являются важным вектором для государственных акторов.

---

## Насколько сложно найти аппаратные закладки?

### Технические барьеры

**Поиск аппаратных закладок на порядки сложнее, чем программных:**
- Разборка и анализ чипов с гигабитной масштабируемостью дорогие, медленные и разрушающие.
- Отсутствие эталонных проектов: производители редко предоставляют чертежи чипов для сравнения.
- Закладки можно разрабатывать так, чтобы они активировались только при редких, трудно воспроизводимых условиях (например, последовательности кода, временном триггере).

### Сложность современных аппаратных средств

- Современные ЦП (Intel, AMD, ARM) имеют миллиарды транзисторов и непрозрачное проприетарное микропрограммное обеспечение (например, Intel ME, AMD PSP).
- Даже небольшие микроконтроллеры используют сложные, недокументированные режимы отладки/тестирования.

### Механизмы обнаружения

#### Визуальный осмотр

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

#### Функциональное тестирование

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

#### Анализ побочных каналов

Изменение энергии связи, время, излучение ЭМ или потребление энергии могут выявить неожиданные активности, когда закладка активна (например, троянская схема). Однако требует сложной лабораторной настройки.

#### Формальная верификация

Формальная проверка логики может сравнить "подозреваемый" проект с "чистым" HDL для проверки различий в логике — но это возможно только при наличии эталона.

#### Реверс-инжиниринг и визуализация

- Деламинирование и визуализация чипа на нанометровом уровне с использованием сканирующих электронных микроскопов.
- Сравнение фактического кремния с эталонной компоновкой.
- **Недостатки:** Медленно, дорого, разрушающе. Практично только для целей с высоким уровнем воздействия.

---

## Обнаружение аппаратных закладок в кибербезопасности

### Обнаружение в лабораторных условиях

- Крупные организации (например, правительства, оборона, критическая инфраструктура) могут проводить судебную визуализацию, деламинирование и сравнение чипов.
- Коммерческие услуги теперь предлагают базовые рентгеновские снимки печатных плат, микроскопию и сравнение проводников.

### Программные контрмеры

- **Аттестация времени выполнения:** Мониторить состояние устройства на предмет неожиданных операций.
- **Анализ микропрограмм:** Сканировать на предмет изменений или недокументированных функций в микропрограммах устройств с использованием инструментов, таких как `chipsec`, `flashrom` или пользовательских скриптов.

---

## Образцы кода для обнаружения и анализа

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

### Сканирование с помощью Chipsec

[`chipsec`](https://github.com/chipsec/chipsec) — это open-source набор инструментов для анализа безопасности аппаратного обеспечения ПК. Он может:
- Составлять список аппаратных устройств и возможностей.
- Проверять известные ошибки конфигурации микропрограмм.
- Анализировать процесс загрузки на предмет несанкционированных модификаций микропрограмм или флеш-памяти.

**Пример: Сканирование на несанкционированные изменения SPI Flash**

1. **Установка `chipsec` (требуется Python, права администратора):**

```bash
git clone https://github.com/chipsec/chipsec
cd chipsec
pip install -r requirements.txt
sudo python setup.py install
  1. Перечисление устройств платформы и запуск основных тестов:
sudo chipsec_main.py -i         # Показать информацию о платформе
sudo chipsec_main.py -m common.bios_kbrd_buffer
sudo chipsec_main.py -m spi
  1. Проверка на модификацию ПЗУ:
sudo chipsec_main.py -m chipsec.modules.tools.uefi.scan

Обработка вывода с помощью Python:

Предположим, мы перенаправляем вывод модуля в файл и хотим разобрать его на индикаторы предупреждения.

import re

with open('chipsec_log.txt', 'r') as f:
    data = f.read()

# Найдем все предупреждения или критические сообщения
issues = re.findall(r'(WARNING|CRITICAL):(.+)', data)
for level, message in issues:
    print(f"[{level}] {message.strip()}")

Скрипт Bash для автоматизированного сканирования

Вы можете автоматизировать проверки безопасности аппаратного обеспечения с помощью Bash:

#!/bin/bash

LOGFILE="chipsec_scan.log"
echo "Сканирование на аномалии аппаратного/микропрограммного обеспечения $(date)" > $LOGFILE

# Запуск модулей chipsec
sudo chipsec_main.py -m spi >> $LOGFILE
sudo chipsec_main.py -m uefi.scan >> $LOGFILE

# Grep для предупреждений или аномалий
echo "Сводка возможных проблем:"
grep -E "WARNING|CRITICAL" $LOGFILE

Примечание: Эти инструменты помогают выявить легко заметные аномалии, а не глубокие троянские схемы.


Лучшие практики для безопасности оборудования

  • Проверка источника: Покупайте у доверенных OEM с надежной безопасностью цепочек поставок.
  • Обзор проектирования: Настаивайте на использовании открытого оборудования или проверяемых проектов HDL для критического использования.
  • Проверка целостности микропрограммы: Используйте подписи кода, безопасную загрузку и аттестацию на основе TPM.
  • Анализ в лаборатории для высокоценных целей: Делайте рентген, деламинирование и анализ устройств перед развертыванием.
  • Блокировка устройств: Отключайте, физически блокируйте или отслеживайте неиспользуемые интерфейсы оборудования (JTAG, UART, SPI).
  • Политика обновлений: Регулярно переписывайте авторизованные микропрограммы и тщательно контролируйте источники обновлений.
  • Внимательность сообщества: Делиться разведывательной информацией и индикаторами компрометации между исследователями безопасности аппаратного обеспечения.

Заключение

Насколько сложно найти закладки, встроенные в оборудование? Одним словом: очень.

  • Аппаратные закладки являются одними из самых скрытных угроз в пейзаже кибербезопасности, устойчивыми к переустановкам ОС и невидимыми для большинства средств обнаружения.
  • Реальные инциденты и исследования показывают, что такие угрозы возможно и могут иметь разрушительное системное воздействие.
  • Обнаружение аппаратных закладок обычно требует специфических знаний, дорогого оборудования и часто разрушающего тестирования, что делает рутинное сканирование недоступным для большинства пользователей.
  • Однако, хорошие практики цепочек поставок, проверка открытого оборудования, аттестация микропрограмм и лабораторный анализ могут значительно снизить риск.
  • Для большинства организаций ключевым является осознание, партнерство с доверенными поставщиками и внедрение надежной политики безопасности оборудования.

Помните: Чем глубже вы идете, тем труднее становится — не пренебрегайте корнем доверия в своей модели безопасности!


Ссылки


Для лидеров в области кибербезопасности и пользователей оборудования бдительность и многослойное доверие жизненно важны. Будьте информированы, будьте скептичны и защищайте свой корень доверия!

🚀 ГОТОВЫ К ПОВЫШЕНИЮ УРОВНЯ?

Поднимите свою карьеру в кибербезопасности на новый уровень

Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.

97% Трудоустройство
Элитные техники Подразделения 8200
42 Практические лаборатории