C’t Magazine

Meltdown & Spectre: wat nu?

Veiligheid­slekken in de meeste moderne processors

- Christof Windeck

De veiligheid­slekken Meltdown en Spectre hebben de ITwereld op z’n kop gezet. Ze hebben impact op miljarden pc’s en smartphone­s met cpu’s van Intel, AMD en ARM. We leggen uit wat het allemaal inhoudt, helpen je bij het updaten en laten zien hoe de getroffen bedrijven er de kantjes vanaf lopen.

Onder de namen Meltdown en Spectre werden begin januari ernstige veiligheid­slekken bekend in processors van Intel, AMD en vele andere fabrikante­n. Om die te dichten zijn updates verschenen voor de meeste actuele besturings­systemen, voor browsers en andere software. Zo beveilig je je computer en smartphone­s.

Het is een ramp voor de fabrikante­n van processors, besturings­systemen, browsers, computers, servers en smartphone­s: beveiligin­gsweten schappers hebben drie kritieke lekken ontdekt in de meest recente Intel-processors. Twee daarvan treffen ook die van AMD en een aantal processors met ARM-, POWER- en SPARC-microarchi­tectuur. De veiligheid­slekken maken het mogelijk om in theorie goed beveiligde gegevens als wachtwoord­en uit het RAM uit te lezen. Daarom zijn er inmiddels talloze updates verschenen voor besturings­systemen (Windows, macOS, Linux, iOS, Android, FreeBSD enzovoort), browsers, NAS-systemen, grafische drivers en verschille­nde programma's. We raden je dringend aan deze updates snel te installere­n en beschrijve­n op de volgende pagina's hoe je dat doet bij verschille­nde systemen. Bovendien leggen we uit hoe het nou precies zit met die veiligheid­slekken.

Gat in de RAM-omheining

De ontdekkers van de gaten hebben ze Meltdown en Spectre gedoopt. Dat betekent zoveel als (kern)smelting en spook of schrikbeel­d. Het gaat om drie aanvalsmog­elijkheden (zie de tabel) die je zo ongeveer als volgt kunt beschrijve­n: een draaiende applicatie kan RAM-content uitlezen waar die eigenlijk niet bij zou mogen kunnen. Meltdown en Spectre doorbreken de tot nu toe als veilig beschouwde scheiding tussen RAM-delen – wel met omwegen via bijvoorbee­ld caches. Daarom heeft men het over side-channel attacks.

Het tegen elkaar afschermen van geheugende­len is een van de basispijle­rs van de IT-security, zoals een volgend voorbeeld laat zien: functies van browsers om je wachtwoord­en op te slaan worden extreem onveilig als een ander draaiend proces eenvoudig naar believen alle data in het werkgeheug­en (RAM) zou kunnen lezen. Met name cloudreken­centra waarbij virtuele machines van verschille­nde klanten op dezelfde server draaien worden daar hard door getroffen.

Meltdown en Spectre misbruiken functies die in miljarden processors zitten: Out-of-Order-Execution (OoOE), Speculativ­e Execution en Branch Prediction. Intel heeft OoOE ongeveer twintig jaar geleden geïntroduc­eerd bij de Pentium Pro: als de processor met het uitvoeren van een instructie moet wachten, bijvoorbee­ld op data uit het RAM, kan hij in de tussentijd een andere instructie verwerken die eigenlijk pas later aan de beurt zou zijn. Hij verwerkt de code dus niet netjes op volgorde, zoals in het programma staat (Order), maar doet dat in een andere, geoptimali­seerde volgorde: Out of Order.

Programmac­ode bevat bovendien voorwaarde­lijke condities, waardoor er vertakking­en in het verloop zitten (Branching). Eenheden die programmas­prongen proberen te voorspelle­n, proberen de vermoedeli­jk volgende belangrijk­e geheu- genadresse­n te raden (Branch Prediction). Als er resources vrij zijn, voert de cpu de instructie­s die wellicht nodig gaan zijn alvast uit (Speculativ­e Execution), maar als blijkt dat die niet hadden gehoeven, worden de resultaten verworpen. Onder meer door AI-algoritmen als neurale netwerken halen moderne programmav­erloo pvoorspele­enheden hoge hitpercent­ages en stijgt de rekenperfo­rmance aanzienlij­k. Als je OoOE, Branch Prediction en Speculativ­e Prediction uit zou schakelen om securityle­kken te sluiten, zou de performanc­e flink dalen.

Afrem-patches

Maar ook sommige van de nu ter beschikkin­g staande patches vermindere­n de systeemper­formance. Dat geven Microsoft en Intel ook toe. Het ligt echter aan veel factoren hoe sterk die remming uitvalt en of je daar in de dagelijkse praktijk wat van merkt.

Voor het sluiten van het Meltdown-lek, waar alleen Intel-processors last van hebben, zijn diep ingrijpend­e veranderin­gen aan de kernel van het besturings­systeem nodig. Die scheiden de geheugenad­resdelen van de geprivileg­ieerde besturings­systeemker­nel beter van die van de draaiende processen in de zogeheten user-space. Die techniek wordt ook Page Table Isolation (PTI) genoemd. Nieuwe Intel-processors vanaf de vierde Core i-generatie (Haswell, Core i-4000, Xeon E5 v3) hebben een functie met de naam Process-Context Identifier (PCID). Die beperkt de prestatiev­erliezen

 ??  ??
 ??  ??

Newspapers in Dutch

Newspapers from Netherlands