Skriv ut
När man läser av minnesceller läcker laddning över till minnescellerna som ligger fysiskt i närheten på samma minneskrets. Google har via programvara utnyttjat fenomenet till att ändra bitar i skyddade minnesceller och sedan ta kontrollen över en dator.
Tekniken att envetet ”hamra” på en minnescell tills bitar ändras på en minnescell i närheten, har varit känd på Intel åtminstone sedan år 2012 och beskrevs i en forskningsartikel i fjol.

Metoden kallas Rowhammering.

Nu har Google visat att denna fysiska läcka faktiskt kan användas för att ta kontrollen över en dator. Google gjorde bland annat hamrandet betydligt mer effektivt genom att hamra på minnesrader på båda sidor om den attackerade minnescellen. Vid ett tillfälle lyckades Googles forskare  flippa mer än 25 bitar i en näraliggande minnesrad.

På ett fleranvändarsystem är enskilda användare hänvisade till privata avgränsade minnesutrymmen. Men genom att läsa av sina egna minnesceller upprepade gånger i snabb följd, kan ett program få laddning att läcka över till minnesutrymmen som används av operativsystemet, och ändra deras innehåll.

Normala säkerhetshål handlar om logiska fel i programkod. Den här attacken angriper minneskretsarna genom att utnyttja svagheter i deras fysiska konstruktion. Det är en typ av angrepp som dagens säkerhetssystem saknar försvar mot.

År 2014 rapporterade Intelforskare att 110 av de 129 DRAM-moduler de testade kunde manipuleras till att ändras på detta sätt. Intelforskarna misstänkte att tekniken skulle kunna utnyttjas i en attack.

Attackprogrammet har 64 millisekunder på sig innan RAM-minnet refreshas. Under den tiden försöker programmet läsa från två minnesceller i olika rader så många gånger som möjligt. Läsningen leder till att raden laddas upp och ur, och det är denna laddning som kan läcka över till intilliggande minnesrader. För att metoden ska fungera måste man dessutom tömma cacheminnet mellan varje läsning – annars hämtar cpu:n data därifrån istället, och rör inte RAM-minnet.

Forskare på Google undersökte 51 laptops varav 29 visades sig kunna manipuleras via rowhammering.

Googleforskarna  lyckades sedan göra det som Intelforskarna fruktade var möjligt – de konstruerade två angreppsmetoder som utnyttjade rowhammering för att ta över en dator.

Den ena metoden var att manipulera den skyddade del av minnet som anger vilka minnesutrymmen som de olika processerna får använda. Attackprogrammet lyckades ge sig själv skrivrättigheter till denna del av minnet och kunde därefter ta fullständig kontroll över hela minnet.

Datorn som togs över på detta sätt körde Linux på en x86-processor, men enligt forskarna borde metoden kunna fungera också på andra arkitekturer och i andra operativsystem.

I den andra angreppsmetoden lyckades de bryta sig ut ur den sandlåda i vilken appar i Googles Chrome-browser exekveras. Detta visar på möjligheten att bli hackad enbart genom att besöka en webbsida – utan att ladda hem eller installera något därifrån.

– Det här är tveklöst ett av de viktigast säkerhetsforskningsresutaten som framkommit under de senaste åren, kommenterar säkerhetsforskaren Dan Kaminsky.

Googles forskare säger till tidningen Wired att de arbetar tillsammans med hårdvarutillverkare för att försöka hitta en lösning på problemet.

Forskarna tror att felkorrigerande minne kan skydda mot angreppet. Ingen av de pc-datorer forskarna testade var känsliga för attackvägen och forskarna misstänker att felkorrigernade minne kan vara orsaken.

Det här är en växande problem: ju mindre minneskretsarna blir, desto närmare hamnar minnescellerna varandra, och desto enklare blir det för laddning att läcka över mellan cellerna. Å andra sidan berättar forskarna att de ser tecken på att DRAM-tillverkarna redan i smyg börjat försöka åtgärda problemet, bland annat genom definiera nya instruktioner som kanske kan störa angreppsmetoden.

Elektroniktidningens reporter laddade hem Googles testprogram till sin Apple Macbook, men avbröt testet efter att inte ha lyckats provocera fram felet efter 120 miljarder iterationer (länk).