Hårdvarubaserade hack är betydligt mindre vanliga än hack som utnyttjar olika säkerhetsbrister i mjukvara för att ta sig in i ett system. ”Har du fysisk tillgång till en dator är det game over” brukar det ofta heta, men till exempel FBI:s svårigheter att ta sig in i konfiskerade Iphone-telefoner har visat att det inte alltid stämmer.
Så hur kan ett hårdvaruhack gå till? I ett blogginlägg publicerat i veckan går David Buchanan igenom ett praktiskt exempel där han ger sig root-behörighet i Linux på en bärbar dator med hjälp av en piezoelektrisk tändare plus lödstift, lim, en liten resistor och en bit kabel.
David Buchanan börjar med att löda fast kabeln mot ett av stiften på en av datorns SO-DIMM-moduler, med resistorn placerad längs kabeln nära stiftet. Kabeln agerar som en antenn, och tanken är att den ska fånga upp stark elektromagnetisk strålning i omgivningen och få minnet att läsa eller skriva fel. Det påminner lite om hur kosmisk bakgrundsstrålning kan påverka minnet i en dator, men med mycket högre effekt.
Genom att klicka på tändaren genereras gnistor med tillräckligt mycket elektromagnetisk strålning för att skapa fel i minnet, vilket David Buchanan testar med Memtest86. Testet visar också en del av hur arbetsminne fungerar: David Buchanan kan visserligen inte tajma felet särskilt noga, men det uppstår alltid på samma bit i en 64-bitars läsning eller skrivning.
Ett första lyckat försök i Cpython följer han med en lyckad attack på Linux som ger root-behörighet till ett vanligt användarkonto. David Buchanans blogginlägg blir snabbt tekniskt med detaljer kring hur han lurar sig förbi Linux olika skydd, och är fascinerande läsning för den som är intresserad av hur datorer fungerar.