VoltPillager¶
Intel SGX enclave'lerini undervolt-glitch'lemek için CPU-to-VRM Serial Voltage Identification (SVID) bus'ına mesaj inject eden, tamamen patch'lenmiş software-undervolting karşı önlemlerini bile yenen ~30$'lık bir hardware fault-injection saldırısı.
Mechanism¶
Bug class / invariant
Intel'in SGX threat model'i, software/OS kontrolüne sahip kötü niyetli bir operatör varsayar ama CPU package'inin dahili voltage'unu güvenilir kabul eder; Plundervolt fix'i (CVE-2019-11157) MSR'yi kilitleyerek software undervolting'i kaldırdı. VoltPillager'ın kırdığı invariant şudur: software undervolting disable edildikten sonra voltage manipüle edilemez. Gerçekte CPU, voltage'u anakart üzerindeki SVID seri bus'ı aracılığıyla harici bir voltage regulator (VRM) ile müzakere eder. O bus'a fiziksel olarak bağlı ucuz microcontroller hardware'iyle, bir attacker tam anlarda spec-dışı voltage'lar komutlamak için SVID paketleri inject eder — CPU'nun software lock'larının önleyemeyeceği bir hardware glitch. Enclave computation sırasında inject edilen fault'lar, fault-analysis key recovery'yi mümkün kılar.
Walkthrough¶
Üst düzey, USENIX Security 2021 paper'ından (akademik, defensive):
- Düşük maliyetli SVID-injection cihazını inşa et (board'un CPU↔VRM SVID line'larına kablolanmış bir microcontroller).
- Bir hedef enclave computation'ı (örn. RSA/AES) tetikle ve tek bir operasyonu fault'lamak için SVID bus'ında tam zamanlı bir undervolt komutu inject et.
- Hatalı çıktıları yakala.
- Key'leri recover etmek için fault analysis uygula; glitch harici olduğundan, software-undervolt karşı önlemleri enabled olan tamamen patch'lenmiş sistemlerde çalışır.
Threat model notu
VoltPillager, board'a fiziksel erişim gerektirir — SGX'in karşı savunmak için tasarlandığı "hardware erişimine sahip güvenilmeyen cloud operatörü" varsayımıyla doğrudan ilgilidir.
Detection¶
- Bu bir physical/hardware saldırısıdır; software/EDR SVID injection'ı göremez. Detection, fiziksel güvenlik ve platform-integrity odaklıdır.
- Chassis intrusion detection, tamper-evident mühürler ve supply-chain / data-center fiziksel erişim kontrolleri kullan.
- SGX remote attestation voltage glitching'i tespit etmez, dolayısıyla burada ona güvenme.
Mitigation¶
- Fiziksel koruma: SGX taşıyan makinelere hardware erişimini kısıtla; yazarlar basit bir software fix'in olmadığını belirtir.
- Mimari olarak, voltage/glitch sensing ya da authenticated voltage control entegre et (sonraki platformlar integrated voltage regulation'a yönelerek external-bus maruziyetini azaltır).
- Inject edilen fault'ların çıktı release edilmeden önce yakalanması için enclave crypto'yu fault-detection (redundant computation, verify-after-sign) ile hardening yap.
- Operatörlerin fiziksel erişime sahip olduğu deployment'lar için SGX adversary model'ini yeniden değerlendir.