Er is al veel geschreven over Spectre en Meltdown, die aan het begin van dit jaar de kop opstaken na een wat gehaaste bekendmaking door verschillende bedrijven. Die hadden achter de schermen hard gewerkt om zo snel mogelijk met oplossingen te komen. Deze kwetsbaarheden, door sommigen aangeduid als de ernstigste van het afgelopen decennium, konden dan ook niet ontbreken op de jaarlijkse Black Hat-beveiligingsconferentie in Las Vegas. Maar liefst drie presentaties waren aan dit onderwerp gewijd. Dit artikel put uit deze presentaties, die voor een deel ingingen op wat aan de bekendmaking voorafging. Samen vormen ze een interessante kijk op wat zich achter de schermen afspeelde rondom deze spraakmakende ontdekkingen en de coördinatie die plaatsvond tussen een deel van de betrokkenen.
Een van de presentaties was een panelsessie met vertegenwoordigers van Google, Microsoft en Red Hat, geleid door iemand van het Cert van de Amerikaanse Carnegie Mellon-universiteit. Dat is inderdaad het Cert dat in eerste instantie schreef dat de enige tegenmaatregel tegen Spectre en Meltdown het 'vervangen van de cpu-hardware' was, maar daar later een genuanceerder advies van maakte. Uit de paneldiscussie komt een mogelijke reden voor het rigoureuze advies naar voren.
Matt Linton, voorzien van roze hanekam en een korte broek met kistjes, is aanwezig om het perspectief van Google toe te lichten vanuit zijn positie als senior security engineer, ook wel chaos specialist. Het is niet gek dat hij de discussie aftrapt, aangezien Googles Project Zero nauw betrokken was bij de ontdekking van de kwetsbaarheden. De tijdlijn van het disclosureproces begon in juni 2017, toen de onderzoekers achter de ontdekking besloten om de cpu-fabrikanten in te lichten over hun bevindingen.
Linton: "Het is niet zo dat Project Zero-leden van tevoren Google inlichten over kwetsbaarheden die ze vinden. In dit geval was het zo dat Project Zero Intel inlichtte, met de mededeling dat Intel vervolgens ook Google moest inlichten. Door een miscommunicatie gebeurde dat echter niet meteen." Toen dat wel gebeurde, betrok Google senior medewerkers van verschillende afdelingen om de ernst en de gevolgen van de gevonden kwetsbaarheden vast te stellen. Volgens Linton werd er een hele tijd over en weer gecommuniceerd met Intel. "Er werden tot oktober voortdurend verschillende tegenmaatregelen tussen Google en Intel heen en weer gestuurd, maar die werden allemaal afgeschoten."
Op een gegeven moment vond een vergadering van alle betrokken spelers in de sector plaats. Op die vergadering kwam bijvoorbeeld Microsoft over de brug met een werkende proof-of-concept van een aanval vanuit de browser, vertelt Linton. Dat was het moment dat het Chrome-team erbij werd betrokken, waarvan een aantal leden toen al vijf jaar werkte aan de functie site isolation. Linton vroeg aan het Chrome-team hoe snel die functie klaar kon zijn, waarop een schatting van drie tot vier kwartalen werd gegeven om tot een bètarelease te komen. De embargodatum was op dat moment al vastgelegd op 9 januari en uiteindelijk lukte het dan ook om de bèta voor januari af te ronden.
Uiteindelijk zou het niet lukken om het embargo tot 9 januari vol te houden, omdat er voor die tijd al verschillende signalen waren die erop wezen dat achter de schermen aan iets groots werd gewerkt. Deze signalen werden uiteindelijk door The Register aan elkaar geknoopt. Op 2 januari verscheen vervolgens de eerste proof-of-concept van een werkende aanval, wat betekende dat het embargo moest worden opgeheven, omdat er gewoonweg niet langer kon worden gewacht. Dat gebeurde op 3 januari.
Microsoft
Microsoft, in het panel vertegenwoordigd door de leider van het security response team Eric Doerr, trok een expert aan in het proces om vast te stellen wat de impact van de lekken was. Die expert was Anders Fogh van het beveiligingsbedrijf G-Data. Doerr stelt dat het verhaal voor Microsoft eveneens in juni begon en dat eerst moest worden vastgesteld waarmee het bedrijf te maken had. "We keken eerst of het reproduceerbaar was op Windows Server en we kwamen er al snel achter dat het inderdaad om een real thing ging. Toen hebben we besloten er mensen van verschillende afdelingen bij te betrekken."
Hij vergelijkt het proces met het pellen van een ui, waarbij er steeds meer complexiteit bijkwam. Al snel werd duidelijk dat er binnen de producten van Microsoft grote veranderingen nodig waren, waardoor de deadline van januari ineens heel snel dichterbij kwam. Doerr uit zich positief over de bijeenkomst van de betrokken organisaties, die volgens hem in november 2017 werd gehouden. "Het is grappig om vast te stellen hoe zelden een dergelijke bijeenkomst plaatsvindt", zegt hij. "Ik was overweldigd door de samenwerking die tijdens de bijeenkomst plaatsvond, want wie deelt er nou mitigations voor kwetsbaarheden met zijn directe concurrenten?"
Hij noemt als voorbeeld dat Google een volledige tegenmaatregel genaamd retpoline uit de doeken deed. "Het was een omslagpunt, waarop de samenwerking met een enorme factor omhoogging", aldus Doerr. Aan het einde van zijn introductie voegt hij daaraan toe: "Ik wisselde in de laatste twee weken voor de publicatie meer berichten uit met mensen die aan oplossingen werkten, dan met mijn vrouw."
Red Hat
Voor Red Hat, vertegenwoordigd door Christopher Robinson, oftewel CRob, ging het iets anders. Hij werd in november gebeld dat hij een telefoontje van Intel zou krijgen. Voor hem was er dus veel minder tijd om in actie te komen. "We hadden nog een aanzienlijke hoeveelheid werk te verrichten." Hij onderstreept dat Red Hat een opensourcebedrijf is dat met veel externe mensen werkt. "Fun fact", voegt Robinson toe: "Niemand in open source hoort graag dat hij een bepaalde taak moet uitvoeren." Daarbij doelt hij erop dat mensen verschillende taken kregen toegewezen om patches door te voeren. "Op 3 januari, toen ik dacht nog een week te hebben om mijn documentatie te schrijven, kreeg ik een bericht met de vraag of ik klaar was om over een uur publiek te gaan."
Red Hat-uitlegvideo over Spectre en Meltdown
Wie mag er 'in de tent'?
Een van de vragen die tijdens de discussie aan bod komen, gaat erover hoe werd bepaald wie op de hoogte werd gebracht van de bevindingen van de onderzoekers. Volgens Red Hats Robinson kwam die afweging neer op de vraag of iemand aan een oplossing kan bijdragen. Doerr, van Microsoft, stelt dat het probleem is dat hoe meer mensen op de hoogte worden gesteld, hoe groter de kans wordt dat er iets uitlekt. "Het is eigenlijk waanzinnig dat dit zes maanden verborgen is gehouden", aldus Doerr. Volgens Googler Linton was het embargo in handen van de chipmakers. Dat betekent volgens hem dat er mensen waren die 'in de tent' hadden moeten zitten, maar er niet in zaten. "Google hanteerde het volgende criterium: onderhoud je een besturingssysteem, werk je aan een virtualization stack of aan drivers, dan hoor je erbij." Art Manion, senior vulnerability analyst voor het Amerikaanse Cert en panelleider, wil ook weten waarom hijzelf niet van tevoren werd ingelicht. Dat zou verklaren waarom het Cert met een zo rigoureus advies kwam op de dag dat het embargo werd opgeheven.
Een andere kwestie die aan bod komt, is de vraag waarom de Amerikaanse overheid niet werd ingelicht, terwijl dat wel gebeurde met Chinese bedrijven. Daarop reageert de Google-afgezant: "Dat is een heel moeilijk onderdeel van de puzzel, waarbij de vraag is of een entiteit op een betekenisvolle manier kan bijdragen." Hij zegt dat hij het bovendien niet eens is met de manier waarop dit gegeven onder meer op Twitter werd geframed. Daarmee doelt hij op de suggestie dat het inlichten van Chinese bedrijven, zoals Lenovo, gelijk zou staan aan het inlichten van de Chinese overheid. "Het was noodzakelijk om Lenovo op de hoogte te stellen, omdat het microcode-updates naar miljoenen mensen kon pushen." Op dat moment meldt zich iemand van Lenovo in het publiek, die stelt dat alles wat met Spectre en Meltdown te maken had vanuit de VS werd gecoördineerd met een team van ongeveer twaalf mensen, naast iemand in Japan voor ThinkPad. Lenovo zou op 30 november op de hoogte zijn gebracht.
Tot slot komt de vraag aan bod wat mensen anders hadden gedaan en wat ze hebben geleerd. Volgens Robinson is er in de tussentijd samengewerkt aan varianten van de oorspronkelijke kwetsbaarheden. Deze samenwerking verliep aanzienlijk beter, doordat nu duidelijk was wie met wie contact moest opnemen. Volgens Microsoft had de nauwe samenwerking veel eerder moeten beginnen.
Wat gaat nog komen?
Enkele ontdekkers van de lekken, Daniel Gruss, Moritz Lipp en Michael Schwarz van de universiteit van Graz, hebben tijdens Black Hat hun eigen presentatie over Meltdown, waarin ze in een soort rollenspel de werking ervan nader toelichten. Daarin delen ze onder meer mee dat ook de Exynos-soc in de Galaxy S7 van Samsung kwetsbaar was voor Meltdown en dat de Zuid-Koreaanse fabrikant in juli patches heeft uitgebracht. Ze verwachten bovendien dat er in de toekomst nog meer aanvallen gevonden zullen worden die gebruikmaken van prestatieoptimalisaties in processors. Gezien de varianten die tot nu toe voorbij zijn gekomen, hieronder weergegeven in een tabel, zitten de onderzoekers er waarschijnlijk niet naast.
Volgens hen moet er dan ook opnieuw worden nagedacht over processorontwerp, en moet er een betere balans tussen prestaties en veiligheid worden gecreëerd. "Denk daarbij bijvoorbeeld aan de auto-industrie. Daarin kregen we ook niet alsmaar snellere auto's, maar werd veiligheid belangrijker", illustreert een van hen. In hun afsluiting willen ze ook nog even het misverstand uit de wereld helpen dat Meltdown en Spectre side channel-aanvallen zijn. Hoewel ze van een dergelijk kanaal gebruikmaken voor transmissie, zou dat nog niet betekenen dat de hele aanval zo geclassificeerd zou moeten worden.
Spectre variant 1 | Bounds check bypass, CVE-2017-5753 |
Spectre variant 1.1 | Bounds check bypass on stores, CVE-2018-3693 |
Spectre variant 1.2 | Read-only store |
Spectre variant 2 | Branch target injection, CVE-2017-5715 |
Meltdown (variant 3) | Rogue data cache load, CVE-2017-5754 |
Spectre variant 3a | Rogue system register read, CVE-2018-3640 |
Spectre variant 4 | Speculative store bypass, CVE-2018-3639 |
Lazy FP restore | CVE-2018-3665 |
SpectreRSB | - |