Dmitry Evtyushkin, en adjunkt i William &Mary's Department of Computer Science, har undersøgt sikkerhedssårbarhederne ved spekulativ udførelse. Kredit:Adrienne Berard
Truslen begyndte at skabe overskrifter omkring nytår. Publikationer over hele kloden advarede om den største computerchipsårbarhed nogensinde opdaget, en række sikkerhedsfejl, der påvirker enhver enhed med en mikroprocessor – fra bærbare computere til smartphones.
Forskere havde fundet ud af, at i et forsøg på at gøre computerchips mere effektive, store producenter havde ved et uheld indsat en åbning, der ville give hackere mulighed for at spionere på følsomme data. I to artikler, der blev offentliggjort den 3. januar, forskere opfandt cybersikkerhedstruslerne Meltdown og Spectre.
Navnet Meltdown blev valgt for angrebets evne til at "smelte" sikkerhedssystemet, der typisk håndhæves af en processors hardware. Navnet Spectre var baseret på årsagen til sikkerhedssårbarheden, spekulativ henrettelse, en hastighedsforøgende teknik, hvor processoren forsøger at forudsige, hvilken del af koden den skal udføre næste gang og begynder at udføre den. Og, meget som et rigtigt spøgelse, angrebet er næsten umuligt at opdage.
Ved udgangen af januar, hardwarefirmaer som Intel, ARM Holdings Plc. og Advanced Micro Devices Inc. havde udgivet mikrokodeopdateringer for at løse sårbarhederne. Virksomhederne arbejdede også med udviklere af operativsystemer, såsom Windows og Linux, at designe og frigive softwareopdateringer. Fejlene var fysiske, del af computerbehandlingshardware. En fuldstændig eliminering af problemet ville kræve ændringer af millioner af computerchips.
I stedet, udviklere og producenter valgte at prøve deres hånd med at rette hardwarefejl med softwareopdateringer. Opdateringerne sænkede ydeevnen og, i nogle tilfælde, gjort systemer ubrugelige, men den koordinerede indsats så ud til at have haft succes med at beskytte sig mod Meltdown og mindske sårbarheden over for et Spectre-angreb.
Verden gik hurtigt videre, men Dmitry Evtyushkin kunne ikke. Han havde kendt til Spectre-lignende processorfejl i årevis. Faktisk, hans forskning havde hjulpet med at kaste lys over dem i første omgang. Og Spectre, ligesom dets navn, stadig lurer derude.
"Forskere er stadig ikke helt sikre på, hvad den reelle effekt af Spectre er, " sagde Evtyushkin, en adjunkt i William &Mary's Department of Computer Science. "De kender ikke det fulde omfang af, hvad de har med at gøre. Der er så mange forskellige processorer og så mange forskellige måder at udnytte denne type sårbarhed på."
Tænk på et Spectre-angreb som en slags sonar inde i en computer. For at se, hvordan behandlingen fungerer, en angriber afviser programmer fra hinanden og kortlægger et billede baseret på disse kollisioner. Angriberen bruger så billedet, samt andre bivirkninger fra kollisionerne, for at få adgang til følsomme data inde i computeren.
"Vi har forskellige processer, der er ansvarlige for forskellige aktiviteter, " sagde Evtyushkin. "Du kan tænke på dem som dine apps. For eksempel, du har din e-mail-klient, din password manager, dine spil. Alle skal isoleres. De skal ikke blande sig i hinanden."
I 2016 mens han afsluttede sin ph.d. på Binghamton University, Evtyushkin og to andre forskere fandt en måde at tvinge processer til at forstyrre. Deres studie, med titlen "Jump Over ASLR:Attacking the Branch Predictor to Bypass ASLR, " var en del af en samling af forskning, der detaljerede processorfejl svarende til dem, der blev vist i undersøgelser om Meltdown og Spectre.
"Jeg opdagede, at det er muligt at skabe kollisioner inde i disse mange domæner, "Evtyushkin sagde, "hvilket bidrager til opdagelsen af hukommelseslayout."
Computersystemer er designet til at gøre et programs hukommelseslayout ekstremt svært at finde. Det er skjult gennem en hærdningsteknik kendt som Address Space Layout Randomization (ASLR). Sikkerhedsforanstaltningen beskytter et programs hukommelsesstruktur ved at randomisere positioner af nøgleprogramkomponenter, hvilket gør det næsten umuligt for en hacker at kende de specifikke adresser, hvor disse komponenter er placeret. ASLR er som en kombination af et pengeskab. Et angreb, der kommer gennem ASLR, ville afsløre hele et programs datastruktur – hver eneste information, den indeholder.
Evtyushkin fandt ud af, at en hacker kunne omgå ASLR ved hjælp af en central komponent af computerchiphardware, Branch Predictor. BP blev introduceret for at få computerprocessorer - eller CPU'er - til at fungere mere effektivt ved at strømline den måde, programmer kører på. Når et program køres, det sendes ad en sti kendt som en gren. Første gang et program køres, processoren kan ikke finde ud af filialens endelige mål. Så den er afhængig af en hardwaremekanisme, BP, som forudsiger et mål baseret på tidligere grenadfærd.
Hvis angribere får adgang til BP, de kan kontrollere, hvordan grene håndteres af processoren og forårsage alle slags kollisioner. En kyndig angriber kan opdage sådanne kollisioner og omgå den randomiseringsbaserede beskyttelse, der skjuler et programs layout.
"Jeg opdagede, at mange mekanismer i nutidens computere er delt mellem forskellige programmer, " sagde Evtyushkin. "En angriber kan udføre kode, der forårsager ændringer inde i interne datastrukturer i hardwaren. Ved at gøre dette, de kan enten opdage greninstruktioner i et offerprogram eller udløse nogle spekulative eksekveringer på en måde, så det begynder at lække sikkerhedsfølsomme data."
I det kontrollerede miljø i laboratoriet, Evtyushkin og hans hold udførte en række angreb gennem BP. I december 2016 holdet offentliggjorde deres resultater. Deres arbejde blev en del af en international forskningsgruppe, der var stor nok til at skabe en bølge af global medieopmærksomhed.
"Denne designfejl var der i lang tid, og jeg har lige opdaget en måde at bruge den på, " sagde Evtyushkin. "Der er andre måder at manipulere spekulativ henrettelse på, som viser sig at være mere alvorlige med hensyn til sikkerhed."
Siden han offentliggjorde sine resultater i 2016, Evtyushkin har fortsat med at forske i Branch Predictors. Hans nuværende fokusområde er en anden del af BP's job:at fortælle programmer, hvilken retning de skal tage. De nærmere specifikationer af hans forskning kan ikke afsløres, før et papir om hans arbejde er udgivet i slutningen af marts. Han sagde, at Intel er blevet underrettet om de fejl, han har opdaget, og gennemgår forskningen, før papiret udgives.
Evtyushkin er ikke optimistisk med hensyn til en hurtig løsning. Han, sammen med snesevis af andre forskere, har brugt de sidste mange år på at fortælle hardwareproducenter, at de skal redesigne deres processorer for at løse sikkerhedsfejl. I øjeblikket, virksomhederne har udgivet et par softwareopdateringer, men hardwaren er ikke blevet opdateret for at løse problemet. Evtyushkin siger, at der skal være en bred, systematisk løsning til at løse flere problemer i moderne hardwaredesign.
"Hele denne kultur med at prioritere præstationer, snarere end sikkerhed, er skyld i, " Evtyushkin sagde. "Der er høj konkurrence i computer hardware produktion. Udviklere ønsker at lave hurtigere chips, så de er nødt til at tilføje aggressiv spekulativ henrettelse. De opgiver sikkerhedstjek for at gøre det hurtigt."
På den lyse side, der er ingen kendte hændelser med angreb af Spectre-typen, men Evtyushkin siger, at et angreb kan forekomme uden selv en kyndig operatørs viden. Et Spectre-angreb kan komme ind gennem utallige forskellige veje, såsom et websted, en fil download, en mobiltelefonapplikation eller en medieafspiller. Når den først er i, det er usynligt.
"Et af problemerne med Spectre er, at det er helt stille, " sagde Evtyushkin. "Du kan ikke se, at der sker noget. Sammenlignet med traditionelle angreb, hvor en applikation normalt går ned, og du kan se skaden, med mikroarkitekturangreb vil du ikke se det eller vide, at det skete."
For at beskytte dig mod enhver form for angreb, Evtyushkin opfordrer til sikker computerpraksis, såsom ikke at udføre upålidelig kode og regelmæssig opdatering af dine systemer.
"Som regel, de personer, der er ansvarlige for disse opdateringer, ved mere om sårbarheder og kan forhåbentlig gøre noget ved det, " sagde Evtyushkin.
Evtyushkin siger, at hans arbejde bringer opmærksomhed, og til sidst vil de nødvendige hardwareopdateringer følge. Han arbejder i øjeblikket med samarbejdspartnere for at udvikle mere systemiske beskyttelsesmetoder, såsom omstrukturering af spekulativ eksekvering og Branch Predictor-hardware for at gøre det mere sikkert og samtidig bibeholde høj ydeevne.
"Denne forskning plejede at blive betragtet som ekstremt nørdet, men nu er offentligheden opmærksom på det, " sagde Evtyushkin. "Det hjælper med at løse problemet, fordi alle ved om det. Det motiverer alle disse store virksomheder til at tage tingene mere seriøst."