Skip to content

FP-Rowhammer

Bir cihazı, Rowhammer ile indüklenen bit flip'lerinin benzersiz uzamsal dağılımından fingerprint'le — software/config normalizasyonunu atlatan, donanım köklü bir identifier; 98 DRAM modülünde ~%99.9 doğrulukla gösterildi.

Mechanism

Üretim varyasyonu her DIMM'i farklı flip'letir

DRAM hücreleri process variation nedeniyle hafifçe farklılaşır; bu yüzden Rowhammer altında flip olan hücrelerin kümesi — ve her flip'in yönü ve olasılığı — pratikte belirli bir modülün physical-unclonable bir imzasıdır. Aksi halde birebir aynı olan, aynı OS image'larına ve spoof'lanmış browser/hardware identifier'larına sahip iki makine yine de farklı bit-flip map'lerine sahiptir. FP-Rowhammer bu map'i kararlı, yüksek-entropi'li bir device fingerprint'ine çevirir.

Tek tek flip'ler non-deterministic olduğu için teknik, aynı konumları defalarca hammer'lar ve hücre başına bir olasılık dağılımı kurar; sonra cihazı tanımlamak ya da yeniden tanımlamak için (tek gözlemler yerine) dağılımları karşılaştırır. Bu istatistiksel sampling, fingerprint'i deneme başına gürültüye rağmen kararlı kılan şeydir.

Bu, Rowhammer + memory templating'in bir privacy/tracking uygulamasıdır: template'in kendisi identifier'dır. Rowhammer (memory-corruption bug'ı) ve Rowhammer.js (remote delivery variant'ı) isolation kırmayı hedeflerken, FP-Rowhammer hiç corruption istemez — yalnızca flip dağılımını okur ve bir device fingerprint'ine çevirir.

Walkthrough

1. Bir cihazı enroll et. Sabit bir konum kümesini tekrar tekrar hammer'la ve referans bir fingerprint oluşturmak için hücre başına flip olasılıklarını kaydet.

enroll:
  for trial in 1..N:
      hammer(region); record flips
  fingerprint = per-cell flip probability vector

2. Sonradan yeniden tanımla. Bilinmeyen bir cihazda sampling'i tekrarla ve dağılımını enroll edilmiş fingerprint'lerle karşılaştır (örn. istatistiksel mesafe ile).

identify:
  sample distribution D'
  match = argmin_F  distance(D', F_enrolled)
Reported evaluation
test bed: 98 DRAM modules
fingerprinting accuracy: 99.91%
robust across normalized/obfuscated HW+SW configurations

Memory-corruption exploit'i değil, tracking primitive'i

FP-Rowhammer privilege escalate etmez; tehdidi deanonymization / kalıcı tracking'tir. Sinyal silikon'un kendisinden geldiği için, yalnızca software-görünür nitelikleri normalize eden anti-fingerprinting önlemlerini atlatır.

Mitigation

  • Refresh-rate artışı / TRR / ECC flip'leri azaltır ya da düzeltir; mevcut entropy'yi daraltır.
  • Untrusted code'a hammer'lama yeteneğini verme (uncached fast access yok, clflush yok, sandbox memory) ki fingerprint sample'lanamasın.

References