Kwetsbaarheid in Intel-processors die leiden tot gegevenslekken via kanalen van derden

Een team van onderzoekers van Chinese en Amerikaanse universiteiten heeft een nieuwe kwetsbaarheid in Intel-processors ontdekt die leidt tot een zijkanaallek van informatie over de uitkomst van speculatieve uitvoering van bewerkingen. Deze informatie kan bijvoorbeeld worden gebruikt om een ​​geheim communicatiekanaal tussen processen te organiseren of om lekken te detecteren tijdens Meltdown-aanvallen.

De kern van de kwetsbaarheid is dat de wijziging van het EFLAGS-processorregister, die optreedt als gevolg van speculatieve uitvoering van instructies, de daaropvolgende uitvoeringstijd van JCC-instructies beïnvloedt (een vertakking bij het voldoen aan bepaalde voorwaarden). Speculatieve bewerkingen worden niet voltooid en het resultaat wordt verwijderd, maar de verwijderde wijziging van EFLAGS kan worden bepaald door de uitvoeringstijd van JCC-instructies te analyseren. Speculatief uitgevoerde vergelijkingsbewerkingen vóór de vertakking leiden, in geval van een succesvolle vergelijking, tot een kleine vertraging, die kan worden gemeten en gebruikt als een teken voor het selecteren van de inhoud.

Kwetsbaarheid in Intel-processors die leiden tot gegevenslekken via kanalen van derden

In tegenstelling tot andere vergelijkbare side-channel-aanvallen analyseert de nieuwe methode geen veranderingen in toegangstijden voor gecachede en niet-gecachede gegevens en vereist deze geen reset van het EFLAGS-register, waardoor deze moeilijk te detecteren en te blokkeren is. Als demonstratie implementeerden de onderzoekers een variant van de Meltdown-aanval, waarbij ze de nieuwe methode gebruikten om informatie te verkrijgen over het resultaat van een speculatieve bewerking. De methode voor het lekken van informatie tijdens een Meltdown-aanval werd met succes gedemonstreerd op systemen met Intel Core i7-6700 en i7-7700 CPU's in een testomgeving. Ubuntu 22.04 en de kern Linux 5.15. Op een systeem met een Intel i9-10980XE CPU was de aanval slechts gedeeltelijk succesvol.

De Meltdown-kwetsbaarheid is gebaseerd op het feit dat de processor tijdens speculatieve uitvoering van instructies toegang kan krijgen tot een privé-gegevensgebied en vervolgens het resultaat kan negeren, omdat de ingestelde privileges dergelijke toegang voor het gebruikersproces verbieden. In het programma wordt het speculatief uitgevoerde blok van de hoofdcode gescheiden door een voorwaardelijke sprong, wat in de praktijk altijd werkt. Omdat de voorwaardelijke operator echter een berekende waarde gebruikt die de processor niet kent tijdens de voorspellende uitvoering van de code, worden alle vertakkingsopties speculatief uitgevoerd.

In de klassieke Meltdown, aangezien dezelfde cache wordt gebruikt voor speculatief uitgevoerde bewerkingen als voor normaal uitgevoerde instructies, is het mogelijk om tijdens speculatieve uitvoering markeringen in de cache te plaatsen die de inhoud van individuele bits in een gesloten geheugengebied weerspiegelen. Vervolgens kunnen ze hun waarde in de normaal uitgevoerde code bepalen door de toegangstijd tot gecachede en niet-gecachede gegevens te analyseren. In de nieuwe versie wordt een wijziging in het EFLAGS-register gebruikt als indicator voor datalekken. Tijdens de demonstratie, om een ​​verborgen communicatiekanaal te organiseren, moduleerde één proces de verzonden gegevens en creëerde zo voorwaarden voor het wijzigen van de inhoud van het EFLAGS-register. Een ander proces analyseerde vervolgens de wijziging in de uitvoeringstijd van de JCC-instructie om de door het eerste proces verzonden gegevens opnieuw te creëren.

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster