Een aanval op Intel SGX, die het mogelijk maakt om vertrouwelijke gegevens te extraheren of code in de enclave uit te voeren.

Onderzoekers van de Defensietechnische Universiteit van het Volksbevrijdingsleger van China, de Nationale Universiteit van Singapore en de Zwitserse Federale Technische Universiteit Zürich hebben een nieuwe aanvalsmethode ontwikkeld op geïsoleerde enclaves van Intel SGX (Software Guard eXtensions). De aanval, genaamd SmashEx, is voortgekomen uit problemen met herbruikbaarheid bij het afhandelen van uitzonderingen tijdens de werking van runtime-componenten voor Intel SGX. De voorgestelde aanvalsmethode stelt een aanvaller in staat om, met controle over het besturingssysteem, vertrouwelijke gegevens die zich in de enclave bevinden, te identificeren of hun eigen code in het geheugen van de enclave te kopiëren en uit te voeren.

Prototypes van exploits zijn voorbereid voor enclaves met runtime op basis van Intel SGX SDK (CVE-2021-0186) en Microsoft Open Enclave (CVE-2021-33767). In het eerste geval is aangetoond dat het mogelijk is om een RSA-sleutel, gebruikt op de webserver voor HTTPS, te extraheren, terwijl in het tweede geval het mogelijk was om de inhoud te bepalen, verkregen door de cURL-tool die binnen de enclave werd uitgevoerd. De kwetsbaarheid is al via software verholpen in de uitgaven van Intel SGX SDK 2.13 en Open Enclave 0.17.1. Naast de pakketten Intel SGX SDK en Microsoft Open Enclave, treedt de kwetsbaarheid ook op in de SDK van Google Asylo, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX en Veracruz.

We herinneren eraan dat de SGX-technologie (Software Guard Extensions) werd geïntroduceerd in de Intel Core-processors van de zesde generatie (Skylake) en een reeks instructies biedt waarmee toepassingen op gebruikersniveau gesloten geheugengebieden — enclaves — kunnen toewijzen, waarvan de inhoud niet kan worden gelezen of gewijzigd, zelfs niet door de kernel of code die in ring0-, SMM- en VMM-modi wordt uitgevoerd. Het is niet mogelijk om de controle over de code in de enclave over te dragen via traditionele overgangsfuncties en register- of stackmanipulaties; om de controle naar de enclave over te dragen, worden speciaal geschreven nieuwe instructies EENTER, EEXIT en ERESUME gebruikt, die bevoegdheden verifiëren. Bovendien kan de code die in de enclave is geplaatst klassieke oproepmethoden gebruiken om functies binnen de enclave aan te roepen en een speciale instructie voor het aanroepen van externe functies. Ter bescherming tegen hardware-aanvallen, zoals aansluiting op de DRAM-module, wordt geheugenversleuteling van de enclave toegepast.

Een aanval op Intel SGX, die het mogelijk maakt om vertrouwelijke gegevens te extraheren of code in de enclave uit te voeren.

Het probleem is gerelateerd aan het feit dat de SGX-technologie het besturingssysteem in staat stelt de uitvoering van de enclave te onderbreken door middel van het genereren van hardware-excepties. Binnen enclaves zijn er echter geen primitieve toestellen correct geïmplementeerd voor de atomische verwerking van dergelijke excepties. In tegenstelling tot de kernel van het besturingssysteem en gewone applicaties, heeft de code binnen enclaves geen toegang tot primitieve middelen om atomische acties te organiseren tijdens de verwerking van asynchroon optredende excepties. Zonder deze atomische primitieve kunnen enclaves op elk moment worden onderbroken en weer hervat, zelfs wanneer er kritische secties binnen de enclave worden uitgevoerd en deze zich in een onveilige toestand bevindt (bijvoorbeeld wanneer CPU-registers niet zijn opgeslagen/hersteld).

Een aanval op Intel SGX, die het mogelijk maakt om vertrouwelijke gegevens te extraheren of code in de enclave uit te voeren.

Voor een normale werking stelt de SGX-technologie in staat om de uitvoering van de enclave te onderbreken door configureerbare hardware-excepties. Deze eigenschap stelt runtime-omgevingen van enclaves in staat om de behandeling van intra-enclave excepties of signaalverwerking te realiseren, maar kan ook re-entrantiefouten veroorzaken. De SmashEx-aanval is gebaseerd op het uitbuiten van tekortkomingen in de SDK waardoor de situatie van een herhaaloproep van de exceptiehandler niet correct wordt afgehandeld. Het is belangrijk dat de aanvaller in staat moet zijn om de uitvoering van de enclave te onderbreken, dat wil zeggen dat hij de controle moet hebben over de werking van de systeemomgeving.

Na het genereren van een exceptie krijgt de aanvaller een klein tijdsvenster waarin hij de stroom van de uitvoering kan onderscheppen door de invoerparameters te manipuleren. In het bijzonder, bij toegang tot het systeem (omgeving buiten de enclave), kan een nieuwe exceptie worden gecreëerd onmiddellijk na het uitvoeren van de instructie voor het betreden van de enclave (EENTER), wat zal leiden tot het teruggeven van de controle aan het systeem op een moment dat de instellen van de stack voor de enclave nog niet is voltooid, inclusief het behouden van de toestand van de CPU-registers.

Het systeem kan dan de controle teruggeven aan de enclave, maar omdat de stack van de enclave tijdens de onderbreking niet was ingesteld, zal de enclave worden uitgevoerd met de stack die zich in het systeemgeheugen bevindt, wat kan worden gebruikt voor de toepassing van exploitatiemethoden op basis van return-oriented programming (ROP - Return-Oriented Programming). Bij het gebruik van de ROP-techniek probeert de aanvaller zijn code niet in het geheugen te plaatsen, maar werkt hij met bestaande fragmenten van machine-instructies die zich in de geladen bibliotheken bevinden en eindigen met een terugkeer-instructie (meestal de eindes van bibliotheekfuncties). Het exploitatiewerkzaamheden beperken zich tot het opbouwen van een keten van aanroepen van soortgelijke blokken ('gadgets') om de benodigde functionaliteit te verkrijgen.

Een aanval op Intel SGX, die het mogelijk maakt om vertrouwelijke gegevens te extraheren of code in de enclave uit te voeren.
Een aanval op Intel SGX, die het mogelijk maakt om vertrouwelijke gegevens te extraheren of code in de enclave uit te voeren.


Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster