Onderzoekers van onder andere de KU Leuven ontdekten met Plundervolt een nieuw type aanval gericht op de SGX-enclaves in Intelprocessors. De aanval laat hen toe erg gevoelige data te stelen, ondanks geavanceerde encryptie.
Na Meltdown en Spectre is er nu Plundervolt. We vragen ons af of beveiligingsonderzoekers op zoek naar kwetsbaarheden in Intel-hardware een marketingdepartement delen voor de naamgeving van nieuwe bugs, want catchy en dramatisch klinken ze allemaal. De officiële noemer voor de nieuwste kwetsbaarheid is minder impressionant: CVE-2019-11157 is een bug waarmee aanvallers de SGX-enclave van een Intel-processor kunnen kraken.
SGX-enclave
SGX, kort voor Software Guard eXtentions, is technologie van Intel ingebouwd in x86-processors. SGX biedt een ultraveilige enclave om de meest gevoelige workloads in uit te voeren. Code en data die verwerkt wordt via SGX is in theorie veilig van de meest geprivilegieerde malware. Zelfs het besturingssysteem mag niet meekijken naar wat er binnenin gebeurt. SGX is daarom ideaal om workloads met betrekking op wachtwoorden en encryptie uit te voeren.
Een internationaal onderzoeksteam samengesteld uit wetenschappers van universiteiten in het VK en Oostenrijk maar ook imec en de KU Leuven in België ontdekte nu dat SGX niet zo veilig is als Intel had gedacht. Ze ontwikkelden een betrouwbare aanval waarmee ze inkijk kunnen krijgen in de enclave en encryptiesleutels kunnen deconstrueren. Als bonus maakt de bug geprivilegieerde memory overflow-aanvallen mogelijk.
Moeilijk uitvoerbaar
Om Plundervolt uit te voeren, moet een hacker eerst toegang hebben tot het doelsysteem en dat met de nodige rechten. Die premisse maakt de aanval moeilijk om uit te voeren, maar SGX is niet ontwikkeld om precies tegen zoiets te beschermen. Plundervolt hoort zo in de toolset van doelgerichte hackers met een missie thuis, en zal niet zomaar breed in het wild verschijnen. Met de juiste toegang kunnen de hackers het zogenaamde ‘model specific register’ in de x86-instructieset aanspreken. Daarmee is het mogelijk om heel nauwkeurig te prutsen aan de voltages die naar de processor stromen.
Door te spelen met die voltages om het moment dat SGX wordt aangesproken, ontstaan er fouten. Wanneer de onderzoekers plaintext en encryptie met en zonder fouten vergelijken, hebben ze voldoende informatie om binnen enkele minuten met minimale rekenkracht de gebruikte encryptiesleutels te reconstrueren en zich toegang te verschaffen tot kritieke data.
Memory overflow
Bovendien kan een aanvaller fouten introduceren die een memory overflow triggeren binnen erg gepriviligeerde geheugenlocaties. Zo kan de hacker het getroffen systeem dan weer overtuigen om kwaadaardige code uit te voeren met de hoogst mogelijke rechten.
Plundervolt is de laatste kwetsbaarheid in een steeds uitgebreider lijstje van aanvallen dat cpu-hardware en firmware viseert. Dergelijke aanvallen verschillen van klassieke malware die het op softwarebugs gericht heeft. Patchen is een stuk moeilijker en soms zelfs onmogelijk zonder een grote negatieve impact op de prestaties zoals bij Spectre.
Voor Plundervolt kan Intel wel relatief eenvoudig een oplossing uitrollen. Een patch die de toegang tot de voltagemodulatie afsluit maakt de aanval onmogelijk. Een fix bestaat al, maar moet door OEM’s verwerkt worden tot een Bios-patch voor computers en servers die klanten vervolgens kunnen uitrollen.
Praktisch
Plundervolt is een relevante aanval die illustreert hoe zelfs de meest veilige schakels binnen een computersysteem niet immuun zijn voor misbruik, al zal de impact in het wild beperkt blijven. Zorg er zoals steeds voor dat je systeem up tot date is, meer kan je eigenlijk niet doen. SGX staat niet standaard ingeschakeld dus de meeste systemen zijn per definitie niet kwetsbaar. Gebruik je SGX wel, dan is veiligheid duidelijk meer dan kritiek. In dat geval zal je even moeten vertrouwen op de rest van je beveiligingsoplossingen. Zonder een initieel hack waarmee een aanvaller zich de nodige privileges verwerft, is Plundervolt immers geen probleem.