
В сфере кибербезопасности термин закладка вызывает ассоциации с скрытым вредоносным кодом, секретными сетевыми туннелями и незаметными векторами атак. Хотя программные закладки широко известны, программные и аппаратные закладки представляют собой более коварную угрозу. Эти закладки могут давать злоумышленникам постоянный, труднообнаруживаемый доступ, который может подорвать даже самые полные меры безопасности.
Этот блог исследует программные закладки, также известные как аппаратные закладки, объясняя, как они работают, как их можно обнаружить, реальные примеры атак и, что самое важное, практические методы защиты вашей инфраструктуры.
Программная закладка — это намеренная или случайная уязвимость в низкоуровневом коде (прошивке), который работает на аппаратных устройствах. Иногда они устанавливаются производителями для обслуживания, но часто они используются (или даже создаются) злоумышленниками для постоянного, привилегированного доступа к устройствам.
Аппаратные закладки идут дальше: это физические или логические модификации или дополнения к реальному оборудованию (например, чипам на материнской плате), которые предоставляют злоумышленникам основной контроль. Как определено BlackFog:
Программные закладки: Найденные в аппаратных компонентах, эти закладки могут позволить злоумышленникам управлять устройствами на фундаментальном уровне.
Программные и аппаратные закладки работают, внедряя себя в самые глубокие слои устройства, часто в образы прошивки, такие как:
Когда устройство компрометировано на уровне прошивки или аппаратуры, злоумышленники могут:
Пример: Компрометированная сетевая карта может отправлять или получать трафик командного и контрольного центра, который невидим для операционной системы или ее инструментов регистрации.
Один из самых известных примеров — BadUSB. Исследователи показали, как прошивка USB может быть перепрограммирована, чтобы функционировать как вредоносное устройство, имитировать клавиатуру или встраивать вредоносное ПО каждый раз при подключении к хосту.
Утечки Сноудена показали, что разведывательные агентства перехватывали и встраивали скрытые чипы или прошивки в оборудование, направленное на высокопоставленных целей, шпионя на аппаратном уровне.
В 2018 году Bloomberg утверждал, что крошечные чипы, встроенные субподрядчиками, использовались для создания закладок в оборудовании, поставляемом американским компаниям. (Учтите, что эта история остается спорной в отрасли.)
В 2015 году Juniper Networks раскрыли несанкционированный код в их прошивке файервола, который позволил злоумышленникам дешифровать VPN-трафик и получить удаленный доступ — классическая программная закладка.
В 2018 году вредоносное ПО LoJax было обнаружено в дикой природе, заражая прошивку UEFI систем Windows, позволяя злоумышленнику оставаться даже после замены жесткого диска или переустановки ОС.
Большинство традиционных решений по безопасности предполагают, что аппаратное обеспечение и прошивка являются доверенными. Обнаружение осложняется из-за:
Обнаружение закладок в прошивке и аппаратуре является сложным, но возможным с помощью как ручных, так и автоматизированных методов.
Внимание: Никогда не пытайтесь проводить форензику на аппаратуре или модификацию прошивки на производственных или критических устройствах, если вы не уверены в своих действиях! Ошибки могут привести к выходу устройств из строя.
Программные закладки часто "звонят домой" или устанавливают каналы C2 (command & control). Используйте инструменты, такие как Wireshark или tcpdump, чтобы отследить необычные сетевые шаблоны.
sudo tcpdump -i eth0 port not 22 and port not 80 and port not 443
from scapy.all import rdpcap
suspicious_ports = [1337, 12345, 54321] # Пример портов закладок
packets = rdpcap('capture.pcap')
for pkt in packets:
if pkt.haslayer('TCP') and pkt[TCP].dport in suspicious_ports:
print(f"Подозрительный пакет: {pkt.summary()}")
Получите образ прошивки устройства, затем сравните его криптографический хэш с известным хорошим экземпляром.
Пример на Bash:
dd if=/dev/mtd0 of=firmware-dump.bin # Создание дампа из флеш-памяти
sha256sum firmware-dump.bin
Сравните вывод с известными хорошими хэшами, предоставленными производителем устройства.
Chipsec)Chipsec — это фреймворк оценки безопасности платформы, который может обнаруживать инфекции прошивки.
sudo chipsec_main -m tools.uefi.whitelist
Продвинутые команды по борьбе с закладками могут использовать такие техники, как:
Для прошивки UEFI:
FWUPD на Linux для устройств, поддерживаемых производителем:fwupdmgr get-devices
fwupdmgr get-history
Для встроенных устройств Linux:
dd if=/dev/mtd0 of=firmware.bin
strings firmware.bin | grep -i password
binwalk может анализировать и извлекать компоненты образа прошивки.
binwalk -e firmware.bin
Часто в прошивке обнаруживаются жестко закодированные закладки паролей. Используйте grep:
strings firmware.bin | grep -Ei 'admin|root|backdoor|debug|test'
Пример скрипта на Bash для поиска жестко закодированных учетных данных:
#!/bin/bash
for img in *.bin; do
echo "Анализируем $img..."
strings "$img" | grep -E "admin|backdoor|debug"
done
Пример на Python с использованием Binwalk и Strings:
import os
for fwfile in os.listdir('.'):
if fwfile.endswith('.bin'):
with open(fwfile, 'rb') as f:
contents = f.read().decode(errors='ignore')
if 'backdoor' in contents or 'debug' in contents:
print(f"Ключевое слово потенциальной закладки в {fwfile}")
FruityWiFi или Firmware Analysis Toolkit (FAT) для тщательного анализа и извлечения.С увеличением сложности атак на цепочку поставок, отрасль отвечает:
Но война продолжается. Злоумышленники постоянно ищут менее контролируемые и более низкоуровневые поверхности атак.
Программные и аппаратные закладки являются одними из самых скрытых и устойчивых угроз в современной кибербезопасности. Их способность оставаться скрытыми, выживать после обнулений и работать на привилегированных уровнях означает, что как индивидуальные пользователи, так и организации должны внимательно следить не только за программным обеспечением, но и за прошивкой и аппаратными корнями их технологических стэков.
Защита в этой области требует глубокого понимания ваших устройств, надежного внутреннего режима обнаружения, доверенных цепочек поставок и постоянного внимания к последним исследованиям и новым угрозам.
Интересуетесь более глубокими погружениями в обнаружение угроз и безопасности аппаратных средств? Подписывайтесь или оставляйте свои вопросы ниже!
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.