Secure Boot bypass (general boot chain-of-trust subversion)¶
The general class of techniques that subvert UEFI Secure Boot's measured chain of trust — running attacker code in the pre-OS environment while firmware still reports Secure Boot as enabled.
Mechanism¶
Note
UEFI Secure Boot bir chain of trust kurar: firmware, kontrolü devretmeden önce
her boot aşamasının signature'ını allow-list (db) ve forbidden-list (dbx)
veritabanlarına karşı doğrular. Doğrulanan her bileşene bir sonrakini doğrulaması için
güvenilir; firmware'den bootloader'a, OS loader'a ve kernel'e kadar. Invariant
"OS'tan önce hiçbir unsigned/forbidden kod çalışmaz"dır.
Bir Secure Boot bypass'ı, güvenilir bir signing key tutmadan bu invariant'ı kırar. Tekrarlayan kavramsal zayıflıklar şunlardır:
- Bir versiyona değil, bir signature'a güvenmek. Bir güvenlik açığı içeren geçerli şekilde imzalı bir bileşen, açıkça revoke edilene kadar güvenilir kalır, bu yüzden bir saldırgan kendi eski-ama-imzalı binary'sini getirebilir (rollback).
- Signed kodun unsigned input parse etmesi. Güvenilir bir bootloader unsigned bir config/data dosyası okur ve onu yanlış işler (memory corruption), böylece saldırgan-kontrollü veri, güvenilir bir context içinde saldırgan-kontrollü koda dönüşür.
- Yanlış kullanılan güvenilir variable'lar / loader'lar. Güvenilir kod, NVRAM variable'larını onurlandırır ya da bir saldırganın yönlendirebileceği şekillerde başka modüller yükler.
İhlal eden binary gerçekten imzalı olduğu (ya da bug signed kodun içinde olduğu) için, firmware saldırgan kodu çalışırken Secure Boot'u "açık" bildirir — sınır, trust'ı forge ederek değil, güvenilir set'in içinde aşılır.
Walkthrough¶
Kavramsal; kamuya açıklanmış, patch'lenmiş araştırmadan alınmıştır.
-
Signed-kod-unsigned-data-parse-eder (BootHole sınıfı). İmzalı bir bootloader unsigned bir configuration dosyasını parse eder ve bir parsing bug'ı pre-OS ortamında (ASLR/DEP'ten yoksun) belleği corrupt eder; bootloader'ın trust'ı altında kod yürütmesi verir. Bkz. BootHole / GRUB2 config buffer overflow.
-
Güvenlik açığı olan imzalı bir binary'ye rollback (Baton Drop sınıfı). Bir saldırgan daha eski, hâlâ-güvenilir, güvenlik açığı olan bir boot manager artı özel hazırlanmış bir boot configuration bırakır, böylece enforcement etkili olmadan önce etkisiz kılınır. Bkz. Baton Drop / Windows boot manager rollback; BlackLotus tarafından kullanılan tutamak (foothold).
Genel bir zincir şöyle okunur:
1. Place a signed-but-vulnerable boot component on the EFI System Partition.
2. Supply unsigned config/data (or NVRAM state) that triggers the flaw or
suppresses enforcement.
3. Gain code execution before ExitBootServices, while still trusted.
4. Disable downstream integrity (HVCI, driver signing) and persist as a bootkit.
Warning
Güvenlik açığı olan kodu patch'lemek yeterli değildir — eski imzalı binary
güvenilir kaldığı sürece, bir saldırgan basitçe kendi kopyasını gönderir. Kalıcı
düzeltme, dbx'te revocation gerektirir; bu da operasyonel olarak risklidir
(bricking, bozuk recovery media) ve bu yüzden yavaş ve aşamalı olarak yayılır.
Detection¶
EFI System Partition (ESP)'ye ve boot configuration'a odaklanın: ESP'de beklenmedik ya
da versiyon-uyumsuz bootloader'lar (bootmgfw.efi, grub, shim); integrity-bastıran
seçenekler içeren boot configuration data'sı; vendor güncellemeleri dışında UEFI
variable'larına (db/dbx/KEK/PK) yapılan değişiklikler; ve firmware/TPM
measured-boot tutarsızlıkları — bilinen-iyi bir baseline ile artık eşleşmeyen PCR
değerleri pre-OS kurcalamasının güçlü bir sinyalidir. Boot-integrity attestation (TPM event
log'ları), ESP file-integrity izlemesi ve bilinen bootkit kampanyaları için vendor avlama
rehberliği pratik telemetridir.
Mitigation¶
- Revoke et, yalnızca patch'leme: güvenlik açığı olan imzalı bootloader'ları emekliye
ayıran firmware
dbx/dbgüncellemelerini uygulayın (aşamalı, test edilmiş yayılımlar) ki rollback hedefleri artık güvenilir olmasın. - Measured boot + attestation: TPM-destekli measured boot ve remote attestation kullanın ki değişmiş bir boot chain, firmware Secure Boot'u etkin bildirdiğinde bile tespit edilebilsin; disk encryption'ı (TPM+PIN ile BitLocker) PCR'lara bağlayın.
- OS altında defense in depth: firmware'i güncel tutun, post-foothold yükselmeyi sınırlamak için HVCI / hypervisor-protected code integrity ve Code Integrity Guard'ı etkinleştirin.
- Uyarılar: revocation legacy media'yı ve recovery'yi bozabilir; bazı güvenlik açığı olan bileşenler hızlıca revoke edilemeyecek kadar yaygın konuşlandırılmıştır ve uzun bir maruziyet penceresi bırakır. Secure Boot'u varsaymak değil, attest etmek için bir kontrol olarak görün.