Plundervolt is een nieuwe aanvalsmethode op Intel-processors die de SGX-technologie beïnvloedt

Intel vrijgegeven microcode-update die dit probleem oplost kwetsbaarheid (CVE-2019-14607) toestaan door manipulatie van het dynamische spannings- en frequentiecontrolemechanisme in de CPU, schade aan de inhoud van datacellen veroorzaken, ook in gebieden die worden gebruikt voor berekeningen in geïsoleerde Intel SGX-enclaves. De aanval heet Plundervolt en stelt een lokale gebruiker mogelijk in staat zijn privileges op het systeem te escaleren, een Denial of Service te veroorzaken en toegang te krijgen tot gevoelige gegevens.

De aanval is alleen gevaarlijk in de context van manipulaties met berekeningen in SGX-enclaves, omdat er rootrechten in het systeem voor nodig zijn. In het eenvoudigste geval kan een aanvaller vervorming bewerkstelligen van de informatie die in de enclave wordt verwerkt, maar in complexere scenario's is de mogelijkheid om de privésleutels die zijn opgeslagen in de enclave en die worden gebruikt voor versleuteling opnieuw te creëren met behulp van de RSA-CRT- en AES-NI-algoritmen niet mogelijk. uitgesloten. De techniek kan ook worden gebruikt om fouten te genereren in aanvankelijk correcte algoritmen om kwetsbaarheden uit te lokken bij het werken met geheugen, bijvoorbeeld om de toegang tot een gebied buiten de grens van de toegewezen buffer te organiseren.
Prototypecode voor het uitvoeren van een aanval gepubliceerde op GitHub

De essentie van de methode is het creëren van voorwaarden voor het optreden van onverwachte datacorrupties tijdens berekeningen in SGX, waartegen het gebruik van encryptie en geheugenauthenticatie in de enclave niet beschermt. Om vervorming te introduceren, bleek het mogelijk om standaard software-interfaces te gebruiken voor het regelen van frequentie en spanning, meestal gebruikt om het energieverbruik te verminderen tijdens inactiviteit van het systeem en om maximale prestaties te activeren tijdens intensief werk. Frequentie- en spanningskarakteristieken bestrijken de hele chip, inclusief de impact van computergebruik in een geïsoleerde enclave.

Door de spanning te veranderen, kunt u omstandigheden creëren waarin de lading niet voldoende is om een ​​geheugencel in de CPU te regenereren en de waarde ervan verandert. Belangrijk verschil met aanval RijHammer is dat je met RowHammer de inhoud van individuele bits in het DRAM-geheugen kunt wijzigen door cyclisch gegevens uit aangrenzende cellen te lezen, terwijl je met Plundervolt bits in de CPU kunt wijzigen wanneer de gegevens al uit het geheugen zijn geladen voor berekening. Met deze functie kunt u de integriteitscontrole- en coderingsmechanismen omzeilen die in SGX worden gebruikt voor gegevens in het geheugen, omdat de waarden in het geheugen correct blijven, maar tijdens bewerkingen ermee kunnen worden vervormd voordat het resultaat naar het geheugen wordt geschreven.

Als deze gewijzigde waarde wordt gebruikt in het vermenigvuldigingsproces van het coderingsproces, wordt de uitvoer afgewezen met onjuiste cijfertekst. Omdat een aanvaller contact kan opnemen met een handler in SGX om zijn gegevens te versleutelen, kan hij, door fouten te veroorzaken, statistieken verzamelen over veranderingen in de uitgevoerde cijfertekst en binnen een paar minuten de waarde herstellen van de sleutel die in de enclave is opgeslagen. De originele invoertekst en de juiste uitvoercijfertekst zijn bekend, de sleutel verandert niet en de uitvoer van een onjuiste cijfertekst geeft aan dat een bit is vervormd naar de tegenovergestelde waarde.

Na analyse van de waardenparen van correcte en beschadigde cijferteksten die tijdens verschillende fouten zijn verzameld, met behulp van methoden voor differentiële foutanalyse (DFA, Differentiële foutanalyse) kan voorspellen waarschijnlijke sleutels die worden gebruikt voor AES-symmetrische codering, en bepaal vervolgens, door de kruispunten van sleutels in verschillende sets te analyseren, de gewenste sleutel.

Verschillende modellen Intel-processors hebben last van het probleem, waaronder Intel Core CPU's met 6
10e generatie, evenals de vijfde en zesde generatie van Xeon E3, de eerste en tweede generatie van Intel Xeon Scalable, Xeon D,
Xeon W en Xeon E.

Laten we u eraan herinneren dat de SGX-technologie (Software Guard-uitbreidingen) verscheen in de zesde generatie Intel Core-processors (Skylake) en biedt een reeks instructies waarmee toepassingen op gebruikersniveau gesloten geheugengebieden kunnen toewijzen - enclaves waarvan de inhoud niet kan worden gelezen of gewijzigd, zelfs niet door de kernel en code die draait in ring0-, SMM- en VMM-modi. Het is onmogelijk om de controle over te dragen aan de code in de enclave met behulp van traditionele sprongfuncties en manipulaties met registers en de stapel; om de controle over te dragen aan de enclave wordt een speciaal gemaakte nieuwe instructie gebruikt die een autoriteitscontrole uitvoert. In dit geval kan de in de enclave geplaatste code gebruikmaken van klassieke aanroepmethoden om toegang te krijgen tot functies binnen de enclave en van speciale instructies om externe functies aan te roepen. Enclave-geheugenversleuteling wordt gebruikt om te beschermen tegen hardwareaanvallen zoals verbinding maken met een DRAM-module.

Bron: opennet.ru

Voeg een reactie