Rowhammer: Shit ALL the way down

Min gode ven Artur plejer at postulere om folks måde at designe web-services på at det er "shit all the way down".

Som udgangspunkt han an en meget stærk case.

Med "Rowhammer" har vi nået bunden: Nu er også hardwaren noget skrammel.

Rowhammer er en hardwarefejl.

Vi antager altid at det at skrive til en lokation i hukommelsen ikke påvirker andre lokationer.

Og med "altid" mener jeg: Når vi designer data strukturer, operativsystemer, sikkerhedsbeskyttelser, privatlivsbeskyttelser, krypteringsalgoritmer -- kort sagt: software.

Der er med andre ingen realistiske software metoder til at beskytte sig imod rowhammer på.

Hardware-fixet er at skrue op for DRAM'ens refresh-rate, hvilket antageligvis reducerer sandsynligheden.

ECC RAM hjælper også, om ikke andet fordi det gør det sværere at designe et angreb, men det er ikke en garanti eller en "løsning".

phk

Kommentarer (9)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Allan Jensen

Jeg vil vove at påstå at ECC som gør problemet praktisk talt kryptografisk svært at udnytte er en løsning, men da det problemet også kun lader til at ramme enkelte laptops (antageligt med billigt RAM), så er problemet måske blot at håndhæve en bedre standard for RAM.

Men jeg vil nu foretrække at slå på tromme for ECC som løsning, blot for at putte mere pres på at få det i consumer maskiner. Selvom det er måske er en lille løgn så det er for en god sag.

  • 2
  • 1
Allan Jensen

Min antagelse er at ændringerne kun sker sjældent og har elementer af tilfældighed. Så hvis en bit skiftter 1 ud af en milliard gange, så vil 2 fejl ske 1 ud af 2^18 gange og 3 fejl en ud af 2^24 gange. Gang derefter med sandsanligheden for at de rigtige bit skifter og ikke de forkerte ved siden af, det stiger kombinatorisk med antallet af bitfejl over bit bredten ECC beregnes på.

Derudover skal du kende de originalle værdier præcist for at få checksummen til at gå op, hvilket ikke er nødvendigt uden ECC.

  • 0
  • 1
Leif Jensen

Jeg kunne godt tænke mig at prøve følgende programmer på min maskine, for at finde ud af om den er nem at udnytte:

https://github.com/google/rowhammer-test/blob/master/double_sided_rowham...

https://github.com/google/rowhammer-test/blob/master/rowhammer_test.cc

Jeg har tænkt mig at formatere harddisken efterfølgende, men eftersom jeg ikke er programmør, kan jeg ikke gennemskue om programmerne på nogen måde kan modificere firmwaren i harddisken, BIOS/UEFI osv.

Er der nogle der kan gennemskue programmerne, og fortælle om jeg ender med en bagdør i firmwaren efter at have kompileret og afviklet dem?

  • 1
  • 0
Gert G. Larsen

Læsning påvirker, fordi der ved læsning laves en opdatering også (discharging and recharging).
Sådan en opdatering laves også på andre rækker, med ca 64ms mellemrum.
Men hvis du påvirker én celler tilstrækkelig mange gange indenfor de 64ms, sker muligheden for en celle i nærheden bliver påvirket.

  • 0
  • 0
Gert G. Larsen

Leif: Jeg kan dælme godt lide din forsigtighed med at kompilere og eksekvere vilkårlig kode du ikke forstår!! Hvis alle var så påpaslige....
Jeg har set koden igennem, og kan ikke finde tegn på noget der piller ved harddiskfirmware, bios eller lignende.

Men det kunne faktisk være fedt, med sådan et system til review af kode, hvor "community"'et sagde god for andres kode.
Findes det allerede?

  • 2
  • 0
Log ind eller Opret konto for at kommentere