Moderne DRAM lagrer dataene i ørsmå kondensatorer som kan bli påvirket av ytre forstyrrelser, slik som kosmisk stråling. Men også hyppig aksessering av minnerader kan påvirke dataene som er lagret i andre, nærliggende minnerader. Dette kan utnyttes av angripere, i alle fall til å oppnå økte privilegier i systemet. (Bilde: William Warby)
(Bilde: William Warby (CC BY 2.0) og Josh Bailey)

Rowhammer

Fysisk dataminne kan angripes med JavaScript

– Nå kan Rowhammer-angrep gjøres via nettleseren.

I mars i år skrev digi.no at forskere har oppdaget at fysiske minnebrikker kan angripes ved hjelp av programvare på en slik måte at bitverdier som er lagret i det fysiske DRAM-minnet kan endres ved hjelp av gjentatt lesing av data lagret i nærliggende DRAM-rader.

Slik hyppig lesing kalles for «Rowhammer», og angrep basert på dette kan blant annet utnyttes til å gi angriperen høyere privilegier i systemet. Spesielt moderne minne, hvor radene ligger svært tettpakket, er sårbare.

Les mer her: Alvorlig minneproblem rammer mange pc-er

Fjernangrep

Det som til nå har vært en forutsetning for Rowhammer-angrepene er at angrepsverktøyene har vært basert på systemspesifikk kode og har brukt spesielle instruksjoner for å tømme cacheminnet for data.

Nå har forskerne oppnådd det samme ved hjelp av Rowhammer.js, et JavaScript-bibliotek som kan brukes til å fjernangripe sårbare systemer uten å måtte bruke spesiell kode eller instruksjoner. Biblioteket er utviklet at forskere med Technicolor i Frankrike og Graz University of Technology i Østerrike og omtales i denne forskningsartikkelen.

– Rowhammer.js er mulig fordi dagens JavaScript-implementeringer er godt optimaliserte og oppnår nærmest samme ytelse som systemspesifikk kode i vårt brukstilfelle. JavaScript kjøres i en streng sandkasse og språket tilbyr ingen mulighet til å finne virtuelle eller fysiske adresser. Men bruken av store «minnesider» («memory pages») gjør det mulig å avgjøre deler av den fysiske adressen, skriver forskerne, som mener Rowhammer.js er det første fjernangrepet som utnytter maskinvarefeil.

Ny arkitektur: Genierklært unggutt utvikler superbrikke

Uavhengig av det meste

– Selv om det er implementert i JavaScript, er angrepsteknikken uavhengig av den spesifikke CPU-mikroarkitekturen, programmeringsspråket og kjøremiljøet, så lenge strømmen av minnetilganger utføres raskt nok, skriver forskerne. De valgte JavaScript fordi det enkelt kan kjøres i fjernangrep, via vanlige websider som de potensielle ofrene besøker.

Forskerne mener at beskyttelse mot JavaScript-baserte Rowhammer-angrep bør implementeres i nettleserne. Angrene avhenger en viss ytelse, og dersom systemet i tester ikke har vist seg å være motstandsdyktig mot Rowhammer-angrep, bør kjøring av JavaScript-kode skje med redusert hastighet.

Men forskerne mener også at selv på systemer som sannsynligvis kan stå imot slike angrep, bør kjøring av JavaScript bare skje dersom brukeren eksplisitt samtykker til dette når websider åpnes.

Flere detaljer om Rowhammer.js og testingen av dette finnes her.

Les også: Intel og Micron lover minnerevolusjon 

Til toppen