Meltdown og Spectre: Enorme sikkerhedshuller fundet i CPU'er

Illustration: Beebright/Bigstock
Fejl i hardware kan give mulighed for at læse privilegeret hukommelse, med adgang til kodeord og anden fortrolig information.

Tirsdagens rygter angående et alvorligt sikkerhedshul i Intel-processorer blev bekræftet sent onsdag aften dansk tid, da et større hold af sikkerhedsforskere fra Googles Project Zero sammen med universiteter i Østrig, USA samt Australien, tillige med flere sikkerhedfirmaer, frigav fulde detaljer omkring to sårbarheder, som holdet bag kalder for 'Meltdown' og 'Spectre'.

Ifølge Googles sikkerhedsblog berører sårbarhederne mange CPU'er, inklusive dem fra Intel, ARM og AMD, samt enheder og styresystemer på enhederne.

Storbritanniens nationale center for cybersikkerhed skriver i en meddelelse, at der på nuværende tidspunkt ikke er tegn på ondsindet udnyttelse af sårbarhederne.

Universitetet i Graz i Østrig, som indgår i holdet bag afsløringen, har flere oplysninger på et website til formålet, Spectreattack.com.

Ifølge universitet udnytter Meltdown og Spectre kritiske sårbarheder i processorer. Disse hardwarefejl gør det muligt for programmer at stjæle data, som behandles på computeren. Malware kan benytte de to sårbarheder til at læse data i hukommelse, der håndteres af andre programmer. Disse data kan indeholde adgangskoder, samt alle andre typer af fortrolig information og kommunikation.

Googles sikkerhedshold Project Zero har offentliggjort en teknisk analyse af de to sårbarheder.

Meltdown

Sårbarheden med navnet Meltdown nedbryder den mest fundamentale isolering mellem brugerens programmer og styresystemet, skriver universitet i Graz. Sårbarheden tillader et program at tilgå den hukommelse, som ejes af styresystemet og andre programmer, inklusive kodeord og andre fortrolige oplysninger.

Det er stort set alle Intel-chips fabrikeret siden 1995, som er udsat for sårbarheden. Gruppen bag forskningen har indtil videre bekræftet tilstedeværelsen på Intel-processorer. Universitet oplyser også, at der er fejlrettelser til Meltdown-sårbarheden til Linux, Windows og OS X.

Meltdown-sårbarheden er nærmere beskrevet i denne artikel af forskerholdet.

Spectre

Den anden sårbarhed, med navnet Spectre, nedbryder isolationen mellem forskellige programmer. Det gør det muligt for en angriber at snyde fejlfri programmer til at lække hemmeligheder. Spectre er sværere at udnytte end Meltdown, men tillige også sværere at imødegå. Det er dog muligt at forebygge specifikke kendte sårbarheder, som bygger på Spectre, med softwareopdateringer.

Spectre er nærmere beskrevet i denne artikel af forskerholdet.

Intel: Sårbarheder kan ikke korrumpere, ændre eller slette data

Intel har i en meddelelse på sit website svaret på forskerholdets underretninger:

»Intel og andre teknologifirmaer er blevet gjort bekendt med den nye sikkerhedsforskning, der beskriver software-analysemetoder som, når de benyttes med ondsindede hensigter, giver mulighed for på forkert måde at indsamle følsomme data fra computerenheder, der ellers fungerer, som de skal. Intel mener, at disse sårbarheder ikke er i stand til at korrumpere, ændre eller slette data« skriver firmaet.

Firmaet mener ikke at der er tale om en fejl, som kun findes i Intel-produkter:

»Baseret på analysen indtil videre, er mange slags computer-enheder - med mange forskellige leverandørers processorer og styresystemer - følsomme overfor disse angreb.«

Intel har ifølge meddelelsen startet på at tilvejebringe software og firmware, som kan imødegå truslerne.

»I modsætning til visse rapporter er indflydelsen på ydelse afhængig af arbejdsbyrden, og for den almindelige bruger skulle den ikke være væsentlig og vil blive udbedret over tid,« skriver firmaet videre.

Intel skriver tillige, at firmaet og andre leverandører havde planlagt at offentliggøre problematikken i næste uge, hvor flere software- og firmware-opdateringer vil være tilgængelige, men at Intel har valgt at komme med sin meddelelse i dag på grund af »unøjagtige rapporteringer i medierne.«

AMD: Risiko tæt på nul

I en meddelelse til flere amerikanske medier skriver chip-firmaet AMD, at selskabets CPU'er er minimalt berørt af sårbarhederne.

»Truslen og modsvaret til de tre varianter (af sårbarheden, red.) er forskellig i forhold til processor-firmaer, og AMD er ikke påvirkelige af alle tre varianter. På grund af forskelle i AMD's arkitektur mener vi, at der er en risiko tæt på nul for AMD-processorer på nuværende tidspunkt.«

Meddelesen blev givet før de fulde detaljer om sårbarhederne var offentliggjort.

Microsoft: Windows-opdateringer er udsendt

I en email til det amerikanske medie CNBC meddeler Microsoft, at firmaet har udsendt opdateringer til Windows, som skal beskytte kunderne mod sårbarhederne.

»Vi har kendskab til dette problem, som berører hele industrien, og har arbejdet tæt sammen med chip-producenterne for at udvikle og teste imødegåelser for at beskytte vores kunder. Vi er i gang med processen, der går ud på at udrulle disse imødegående foranstaltninger til sky-tjenester og har også udsendt sikkerhedsopdateringer for at beskytte Windows-kunder mod sårbarheder, som berører de understøttede chips fra Intel, ARM og AMD.«

Læk banede vej for tidlig offentliggørelse

Ifølge et indlæg på Googles sikkerhedsblog var offentliggørelsen af sårbarhederne programsat til d. 9. januar, en dato som var aftalt imellem de involverede parter. På grund af læk og spekulation i medier og i sikkerhedsmiljøet, valgte Google og at gå ud med opdagelsen sent onsdag aften dansk tid.

Sårbarheden blev ifølge indlægget fundet før årsskiftet. Jann Horn, som er sikkerhedsforsker fra Googles Project Zero, fandt at det var muligt at udnytte den såkaldte 'spekulative udførelse', som er en teknik de fleste moderne CPU'er benytter til at optimere ydelsen.

Sårbarheden kan udnyttes til at læse systeminformation, som burde være utilgængelig. En angriber kunne læse følsomme oplysninger fra hukommelsen, så som kodeord, krypteringsnøgler eller følsomme oplysninger i kørende programmer.

Test viste også, at et angreb fra en virtuel maskine var i stand til at tilgå værtsmaskinens fysiske hukommelse, og på denne vis opnå læseadgang til en anden virtuel maskine på samme værtssystem.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (17)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Peter Hansen

ARM er den ikke helt forskellige fra Intels cpu'er ?


Det er AMD vel også.

Det er SPECTRE-sårbarheden, der påvirker såvel Intel som AMD og ARM, da denne udnytter en generisk egenskab ved moderne CPU'er relateret til spekulativ eksekvering. Som jeg har forstået det, er SPECTRE dog ikke en sårbarhed, der endnu har kunnet udnyttes i PoC-kode, der fører til decideret kompromittering af data i modsætning til MELTDOWN, som kun påvirker Intel-CPU'er.

Morten Brørup

Ifølge ARM er også deres CPU'er omfattet. Her er listen af ARM CPU'er, der har tilsvarende problemer.

Så det er lige stramt nok kun at nævne Intel i overskriften. Og for at citere artiklen: "Firmaet mener ikke at der er tale om en fejl, som kun findes i Intel-produkter"... og det er jo ikke bare en påstand, men sandheden.

mvh
Morten Brørup
CTO, SmartShare Systems

Troels Arvin

Mht. https://gist.github.com/ErikAugust/724d4a969fb2c6ae1bbd7b2a9e3d4bb6:
Hvordan tester man, at patches (dvs. workarounds) fungerer? Når jeg kører spectre-testeren efter patching af en RHEL 7 server, så bliver den ved med at se ud til at være ramt, men det er vel fordi, at nævnte detektionskode blot tester, om hardware'en er udsat eller ej -- og ikke, om operativsystemet er blevet korrekt patch'et.

Jacob Pind

du kan ikke patch spectre , det er et side channel timing attack, mod selve hardware cachen.

Eneste man kunne gøre er at fjerne den upriviligeret access til højepræcise timer fra userspace , er hvad browserne gør nu de sænker præcision på timer bla.
For x86 preformances timer men de er jo accessable fra userspace, og selv uden dem er der andre måder at time det på.

Troels Arvin

Jacob: Den er jeg med på. Men ikke desto mindre udsender operativsystem-leverandørerne patches (som så er workarounds). Mit spørgsmål gik derfor på, hvordan man validerer, at workaround'et har virket.

(spectre-programmet, som du link'ede til, giver for mig samme output før og efter patching og kan derfor tilsyneladende ikke bruges til at validere, at et givent system er blevet sikret.)

Sune Marcher

Jacob: Den er jeg med på. Men ikke desto mindre udsender operativsystem-leverandørerne patches (som så er workarounds). Mit spørgsmål gik derfor på, hvordan man validerer, at workaround'et har virket.


Workaround beskytter mod Meltdown (fuld adgang til fysisk hukommelse), ikke Spectre (adgang til andre usermode processers hukommelse - og fra JavaScript som minimum adgang til browserens hukommelse).

Baldur Norddahl

Spectre (adgang til andre usermode processers hukommelse)

Spectre giver ikke adgang til andre processer. Den giver adgang til samme process. I et normalt program er det ligegyldigt, da programmet i forvejen har adgang til hele programmets allokerede hukommelse. Men hvis programmet eksempelvis er en webbrowser, så giver Spectre mulighed for at javascript kode får adgang til hele browserens hukommelsesområde, herunder kodeord og data fra andre websider.

Nogle browserproducenter har løst problemet ved at køre Javascript i en separat process.

Spectre kan også imødegås af compileren ved at problematiske konstruktioner genkendes og ændres en smule. Efter sigende er der stort set intet performancetab ved denne metode.

Baldur Norddahl

Mit spørgsmål gik derfor på, hvordan man validerer, at workaround'et har virket.

Fikset imod Meltdown er at ændre hukommelsesmodellen, så at processer ikke kan adressere andre processers eller operativsystemets hukommelse.

CPUen bruger en tabel som oversætter adresser fra "virtuel" hukommelse til fysiske adresser. Det er denne tabel der muliggør at man kan swappe hukommelse ud til en swapfil. Ved at sørge for at tabellen ikke indeholder fysiske adresser, som processen ikke har adgang til, så bliver det umuligt at adressere disse fysiske adresser.

Meltdown er der stadig men den er nu det samme som Spectre. Du kan stadig læse data fra vilkårlige adresser på en forkert måde. Men du kan ikke aflure andre programmer eller OS'et, når du ikke kan adressere den fysiske hukommelse med deres data.

Sune Marcher

Jeg havde overset en mail-notifikation, så det her svar er lidt sent - men better late than never ;-)

Spectre giver ikke adgang til andre processer. Den giver adgang til samme process.


Forkert.

Same-process Javascript er ét af attack scenarierne, men der er også cross-process med native kode. Det er dog sværere at exploite end Meltdown, da du skal kende lokationen af en påvirkbar kodesekvens i victim process. Hvis du har adgang til at læse process hukommelse for at scanne efter den, ville du også være i stand til bare at dumpe memory direkte - men, fra Spectre paper:

"We created a simple victim program that contains secret data within its memory access space. Next, after compiling the victim program we searched the resulting binary and the operating system’s shared libraries for instruction sequences that can be used to leak information from the victim’s address space. Finally, we wrote an attacker program that exploits the CPU’s speculative execution feature in order to execute the previously-found sequences as transient instructions. Using this technique we were able to read the entire victim’s memory address space, including the secrets stored within it".

Log ind eller Opret konto for at kommentere
Pressemeddelelser

Welcome to the Cloud Integration Enablement Day (Bring your own laptop)

On this track, we will give you the chance to become a "Cloud First" data integration specialist.
15. nov 2017

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 2017

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017
Jobfinder Logo
Job fra Jobfinder