Mohammad R. Fadiheh (fra venstre mod højre), Professor Wolfgang Kunz og Dominik Stoffel har udviklet den nye algoritme i samarbejde med forskere ved Stanford. Kredit:Koziel/TUK
I begyndelsen af 2018, cybersikkerhedsforskere opdagede to sikkerhedsfejl, som de sagde var til stede i næsten alle avancerede processorer lavet og brugt af større virksomheder. Kendt ildevarslende som Spectre og Meltdown, disse fejl var bekymrende, fordi de repræsenterede en ny type brud, der ikke tidligere var kendt, og som kunne give hackere mulighed for at udlede hemmelige data – adgangskoder, cpr-numre, medicinske journaler - fra den måde, computere forudberegner visse data ved hjælp af arkitektoniske funktioner kaldet "out-of-order execution" og "spekulativ execution" for at fremskynde deres processer.
Med det, et kapløb startede i hardwarefællesskabet, da chipdesignere skyndte sig at finde rettelser til Spectre og Meltdown og for at afsløre endnu uopdagede fejl, før hackere gjorde det. I året siden, adskillige varianter af disse angreb er dukket op, og flere forventes.
I disse "skjulte kanalangreb, " ingen data skifter nogensinde hænder mellem den hackede processor og angriberne, der forsøger at stjæle data. Informationen udledes af den måde, svar i et krydsord kan gættes på uden at kende det faktiske svar på ledetråden. Disse hacks, derfor, er næsten umulige at få øje på.
Når man tager imod denne nye trussel, et hold ledet af dataloger ved TU Kaiserslautern, Tyskland, i samarbejde med forskere fra Stanford University i Californien, har taget en ny tilgang til at afsløre potentielle fejl i nye chipdesigns. Det er en algoritme, Unik programudførelseskontrol, eller UPEC, for kort.
"UPEC er en form for automatiseret sikkerhedsverifikation, der vil advare designere om potentielle fejl i deres mikroarkitekturer, længe før chipsene masseproduceres, " siger professor Wolfgang Kunz, Formand for Electronic Design Automation ved TU Kaiserslautern.
Hvad der er vigtigere er, at de har vist, at sådanne sikkerhedshuller findes i et meget bredere spektrum af processorer end tidligere antaget, påvirker ikke kun avancerede processorer, men selv de simple processorer, der er allestedsnærværende i adskillige anvendelser i dagligdagen, såsom i tingenes internet.
I det væsentlige, UPEC analyserer mikroarkitektoniske bivirkninger af designbeslutninger og opdager, om de kan udnyttes til at skabe skjulte kanaler. Det, der er særligt vigtigt, er, at UPEC er udtømmende. Det tager højde for alle mulige programmer, der kan køre på processoren. Forskerne mener, at UPEC kan afsløre enhver potentiel hemmelig kanal-sårbarhed i fremtidige chipdesign, selv dem, som designere ikke havde regnet med.
I virkelige tests, forskerholdet fik UPEC til at analysere adskillige open source-chipdesigns og identificerede en række hidtil ukendte fejl. Holdet skabte og analyserede forskellige designvariationer af disse processorer og demonstrerede, at sådanne svagheder let skyldes normale designprocesser og kan påvirke stort set enhver processor, særligt simple processorer, ikke kun klassen af avancerede processorer, der blev analyseret i Spectre/Meltdown-angrebene.
"Nøglepunktet her er, at selv simple designtrin, som at tilføje eller fjerne en buffer, kan utilsigtet introducere skjulte kanal-sårbarheder i stort set enhver processor, " siger Mo Fadiheh, medlem af Kaiserslautern-teamet.
Et fremtrædende angreb, UPEC har afsløret, er, hvad holdet har døbt "Orc"-angrebet, der kunne være til stede på chips, der allerede bliver brugt som rygraden i mange sikkerheds- og sikkerhedskritiske applikationer i Internet-of-Things og i autonome systemer, som selvkørende biler og fly.
"Teoretisk set, en hacker kunne bruge et Orc-angreb til at overtage kontrollen over et autonomt køretøj eller til at styre netværkscomputere på Internet-of-Things, " siger teammedlem Subhasish Mitra, professor i elektroteknik og datalogi ved Stanford University.
Orc er det første uventede angreb, der automatisk bliver opdaget af software alene. Orc-opdagelsen viser, at hemmelige kanalangreb er mulige i simple processorer. Hvorvidt Orc-sårbarheder er bagt ind i chips, der allerede er på markedet, kan forskerne ikke sige med sikkerhed, fordi de mangler den proprietære kildekode til at foretage sådanne evalueringer.
"Vi foreslår, at virksomheder, der laver disse enklere processorer, bruger UPEC for at være sikre på, at de ikke bærer Orc og andre sårbarheder, " anbefaler Kunz.
UPEC kræver ikke, at en designer har eksisterende viden om potentielle angreb og giver påviselige garantier for sikkerhed. Især for processordesignfællesskabet, UPEC kræver ingen dramatiske ændringer af standard designprocesser. Indtil nu, UPEC fungerer for processorer med op til medium kompleksitet. Yderligere forskning er undervejs i avancerede processorer. Den nuværende implementering af UPEC er blevet bygget ved at lave udvidelser til et eksisterende formelt verifikationsmiljø leveret af Onespin Solutions.
"Orc demonstrerer, at alvorlige fejl kan skyldes tilsyneladende uskadelige designbeslutninger, som chipdesignere træffer hver dag, " siger professor Mark D. Hill, en computerarkitekturekspert fra University of Wisconsin-Madison. "Med UPEC, Designere kan være meget mere sikre på, at de vil finde og eliminere alle potentielle skjulte kanalfejl i deres design."