Skip to content

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):

  1. Düşük maliyetli SVID-injection cihazını inşa et (board'un CPU↔VRM SVID line'larına kablolanmış bir microcontroller).
  2. 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.
  3. Hatalı çıktıları yakala.
  4. 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.

References