Kredit:CC0 Public Domain
"Spectre" var ett förutseende namn på processorsårbarheten som drar fördel av spekulativ exekvering. Sedan den första upptäckten i januari, 2018, minst tre varianter av attacken har hittats.
Nu, en grupp datavetare vid Bourns College of Engineering vid UC Riverside som har varit involverade i några av dessa upptäckter har avslöjat en potentiellt ostoppbar version som kallas SpectreRSB.
SpectreRSB verkar immun mot kända försvar mot andra Spectre-varianter inklusive Retpoline och Intels mikrokodpatchar under vissa attackscenarier.
Alla moderna datorprocessorer använder en process som kallas spekulativ exekvering för att slutföra operationer med högre hastighet. Processorn förutsäger vad nästa steg kommer att vara och exekverar det steget när informationen för att fastställa det steget inte är tillgänglig.
Det fungerar på samma sätt som löpande band i fabriker. I program, de flesta instruktioner exekveras en efter en, gör pipelinedriften enkel. Dock, några instruktioner utmanar pipelinen:vi vet inte var nästa instruktion kommer ifrån förrän pipelinen avslutar exekveringen av den föregående instruktionen.
Det är som om en Jeep är redo att rulla av löpande bandet och arbetarna måste vänta tills den är färdigmonterad innan de upptäcker vad nästa bil att montera kommer att bli, vilket gör att rörledningen slutar fungera.
För att komma runt dessa förseningar, när datorn har slutfört en operation men inte har instruktioner vad den ska göra härnäst, spekulation undviker att stoppa pipelinen. Om processorn förutsäger korrekt, det håller pipelinen sysselsatt med nyttigt arbete. Om felaktigt, den dumpar data och startar om beräkningen. Rörledningen skulle ha varit ledig ändå, och ingen prestation går förlorad.
Ett annat sätt att tänka på det är som en gäst som ber dig att ge dem en läsk. Du öppnar kylen och ser flera sorter. Istället för att vänta på instruktioner från din gäst, du förutspår att de kommer att vilja ha cola. Om du har rätt, du har sparat ansträngning. Om fel, du går tillbaka till kylen och får den rätta.
Spekulativ avrättning, kombinerat med relaterade tekniker som bearbetning i oordning, resultera i flera gånger högre processorprestanda.
Under spekulationer, processorn kan tillfälligt komma åt delar av sitt minne som vanligtvis är säkert åtskilda från all datorhårdvara. Datordesigners trodde att detta var säkert, eftersom all sådan åtkomst skulle förkastas, lämnar ingen exponering. Men de spekulativt tillgängliga data lämnar ett spår som kan användas för att exponera dessa data.
När den första Spectre-varianten upptäcktes tidigare 2018, Google utvecklade en patch som heter Retpoline som säkrar regioner där spekulativa beslut fattas, känd som grenprediktorer. Intel skapade också patchar som förhindrar, eller ge programmerare verktyg för att förhindra, några varianter av attackerna.
Den nya varianten som rapporterats av UC Riverside-gruppen utnyttjar returstackbufferten, vilka lagrar adresser som processorn måste återgå till efter att den har avslutat en operation.
SpectreRSB fungerar genom att infoga fel returadress, eller radera adresser, i returstackbufferten. Genom att kontrollera returadresserna, en angripare kan också kontrollera spekulationsadresserna, hänvisar dem till hemlig information.
De patchar som är tillgängliga hittills skyddar spekulation endast på grenprediktorerna. Eftersom SpectreRSB går in genom returstackbufferten istället för grenprediktorerna, de tillgängliga patcharna kanske inte kan stoppa det.
Tidningen rekommenderar att alla processorer införlivar en patch som kallas RSB-påfyllning, som infogar en dummy-adress i stackbufferten för att förhindra attacken. Intels Core i7-processorer från Skylake, kallas Skylake+, inkluderar RSB-påfyllning men äldre modeller och olika processorlinjer, såsom Intels Xeon som är den primära plattformen som används på Intel-baserade molnbaserade datorsystem och servrar, låt bli, och förblir sårbara för SpectreRSB.
Spekterklassattacker kräver sofistikerade angripare som redan har tillgång till att köra på offermaskinen. Patcharna skyddar mot denna sårbarhet.
Tidningens författare är doktoranderna Esmaiel Mohammadian Koruyeh och Khaled Khasawneh, tillsammans med Chengyu Song och Nael Abu-Ghazaleh, som båda är professorer i datavetenskap och teknik. Deras papper, "Spectre återvänder! Spekulationsattacker med returstackbufferten, " finns tillgänglig på arxiv.org och kommer att dyka upp i Usenix Security-workshopen om stötande teknologier i augusti 2018.
2016, Abu-Ghazaleh och medarbetare Dmitry Ponomarev från Binghamton University, Dmitry Evtyushkin från College of William and Mary, och Ryan Riley från Carnegie Mellon University karakteriserade sårbarheterna hos grenprediktorn som är kärnan i Spectre variant 2. Tidigare under 2018 identifierade gruppen branchscope, en attack som gör det möjligt för angripare att kontrollera en annan komponent i grenprediktorn. För att motverka dessa hot Abu-Ghazaleh, Ponomarev, Evtyushkin, och Chengyu Song utvecklade SafeSpec, en designstrategi för framtida processorer för att eliminera spekulationssårbarheter.