
Ring -4 إلى Ring 0: منصة بحث في البرمجيات الثابتة (firmware) من منظور الهجوم والدفاع. نبني الـ bootkits، ثم نكتشفها. حلقة مغلقة. انعدام الثقة في السيليكون.
"برزخ" (Barzakh) — حاجز بين عالمين؛ الحدّ الخفي الذي يفصل عالم الأحياء عن عالم الأرواح. وهنا يمثّل الحاجز بين الهجوم والدفاع، بين الثغرة والكشف.
أشمل منصة بحثية مفتوحة المصدر لأمن البرامج الثابتة UEFI
محاكاة الهجوم من الحلقة 0 إلى الحلقة -4 | 132 محرك كشف | تحقّق مغلق الحلقة من الخصوم
⚠️ مشروع بحث أكاديمي — الأمن الدفاعي فقط
وُجدت هذه المنصة لدراسة تهديدات البرامج الثابتة وبناء دفاعات ضدها. وهي تحتوي على محاكاة هجومية حيّة مزوّدة بمفاتيح إيقاف راسخة في العتاد. وبالوصول إلى هذا المستودع، فإنك توافق على استخدامه حصراً لأغراض البحث الأمني المشروع والأغراض التعليمية.
برزخ منصة بحثية متكاملة لأمن البرامج الثابتة تُنمذج تكتيكات وتقنيات وإجراءات (TTPs) البوتكيت الواقعية عبر كل حلقات الامتياز — من برامج UEFI DXE (الحلقة 0) نزولاً عبر SMM وIntel ME وAMD PSP ووحدات تحكم DMA في المنصة (الحلقة -3)، وصولاً إلى التهديدات المعمارية الدقيقة للمعالج (الحلقة -4). وهي تقرن كل تقنية هجوم بمحرك كشف مقابل، مما ينشئ نظاماً مغلق الحلقة يكون فيه كل هجوم قابلاً للتكرار والكشف معاً.
القدرات الرئيسية:
barzakh-server لوحة تحكم ويب وواجهة JSON API (المنفذ 8420) مع فحوصات مجدولة واتجاهات درجات المخاطرbarzakh-agent أهداف البرامج الثابتة، ويسجّل السجل، ويحيل النتائج إلى أنظمة SIEM (Elastic ECS، ArcSight CEF، QRadar LEEF) أو إلى webhooks| التهديد | التقنية | تغطية 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 flash | سلامة FV + منطقة SPI + كاشف الاستمرارية |
| LoJax | أول زرع SPI في البرية | كاشف ME/SPI + تحليل واصف flash |
| MoonBounce | نواة DXE معدّلة في ذاكرة SPI flash | خطاف Boot Services + مقارنة فروق أحجام البرنامج الثابت |
| MosaicRegressor | إطار استمرارية UEFI | متعدد المراحل: تلاعب FV + حقن PE + trampoline |
| Hacking Team (RCS) | روتكيت UEFI مع Option ROM | كاشف Option ROM + تحليل توسعة PCI |
| FinSpy | تعديل محمّل إقلاع UEFI | اعتراض ExitBootServices + فحص الذاكرة |
| Bootkitty (2024) | أول بوتكيت UEFI لنظام Linux، تجاوز توقيع 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) تحاكي كل تقنية استمرارية معروفة في البرنامج الثابت:
| الوحدة | الحلقة | التقنية |
|---|---|---|
DxeInject | 0 | حقن برنامج تشغيل في مرحلة DXE — خطافات LoadImage/StartImage + SetVariable، استمرارية FV، محاكي SPI flash مع خلفيات FVB2/Boot Guard، مفاتيح إيقاف |
ExitBootHook | 0 | اعتراض ExitBootServices + خطاف MSR |
SpiChipsetEmulator | -1 | محاكاة واجهة SPI على مستوى الشرائح |
SmmPersistence | -1 | تثبيت معالج SMM واستمرارية SMRAM |
CapsuleHijack | -1 | إساءة استخدام آلية تحديث UEFI capsule |
AcpiTableInject | -2 | حقن جدول ACPI للوصول إلى ذاكرة النواة |
VirtualAddressMapHook | -2 | خطاف EFI Runtime Services |
PciOptionRom | -2 | زرع PCI Option ROM |
MeSpiManipulation | -3 | التلاعب بمنطقة SPI flash الخاصة بـ Intel ME |
HeciIntercept | -3 | اعتراض قناة الاتصال بين المضيف وME |
MeDmaAttack | -3 | DMA مُبتدأ من ME إلى ذاكرة المضيف |
AmtSolChannel | -3 | قناة سرية AMT Serial-over-LAN |
FtpmCommandForge | -3 | تزوير أوامر AMD fTPM عبر صندوق بريد PSP |
| الوحدة | التقنية |
|---|---|
Aarch64DxeInject | حقن DXE لـ ARM64 مع حمولات واعية بـ EL |
ExceptionVectorHook | نقل جدول استثناءات VBAR_EL1 |
El3SecureMonitor | اعتراض استدعاءات EL3 Secure Monitor |
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: