Michael Schwarz, Daniel Gruss und Moritz Lipp (v.l.n.r.) (c) Lunghammer tugraz
Author profile picture

Wetenschappers hebben een nieuw veiligheidslek ontdekt in de computerprocessoren van Intel: ZombieLoad 2.0. Het gaat bij dit beveiligingslek om de centrale processor-eenheden van Cascade Lake. Er waren al hardware-maatregelen genomen tegen deze zwakke plek, maar er blijven nog aanvallen mogelijk.

De ontdekking van computer-hardwarevirussen is van recente datum. Tot begin 2018 werd ervan uitgegaan dat er alleen softwarevirussen bestonden. Meltdown en Spectre, zoals de eerste hardwarevirussen werden genoemd, werden door verschillende onderzoeksteams tegelijkertijd ontdekt. Daaronder bevond zich een team van het Angewandte Informationsverarbeitung und Kommunikationstechnologie in Graz, Daniel Gruß, Moritz Lipp, Michael Schwarz en professor Stefan Mangard. Sindsdien heeft het team herhaaldelijk veiligheidslekken gepubliceerd. Ze worden ondersteund door vier nieuwkomers: Daniel Moghimi van het Worcester Polytechnic Institute, Jo Van Bulck, van imec-DistriNet aan de KU Leuven, evenals Julian Stecklina enThomas Prescher, beiden van het Duitse softwarebedrijf Cyberus Technology.

Veiligheidslek Zombie 2.0

Op 14 november presenteerde het team het veiligheidslek Zombie Loads 2.0  in de centrale verwerkingseenheden van Intel. 2,0,. Het probleem deed zich voor ondanks een eerdere update van het bedrijf, waarbij een aanpassing van de software en de installatie van de nieuwe Cascade Lake processoren werd doorgevoerd. Met een nieuwe variant van de virus zijn deze aanpassingen echter ook niet langer afdoende.

Vooruitdenkende processor

De basis van het probleem bij de tot dusver bekende hardwarevirussen is dat computersystemen steeds sneller werken. Ze voeren de reeksen van berekeningen niet achter elkaar uit, maar tegelijkertijd. De processor denkt als het ware vooruit en bereidt die stappen alvast voor. Het gaat daarbij om aannames. Bepaalde stappen die in het proces toch niet nodig blijken te zijn, worden weer weggegooid. In dat hele proces wordt echter nog geen rekening gehouden met eventuele noodzakelijke toegangsrechten. Die komen pas aan bod als als de voorafgaande processen zijn afgehandeld. Een potentiële aanvaller kan dankzij dat voorbereidende werk van de processor gevoelige gegevens uit de core (centrale deel besturingssysteem) uitlezen. Bijvoorbeeld wachtwoorden die zijn opgeslagen in gewone internetbrowsers.

Veiligheidslek tussen commando en controle

Bij Zombie 1.o is een aanval op gevoelige data en codes mogelijk op het moment dat de computer die gegevens oproept. De processoren zijn zo ontworpen dat ze data altijd doorgeven, ook als het niet de juiste data is. Het veiligheidslek bevindt zich in het korte moment tussen commando en controle. Hier worden al opgeroepen data van andere programma’s voor mogelijke aanvallers zichtbaar. Dat betekent dat zij precies kunnen zien wat op dat moment de gebruiker op zijn computer aan het doen is.

Aanvallers willen het Host Operating Systems Memory lezen. Een video over Zombie 1.0 vindt u hier.

Probleem van double tasking

Bij Zombie Load 2.0 verlopen twee processen naast elkaar:

  • Out-of-Order-Execution: als het niet nodig is om de volledige capaciteit van een processor te benutten, dan bereidt de computer alvast met die restcapaciteit data en berekeningen voor, die even later aan de orde kunnen komen.
  • Hyper Threading: op een centrale processor-eenheid draaien meerdere processen naast elkaar die het cache-geheugen gezamenlijk gebruiken.

Deze naast elkaar draaiende processen moeten eigenlijk onzichtbaar zijn. Maar met de juiste techniek kunnen aanvallers die toch bekijken. Dat bleek uit tests van de onderzoekers.

De nieuwe micro-architectuur Cascade Lake heeft het veiligheidslek gedicht. Maar die wijziging is hooguit een extra belemmering voor aanvallers. Met een minimaal gewijzigde aanvalscode lukte het de onderzoekers toch de processoren van Cascade Lake uit te lezen. Zelfs de software-patch had veiligheidslekken, zo bleek. De onderzoekers meldden al in april 2019 aan Intel deze veiligheidsproblemen. Pas nadat de lekken waren gedicht, maakte de onderneming de problemen wereldkundig. De onderzoekers raden alle gebruikers aan, beslist de veiligheidsupdates te installeren.

Dit onderzoek werd mogelijk gemaakt door  ERC-project Sophia, het FFG-project DESSNET en het project ESPRESSO, evenals door een gift van de chipsfabrikant Intel.

Via deze link vindt u het rapport ‘ZombieLoad: Cross-Privilege-Boundary Data Sampling’

Overzicht van hardwarevirussen:

Meltdown en Spectre kwamen gelijktijdig in januari 2018 in de openbaarheid. Het virus belaagde zowel thuiscomputers, als de meest gangbare server-structuren en cloud-diensten.

Meltdown: Een eenvoudige aanval, waarbij slechts vier regels computercode voldoende zijn om toegang te verschaffen tot het systeem. De onderzoekers uit Graz ontwikkelde de patch Kaiser, waarmee het veiligheidslek werd gedicht. Systeemontwikkelaars en grote IT-ondernemingen namen deze oplossing over. De update resulteerde echter wel in een gereduceerde snelheid.

Spectre: De aanval kost veel meer werk, maar is ook veel moeilijker af te slaan. Geïnfecteerde programma’s worden gedwongen hun Secrets prijs te geven.

In mei 2019 werden de virussen ZombieLoad 1.0 en Store-to-Leak Forwarding publiekelijk bekend.

Zombie Load 1.0 gebruikt een soortgelijke aanpak als Meltdown. Voorbereide data worden al vrijgegeven voordat het systeem de toegangsrechten controleert. De aanval vindt plaats in het korte moment tussen commando en controle. Het probleem doet zich voor bij alle Intel-processoren die tussen 2012 en 2018 zijn geproduceerd. De oplossing is lastig. De centrale processor-eenheid heeft meerdere kernen. En elke kern is op zich ook weer gedeeld. Daardoor kunnen meerdere programma’s tegelijkertijd draaien. De onderzoekers gaan ervan uit dat een van deze twee delen moet worden gedeletet. Dat betekent dan weer wel een vermindering van de prestaties met 50 procent.

Via deze link vindt u de video: ZombieLoad in Action: Spying on your visited websites

Store-to-Leak-Forwarding: Ook hier wordt de geoptimaliseerde werkingsmodus van computerprocessoren gebruikt om eerder geladen gegevens uit te lezen. Hier wordt echter de architectuur van de computerprocessor doorzocht – met als doel de locatie te vinden waar het besturingssysteem wordt uitgevoerd. Daar zijn gerichte aanvallen op gaten in het besturingssysteem mogelijk.

Via deze Link vindt u het rapport: Store-to-Leak Forwarding: Leaking Data on Meltdown-resistant CPUs

Deze maand (november 2019) publiceren de onderzoekers het veiligheidslek Zombie 2.0. (zie boven).

Ook interessant:

Tenzir houdt de data van je bedrijf veilig