Skip to content

Throwhammer

Uzak bir sunucuda Rowhammer bit flip'lerini, bir RDMA NIC'in doğrudan DRAM'e DMA'ladığı network paketleri göndererek tetiklemek — kod yürütmesi gerektirmez.

Mechanism

Note

Rowhammer, fiziksel olarak komşu row'ları ~64 ms refresh aralığından daha hızlı aktive ederek ("hammer'layarak") bir DRAM row'undaki bit'leri flip'ler ve row'lar ile güvenlik domain'leri arasında charge sızdırır. Throwhammer'ın içgörüsü şudur: RDMA-capable NIC'ler, uzak bir istemcinin gelen paketleri doğrudan sunucunun DMA buffer'larına yazmasına izin verir ve aksi halde memory trafiğini soğuracak olan CPU ile cache'lerini bypass eder. Uzaktan kontrol edilen buffer erişimleri aynı DRAM row'larına yeterince hızlı vurursa, untrusted buffer'ın dışında bulunan victim row'larını hammer'lar. Makale flip'leri 64 ms'de 560.000 erişim (~9 milyon erişim/sn) oranında gözlemledi — 10 Gbps bir NIC ile bile ulaşılabilir bir oran — böylece host'ta hiçbir software bug'ı ve hiçbir kodu olmayan uzak bir saldırgan, güvenlik açısından hassas belleği bozabilir.

Walkthrough

Tatar ve diğerleri, USENIX ATC 2018 (VUSec). Kavramsal akış:

  1. RDMA ile erişilebilir DMA buffer'ları açan bir sunucu bul (vaka çalışmaları RDMA-enabled bir memcached ve HERD key-value store'u kullanır).
  2. RDMA NIC'i kullanarak bu buffer'lara hızlı uzak read/write'lar gönder ve alttaki DRAM row'larını hammer'la.
  3. Faydalı page offset'lerinde sömürülebilir flip'ler için profile çıkar (Throwhammer network profiling aracının rolü — bir host'u network üzerinden flip'ler için tarayan ilk araç).
  4. Klasik Rowhammer desenini uygula: victim'in hassas veriyi (örn. bir page-table sayfası) bozulabilir bir sayfaya yerleştirmesini indükle; böylece bir flip, privilege escalation / code execution verir — "herhangi bir software bug'ına dayanmadan."
Bildirilen sayılar (makaleden)
  • Test düzeneği: iki i7-4790 (Haswell) host, Mellanox ConnectX-4 NIC'ler, DDR3 (biri Hynix, biri Corsair çift, dual-channel).
  • 40 Gbps'te (~52 Mpps): 30 dakikada Hynix'te 464 benzersiz flip ve Corsair'de 185.
  • 10 Gbps'te: ilk flip 700.7 sn sonra.
  • Bulut bağlamı: EC2 20 Gbps ve Azure 56 Gbps VM'leri menzil içinde gösterildi.

Detection

DMA-driven hammering'i CPU performance counter'larıyla gözlemlemek zordur çünkü erişimler core'ları bypass eder (ANVIL tarzı dedektörler DMA tarafından yükseltilmeyen counter'lara dayanır).

Mitigation

Makale, DRAM adres uzayında DMA/network buffer'larının etrafına CATT benzeri guard row/zone'lar yerleştirerek saldırgan kaynaklı flip'leri soğuran bir allocator olan ALIS ("ALlocations ISolated")'i sunar. Temel katkısı, physical adres uzayı DRAM uzayında contiguous olmadığından gereken bir physical-to-DRAM adres çevirisidir. HERD key-value store'undaki overhead: throughput %0.4 azaldı. Mevcut savunmalar (ECC, TRR, ANVIL, CATT, VUsion) bu vektöre karşı yetersiz olarak belirtilir.

References