
Содержание
В развивающемся мире кибербезопасности угрозы проникли на более глубокие уровни, чем программные уязвимости. Аппаратные закладки являются коварными и разрушительными, позволяя злоумышленникам подрывать фундаментальные блоки доверия в цифровых системах. В отличие от программных вредоносных программ, аппаратные закладки почти невозможно обнаружить с использованием традиционных антивирусных средств — они могут находиться в покое внутри процессоров, чипсетов или контроллеров периферии, готовые к активации по команде или при определенных условиях.
По мере того как мы все больше полагаемся на сложные цепочки поставок и стороннее оборудование, понимание и подавление аппаратных закладок становится критически важным для предприятий, исследователей и даже для любителей, создающих открытое оборудование. В этом всеобъемлющем посте мы объясним, что такое аппаратные закладки, изучим реальные случаи, представим методы обнаружения и предоставим примеры кода и методологии для специалистов по безопасности любого уровня.
Аппаратная закладка — это скрытая функциональность, намеренно встроенная в физическое устройство, обычно на уровне микросхемы или компонента, для изменения его поведения или предоставления скрытого доступа к системным ресурсам.
Ключевые характеристики:
По данным Wikipedia:
"Их трудно обнаружить и невозможно удалить с использованием традиционных методов, таких как антивирусное программное обеспечение. Они также могут обходить другие меры безопасности..."
Аппаратные закладки обладают уникальными свойствами, которые затрудняют их идентификацию:
"Ключевой аспект аппаратных закладок, который делает их столь труднообнаружимыми во время проверки, заключается в том, что они могут оставаться в состоянии покоя во время (случайного или целенаправленного) тестирования..."
Аппаратные закладки могут принимать несколько форм:
Секретные документы раскрыли способность АНБ внедрять аппаратные закладки в маршрутизаторы, серверы и компьютеры в процессе транспортировки.
Спорный отчет утверждал, что Китай внедрил чипы на материнские платы Supermicro, предназначенные для американских компаний, якобы обеспечивая удаленный доступ. Несмотря на горячие споры, история подняла вопросы о уязвимостях цепочки поставок.
Многие потребительские устройства имеют открытые порты JTAG или UART, что создает возможность низкоуровневого контроля в обход всех защит ОС/прошивки.
На платах с использованием SoC AllWinner были обнаружены отладочные аккаунты и закладки в прошивке, как отмечено на Security StackExchange.
Стандартный генератор случайных чисел (RNG) NIST оказался с предсказуемым выводом при наличии секретных параметров, по мнению многих аналитиков, внедренный как закладка по просьбе АНБ.
Они полагаются на внутренний доступ к файлам проектирования ИС, позволяют проверку на уровне исходного кода и часто используются для устройств с открытым исходным кодом:
Используются, когда доступен только готовый чип; включает в себя зондирование, анализ побочных каналов и анализ поведения ввода/вывода:
Рамки математических доказательств (например, Coq, ACL2) могут быть использованы, хотя и фактически медленные и сложные для больших микросхем.
Техники дифференциального анализа мощности (DPA) или электромагнитного анализа могут раскрыть аппаратные схемы, которые функционируют только при определенных условиях.
Сканирование на наличие открытых последовательных и отладочных интерфейсов:
dmesg | grep tty
ls /dev/ | grep tty
Поиск в /etc/passwd или образах прошивки на предмет недокументированных аккаунтов:
grep -iE '(root|debug|test|admin)' /etc/passwd
lsusb и lspci для аудита периферийных устройствПеречислите подключенное оборудование и ищите незнакомые устройства:
lsusb
lspci
lspci для имен вендоровimport subprocess
output = subprocess.getoutput("lspci")
for line in output.split('\n'):
if "Unknown" in line or "Allwinner" in line: # подозрительные ключевые слова
print("Возможно подозрительное оборудование:", line)
Распакуйте и ищите подозрительные строки:
binwalk -e firmware.img
grep -r 'debug' _firmware.img.extracted/
Установите ChipWhisperer и исследуйте аномалии в криптографических операциях. Например, дифференциальный анализ мощности может выявить наличие аппаратной логики.
Сравните дампы BIOS между идентичными материнскими платами:
flashrom -p internal -r dump1.bin
# На другом устройстве
flashrom -p internal -r dump2.bin
cmp dump1.bin dump2.bin
Для тех, у кого есть доступ к HDL исходникам и к изготовленному нетлисту, используйте инструмент проверки эквивалентности (например, Synopsys Formality или open-source yosys):
yosys -p "read_verilog rtl.v; read_verilog netlist.v; equiv_make rtl netlist equiv; equiv_simple equiv; equiv_status equiv"
Выходные данные, подчеркивающие различия, могут указывать на скрытые закладочные схемы.
Подключите датчики и запишите ЭМ сигналы во время работы кристалла, затем анализируйте для выявления неизвестных активностей или необычных мощностных следов, особенно когда система находится в режиме ожидания.
Расслоение микросхем с использованием кислотных ванн или методов визуализации, затем использование СЭМ (сканирующей электронной микроскопии) для визуального сравнения макетов масок с опубликованными. Это трудоемкий процесс, который обычно выполняется только в специализированных лабораториях.
Подавление аппаратной закладки по сути означает обезвреживание, отключение или инактивацию. Основные стратегии включают:
Закупка оборудования у проверенных поставщиков: Предпочтение производителям с документированной безопасностью цепочки поставок.
Требование к открытому оборудованию/дизайнам, где возможно: Проекты с открытым исходным кодом, такие как RISC-V, позволяют более тщательную проверку.
Использование безопасных микросхем: Для критически важной криптографии и аутентификации.
Развертывание методов аппаратной аттестации: Использование TPM, Intel TXT или ARM TrustZone для удаленной гарантии.
Сегментация критической инфраструктуры: Физическое разделение или создание фаерволов для оборудования с ненадежным происхождением.
Регулярные аудиты прошивки и BIOS: Периодическая проверка прошивки на соответствие эталонным изображениям.
Сотрудничество сообщества: Обмен подозрительными находками с сообществом безопасности для дальнейшего изучения.
Аппаратные закладки представляют собой одну из самых серьезных и сложных угроз в современной области кибербезопасности. Их скрытность, устойчивость и потенциальная возможность массовой компрометации делают их противником, для которого не существует единственного решения для обнаружения или смягчения. Через внимательную проверку устройств, многослойную защиту и строгую стратегию цепочки поставок организации могут уменьшить, хотя и не полностью устранить, риск аппаратных закладок.
Специалистам по безопасности необходимо развивать навыки как в области программного, так и аппаратного анализа, используя все от простых инструментов командной строки до продвинутого анализа побочных каналов и формальной проверки.
Дальнейшие исследования и разработка инструментов в сообществе, включая лучшее открытое программное обеспечение для анализа и улучшенные стандарты безопасности аппаратной цепочки поставок, в дальнейшем будут способствовать "подавлению" угрозы аппаратных закладок.
Этот материал лицензирован под CC BY 4.0. Примеры кода предоставлены исключительно в образовательных целях. Всегда соблюдайте применимые законы при рассмотрении или тестировании аппаратного обеспечения.
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.