Kredit:CC0 Public Domain
"Spectre" var et forudseende navn for processorsårbarheden, der udnytter spekulativ eksekvering. Siden den første opdagelse i januar, 2018, der er fundet mindst tre varianter af angrebet.
Nu, en gruppe dataloger fra Bourns College of Engineering ved UC Riverside, der har været involveret i nogle af disse opdagelser, har afsløret en potentielt ustoppelig version kaldet SpectreRSB.
SpectreRSB virker immun over for kendte forsvar mod andre Spectre-varianter, herunder Retpoline og Intels mikrokodepatches under nogle angrebsscenarier.
Alle moderne computerprocessorer bruger en proces kendt som spekulativ udførelse for at fuldføre operationer med større hastighed. Processoren forudsiger, hvad det næste trin vil være, og udfører det trin, når informationen til at bestemme dette trin ikke er tilgængelig.
Det fungerer på samme måde som samlebånd på fabrikker. I programmer, de fleste instruktioner udføres én efter én, gør rørledningen enkel. Imidlertid, nogle instruktioner udfordrer pipelinen:vi ved ikke, hvor den næste instruktion kommer fra, før pipelinen er færdig med at udføre den forrige instruktion.
Det er, som om en Jeep er klar til at rulle af samlebåndet, og arbejderne skal vente, til den er færdigmonteret, før de opdager, hvad den næste bil, der skal samles, bliver, får rørledningen til at holde op med at fungere.
For at omgå disse forsinkelser, når computeren har afsluttet en handling, men ikke har instruktioner, hvad der skal gøres næste gang, spekulation undgår at stoppe rørledningen. Hvis processoren forudsiger korrekt, det holder rørledningen travlt med at udføre nyttigt arbejde. Hvis forkert, det dumper dataene og genstarter beregningen. Rørledningen ville have været ledig alligevel, og ingen ydeevne går tabt.
En anden måde at tænke på det er som en gæst, der beder dig om at bringe dem en sodavand. Du åbner køleskabet og ser flere slags. I stedet for at vente på instruktioner fra din gæst, du forudser, at de vil have cola. Hvis du har ret, du har sparet kræfter. Hvis forkert, du går tilbage til køleskabet og får den rigtige.
Spekulativ henrettelse, kombineret med beslægtede teknikker såsom ud-af-ordre behandling, resultere i flere gange øget processorydelse.
Under spekulation, processoren kan midlertidigt få adgang til områder af sin hukommelse, der normalt er sikkert adskilt fra al computerhardware. Computerdesignere mente, at dette var sikkert, da enhver sådan adgang ville blive kasseret, efterlader ingen eksponering. Men de spekulativt tilgåede data efterlader et spor, der kan bruges til at afsløre disse data.
Da den første Spectre-variant blev opdaget tidligere i 2018, Google udviklede en patch kaldet Retpoline, der sikrer regioner, hvor der træffes spekulative beslutninger, kendt som grenprædiktorer. Intel skabte også patches, der forhindrer, eller give programmører værktøjer til at forhindre, nogle varianter af angrebene.
Den nye variant rapporteret af UC Riverside-gruppen udnytter returstackbufferen, hvilke gemmer adresser processoren skal vende tilbage til, efter at den har afsluttet en operation.
SpectreRSB virker ved at indsætte den forkerte returadresse, eller sletning af adresser, i returstabelbufferen. Ved at kontrollere returadresserne, en angriber kan også kontrollere spekulationsadresserne, henviser dem til hemmelige oplysninger.
De patches, der er tilgængelige til dato, beskytter kun spekulation på grenens forudsigere. Fordi SpectreRSB går ind gennem returstackbufferen i stedet for grenprædiktorerne, de tilgængelige patches kan muligvis ikke stoppe det.
Papiret anbefaler, at alle processorer inkorporerer en patch kendt som RSB refilling, som indsætter en dummy-adresse i stackbufferen for at forhindre angrebet. Intels Core i7-processorer fra Skylake, kaldet Skylake+, inkorporerer RSB-genfyldning, men ældre modeller og forskellige processorlinjer, såsom Intels Xeon, som er den primære platform, der bruges på Intel-baserede cloud computing-systemer og -servere, lade være med, og forbliver sårbare over for SpectreRSB.
Angreb i spekterklasse kræver sofistikerede angribere, som allerede har adgang til at køre på offermaskinen. Patcherne beskytter mod denne sårbarhed.
Avisens forfattere er ph.d.-studerende Esmaiel Mohammadian Koruyeh og Khaled Khasawneh, sammen med Chengyu Song og Nael Abu-Ghazaleh, som begge er professorer i datalogi og teknik. Deres papir, "Spectre vender tilbage! Spekulationsangreb ved hjælp af Return Stack Buffer, " er tilgængelig på arxiv.org og vil blive vist i Usenix Security-workshoppen om offensive teknologier i august 2018.
I 2016 Abu-Ghazaleh og samarbejdspartnere Dmitry Ponomarev fra Binghamton University, Dmitry Evtyushkin fra College of William and Mary, og Ryan Riley fra Carnegie Mellon University karakteriserede sårbarhederne i brancheprædiktoren, som er kernen i Spectre variant 2. Tidligere i 2018 identificerede gruppen branchscope, et angreb, der gør det muligt for angribere at kontrollere en anden komponent af grenprædiktoren. For at imødegå disse trusler, Abu-Ghazaleh, Ponomarev, Evtyushkin, og Chengyu Song udviklede SafeSpec, en designtilgang til fremtidige processorer for at eliminere spekulationssårbarheder.