Processorlek treft nagenoeg alle toestellen: wat is er aan de hand?
Je desktop, je laptop, de server waarop je favoriete cloudtoepassing draait, tot zelfs je smartphone. Allemaal zijn ze kwetsbaar voor nieuw onthulde kritieke kwetsbaarheden in de architectuur van moderne processors. Er heerste de voorbije dagen heel wat onduidelijkheid over de precieze impact als gevolg van tegenstrijdige berichtgeving, maar ondertussen zijn de onderzoekers die het probleem ontdekten zelf naar buiten gekomen met informatie.
Tijd voor enige verduidelijking.
Wat is er aan de hand?
De onderzoekers ontdekten twee belangrijke kwetsbaarheden in de hardware van moderne processors. Het probleem situeert zich op het niveau van de processorarchitectuur, de manier waarop miljoenen transistors en logische eenheden samenwerken om instructies uit te voeren. Een moderne architectuur bevat ‘ruimtes’ waar data in niet-versleutelde vorm langs passeert, zoals de kernel of het systeemgeheugen. Deze ruimtes hebben een bijzonder hoge mate van bescherming om te voorkomen dat andere processen of applicaties de data kunnen beïnvloeden of zelfs maar uitlezen.
De nieuw ontdekte bugs laten evenwel toe om die beveiligingsmechanismen te omzeilen, zodat malware informatie kan stelen die op dat moment door andere toepassingen op een systeem wordt verwerkt. Dat kan bijvoorbeeld gaan om de wachtwoorden die in je wachtwoordmanager of browser worden bewaard, je persoonlijke documenten, foto’s, e-mails of chatberichten.
De kwetsbaarheden kregen de namen Meltdown en Spectre, met elk hun eigen logo, wat meteen ook de impact van het probleem moet duidelijk maken – in het verleden kregen ook significante lekken zoals Heartbleed hun eigen naam en logo.
Meltdown en Spectre werken zowel op computers en mobiele toestellen als in de cloud, wat betekent dat nagenoeg elk toestel met een chip in kwetsbaar is. Het maakt niet uit welk besturingssysteem je gebruikt – Windows, macOS, Linux, Android… – ze zijn allemaal even kwetsbaar.
TL;DR – Twee nieuw ontdekte bugs in de architectuur van moderne processors treffen nagenoeg elk apparaat met een chip in.
Hoe verschillen Meltdown en Spectre?
Meltdown
Meltdown treft specifiek Intel-processors en laat toe om door de barrière te breken die applicaties ervan weerhoudt om rond te snuisteren in het kernelgeheugen. Wanneer data langs de kernel passeert gebeurt dat normaal gezien afgeschermd van andere applicaties. Meltdown maakt dit fundamentele proces voor de bescherming van de gegevens fundamenteel onbetrouwbaar. Er bestaat altijd een kans dat de informatie gelekt wordt.
De onderzoekers konden Meltdown succesvol testen op Intel-processors die teruggaan tot 2011. In theorie is elke Intel-chip die gebruik maakt van out-of-order execution potentieel kwetsbaar, ofwel elke processor sinds 1995. De onderzoekers hebben op dit moment nog geen bewijs dat Meltdown ook AMD- en ARM-processors treft.
Spectre
Spectre treft nagenoeg elk systeem met een chip in, waardoor het bereik ervan ook uitbreidt naar onder meer mobiele apparaten en IoT-toestellen. Spectre kan applicaties voor de gek houden zodat ze onbedoeld informatie lekken die normaal ontoegankelijk is.
Spectre is moeilijker om uit te voeren dan Meltdown, maar ook moeilijker om op te lossen. De techniek maakt namelijk misbruik van een veelgebruikte praktijk, speculative execution, in verschillende processorarchitecturen. De onderzoekers hebben Spectre succesvol getest op Intel-, AMD- en ARM-processors.
TL;DR – Meltdown treft alleen Intel-processors. Spectre treft nagenoeg elk systeem met een chip in en is moeilijker om uit te voeren.
Is er een oplossing?
De betrokken partijen zijn al langer op de hoogte van de bugs en hebben niet stilgezeten. Een definitieve oplossing is er nog niet, maar er werd al één en andere in stelling gebracht om het risico van een aanval te verkleinen.
Meltdown kan worden opgelost door een sterkere muur rond de kernel te bouwen. Daar staat evenwel een kost tegenover: moderne processorarchitecturen gaan uit van bepaalde manieren waarop de kernel werkt en aangesproken kan worden. Wanneer hier aanpassingen aan worden gedaan, heeft dat sowieso een effect op de prestaties. Hoe groot de impact precies zal zijn is niet duidelijk. Er is sprake van een prestatievermindering van 5 tot zelfs 30 procent. Intel beweert zelf dat het van de workload afhangt en de impact voor de gemiddelde gebruiker beperkt zal zijn.
Spectre is moeilijker om te fiksen. De onderzoekers hebben nog geen manier gevonden om het risico volledig uit te schakelen. Een definitieve oplossing vraagt namelijk een volledige herdenking van de processorarchitectuur. Processorfabrikanten, cloudleveranciers en OS-bouwers zijn daarom volop bezig met het uitrollen van updates en workarounds die alvast de meest voor de hand liggende aanvallen kunnen voorkomen. Microsoft rolde reeds een patch uit, ARM heeft aanpassingen doorgevoerd aan zijn getroffen chips en Amazon is zijn servers aan het updaten. Al deze patches kunnen een effect hebben op de prestaties en mogelijk zelfs bepaalde functionaliteit breken.
Voorlopig is de enige manier om je te beschermen dus door de software-updates uit te voeren die fabrikanten aanbieden, met het risico op verminderde prestaties. Maar zelfs dan ben je niet helemaal zeker dat je beschermd bent tegen potentiële aanvallen.
TL;DR – Een definitieve oplossing is er nog niet. Fabrikanten rollen wel patches uit om de risico’s zoveel mogelijk in te dijken.