En analog laddningspump Fabrication-Time Attack komprometterar en processor

Vi kommer alla att användas till skadlig programvara, datorer och operativsystem som äventyras av virus, maskar eller trojaner. Det har blivit ett faktum i livet, och en hel industri av viruskontrollprogramvara finns för att hjälpa användarna att försvara sig mot det.

Underliggande våra problem om skadlig programvara är ett antagande att hårdvaran är inviolat, själva datorn inte kan äventyras. Det är dock en falsk, eftersom det är helt möjligt för en processor eller annan integrerad krets att ha en skadlig funktion som ingår i dess tillverkning. Du kanske tror att sådana funktioner inte skulle ingå av en respektabel chipproducent, och du hade rätt. Tyvärr men eftersom den höga kostnaden för chipfabrikation innebär att halvledarindustrin är en web av tillverkningshus från tredje part, finns det många möjligheter under vilka extra komponenter kan sättas in innan markerna är tillverkade. University of Michigan forskare har producerat ett papper om ämnet (pdf) som beskriver en särskilt smart attack på en processor som minimerar antalet komponenter som krävs genom smart användning av en FET-port i en kapacitiv laddningspump.

Baksidor på chip måste vara fysiskt smidigt, utmanande att avbryta av misstag och lätt att avbryta av dem i det vet. Deras designers kommer att hitta en linje som ändrar logikstaten sällan och anta en räknare på den så att när de sätter bort det för att ändra tillstånd ett visst antal gånger som aldrig skulle hända av misstag, utlöses utnyttjandet. Tidigare har dessa räknare varit konventionella logikkretsar, en effektiv metod, men en som lämnar ett signifikant fotavtryck av extra komponenter på chipet för vilket utrymme bör hittas, och som kan bli uppenbart när chipet inspekteras genom ett mikroskop.

University of Michigan Backdoor är inte en räknare utan en analog laddningspump. Varje gång dess ingång bärs, lagras en liten laddning på kondensatorn som bildas av porten hos en transistor, och så småningom når dess spänning en logisk nivå så att en attackkrets kan utlösas. De fäste den till flagglinjen för divide-by-noll av en OR1200 Open-source-processor, från vilken de enkelt kunde sänka den genom att konsekvent dela med noll. Charmen på den här kretsen är båda att den använder mycket få komponenter så kan gömma sig mycket lättare, och att laddningen läcker bort med tiden så det kan inte fortsätta i en stat som kan oavsiktligt utlösas.

De bästa hårdvaruhackarna är de som är enkla, roman och trycker på en enhet för att göra något det inte annars skulle ha gjort. Den här har allt det, för vilket vi tar våra hattar till Michigan-laget.

Om ämnet intresserar dig, kanske du vill ta en titt på en tidigare Hackaday Prize-finalist: Chipwhisperer.

[Tack vare vår kollega jack genom trådbunden]

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post