Attack op Intel SGX fir sensibel Donnéeën ze extrahieren oder Code an der Enclave auszeféieren

Fuerscher vun der People's Liberation Army Defense Science and Technology University, der National University of Singapore an ETH Zürich hunn eng nei Method entwéckelt fir isoléiert Enklaven Intel SGX (Software Guard eXtensions) z'attackéieren. D'Attack gëtt SmashEx genannt a gëtt duerch Probleemer mat der Reentrée verursaacht beim Ëmgank mat Ausnahmssituatiounen während der Operatioun vun Runtime Komponenten fir Intel SGX. Déi proposéiert Attackmethod mécht et méiglech, wann Dir Kontroll iwwer de Betribssystem hutt, vertraulech Donnéeën an der Enclave ze bestëmmen, oder d'Kopie vun Ärem Code an d'Erënnerung vun der Enclave a seng Ausféierung z'organiséieren.

Exploit Prototypen goufen fir Enclave mat Runtime virbereet baséiert op der Intel SGX SDK (CVE-2021-0186) a Microsoft Open Enclave (CVE-2021-33767). Am éischte Fall gouf d'Kapazitéit fir en RSA-Schlëssel ze extrahieren, deen op engem Webserver fir HTTPS benotzt gëtt, bewisen, an am zweeten war et méiglech, den Inhalt ze bestëmmen, dee vum cURL-Utility an der Enclave leeft. D'Schwachheet ass scho programmatesch an de Verëffentlechunge vun Intel SGX SDK 2.13 an Open Enclave 0.17.1 adresséiert. Zousätzlech zu der Intel SGX SDK a Microsoft Open Enclave erschéngt d'Vulnerabilitéit och an der Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX a Veracruz.

Loosst eis drun erënneren datt d'SGX (Software Guard Extensions) Technologie an der sechster Generatioun Intel Core Prozessoren (Skylake) erschéngt a bitt eng Serie vun Instruktiounen, déi Uwendungen op Benotzerniveau erlaben zougemaach Erënnerungsberäicher ze verdeelen - Enklaven, den Inhalt vun deenen net gelies ka ginn an geännert souguer vum Kärel an de Code ausgefouert an ring0, SMM a VMM Modi. Et ass onméiglech d'Kontroll op de Code an der Enclave mat traditionelle Sprongfunktiounen a Manipulatioune mat Registere an dem Stack ze transferéieren - speziell erstallt nei Instruktiounen EENTER, EEXIT an ERESUME gi benotzt fir d'Kontroll an d'Enclave ze transferéieren, déi Autoritéitskontrollen ausféieren. An dësem Fall kann de Code, deen an der Enclave plazéiert ass, klassesch Uruffmethoden benotze fir Zougang zu Funktiounen an der Enclave a speziell Instruktioune fir extern Funktiounen ze ruffen. Enclave Memory Verschlësselung gëtt benotzt fir géint Hardwareattacken ze schützen wéi d'Verbindung mat engem DRAM Modul.

Attack op Intel SGX fir sensibel Donnéeën ze extrahieren oder Code an der Enclave auszeféieren

De Problem ass datt d'SGX Technologie de Betribssystem erlaabt eng Enklave ofzebriechen andeems se eng Hardware Ausnahm werfen, an d'Enklaven net richteg ëmsetzen Primitiv fir atomesch Handhabung vun esou Ausnahmen. Am Géigesaz zum Kernel vum Betribssystem a reegelméissegen Uwendungen, huet Code bannent Enklaven keen Zougang zu Primitiven fir atomar Handlungen z'organiséieren wann Dir asynchron geheit Ausnahmen handelt. Ouni déi spezifizéiert Atomprimitiven kann d'Enklave zu all Moment ënnerbrach ginn an zréck an d'Ausféierung ginn, och zu Zäiten, wou d'Enklave kritesch Sektiounen ausféiert an an engem onsécheren Zoustand ass (zum Beispill wann CPU Registere net gespäichert / restauréiert ginn).

Attack op Intel SGX fir sensibel Donnéeën ze extrahieren oder Code an der Enclave auszeféieren

Fir normal Operatioun erlaabt SGX Technologie d'Ausféierung vun der Enclave duerch konfiguréierbar Hardware Ausnahmen ënnerbrach ze ginn. Dës Fonktioun erlaabt Enclave Runtime Ëmfeld fir d'Intra-Enclave Ausnam Handhabung oder Signalveraarbechtung ëmzesetzen, awer et kann och reentrant Feeler verursaachen. De SmashEx Attack baséiert op der Ausbeutung vu Mängel an der SDK, wéinst deenen d'Situatioun fir den Ausnamehanterer erëmzeruffen net richteg gehandhabt gëtt. Et ass wichteg datt fir d'Schwachheet auszenotzen, den Ugräifer muss d'Ausféierung vun der Enklave ënnerbriechen, d.h. muss d'Operatioun vum System Ëmfeld kontrolléieren.

Nodeems Dir eng Ausnahm geheit huet, kritt den Ugräifer eng kleng Zäitfenster während där den Ausféierungsfuedem duerch Manipulatioun vun den Inputparameter ofgefaang ka ginn. Besonnesch, wann Dir Zougang zum System hutt (Ëmfeld ausserhalb vun der Enclave), kënnt Dir eng nei Ausnahm erstellen direkt nodeems Dir d'Enclave Entry Instruction (EENTER) ausféiert, déi d'Kontroll an de System an enger Etapp zréckginn wou de Stack Setup fir den Enclave ass nach net ofgeschloss, an deem Den Zoustand vun den CPU Registere och gespäichert ass.

De System kann dann d'Kontroll zréck an d'Enklave zréckginn, awer well de Stack vum Enclave net zum Zäitpunkt vum Ënnerbriechung konfiguréiert war, wäert d'Enklave mam Stack ausféieren, deen am System Memory wunnt, wat benotzt ka ginn fir Retour-orientéiert Programméierung (ROP) ze benotzen. ) Ausbeutungstechniken. Oriented Programming). Wann Dir d'ROP-Technik benotzt, probéiert den Ugräifer net säi Code an d'Erënnerung ze placéieren, mee operéiert op Stécker vun Maschinninstruktiounen, déi scho verfügbar sinn a gelueden Bibliothéiken, endend mat enger Kontrollretourinstruktioun (als Regel, dat sinn d'Enn vun de Bibliothéiksfunktiounen) . D'Aarbecht vum Exploit kënnt erof op eng Kette vun Uruff un ähnlech Blocks ("Gadgeten") ze bauen fir déi gewënschte Funktionalitéit ze kréien.

Attack op Intel SGX fir sensibel Donnéeën ze extrahieren oder Code an der Enclave auszeféieren
Attack op Intel SGX fir sensibel Donnéeën ze extrahieren oder Code an der Enclave auszeféieren


Source: opennet.ru

Setzt e Commentaire