En analog ladingspumpefabrikasjonstidsangrep kompromitterer en prosessor
Vi vil alle bli brukt til skadelig programvare, datamaskiner og operativsystemer kompromittert av virus, ormer eller trojanere. Det har blitt et faktum i livet, og en hel industri av viruskontrollprogramvare eksisterer for å hjelpe brukerne forsvare seg mot det.
Underliggende våre problemer om ondsinnet programvare er en antagelse om at maskinvaren er inviolat, selve datamaskinen kan ikke være iboende kompromittert. Det er en falsk imidlertid, som det er helt mulig for en prosessor eller annen integrert krets å ha en ondsinnet funksjon som er inkludert i sin fabrikasjon. Du tror kanskje at slike funksjoner ikke ville bli inkludert av en respektabel chipprodusent, og du ville ha rett. Dessverre, men fordi den høye kostnaden for chipfabrikasjon innebærer at halvlederindustrien er en web av tredjepartsfabrikasjonshus, er det mange muligheter i løpet av hvilke ekstra komponenter kan settes inn før sjetongene er produsert. Universitetet i Michiganforskere har produsert et papir om emnet (PDF) som beskriver et spesielt smart angrep på en prosessor som minimerer antall komponenter som kreves gjennom smart bruk av en fet-port i en kapasitiv ladningspumpe.
On-chip backdoors må være fysisk stygge, utfordrende å sette av ved et uhell, og lett å sette av av de som er kjent med. Deres designere vil finne en linje som endrer logikkstatus sjelden, og vedtar en teller på det slik at når de setter av det for å endre tilstanden, blir det utnyttet et visst antall ganger som aldri vil skje ved et uhell, utnyttes utnyttelsen. Tidligere har disse tellene vært konvensjonelle logiske kretser, en effektiv metode, men en som etterlater et betydelig fotavtrykk med ekstra komponenter på brikken, for hvilken plass skal bli funnet, og som kan bli tydelig når brikken blir inspisert gjennom et mikroskop.
Universitetet i Michigan Backdoor er ikke en teller, men en analog ladingspumpe. Hver gang inngangen blir byttet, lagres en liten mengde ladning på kondensatoren dannet av porten til en transistor, og til slutt kommer spenningen et logisk nivå slik at en angrepskrets kan utløses. De festet den til Divide-by-Zero-flagglinjen med en OR1200 åpen kildekode-prosessor, hvorfra de lett kunne sette av den ved konsekvent å dele med null. Sjarmen til denne kretsen er både at den bruker svært få komponenter, så det kan skjule seg mye lettere, og at ladningen lekker bort med tiden, slik at den ikke kan fortsette i en tilstand som sannsynligvis vil bli utilsiktet utløst.
De beste maskinvarehackene er de som er enkle, roman, og skyver en enhet til å gjøre noe som ikke ellers ville ha gjort. Denne har alt det, som vi tar våre hatter av til Michigan-laget.
Hvis dette emnet interesserer deg, kan du kanskje se på en tidligere Hackaday-premie finalist: Chipwhisperer.
[Takk til vår kollega Jack gjennom Wired]