Derfor vil processor-sårbarhederne Spectre og Meltdown plage os i månedsvis

Sårbarhederne Meltdown og Spectre rammer de mest udbredte processortyper og vil tage tid at få styr på.
Henrik Larsen, chef for DKCERT
Henrik Larsen, der er chef for DKCERT, skriver hver måned på Computerworld Online om aktuelle it-sikkerhedsspørgsmål. Kommentarerne bringes her, efterhånden som de udkommer.

Året begyndte med et par sårbarheder, som vi kommer til at beskæftige os med i de kommende måneder: Meltdown og Spectre.

Det drejer sig om sårbarheder i de processorer, der indgår i computere, smartphones og andet udstyr omkring os. Dele af dem kan rettes i software, andre kræver hardwareopdateringer.

Både Meltdown og Spectre ligger i processorens mulighed for at forsøge at forudsige, hvad et program vil gøre senere.
Moderne processorer er lynhurtige. Det meste af tiden venter de på at få data at arbejde med.

Ventetiden udnytter de til at afvikle kommandoer, der kommer senere i det program, de er ved at udføre.

Det kan være kommandoer, der kommer efter en valgmulighed: Hvis svaret er ja, skal denne kommando udføres, ellers skal den springes over.

Når en processor på den måde forsøger at afvikle kode, vil den som regel også arbejde med data. Men den forsøgsvise afvikling må naturligvis ikke få indflydelse på data, før det er helt sikkert, at kommandoerne rent faktisk skal gennemføres.

Snuser i cachen

Vor tids processorer henter deres data fra cache-lageret, der igen henter dem fra arbejdslageret.

Sårbarhederne ligger i, at det efterlader spor i cachen, når processoren forsøgsvis afvikler kommandoer. Dermed kan en proces få adgang til data, der tilhører en anden proces.

Meltdown giver således en uprivilegeret proces mulighed for at tilgå data, der tilhører operativsystemets kerne. Det burde ellers være forbudt.

En angriber kan lade processoren afvikle et program, der forsøger at hente data fra kernens dataområde. Derefter skal det skrive en bestemt variabel, hvis en del af de hentede data opfylder et kriterium.

Den indbyggede sikkerhed i processoren forhindrer, at programmet kan køre: Det må ikke tilgå data, der tilhører kernen.

Men sikkerhedssystemet forhindrer ikke, at processoren forsøgsvis prøver at afvikle kommandoerne. Det sørger heller ikke for at slette de foreløbige data, som bliver gemt i cachen.

Derefter prøver det skurkagtige program at læse den variabel, det bad om at få skrevet. Det tager tid på operationen.

Går det hurtigt, blev variablen hentet fra cachen. Det er tegn på, at kriteriet var opfyldt – for eksempel at en bestemt værdi fandtes et sted i kerne-dataene.

Tager det længere tid at hente variablen, findes den ikke i cachen, så kriteriet var øjensynlig ikke opfyldt.

Et side channel-angreb

Der er altså tale om et såkaldt side channel-angreb, hvor man ikke direkte kan tilgå fortrolige data. Men ved at observere andre fakta kan man slutte sig til, hvad de fortrolige data er.

Spectre bygger på lignende metoder. Her er det muligt for en proces at få fat i data fra andre processer.

Man kan beskytte mod Meltdown ved at installere opdateringer til operativsystemet.

Spectre kræver derimod en firmwareopdatering.

Intel udsendte opdateringer tidligere på måneden. Men de viste sig at medføre problemer: Nogle computere begyndte at genstarte.

Firmaet har fundet årsagen til problemerne, og en ny firmware-opdatering skulle være på trapperne.

Vurder risikoen

Før vi går i panik over Meltdown og Spectre, må vi overveje risikobilledet. Hvor realistisk er en fjendtlig udnyttelse af sårbarhederne?

Der er tale om sårbarheder, der kan give adgang til fortrolige data. Vi taler altså ikke om mulighed for at afvikle skadelig programkode.

For at få adgang til dataene skal en proces køre på den sårbare computer. Hvis vi har styr på, hvilken software der kører, kan vi forhindre udnyttelse af sårbarhederne.

Det sidste er sværere, end det lyder. Afvikling af software er blevet et vidt begreb. Kan en webside for eksempel udnytte sårbarheden via Javascript afviklet i en browser?

Risikoen er lille på servere, der kun afvikler en enkelt applikation. Den typiske mail- eller filserver er således ikke i risikozonen – medmindre den kører på sårbar virtualiseringsinfrastruktur.

Netop virtualiserede systemer er oplagte angrebsmål: Hvis angriberen kan afvikle kode på en virtuel maskine, kan koden tilgå data fra andre virtuelle maskiner.

Dermed er cloud-systemer mulige ofre. De store udbydere har da også været hurtige til at opdatere deres systemer.

Svært at rette hardware

Der opdages tusindvis af nye sårbarheder hvert år. Når Meltdown og Spectre vækker så megen opmærksomhed, skyldes det, at de findes i hardware, som er meget udbredt. Derfor er mange potentielt berørt.

Endvidere er det vanskeligt at lukke sikkerhedshuller i hardware: Rettelserne skal distribueres gennem computerproducenterne, der skal få deres kunder til at opdatere firmwaren.

Derfor kommer vi til at beskæftige os med Meltdown og Spectre i adskillige måneder endnu.

Sikkerhedsopdateringerne kan medføre, at systemer kører langsommere. Derfor er det værd at foretage en risikovurdering, før man installerer dem.

Mit råd lyder: Sæt jer ind i sårbarhederne og den skade, de kan medføre. Foretag en risikovurdering, og brug den som grundlag for at beslutte, hvad I skal gøre.

Læs mere


Oprindelig bragt på Computerworld Online den 26. januar 2018