Meltdown & Spectre: wat nu?
Veiligheidslekken in de meeste moderne processors
De veiligheidslekken Meltdown en Spectre hebben de ITwereld op z’n kop gezet. Ze hebben impact op miljarden pc’s en smartphones 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 veiligheidslekken bekend in processors van Intel, AMD en vele andere fabrikanten. Om die te dichten zijn updates verschenen voor de meeste actuele besturingssystemen, voor browsers en andere software. Zo beveilig je je computer en smartphones.
Het is een ramp voor de fabrikanten van processors, besturingssystemen, browsers, computers, servers en smartphones: beveiligingsweten 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-microarchitectuur. De veiligheidslekken maken het mogelijk om in theorie goed beveiligde gegevens als wachtwoorden uit het RAM uit te lezen. Daarom zijn er inmiddels talloze updates verschenen voor besturingssystemen (Windows, macOS, Linux, iOS, Android, FreeBSD enzovoort), browsers, NAS-systemen, grafische drivers en verschillende programma's. We raden je dringend aan deze updates snel te installeren en beschrijven op de volgende pagina's hoe je dat doet bij verschillende systemen. Bovendien leggen we uit hoe het nou precies zit met die veiligheidslekken.
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 schrikbeeld. Het gaat om drie aanvalsmogelijkheden (zie de tabel) die je zo ongeveer als volgt kunt beschrijven: 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 bijvoorbeeld caches. Daarom heeft men het over side-channel attacks.
Het tegen elkaar afschermen van geheugendelen is een van de basispijlers van de IT-security, zoals een volgend voorbeeld laat zien: functies van browsers om je wachtwoorden op te slaan worden extreem onveilig als een ander draaiend proces eenvoudig naar believen alle data in het werkgeheugen (RAM) zou kunnen lezen. Met name cloudrekencentra waarbij virtuele machines van verschillende 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), Speculative Execution en Branch Prediction. Intel heeft OoOE ongeveer twintig jaar geleden geïntroduceerd bij de Pentium Pro: als de processor met het uitvoeren van een instructie moet wachten, bijvoorbeeld 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, geoptimaliseerde volgorde: Out of Order.
Programmacode bevat bovendien voorwaardelijke condities, waardoor er vertakkingen in het verloop zitten (Branching). Eenheden die programmasprongen proberen te voorspellen, proberen de vermoedelijk volgende belangrijke geheu- genadressen te raden (Branch Prediction). Als er resources vrij zijn, voert de cpu de instructies die wellicht nodig gaan zijn alvast uit (Speculative Execution), maar als blijkt dat die niet hadden gehoeven, worden de resultaten verworpen. Onder meer door AI-algoritmen als neurale netwerken halen moderne programmaverloo pvoorspeleenheden hoge hitpercentages en stijgt de rekenperformance aanzienlijk. Als je OoOE, Branch Prediction en Speculative Prediction uit zou schakelen om securitylekken te sluiten, zou de performance flink dalen.
Afrem-patches
Maar ook sommige van de nu ter beschikking staande patches verminderen de systeemperformance. 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 ingrijpende veranderingen aan de kernel van het besturingssysteem nodig. Die scheiden de geheugenadresdelen van de geprivilegieerde besturingssysteemkernel 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 prestatieverliezen