Mohammad R. Fadiheh (från vänster till höger), Professor Wolfgang Kunz och Dominik Stoffel har utvecklat den nya algoritmen i samarbete med forskare vid Stanford. Kredit:Koziel/TUK
I början av 2018, cybersäkerhetsforskare upptäckte två säkerhetsbrister som de sa fanns i nästan alla avancerade processorer som tillverkats och används av stora företag. Känd illavarslande som Spectre och Meltdown, dessa brister var besvärande eftersom de representerade en ny typ av intrång som inte tidigare känts och som kan göra det möjligt för hackare att härleda hemlig data – lösenord, personnummer, medicinska journaler – från det sätt som datorer förberäknar vissa data med hjälp av arkitektoniska funktioner som kallas "out-of-order execution" och "spekulativ execution" för att påskynda sina processer.
Med det, ett lopp startade i hårdvarugemenskapen när chipdesigners skyndade sig att hitta fixar till Spectre och Meltdown och att avslöja ännu oupptäckta brister innan hackare gjorde det. Under året sedan, många varianter av dessa attacker har dykt upp, och fler väntas.
I dessa "hemliga kanalattacker, " ingen data byter någonsin händer mellan den hackade processorn och angriparna som försöker stjäla data. Informationen härleds på sättet som svar i ett korsord kan gissas utan att veta det faktiska svaret på ledtråden. Dessa hack, därför, är nästan omöjliga att upptäcka.
Stigande mot detta framväxande hot, ett team ledd av datavetare vid TU Kaiserslautern, Tyskland, i samarbete med forskare från Stanford University i Kalifornien, har tagit ett nytt tillvägagångssätt för att avslöja potentiella brister i nya chipdesigner. Det är en algoritm, Unik programexekveringskontroll, eller UPEC, för korta.
"UPEC är en form av automatisk säkerhetsverifiering som kommer att uppmärksamma designers på potentiella brister i deras mikroarkitekturer, långt innan chipsen massproduceras, " säger huvudprofessor Wolfgang Kunz, Ordförande i Electronic Design Automation vid TU Kaiserslautern.
Vad som är viktigare är att de har visat att sådana säkerhetshål finns i ett mycket bredare spektrum av processorer än man tidigare trott, påverkar inte bara avancerade processorer utan även de enkla processorer som är allestädes närvarande i många applikationer i det dagliga livet, som i Internet of Things.
I huvudsak, UPEC analyserar mikroarkitektoniska bieffekter av designbeslut och upptäcker om de kan utnyttjas för att skapa hemliga kanaler. Det som är särskilt viktigt är att UPEC är uttömmande. Den tar hänsyn till alla möjliga program som kan köras på processorn. Forskarna tror att UPEC kan avslöja eventuella hemliga kanalers sårbarheter i framtida chipdesigner, även de som designers inte hade förutsett.
I verkliga tester, forskargruppen lät UPEC analysera flera chipdesigner med öppen källkod och identifierade ett antal tidigare okända brister. Teamet skapade och analyserade olika designvarianter av dessa processorer och visade att sådana svagheter lätt härrör från normala designprocesser och kan påverka praktiskt taget alla processorer, särskilt enkla processorer, inte bara klassen av avancerade processorer som analyserades i Spectre/Meltdown-attackerna.
"Nyckelpunkten här är att även enkla designsteg, som att lägga till eller ta bort en buffert, kan oavsiktligt introducera sårbarheter i hemliga kanaler i nästan vilken processor som helst, " säger Mo Fadiheh, medlem av Kaiserslautern-teamet.
En framträdande attack som UPEC har avslöjat är vad teamet har kallat "Orc"-attacken som kan finnas på chips som redan används som ryggraden i många säkerhets- och säkerhetskritiska applikationer i Internet-of-Things och i autonoma system, som självkörande bilar och flygplan.
"Teoretiskt sett, en hackare kan använda en Orc-attack för att ta kontroll över ett autonomt fordon eller för att styra nätverksanslutna datorer på Internet-of-Things, " säger teammedlemmen Subhasish Mitra, professor i elektroteknik och datavetenskap vid Stanford University.
Orc är den första oväntade attacken som upptäcks automatiskt av enbart programvara. Orc-upptäckten visar att hemliga kanalattacker är möjliga i enkla processorer. Huruvida Orc-sårbarheter är inbakade i chips som redan finns på marknaden kan forskarna inte säga säkert eftersom de saknar den egenutvecklade källkoden för att göra sådana utvärderingar.
"Vi föreslår att företag som tillverkar dessa enklare processorer använder UPEC för att vara säkra på att de inte bär Orc och andra sårbarheter, "Kunz rekommenderar.
UPEC kräver inte att en designer har befintlig kunskap om potentiella attacker och ger påvisbara garantier för säkerhet. I synnerhet, för processordesignern, UPEC kräver inga dramatiska förändringar av standarddesignprocesser. Än så länge, UPEC fungerar för processorer med upp till medelhög komplexitet. Ytterligare forskning pågår om avancerade processorer. Den nuvarande implementeringen av UPEC har byggts genom att göra tillägg till en befintlig formell verifieringsmiljö som tillhandahålls av Onespin Solutions.
"Orc visar att allvarliga brister kan uppstå från till synes ofarliga designbeslut som chipdesigners fattar varje dag, " säger professor Mark D. Hill, en datorarkitekturexpert från University of Wisconsin-Madison. "Med UPEC, designers kan vara mycket mer säkra på att de kommer att hitta och eliminera alla potentiella hemliga kanalbrister i deras design."