Skip to content

CacheZoom

Intel SGX'e karşı, neredeyse her enclave memory access'ini izleyen ve AES key'lerini ~10 ölçümden geri kazanan high-resolution bir L1 Prime+Probe channel'ı.

Mechanism

SGX threat model'inde OS untrusted'dır ve CacheZoom (Moghimi, Irazoqui, Eisenbarth, CHES '17) tam da bunu silah haline getirir. Attacker scheduling ve interrupt'ları kontrol ettiğinden, victim enclave'i yalnızca birkaç memory access'ten sonra preempt edebilir ve aynı physical core'da enclave ile paylaştığı private L1 cache üzerinde PRIME+PROBE çalıştırabilir.

Note

Sıradan cross-core cache attack'lar victim aktivitesini kaba çözer çünkü victim probe'lar arasında kesintisiz çalışır. CacheZoom bir L1 attack'ını amplify eder: enclave'i neredeyse-instruction granülerliğinde interrupt ederek, her Prime+Probe turu yalnızca birkaç access'i çözer. Spatial resolution 64-byte line / cache-set seviyesinde kalır, ama temporal resolution fiilen per-instruction hale gelir.

Walkthrough

  1. Co-locate et. Attacker ve victim enclave'i aynı physical core'a pin'le ki L1'i paylaşsınlar.
  2. Preemption'ı kur. Local APIC timer'ı (ya da başka bir high-frequency interrupt) çok az enclave access'inden sonra tetiklenecek şekilde programla.
  3. Prime. L1 set'lerini attacker data'sıyla doldur.
  4. Step. Enclave'i küçük bir dilim için devam ettir, sonra interrupt'ı al (AEX).
  5. Probe. Her set'e yeniden access et, rdtsc ile timing'le; artık yavaş olan set'lere enclave dokunmuştur.
  6. Yeniden birleştir. Interrupt başına set trace'lerini high-resolution bir access trace'ine birleştir, sonra AES T-table set access'lerini key'e bağlı index'lere map'le.

Yazarlar bir AES key'ini ~10 kadar az ölçümle geri kazanır ve prefetch tabanlı countermeasure'ları yener.

Detection

Anormal derecede yüksek enclave AEX / interrupt oranları güçlü bir göstergedir; sonraki savunmalar (T-SGX, Déjà Vu) anormal preemption ya da transaction-abort sıklığını tespit eder.

Mitigation

Constant-time, cache-access-oblivious crypto; cache partitioning; sık preemption'ın enclave tarafında tespit edilmesi. Microcode'da düzeltilemez — SGX'in belirtilen threat model'inin dışındadır.

References