
Ring -4 to Ring 0: платформа для исследований в области наступательной и оборонительной безопасности прошивки. Мы создаём буткиты, а затем ловим их. Замкнутый цикл. Нулевое доверие к кремнию.
"Барзах" (برزخ) — преграда между двумя мирами; незримая граница, отделяющая мир живых от мира духов. Здесь она символизирует барьер между нападением и защитой, между уязвимостью и обнаружением.
Наиболее комплексная открытая платформа для исследований безопасности прошивки UEFI
Эмуляция атак от Ring 0 до Ring -4 | 132 движка обнаружения | Замкнутый цикл валидации противника
⚠️ АКАДЕМИЧЕСКИЙ ИССЛЕДОВАТЕЛЬСКИЙ ПРОЕКТ — ТОЛЬКО ЗАЩИТНАЯ БЕЗОПАСНОСТЬ
Эта платформа существует для изучения угроз прошивки и построения защиты от них. Она содержит действующие эмуляции атак с аппаратными механизмами аварийного отключения. Получая доступ к этому репозиторию, вы соглашаетесь использовать его исключительно в целях законных исследований безопасности и обучения.
Barzakh — это полнофункциональная платформа для исследований безопасности прошивки, которая моделирует реальные TTP буткитов на всех уровнях привилегий — от драйверов UEFI DXE (Ring 0) через SMM, Intel ME, AMD PSP, контроллеры DMA платформы (Ring -3) до микропроцессорных угроз CPU (Ring -4). Каждая техника нападения сопряжена с соответствующим движком обнаружения, образуя замкнутую систему, в которой каждая атака одновременно воспроизводима и обнаруживаема.
Ключевые возможности:
barzakh-server предоставляет веб-панель и JSON API (порт 8420) с запланированными сканированиями и трендами оценок рискаbarzakh-agent отслеживает цели прошивки, записывает историю и пересылает результаты в SIEM (Elastic ECS, ArcSight CEF, QRadar LEEF) или вебхуки| Угроза | Техника | Покрытие Barzakh |
|---|---|---|
| BlackLotus (CVE-2023-24932) | Обход Secure Boot через уязвимый shim | Детектор blacklotus + полезная нагрузка blacklotus_mok |
| LogoFAIL (CVE-2023-40238) | Переполнение парсера изображений в прошивке UEFI | Детектор logofail + полезная нагрузка logofail_image |
| PixieFail (CVE-2023-45229+) | Переполнения буфера сетевого стека в EDK2 | Детектор pixiefail + полезная нагрузка pixiefail_dhcp |
| CosmicStrand | Персистентность DXE в SPI-флеше | Целостность FV + регион SPI + детектор персистентности |
| LoJax | Первый в дикой природе SPI-имплант | Детектор ME/SPI + анализ дескриптора флеша |
| MoonBounce | Модифицированный core DXE в SPI-флеше | Хук Boot Services + сравнение томов прошивки |
| MosaicRegressor | Фреймворк персистентности UEFI | Многоэтапный: подмена FV + инъекция PE + трамплин |
| Hacking Team (RCS) | UEFI-руткит с Option ROM | Детектор Option ROM + анализ PCI-расширений |
| FinSpy | Модификация загрузчика UEFI | Перехват ExitBootServices + сканирование памяти |
| Bootkitty (2024) | Первый Linux UEFI-буткит, обход подписи GRUB | Детектор linux_bootchain + полезная нагрузка bootkitty_grub_patch |
| CVE-2024-7344 | Подписанный загрузчик загружает неподписанные PE-полезные нагрузки | Детектор reloader + полезная нагрузка secureboot_reloader |
| CVE-2023-1017/1018 | Переполнение буфера в эталонной реализации TPM 2.0 | Детектор tpm_command + полезная нагрузка tpm_ref_overflow |
21 модуль EDK II для 3 архитектур (x86_64, AArch64, RISC-V), эмулирующих каждую известную технику персистентности в прошивке:
| Модуль | Ring | Техника |
|---|---|---|
DxeInject | 0 | Инъекция драйвера на фазе DXE — хуки LoadImage/StartImage + SetVariable, персистентность FV, эмулятор SPI-флеша с бэкендами FVB2/Boot Guard, kill-switches |
ExitBootHook | 0 | Перехват ExitBootServices + хукинг MSR |
SpiChipsetEmulator | -1 | Симуляция SPI-интерфейса на уровне чипсета |
SmmPersistence | -1 | Установка обработчика SMM и персистентность SMRAM |
CapsuleHijack | -1 | Злоупотребление механизмом обновления капсул UEFI |
AcpiTableInject | -2 | Инъекция таблиц ACPI для доступа к памяти ядра |
VirtualAddressMapHook | -2 | Хукинг EFI Runtime Services |
PciOptionRom | -2 | Имплантация PCI Option ROM |
MeSpiManipulation | -3 | Манипуляция регионом SPI-флеша Intel ME |
HeciIntercept | -3 | Перехват канала связи Host-ME |
MeDmaAttack | -3 | DMA-атака, инициируемая ME, на память хоста |
AmtSolChannel | -3 | Скрытый канал AMT Serial-over-LAN |
FtpmCommandForge | -3 | Подделка команд AMD fTPM через почтовый ящик PSP |
| Модуль | Техника |
|---|---|
Aarch64DxeInject | Инъекция DXE для ARM64 с учётом EL |
ExceptionVectorHook | Перемещение таблицы исключений VBAR_EL1 |
El3SecureMonitor | Перехват вызовов Secure Monitor EL3 |
TzascManipulation | Обход TrustZone Address Space Controller |
DeviceTreeInject | Модификация Device Tree Blob для персистентности |
IbootTrustChain | Подрыв цепочки доверия Apple iBoot |
SepMailboxIntercept | Перехват почтового ящика Apple SEP (Secure Enclave) |
| Модуль | Техника |
|---|---|
RiscVDxeInject | Инъекция прошивки в режиме M на платформах RISC-V |
Все модули атак поставляются с SIMULATION_MODE = TRUE — они моделируют поведение без выполнения реальных операций с оборудованием. См. docs/LAB_TESTING.md для контролируемого перехода к тестированию на реальном оборудовании.
132 специализированных детектора, организованных по поверхности атаки, плюс расширяемое во время выполнения обнаружение через правила TOML, фиды IOC, правила на основе подмножества YARA и ML-модели: