Extensii de protecție software - Software Guard Extensions
Intel Software Guard Extensions ( SGX ) este un set de coduri de instrucțiuni legate de securitate care sunt încorporate în unele unități centrale de procesare Intel (CPU) moderne . Acestea permit la nivel de utilizator , precum și codul sistemului de operare, să definească regiunile private de memorie, numite enclave , al căror conținut este protejat și nu poate fi citit sau salvat de niciun proces în afara enclavei în sine, inclusiv procese care rulează la niveluri de privilegii superioare .
SGX implică criptarea de către CPU a unei porțiuni de memorie. Enclava este decriptată din mers numai în interiorul procesorului în sine și chiar și atunci, numai pentru cod și date care rulează din interiorul enclavei. Procesorul protejează astfel codul de a fi „spionat” sau examinat de alt cod. Codul și datele din enclavă utilizează un model de amenințare în care enclava este de încredere, dar nu se poate avea încredere în niciun proces (inclusiv sistemul de operare în sine și orice hipervizor ) și, prin urmare, toate acestea sunt tratate ca fiind potențial ostile. Conținutul enclavei nu poate fi citit de niciun cod în afara enclavei, altul decât în forma sa criptată. Aplicațiile care rulează în interiorul SGX trebuie să fie scrise pentru a fi rezistente la canalul lateral, deoarece SGX nu protejează împotriva măsurării sau observării canalului lateral.
SGX este conceput pentru a fi util pentru implementarea unor calcule securizate la distanță , navigare web securizată și gestionarea drepturilor digitale (DRM). Alte aplicații includ ascunderea algoritmilor proprietari și a cheilor de criptare .
Detalii
SGX a fost introdus pentru prima dată în 2015 cu a șasea generație de microprocesoare Intel Core bazate pe microarhitectura Skylake .
Suportul pentru SGX în CPU este indicat în CPUID „Structured Extended feature Leaf”, bit EBX 02, dar disponibilitatea sa pentru aplicații necesită suport BIOS / UEFI și activare opt-in care nu se reflectă în biții CPUID. Acest lucru complică logica de detectare a caracteristicilor pentru aplicații.
Emularea SGX a fost adăugată la o versiune experimentală a emulatorului de sistem QEMU în 2014. În 2015, cercetătorii de la Georgia Institute of Technology au lansat un simulator open-source numit „OpenSGX”.
Un exemplu de SGX utilizat în securitate a fost o aplicație demo de la wolfSSL care o folosea pentru algoritmi de criptografie.
Microarhitectura Intel Goldmont Plus (Gemini Lake) conține, de asemenea, suport pentru Intel SGX.
Atacuri
Atac Prime + Probe
La 27 martie 2017, cercetătorii de la Universitatea Tehnologică Graz din Austria au dezvoltat o dovadă de concept care poate prelua cheile RSA de pe enclave SGX care rulează pe același sistem în decurs de cinci minute, folosind anumite instrucțiuni CPU în locul unui cronometru cu granulație fină pentru a exploata memoria cache Canalele laterale DRAM . O contramăsură pentru acest tip de atac a fost prezentată și publicată de Daniel Gruss și colab. la USENIX Security Symposium din 2017. Printre alte contramăsuri publicate, o contramăsură la acest tip de atac a fost publicată pe 28 septembrie 2017, un instrument bazat pe compilator, DR.SGX, care pretinde că are performanțe superioare odată cu eliminarea implementării complexitatea altor soluții propuse.
Atac de tip spectru
Grupul LSDS de la Imperial College London a arătat o dovadă a conceptului că vulnerabilitatea de securitate a execuției speculative Spectre poate fi adaptată pentru a ataca enclava securizată. Prevestesc atac, dezvăluit în august 2018, combină execuție speculativă și buffer overflow bypass SGX.
Atac de enclavă
La 8 februarie 2019, cercetătorii de la Universitatea Tehnologică Graz din Austria au publicat concluzii, care au arătat că, în unele cazuri, este posibil să ruleze cod rău intenționat din interiorul enclavei. Exploatarea implică scanarea prin memoria procesului, pentru a reconstitui o sarcină utilă, care poate rula apoi cod pe sistem. Lucrarea susține că, datorită naturii confidențiale și protejate a enclavei, este imposibil ca software-ul Antivirus să detecteze și să elimine malware-ul care se află în interiorul acestuia. Cu toate acestea, deoarece soluțiile moderne anti-malware și antivirus monitorizează apelurile de sistem și interacțiunea aplicației cu sistemul de operare, ar trebui să fie posibilă identificarea enclavelor rău intenționate prin comportamentul lor, iar această problemă este puțin probabil să fie o preocupare pentru starea de -antivirusurile de artă. Intel a emis o declarație, afirmând că acest atac se află în afara modelului de amenințare al SGX, că nu pot garanta că codul rulat de utilizator provine din surse de încredere și a îndemnat consumatorii să ruleze doar cod de încredere.
Atac de redare MicroScope
Există o proliferare a atacurilor pe canale laterale care afectează arhitectura modernă a computerelor. Multe dintre aceste atacuri măsoară variații ușoare, nedeterministe, în executarea unui cod, astfel încât atacatorul are nevoie de multe, posibil zeci de mii, de măsurători pentru a afla secrete. Cu toate acestea, atacul Microscope permite unui sistem de operare rău intenționat să redea codul de câte ori arbitrar, indiferent de structura reală a programelor, permițând zeci de atacuri pe canal lateral.
Plundervolt
Cercetătorii în materie de securitate au reușit să injecteze defecțiuni specifice de sincronizare în execuție în enclavă, rezultând scurgeri de informații. Atacul poate fi executat de la distanță, dar necesită acces la controlul privilegiat al tensiunii și frecvenței procesorului.
LVI
Load Value Injection injectează date într-un program care urmărește să înlocuiască valoarea încărcată din memorie, care este apoi utilizată pentru o perioadă scurtă de timp înainte ca greșeala să fie detectată și redusă, timp în care LVI controlează datele și controlul fluxului.
SGAxe
SGAxe, o vulnerabilitate SGX, extinde un atac de execuție speculativ asupra cache-ului, scurgând conținutul enclavei. Acest lucru permite unui atacator să acceseze cheile CPU private utilizate pentru atestarea de la distanță. Cu alte cuvinte, un actor de amenințare poate ocoli contramăsurile Intel pentru a încălca confidențialitatea enclavelor SGX. Atacul SGAxe se realizează prin extragerea chei de atestare din enclava citând privat SGX lui, care sunt semnate de Intel. Atacatorul poate apoi să se mascheze ca mașini legitime Intel semnând citate arbitrare de atestare SGX.
Vezi si
Referințe
linkuri externe
-
Intel Software Guard Extensions (Intel SGX) / ISA Extensions, Intel
- Referințe de programare Intel Software Guard Extensions (Intel SGX) , Intel, octombrie 2014
- IDF 2015 - Tech Chat: Un manual pentru extensiile Intel Software Guard , Intel (poster)
- Diapozitive tutoriale ISCA 2015 pentru Intel SGX , Intel, iunie 2015
- McKeen, Frank și colab. (Intel), Instrucțiuni inovatoare și model de software pentru execuție izolată // Lucrările celui de-al doilea atelier internațional privind suportul hardware și arhitectural pentru securitate și confidențialitate. ACM, 2013.
- Jackson, Alon, (disertație de doctorat). Încrederea se află în cheile privitorului: extinderea autonomiei și anonimatului SGX , mai 2017.
- Joanna Rutkowska , Gânduri despre viitoarele extensii de protecție a software-ului Intel (partea 1) , august 2013
- SGX: binele, răul și de-a dreptul urât / Shaun Davenport, Richard Ford (Florida Institute of Technology) / Virus Bulletin, 2014-01-07
- Victor Costan și Srinivas Devadas, Intel SGX Explained , ianuarie 2016.
- wolfSSL , octombrie 2016.
- Securitatea Intel SGX pentru aplicațiile de protecție a cheilor și de confidențialitate a datelor / Profesorul Yehuda Lindell (Bar Ilan University & Unbound Tech), ianuarie 2018
- Tehnologia Intel SGX și impactul atacurilor pe canale laterale ale procesorului , martie 2020
- Cum calculul confidențial oferă o experiență de cumpărături personalizată , ianuarie 2021