SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Wéi Dir wësst, ass de Code, deen an der Enclave ausgefouert gëtt, eescht a senger Funktionalitéit limitéiert. Et kann net System Uruff maachen. Et kann net I / O Operatiounen ausféieren. Et weess net d'Basisadress vum Code Segment vun der Hostapplikatioun. Et kann net jmp oder Hostapplikatiounscode uruffen. Et huet keng Ahnung iwwer d'Adressraumstruktur déi d'Hostapplikatioun regéiert (zum Beispill, wéi eng Säite kartéiert sinn oder wéi eng Zort Daten op deene Säiten sinn). Et kann de Betribssystem net froen fir e Stéck vun der Erënnerung vun der Hostapplikatioun ze mapen (zum Beispill duerch /proc/pid/maps). Naiv Versuche fir blann eng arbiträr Erënnerungsregioun vun enger Hostapplikatioun ze liesen, fir net ze schreiwen Versich ze schreiwen, wäert desto oder spéider (wahrscheinlech déi fréier) zu der gezwongener Kënnegung vum Enklaveprogramm féieren. Dëst geschitt wann déi virtuell Adressraumregioun, déi vun der Enclave ugefrot ass, net zougänglech ass fir d'Hostapplikatioun.

Gitt esou haarde Realitéiten, wäert e Virus Schrëftsteller fäeg sinn SGX Enklaven ze benotzen fir seng béiswëlleg Ziler z'erreechen?

- Hack fir Adressen z'ënnersichen fir ze kucken ob se gelies kënne ginn
- Hack fir Adressen fir Schreifbar ze ënnersichen
- Hack fir Kontrollfloss ze redirectéieren
- Wat ginn déi dräi Hacks uewen opgezielt dem Béisen?
- Wéi de Béisen dës Hacks benotzt fir ranzowari ze kreéieren

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Baséierend op all vun den uewe genannten, ass et allgemeng ugeholl datt eng Enclave nëmmen fäeg ass d'Hostapplikatioun ze déngen, an datt d'Enclave seng eegen Initiativ net ausübe kann, och béiswëlleg. Dëst bedeit datt Enklaven kee praktesche Wäert fir Virus Schrëftsteller sinn. Dës hastige Viraussetzung ass ee vun de Grënn firwat de SGX Schutz asymmetresch ass: Hostapplikatiounscode kann net op Enclave Memory zougräifen, während Enclave Code kann op all Hostapplikatioun Memory Adress liesen a schreiwen.

Dofir, wann béiswëlleg Enclave Code fäeg war arbiträr System Uruff am Numm vun der Hostapplikatioun ze maachen, arbiträr Code am Numm auszeféieren, d'Erënnerung vun der Hostapplikatioun ze scannen a mëssbrauchbar ROP Ketten dran ze fannen, da kéint et d'ganz Kontroll vun der Hostapplikatioun anhuelen, an stealth Modus. Et kann net nëmmen Benotzerdateien klauen a verschlësselen, awer och am Numm vum Benotzer handelen. Zum Beispill, schéckt Phishing-E-Mailen a sengem Numm oder féiert DoS-Attacke. Ouni Angscht viru souguer déi modernst Schutzmechanismen, wéi Stack Kanaren an Adress Sanéierung.

Mir weisen Iech e puer Hacks déi Ugräifer benotzen fir d'Beschränkungen ze iwwerwannen, déi hei uewen beschriwwe sinn, fir SGX fir hir eege béiswëlleg Zwecker ze profitéieren: ROP Attacken. Entweder fir e arbiträre Code auszeféieren deen als Hostapplikatiounsprozess verkleed ass (ähnlech wéi d'Prozess Hollowing, déi dacks vu Malware benotzt gëtt), oder fir e fäerdege Malware ze verkleeden (fir seng Malware vu Verfolgung duerch Antivirusen an aner Verteidegungsmechanismen ze retten).

Hack fir Adressen z'ënnersichen fir ze kucken ob se gelies kënne ginn

Zënter datt d'Enklave net weess wéi eng Reihen vum virtuellen Adressraum fir d'Hostapplikatioun zougänglech sinn, a well d'Enklave gezwongen ass opzehalen wann se probéiert eng onzougänglech Adress ze liesen, ass den Ugräifer mat der Aufgab konfrontéiert e Wee ze fannen fir ze Feeler- tolerant d'Adressraum scannen. Fannt e Wee fir verfügbar virtuell Adressen ze kartéieren. De Béise léist dëse Problem andeems hien Intel seng TSX Technologie mëssbraucht. Benotzt ee vun den Nebenwirkungen vun TSX: wann d'Erënnerungszougangsfunktioun an enger TSX Transaktioun plazéiert ass, da ginn Ausnahmen, déi aus Zougang zu ongülteg Adressen entstinn, vun TSX ënnerdréckt ouni de Betribssystem z'erreechen. Wann e Versuch gemaach gëtt fir op eng ongëlteg Erënnerungsadress ze kommen, gëtt nëmmen déi aktuell Transaktioun ofgebrach, net de ganze Enklaveprogramm. Dat. TSX erlaabt eng Enclave sécher Zougang zu all Adress vu bannent enger Transaktioun ze kréien - ouni de Risiko vum Zesummebroch.

wann déi spezifizéiert Adress ass verfügbar Hostapplikatioun, ass d'TSX Transaktioun meeschtens erfollegräich. An seltenen Fäll kann et versoen wéinst externen Aflëss wéi Ënnerbriechungen (wéi Scheduler Ënnerbriechungen), Cache Evictiounen oder gläichzäiteg Ännerung vun enger Erënnerungsplaz duerch verschidde Prozesser. An dëse rare Fäll gëtt den TSX e Feelercode zréck, deen uginn datt de Feeler temporär ass. An dëse Fäll musst Dir just d'Transaktioun nei starten.

wann déi spezifizéiert Adress ass net verfügbar Hostapplikatioun, TSX ënnerdréckt d'Ausnam déi geschitt ass (d'OS gëtt net matgedeelt) an ofbréngt d'Transaktioun. E Feelercode gëtt an den Enklavecode zréckgezunn, sou datt et op d'Tatsaach reagéiere kann datt d'Transaktioun annuléiert gouf. Dës Feelercodes weisen datt d'Adress a Fro net fir d'Hostapplikatioun verfügbar ass.

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Dës Manipulatioun vun TSX vu bannen an der Enclave huet eng flott Feature fir de Béis: well déi meescht Hardware-Performance-Zähler net aktualiséiert ginn zur Zäit wou den Enklavecode ausgefouert gëtt, ass et onméiglech TSX Transaktiounen ze verfolgen, déi an der Enclave ausgefouert goufen. Also bleift béiswëlleg Manipulatioun vum TSX komplett onsichtbar fir de Betribssystem.

Zousätzlech, well den uewe genannten Hack net op all Systemappellen vertrauen, kann et weder erkannt oder verhënnert ginn andeems se einfach Systemappellen blockéieren; wat normalerweis e positiven Resultat am Kampf géint Ee Juegd gëtt.

De Béise benotzt den Hack uewen beschriwwen fir de Hostapplikatiounscode fir Gadgeten ze sichen déi gëeegent sinn fir eng ROP Kette ze bilden. Zur selwechter Zäit brauch hien net all Adress z'ënnersichen. Et ass genuch fir eng Adress vun all Säit vum virtuelle Adressraum z'ënnersichen. Probéieren all 16 Gigabytes Erënnerung dauert ongeféier 45 Minutten (op en Intel i7-6700K). Als Resultat kritt de Béis eng Lëscht vun ausführbare Säiten déi gëeegent sinn fir eng ROP Kette ze bauen.

Hack fir d'Adressen fir d'Schreifbarkeet z'ënnersichen

Fir eng Enklave-Versioun vun engem ROP-Attack auszeféieren, muss en Ugräifer fäeg sinn no schrëftlech onbenotzt Erënnerungsberäicher vun der Hostapplikatioun ze sichen. Den Ugräifer benotzt dës Erënnerungsplazen fir e gefälschte Stackframe ze sprëtzen an eng Notzlaascht (Shellcode) ze sprëtzen. Déi ënnescht Linn ass datt eng béiswëlleg Enklave net fäeg ass d'Hostapplikatioun ze erfuerderen fir Gedächtnis fir sech selwer ze verdeelen, awer amplaz d'Erënnerung mëssbrauche kann, déi scho vun der Hostapplikatioun zougewisen ass. Wann hien et natierlech fäerdeg bréngt esou Gebidder ze fannen ouni d'Enklave ze kollapsen.

De Béisen mécht dës Sich duerch eng aner Nebenwirkung vun TSX auszenotzen. Als éischt, wéi am virege Fall, iwwerpréift et d'Adress fir seng Existenz, a kontrolléiert dann ob d'Säit, déi zu dëser Adress entsprécht, schreiwenbar ass. Fir dëst ze maachen, benotzt de Béisen de folgenden Hack: hien setzt eng Schreiffunktioun an enger TSX Transaktioun, an nodeems se ofgeschloss ass, awer ier se ofgeschloss ass, ofbrécht hien d'Transaktioun gezwongen (explizit ofbriechen).

Andeems Dir de Retourcode vun enger TSX Transaktioun kuckt, versteet den Ugräifer ob et schrëftlech ass. Wann et eng "explizit Ofdreiwung" ass, versteet de Béisen, datt d'Opnahm erfollegräich gewiescht wier, wann hien dermat gefollegt hätt. Wann d'Säit nëmme liesen ass, da schléisst d'Transaktioun mat engem anere Feeler wéi "explizit ofbriechen".

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Dës Manipulatioun vum TSX huet eng aner Fonktioun déi gutt ass fir de Béisen (niewent der Onméiglechkeet fir duerch Hardware Performance Comptoiren ze verfolgen): well all Erënnerung Schreifbefehle nëmmen engagéiert sinn wann d'Transaktioun erfollegräich ass, d'Transaktioun ze forcéieren fir ze kompletéieren garantéiert datt d'probéiert Erënnerung Zell bleift onverännert.

Hack fir Kontrollfloss ze redirectéieren

Wann Dir e ROP Attack aus enger Enclave ausféiert - am Géigesaz zu traditionelle ROP Attacken - kann den Ugräifer d'Kontroll iwwer de RIP Register gewannen ouni Bugs am attackéierte Programm auszenotzen (Puffer Iwwerfloss oder eppes wéi dat). En Ugräifer kann de Wäert vum RIP Register direkt op de Stack iwwerschreiwe. Besonnesch kann et de Wäert vun dësem Register mat senger eegener ROP Kette ersetzen.

Wéi och ëmmer, wann d'ROP Kette laang ass, dann iwwerschreiwe e grousse Stéck vum Hostapplikatioun Stack kann zu Datekorruptioun an onerwaart Programmverhalen féieren. De Béisen, dee versicht seng Attack geheim ze maachen, ass net zefridden mat dësem Zoustand. Dofir erstellt et e gefälschte temporäre Stackrahmen fir sech a späichert seng ROP Kette dran. De gefälschte Stackframe gëtt an enger zoufälleger schrëftlecher Erënnerungsplaz plazéiert, déi de richtege Stack intakt léisst.

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Wat ginn déi dräi Hacks uewen opgezielt dem Béisen?

(1) Éischt, déi béiswëlleg Enclave duerch Hack fir Adressen z'ënnersichen fir ze kucken ob se gelies kënne ginn, - sicht d'Hostapplikatioun no mëssbrauchbare ROP Gadgeten.

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

(2) Dann duerch Hack fir Adressen fir Schreifbar ze probéieren, - eng béiswëlleg Enklave identifizéiert Gebidder an der Erënnerung vun der Hostapplikatioun déi gëeegent sinn fir eng Notzlaascht ze sprëtzen.

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

(3) Als nächst erstellt d'Enklave eng ROP Kette aus de Gadgeten, déi am Schrëtt entdeckt goufen (1) a sprëtzen dës Kette an den Hostapplikatiounsstack.

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

(4) Schlussendlech, wann d'Hostapplikatioun d'ROP Kette begéint, déi am virege Schrëtt erstallt gouf, fänkt déi béiswëlleg Notzlaascht auszeféieren - mat de Privilegien vun der Hostapplikatioun an der Fäegkeet fir System Uruff ze maachen.

Wéi e Béisen dës Hacks benotzt fir ranzowari ze kreéieren

Nodeems d'Hostapplikatioun d'Kontroll un d'Enklave iwwer eng vun den ECALLs iwwerdroen (ouni Verdacht datt dës Enclave béiswëlleg ass), sicht déi béiswëlleg Enklave no fräie Raum an der Erënnerung vun der Hostapplikatioun fir Code ze sprëtzen (als fräi Plazen dës Sequenzen vun Zellen huelen. déi mat Nullen gefëllt ass). Dann duerch Hack fir Adressen z'ënnersichen fir ze kucken ob se gelies kënne ginn, - d'Enklave sicht no ausführbare Säiten an der Hostapplikatioun a generéiert eng ROP Kette déi eng nei Datei mam Numm "RANSOM" am aktuellen Verzeechnes erstellt (an engem richtegen Attack verschlësselt d'Enklave existent Benotzerdateien) a weist e Ransom Message. Zur selwechter Zäit mengt d'Hostapplikatioun naiv datt d'Enklave einfach zwou Zuelen bäidréit. Wéi gesäit dat am Code aus?

Fir Liichtegkeet vun der Perceptioun, loosst eis e puer Mnemonik duerch d'Definitioune virstellen:

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Mir späicheren déi ursprénglech Wäerter vun de RSP- a RBP-Register fir den normale Betrib vun der Hostapplikatioun ze restauréieren nodeems d'Notzlaascht ausgefouert gouf:

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Mir sichen no engem passenden Stack Frame (kuckt de Code aus der Rubrik "Hack fir Viruleedung Kontroll Flux").

Gëeegent ROP Gadgeten fannen:

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Fannt eng Plaz fir d'Notzlaascht ze sprëtzen:

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Mir bauen eng ROP Kette:

SGX Malware: wéi Béiser déi nei Intel Technologie ausnotzen fir aner Zwecker wéi déi fir déi se geduecht war

Dëst ass wéi d'Intel SGX Technologie, entwéckelt fir béiswëlleg Programmer ze bekämpfen, vu Béiser exploitéiert gëtt fir entgéintgesate Ziler z'erreechen.

Source: will.com

Setzt e Commentaire