Meltdown SpectreHet is inmiddels alweer drie weken geleden dat we door Google en consorten op de hoogte werden gesteld van drie kwetsbaarheden, beter bekend als Meltdown en Spectre, waarvan de laatste twee varianten kent. In de aanloop was al een en ander naar buiten gekomen, waardoor een vroege publicatie niet meer te vermijden was. Bij de bekendmaking was het al wel duidelijk dat de cpu-lekken niet allemaal even eenvoudig uit de wereld te helpen zouden zijn. Daarnaast toonde het onderzoek van verschillende partijen aan dat er naast lekken in software ook de nodige fundamentele tekortkomingen op hardwarevlak bestaan, zoals al doorschemerde bij de publicatie van Rowhammer in 2015. Gezien de ernst en complexiteit van Meltdown en Spectre is het verbazingwekkend dat de kwetsbaarheden sinds halverwege vorig jaar tot aan hun onthulling stil zijn gehouden.

Wat na de onthulling volgde, was geen toonbeeld van een goed gecoördineerde campagne om het brede publiek te informeren, wat wellicht deels kan worden verklaard door het naar voren schuiven van het publicatietijdstip. Kijken we naar de partij die door alle lekken getroffen is en die het grootste marktaandeel voor desktopchips heeft, Intel, dan is er een en ander aan te merken op de communicatie van de chipgigant. Het bedrijf communiceert sinds de bekendmaking over het algemeen in vrij beknopte berichten die niet uitblinken in helderheid. Daarnaast is ook de informatie van andere fabrikanten gefragmenteerd en zijn in de loop van het in gang gezette patchproces de nodige fouten opgetreden. Reden dus om een poging te doen de tot nu toe verschenen informatie op een rij te zetten en zo goed mogelijk te ordenen. Het is niet zozeer de bedoeling om een vloeiend verhaal neer te zetten, maar juist om een nuttig overzicht te bieden.

Het mag alvast duidelijk zijn dat er tot nu toe geen berichten naar buiten zijn gekomen dat aanvallers de lekken actief gebruiken. Dat wil niet zeggen dat er in de toekomst geen exploits voor de kwetsbaarheden beschikbaar zullen komen die betrouwbare resultaten leveren. Daarom is het geen verkeerd idee om de patches die beschikbaar zijn, ook uit te voeren.

In het kort
Op dit moment zijn er al veel patches naar buiten gekomen voor de lekken die via een software-update, in tegenstelling tot een bios-update, aangepakt kunnen worden. Dat geldt voor alle grote besturingssystemen, zoals Windows, macOS, Linux-distributies, Android en iOS. Updaten naar de recentste versie van die systemen is dan ook aan te raden. De lekken maken het niet mogelijk om bijvoorbeeld code uit te voeren, maar stellen kwaadwillenden wel in staat om gevoelige informatie uit het geheugen uit te lezen. Er zijn ook implementaties in JavaScript. Browsers, zoals Firefox, Chrome, IE, Edge en Safari, hebben daar intussen ook maatregelen tegen genomen. Voor bescherming tegen de tweede variant van Spectre zijn ook bios-updates nodig. Daarmee ondervindt Intel momenteel problemen, maar het werkt aan een oplossing. Het is dus aan te raden om nog even te wachten met het downloaden van microcode-updates van moederbordfabrikanten. In de overzichten hieronder staan meer details over de uitgebrachte updates en getroffen producten.

Meltdown Spectre

Aanvullende uitleg
In eerste instantie was er kort na de publicatie van de details van de kwetsbaarheden alleen informatie beschikbaar in de vorm van een blogpost van Googles Project Zero-beveiligingsteam en twee academische papers van wetenschappers van de universiteit van Graz. In de loop van de tijd zijn daar andere, wat eenvoudiger verwoorde beschrijvingen bijgekomen, die het probleem voor velen begrijpelijker kunnen maken. Een aantal daarvan doet dat bijzonder goed en is dan ook hieronder weergegeven.

Hoe zat het ook alweer met de lekken?
Voor de beantwoording van deze vraag is een door Google opgesteld overzicht nuttig waarin per lek is beschreven wat ook alweer de onderliggende techniek en de bijbehorende mitigations zijn.meltdown spectre overzicht

Vlnr: Spectre variant 1, variant 2 en Meltdown

Hieruit is op te maken dat voor de verschillende kwetsbaarheden uiteenlopende oplossingen gelden. De term 'oplossingen' is in sommige gevallen niet helemaal correct, omdat deze volledige opheffing van de problemen suggereert. In bepaalde gevallen is daarom het woord 'mitigation' beter op zijn plek, waarmee wordt bedoeld dat de gevolgen van het lek worden beperkt.

Mogelijke oplossingen
Meltdown, CVE-2017-5754
Deze kwetsbaarheid is op te lossen via een patch voor het besturingssysteem. Deze is in het overgrote deel van de gevallen al op deze manier bij gebruikers terechtgekomen.

Spectre variant 1, CVE-2017-5753 
Voor dit lek is het nodig om het besturingssysteem te patchen, samen met software.

Spectre variant 2, CVE-2017-5715
Hiervoor is een update van cpu-microcode nodig, wat mogelijk is via een bios-update of via het besturingssysteem. Daarnaast is het mogelijk om software aan te passen, bijvoorbeeld door mitigations van Google of Intel.

Intel
Intel heeft in een document zijn eigen mitigations aangedragen voor de Spectre-varianten. Voor de tweede variant van Spectre, die ook door microcode aan te pakken is, draagt het technieken aan die het omschrijft als ibrsstibp en ibpb. Deze waren het onderwerp van een tirade van Linux-bedenker Linus Torvalds, die er voornamelijk aanstoot aan leek te nemen dat Intel prestaties voorrang geeft boven beveiliging, door de mitigations optioneel te maken zodat ze eerst expliciet ingeschakeld moeten worden. Een latere post in de mailinglijst legt op een heldere manier uit wat er precies aan de hand is.

Google
Google heeft een mitigationtechniek voor de tweede variant van Spectre ontwikkeld, die het de naam Retpoline heeft gegeven, wat een samentrekking van de woorden 'return' en 'trampoline' is. Deze techniek vereist hercompilatie van software om effectief te zijn. Google meldde dat het Retpoline met zijn partners heeft gedeeld en dat het de techniek op zijn eigen systemen heeft toegepast.

intel-processor

Patches van fabrikanten
Intel
Intel heeft in een 'security first pledge' bekendgemaakt dat het voor al zijn getroffen processors die in de afgelopen vijf jaar zijn uitgekomen, voor het einde van januari patches beschikbaar wil stellen. Oudere processors volgen daarna, 'op basis van prioriteiten van klanten'. Intel is getroffen door alle varianten van de kwetsbaarheden.

De chipmaker heeft microcode-updates ontwikkeld voor variant 2 van Spectre en deze onder zijn partners verspreid. Op een gegeven moment bleek dat deze echter problemen veroorzaakten. In eerste instantie leek dat alleen op systemen met Broadwell- en Haswell-chips te gebeuren, maar later bleek dat ook nieuwere systemen onverwacht herstartten. Dat leidde ertoe dat verschillende fabrikanten, waaronder HPE en Dell, hun al uitgebrachte bios-updates terugtrokken en klanten in bepaalde gevallen adviseerden om naar een stabiele versie te downgraden. Intel kwam deze week met een waarschuwing, waarin het klanten vroeg de microcode-updates niet te installeren en te wachten tot het bedrijf en de partners klaar zijn met het testen van nieuwe code.

Er is lijst van getroffen processors te vinden op een overzichtspagina van Intel. Deze zijn ook hieronder weergegeven.

Core i3 (45nm en 32nm) Xeon-processors in de series 3400, 3600, 5500, 5600, 6500 en 7500
Core i5 (45nm en 32nm) Xeon E3, inclusief v2, v3, v4, v5, v6
Core i7 (45nm en 32nm) Xeon E5, inclusief v2, v3, v4
Core m-processors (45nm en 32nm) Xeon E7, inclusief v2, v3, v4
Core-cpu's van generatie 2, 3, 4, 5, 6, 7 en 8 Xeon Phi van serie 3200, 5200 en 7200
Core X-serie voor X99 en X299 Atom A, C, E, x3 en Z
Celeron J- en N-serie Pentium J- en N-Serie

AMD
AMD heeft geen specifiek overzicht gepubliceerd. In plaats daarvan voorziet het bedrijf een speciale pagina sporadisch van updates. AMD zegt dat variant 1 van Spectre op zijn processors van toepassing is. Daarvoor kwamen patches uit via het besturingssysteem. Dat leverde bij Windows problemen op, waardoor bepaalde systemen met oudere AMD-processors niet meer konden starten. Inmiddels is de uitlevering van die patches hervat. Microsoft heeft een pagina in het leven geroepen met meer informatie, bijvoorbeeld voor mensen die hun systeem niet meer konden starten.

Daarnaast zegt AMD dat ook de tweede variant van Spectre op zijn processors van toepassing is, maar dat een aanval moeilijk is uit te voeren. Het zei optionele microcodepatches uit te willen brengen in combinatie met OS-patches. Zoals al bekend was, is Meltdown niet op AMD-processors van toepassing.

Microsoft
Microsoft heeft eveneens een overzichtspagina beschikbaar gesteld, waarop het informatie biedt over de tot nu toe uitgebrachte patches. Het bedrijf zegt dat het naast de installatie van Windows-updates ook nodig is om bios-updates van bijvoorbeeld moederbordfabrikanten te installeren om volledig beschermd te zijn. Dit geldt alleen voor de tweede variant van Spectre. Er is een uitzondering voor Surface-apparaten. Het bedrijf uit Redmond heeft een lijst met getroffen producten gepubliceerd. De beschikbare Windows-updates worden niet geïnstalleerd als er antivirussoftware aanwezig is die niet compatibel is. Daarover heeft Microsoft aanvullende informatie gepubliceerd.

ARM
Er zijn veel apparaten die een ARM-chip aan boord hebben, denk maar aan smartphones. Het bedrijf heeft eveneens een overzicht van zijn kwetsbare chips gepubliceerd, naast een whitepaper waarin het dieper op de materie ingaat.

Moederbordfabrikanten en oem's
Op de overzichtspagina's van Microsoft en Google zijn ook links te vinden naar de maatregelen die worden genomen door moederbordfabrikanten en oem's. Die brengen onder meer bios-updates uit voor Intel-apparaten die beschermen tegen de tweede variant van Spectre. Maar let op! Het is niet aan te raden om die nu al te installeren, aangezien Intel herstartproblemen heeft vastgesteld en aan een oplossing werkt. Zodra de nieuwe microcode bij de fabrikanten is aangekomen en getest, kunnen ze toegepast worden. Nog niet alle fabrikanten hebben deze informatie op hun pagina's staan.

Microsoft-oem's Overige
Acer ASRock
Asus Gigabyte
Dell MSI
Fujitsu Super Micro
HP  
Lenovo  
LG  
Panasonic  
Samsung  
Surface  
Toshiba  
Vaio  

Verdere overzichten
Er zijn nog meer overzichten te vinden. Enkele nuttige zijn afkomstig van Hanno Böckvan Hector Martinen van Scaleway.

Nuttige links
Er zijn tools om kwetsbaarheid voor Meltdown en Spectre te controleren:

Verschillende bedrijven hebben benchmarks naar buiten gebracht naar aanleiding van de discussie over de prestatievermindering door het doorvoeren van patches:

Ten slotte is nog een aantal artikelen verschenen die de moeite waard zijn, zoals:

Bron: Tweaker.net