Chips kan vara sårbara för Spectre och Meltdown-attacker

Songsak Wilairit / EyeEm





Skadlig programvara utgör ett ständigt hot mot det moderna livet och attackerar allt från databaser och kameror till e-handel, kraftverk och sjukhus. I sina mer lömska former kan skadlig programvara stjäla känslig information utan att någon vet att en läcka har ägt rum.

Kampen mot dessa attacker vilar på ett viktigt antagande: att lämpligt kraftfull och väldesignad programvara kan garantera säkerheten för all information. Faktum är att stora cybersäkerhetsföretag är baserade på denna idé.

Men idag säger Ross McIlroy och kollegor på Google att detta antagande är farligt fel. Deras arbete fokuserar på en ny generation av skadliga attacker som har tvingat dem att ompröva cybersäkerhetens natur och hur den fungerar.



De nya attackerna, kända som Spectre och Meltdown, har studerats sedan början av 2018. Men deras bredare betydelse blir först nu klar.

Googles chockerande upptäckt är att de utnyttjar en grundläggande brist i hur informationsprocessorer fungerar. Och på grund av detta kanske säkerhetsexperter aldrig kan skydda dessa enheter – inte ens i princip.

Google-teamet säger att hotet påverkar alla chiptillverkare, inklusive Intel, ARM, AMD, MIPS, IBM och Oracle. Denna klass av brister är djupare och mer spridda än kanske något säkerhetsbrist i historien, och påverkar miljarder processorer i produktion över alla enhetsklasser, säger McIlroy och co.



Tidigare har skadlig programvara tenderat att utnyttja dåligt utformad kod och de fel den innehåller. Dessa fel ger illvilliga aktörer sätt att störa beräkningar eller få tillgång till konfidentiell information. Så ett viktigt tillvägagångssätt är att fixa dessa fel med programvarukorrigeringar innan de kan utnyttjas.

Men när felet ligger i grunden för datordesign, erbjuder programvarukorrigeringar ett magert skydd. Utmaningen är att själva beräkningens natur tillåter information att läcka via mekanismer som kallas sidokanaler.

Ett exempel på en sidokanal är de blinkande lamporna på ett modem, router eller till och med en PC. Olika säkerhetsforskare har påpekat att blinkningen är korrelerad med dataöverföring och att en illvillig aktör helt enkelt kan titta på blixtarna för att avlyssna. Säkerhetsforskare har faktiskt visat liknande attacker med en förvirrande mängd sidokanaler, inklusive energiförbrukning, mikrofoner och högupplösta kameror.



Det nya hotet är mer lömskt eftersom det finns i gränssnittet mellan hårdvara och mjukvara, känd som maskinarkitekturen. På denna nivå behandlar en processor alla programmeringsspråk på samma sätt. Den kör kommandon efter varandra utan hänsyn till vilket program som begärde dem.

Datavetare har alltid antagit att dessa kommandon kan separeras på ett sätt som garanterar konfidentialitet. Tanken är att någon lämpligt avancerad programvara borde kunna samla kommandona på ett sätt som håller dem åtskilda.

Men Google-teamets nyckelresultat är att visa att detta antagande är fel. En processor kan inte se skillnad på ett bra kommando och ett skadligt kommando – inte ens i princip. Så om ett kommando säger åt den att skicka information till ett område i minnet som lätt kan nås senare, lyder maskinen.



Det är lätt att föreställa sig att detta kan förhindras med programvara som skiljer bra kommandon från dåliga. Men Google-teamet visar att detta bara lägger till ytterligare ett lager av komplexitet till utmaningen, tillsammans med en ny uppsättning potentiella sidokanaler.

För att visa hur många hot som finns konstruerade Google-teamet en universell läs-gadget. Detta är den ultimata avlyssnaren – en rutin som kan läsa allt adresserbart minne i en processor, okänd för användaren.

Det är inte på något sätt en perfekt mjukvara. Det fungerar ibland probabilistiskt och kan därför misslyckas. Men det finns inget sätt att hindra det från att fungera när det gör det.

McIlroy och co skapade fyra varianter av denna gadget. Vi utvecklade proof of concept i C++, JavaScript och WebAssembly för alla rapporterade sårbarheter, säger teamet. De fann att dessa lästa prylar läckte information med hastigheter på upp till 2,5 kilobyte per sekund.

Variant 4 av den universella läsgadgeten är särskilt oroande. McIlroy och co säger att de inte kunde hitta ett effektivt sätt att bekämpa det eller minska dess hot. Vi tror inte att variant 4 kan mildras effektivt i mjukvara, säger de.

Teamets försök att bekämpa dessa attacker hade en betydande inverkan på datorprestanda. Till exempel ledde en form av begränsning för den första varianten av den universella läs-gadgeten till en 2,8X nedgång, mätt med ett Java-benchmarkingprogram som heter Octane.

Under det senaste året har Intel gjort om sina chips i ett försök att mildra de allvarligaste hoten från Spectre och Meltdown-attacker. Men detta har enligt uppgift kommit till priset av en prestandaminskning på upp till 14 %. Och det är osannolikt att ändringarna är felsäkra.

En anledning till Googles oro är hotet mot e-handel. Det är inte svårt att föreställa sig en attack som avslöjar de kryptografiska nycklar som används för att säkra transaktioner och därigenom tillåter storskalig stöld.

Så företaget har redan skickat versioner av Chrome med de första försvarslinjerna. Utgåvorna 64 till 67 förhindrar attacker i webbläsaren via JavaScript.

Men hotet går mycket djupare. Många av problemen uppstår på grund av den komplexa arkitekturen hos enheter baserade på immateriella rättigheter som är noggrant bevakad.

Denna komplexitet är i sig en del av problemet. Designen är baserad på abstrakta modeller som har blivit mer komplexa i takt med att tillverkare har strävat efter målet om snabbare beräkning. McIlroy och co visar att dessa abstrakta modeller alltid har sidokanaler som finns utanför modellen. Vi har upptäckt att otillförlitlig kod kan konstruera en universell läs-gadget för att läsa allt minne i samma adressutrymme genom sidokanaler, säger de. Detta utsätter godtyckliga minnesdata i riskzonen, till och med data 'i vila' som för närvarande inte är inblandade i beräkningar och som tidigare ansågs säkra från sidokanalattacker.

Det finns dock lite goda nyheter. Hittills finns det inga kända attacker som utnyttjar Spectre eller Meltdown. För tillfället är hotet begränsat till labbet av cybersäkerhetsforskare som McIlroy och hans kollegor.

Men det ger liten komfort för chiptillverkare och säkerhetsexperter. Det är inte svårt att föreställa sig att illvilliga aktörer – inklusive statligt sponsrade team – kan utveckla sätt att utnyttja denna sårbarhet. Det här är ett problem, som McIlroy och co säger, som verkar vara avsett att förfölja oss under lång tid.

Ref: arxiv.org/abs/1902.05178 : Spectre är här för att stanna: en analys av sidokanaler och spekulativt utförande

Dölj