Weerar lagu qaado Intel SGX si loo soo saaro xogta xasaasiga ah ama loo fuliyo koodka gudaha gudaha

Cilmi-baarayaal ka socda Jaamacadda Difaaca Sayniska iyo Teknolojiyadda Dadweynaha, Jaamacadda Qaranka ee Singapore iyo ETH Zurich waxay soo saareen hab cusub oo lagu weerarayo meelaha go'doonsan ee Intel SGX (Software Guard eXtensions). Weerarka waxaa loo yaqaan SmashEx waxaana sababa dhibaatooyinka soo laabashada marka la xalinayo xaaladaha ka baxsan inta lagu jiro hawlgalka qaybaha runtime ee Intel SGX. Habka weerarka ee la soo jeediyay ayaa suurtogal ka dhigaya, haddii aad gacanta ku hayso nidaamka qalliinka, si aad u go'aamiso xogta qarsoodiga ah ee ku taal enclave, ama inaad habayso nuqul ka mid ah koodkaaga xusuusta enclave's iyo fulinta.

Qaababka ka faa'iidaysiga waxaa loo diyaariyey meelo kooban oo leh runtime ku salaysan Intel SGX SDK (CVE-2021-0186) iyo Microsoft Open Enclave (CVE-2021-33767). Xaaladda koowaad, awoodda soo saarista furaha RSA ee loo isticmaalo server-ka HTTPS ayaa la muujiyay, iyo tan labaad, waxaa suurtagal ah in la go'aamiyo nuxurka ay heshay utility cURL ee ku dhex socda gudaha. Nuglaanta ayaa mar hore looga hadlay barnaamij ahaan siidaynta Intel SGX SDK 2.13 iyo Open Enclave 0.17.1. Marka lagu daro Intel SGX SDK iyo Microsoft Open Enclave, dayacanka ayaa sidoo kale ka muuqda Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX iyo Veracruz.

Aynu dib u xasuusanno in tignoolajiyada SGX (Software Guard Extensions) ay ka soo muuqatay jiilka lixaad ee Intel Core Processors (Skylake) waxayna bixisaa tilmaamo taxane ah oo u oggolaanaya codsiyada heerka-isticmaalka inay u qoondeeyaan meelaha xusuusta xiran - xirmooyinka, nuxurka aan la akhrin karin wax laga beddelay xitaa kernel-ka iyo koodka lagu fuliyay ring0, SMM iyo qaababka VMM. Suurtagal ma aha in lagu wareejiyo koodhka koodhka ku yaala hareeraha iyada oo la adeegsanayo hawlaha boodboodka dhaqameed iyo wax-is-daba-marin leh diiwaannada iyo xirmooyinka - si gaar ah ayaa loo abuuray tilmaamo cusub EENTER, EEXIT iyo ERESUME ayaa loo isticmaalaa in lagu wareejiyo xakamaynta, kuwaas oo sameeya hubinta maamulka. Xaaladdan oo kale, koodka lagu dhejiyay enclave wuxuu isticmaali karaa hababka wicitaanka qadiimiga ah si uu u galo hawlaha gudaha gudaha iyo tilmaamo gaar ah oo loogu yeero hawlaha dibadda. Enclave memory encryption waxaa loo isticmaalaa in laga ilaaliyo weerarada qalabka sida ku xidhidhiyaha moduleka DRAM.

Weerar lagu qaado Intel SGX si loo soo saaro xogta xasaasiga ah ama loo fuliyo koodka gudaha gudaha

Dhibaatadu waxay tahay in tignoolajiyada SGX ay u ogolaato nidaamka qalliinka in uu iska soo rido xayndaabka isagoo tuuraya qalab ka reeban, iyo xidhidhyadu si sax ah uma hirgeliyaan waxyaabaha asaasiga ah ee atomikada ah ee ka reebanaanshaha noocaas ah. Si ka duwan kernel-ka nidaamka qalliinka iyo codsiyada caadiga ah, koodhka gudaha ku jira ma laha marin u helidda asaasiga ah ee abaabulka ficillada atomiga marka la qabanayo waxyaabaha ka reeban ee aan si toos ah loo tuurin. Haddi aan la haynin atomikada asaasiga ah, xajinta waa la joojin karaa wakhti kasta oo lagu soo celin karaa fulinta, xitaa wakhtiyada marka xeerku fulinayo qaybo muhiim ah oo uu ku jiro xaalad aan badbaado lahayn (tusaale, marka diiwaanada CPU aan la kaydin/soo celin).

Weerar lagu qaado Intel SGX si loo soo saaro xogta xasaasiga ah ama loo fuliyo koodka gudaha gudaha

Hawlgalka caadiga ah, tignoolajiyada SGX waxay u oggolaaneysaa fulinta goynta in la joojiyo qalabyada la habeyn karo. Habkani waxa uu u oggolaanayaa in deegaan runtime-ku-xiran ay hirgeliyaan maaraynta ka-reebitaanka-intra-enclave ama hab-samaynta calaamadaha, laakiin waxa kale oo ay sababi kartaa khaladaad soo noqnoqda. Weerarka SmashEx wuxuu ku salaysan yahay ka faa'iidaysiga ceebaha SDK taas oo ay ugu wacan tahay xaaladda dib-u-wacaidda maamulaha ka reeban si sax ah looma maareeyo. Waxaa muhiim ah in si looga faa'iidaysto nuglaanta, weeraryahanku waa inuu awood u yeeshaa inuu joojiyo fulinta deegaanka, i.e. waa in ay xakamayso shaqada deegaanka nidaamka.

Ka dib marka laga reebo tuurista, weeraryahanku waxa uu helayaa daaqad yar oo wakhti yar ah kaas oo dunta fulinta la dhexgelin karo iyada oo la adeegsanayo wax-soo-saarka xuduudaha. Gaar ahaan, haddii aad marin u leedahay nidaamka (deegaanka ka baxsan deegaanka), waxaad abuuri kartaa ka reebis cusub isla markiiba ka dib markaad fuliyaan tilmaamaha gelitaanka enclave (EENTER), kaas oo ku soo celin doona xakamaynta nidaamka marxaladda marka la isku dhejiyo enclave weli lama dhamaystirin, kaas oo sidoo kale lagu badbaadiyay gobolka diiwangelinta CPU.

Nidaamku wuxuu markaa dib ugu soo celin karaa kontoroolka xeyndaabka, laakiin maadaama xirmada xirmada aan la habeynin waqtiga kala go'a, xiriddu waxay fulin doontaa iyada oo kaydka ku nool xusuusta nidaamka, kaas oo loo isticmaali karo in lagu shaqaaleeyo barnaamijka soo celinta-oriented (ROP) Farsamooyinka ka faa'iidaysiga. Markaad isticmaalayso farsamada ROP, weeraryahanku iskuma dayo inuu koodka geliyo xusuusta, laakiin wuxuu ku shaqeeyaa qaybo ka mid ah tilmaamaha mashiinka ee horeyba looga heli jiray maktabadaha raran, isagoo ku dhameynaya tilmaamaha soo celinta kontoroolka (sida caadiga ah, kuwani waa dhamaadka hawlaha maktabadda) . Shaqada ka faa'iidaysigu waxay hoos ugu dhacdaa dhisidda silsilad wicitaanno ah oo la mid ah blocks ("qalab") si loo helo shaqeynta la rabo.

Weerar lagu qaado Intel SGX si loo soo saaro xogta xasaasiga ah ama loo fuliyo koodka gudaha gudaha
Weerar lagu qaado Intel SGX si loo soo saaro xogta xasaasiga ah ama loo fuliyo koodka gudaha gudaha


Source: opennet.ru

Add a comment