Skip to content

HammerScope

Rowhammer'ı bir power side channel'a çevir: bit flip sayısı anlık DRAM power'ı ile korele olduğundan, flip'leri saymak attacker'ın memory aktivitesini ölçmesini sağlar — KASLR'ı kırmak, covert channel kurmak veya website fingerprint çıkarmak için.

Mechanism

Flip count, DRAM power / aktivitesinin bir proxy'sidir

HammerScope'un gözlemi şu: Rowhammer bit-flip davranışı memory unit'in anlık power tüketimiyle güçlü şekilde korele. Power ise memory'nin ne kadar meşgul olduğunu takip eder. Yani tekrar tekrar hammer'layıp ortaya çıkan flip'leri sayarak attacker, DRAM power'ının — ve dolayısıyla memory aktivitesinin — yalnızca software tabanlı bir ölçümünü elde eder; herhangi bir harici enstrümantasyon veya privileged power-monitoring arayüzü (RAPL restriction gibi savunmaların kaldırmaya çalıştığı türden) olmadan.

Bu, Rowhammer'ı bir corruption aracından bir sensor'e dönüştürür: kendisi secret'ları sızdıran fiziksel bir niceliği (power/aktivite) okur.

Bu, Rowhammer ve memory templating üzerine kurulur (sensor olarak kullanmak için bilinen flippable cell'lere ihtiyacın var).

Walkthrough

1. Sensor'ü kalibre et. Flip rate'i memory aktivitesine/power'a yanıt veren cell'leri bul; bunlar readout olur.

[*] template region, select cells whose flip-count tracks activity

2. Aktiviteyi örnekle. Anlık memory power / aktivitesini tahmin etmek için bir window boyunca hammer'la ve flip'leri say.

sample():
    hammer(window)
    return count_flips()    # proxy for DRAM power -> activity

3. Bir leakage attack çalıştır. Paper üç tanesini gösteriyor:

Demonstrated attacks (CCS 2022)
1. Break KASLR        - distinguish memory activity tied to kernel layout
2. Covert channel     - amplify Spectre leaks into a transmit channel
3. Website fingerprint - classify browsing by its memory-activity profile

Explicit power arayüzlerinin kaldırılmasını bypass eder

Software power meter'ları devre dışı bırakan savunmalar (ör. RAPL'ı kısıtlamak) burada işe yaramaz — HammerScope power sinyalini Rowhammer flip count'larından yeniden inşa eder, dolayısıyla side channel apaçık telemetri kaldırılsa bile hayatta kalır.

Mitigation

  • TRR / increased refresh / ECC, sensor'ün dayandığı flip'leri bastırır veya düzeltir.
  • Untrusted code'a güvenilir hammering'i reddet (cache/access restriction'ları), böylece ölçüm primitive'ini ortadan kaldırır.

References