RĂŒnnak Intel SGX-le, mis vĂ”imaldab konfidentsiaalsete andmete vĂ€ljavĂ”tmist vĂ”i koodi tĂ€itmist anklaavis

Uuringud, mille viisid lĂ€bi Hiina Rahvavabastuse Armee Kaitse Tehnika Ülikooli, Singapuri RahvusĂŒlikooli ja ZĂŒrichis asuva Ć veitsi Föderaalse Tehnoloogiainstituudi teadlased, on vĂ€lja töötanud uue rĂŒnnakumeetodi Intel SGX (Software Guard eXtensions) isoleeritud anklaavidele. RĂŒnnaku nimeks on SmashEx ja see on tingitud murest reentrantsuse ĂŒle erandite töötlemisel Intel SGX runtime komponentide kĂ€itamise protsessis. Pakutud rĂŒnnakumeetod annab vĂ”imaluse, kui operatsioonisĂŒsteemi all kontrollitakse, tuvastada konfidentsiaalsed andmed, mis asuvad anklaavis, vĂ”i korraldada oma koodi kopeerimine anklaavi mĂ€llu ja selle tĂ€itmine.

Eksploitide prototĂŒĂŒbid on ette valmistatud anklaavide jaoks, mille runtime pĂ”hineb Intel SGX SDK-l (CVE-2021-0186) ja Microsoft Open Enclave-l (CVE-2021-33767). Esimeses olukorras demonstreeriti RSA-vĂ”tme vĂ€ljavĂ”tmise vĂ”imalust, mis on kasutusel veebiserveris HTTPS-i jaoks, samas kui teises olukorras Ă”nnestus tuvastada cURL utiliidi vĂ€ljund, mis kĂ€ivitatakse anklaavis. Haavatavus on juba tarkvaraliselt kĂ”rvaldatud Intel SGX SDK versioonides 2.13 ja Open Enclave versioonis 0.17.1. Lisaks Intel SGX SDK ja Microsoft Open Enclave pakettidele ilmneb haavatavus ka Google Asylo, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX ja Veracruz SDK-des.

Tuletame meelde, et tehnoloogia SGX (Software Guard Extensions) ilmus Intel Core kuuenda pĂ”lvkonna protsessorites (Skylake) ja pakub juhiseid, mis vĂ”imaldavad eraldada kasutajataseme rakendustele suletud mĂ€lupiirkondi — anklaave, mille sisu ei saa lugeda ega muuta isegi tuuma ja kodeeritud, mis töötab ring0, SMM ja VMM reĆŸiimides. Anklaavi koodile juhtimise ĂŒleandmine pole vĂ”imalik traditsiooniliste ĂŒlemineku funktsioonide ja registrite ning stack'i manipuleerimisega — anklaavidesse juhtimise ĂŒleandmiseks kasutatakse spetsiaalselt loodud uusi kĂ€ske EENTER, EEXIT ja ERESUME, mis teostavad kontrolli. Samuti vĂ”ib anklaavi pandud kood kasutada klassikalisi meetodeid funktsioonide kutsumiseks anklaavis ja spetsiaalset kĂ€sku vĂ€liste funktsioonide kutsumiseks. FĂŒĂŒsiliste rĂŒnnakute, nĂ€iteks DRAM-i mooduli ĂŒhendamise vastu kaitsmiseks kasutatakse anklaavi mĂ€lu krĂŒpteerimist.

RĂŒnnak Intel SGX-le, mis vĂ”imaldab konfidentsiaalsete andmete vĂ€ljavĂ”tmist vĂ”i koodi tĂ€itmist anklaavis

Probleem on seotud sellega, et SGX-tehnoloogia vĂ”imaldab operatsioonisĂŒsteemil katkestada enclavi tĂ€itmise, genereerides riistvaralise erandi, ja enclavides ei ole nĂ”uetekohaselt rakendatud primitiive sarnaste erandite aatomaarseks töötlemiseks. Erinevalt operatsioonisĂŒsteemi tuumast ja tavapĂ€rastest rakendustest ei pÀÀse enclavide sisene kood primitiivide juurde, et korraldada aatomseid tegevusi, kui töödeldakse asĂŒnkroonselt tekkivaid erandeid. Ilma nende aatomaarsete primitiivideta vĂ”ib enclav olla igal ajal katkestatud ja tĂ€itmisele tagasi saadetud, isegi hetkel, kui enclavis tĂ€idetakse kriitilisi sektsioone ja see on ebaturvalises seisundis (nĂ€iteks kui CPU registrid ei ole salvestatud/taaselustatud).

RĂŒnnak Intel SGX-le, mis vĂ”imaldab konfidentsiaalsete andmete vĂ€ljavĂ”tmist vĂ”i koodi tĂ€itmist anklaavis

SGX-tehnoloogia vĂ”imaldab normaalseks toimimiseks katkestada enclavi tĂ€itmise konfigureeritavate riistvaraliste eranditega. See omadus vĂ”imaldab enclavi kĂ€ituskeskkondadel tegeleda sees-enklaavi erandite töötlemise vĂ”i signaalide töötlemisega, kuid see vĂ”ib samuti pĂ”hjustada tagasilöökide vigasid. SmashEx rĂŒnnak pĂ”hineb SDK-s esinevate puuduste Ă€rakasutamisel, mille tĂ”ttu ei töödeldud erandi kĂ€sitleja kaudse kutse olukorda nĂ”uetekohaselt. On oluline, et haavatavuse Ă€rakasutamiseks peab rĂŒndajal olema vĂ”imalus katkestada enclavi tĂ€itmine, s.t. peab kontrollima sĂŒsteemikeskkonna tööd.

PĂ€rast erandi genereermist saab rĂŒndaja vĂ€ikese ajavahemiku, mille jooksul on vĂ”imalik katkestada tĂ€itmisvoog sisendparameetrite manipuleerimise kaudu. EelkĂ”ige, omades juurdepÀÀsu sĂŒsteemile (keskkonnale vĂ€ljaspool enclavi), on vĂ”imalik luua uus erand kohe pĂ€rast enclavi sisenemise kĂ€su (EENTER) tĂ€itmist, mis toob kaasa kontrolli tagastamise sĂŒsteemile faasis, kus enclavi jaoks virna seadistamine ei ole veel lĂ”petatud, sealhulgas salvestatakse CPU registrite olek.

SĂŒsteem saab seejĂ€rel juhtimise tagasi anklavile, kuid kuna anklavi virn ei olnud katkestuse ajal seadistatud, toimub anklavi tĂ€itmine sĂŒsteemi mĂ€lu virnaga, mida saab kasutada Tootsuretusorientatsiooni programmeerimise (ROP - Return-Oriented Programming) meetodite rakendamiseks. ROP tehnika kasutamisel ei pĂŒĂŒa rĂŒndaja oma koodi mĂ€lu paigutada, vaid opereerib juba laaditud raamatukogude masinakeele kĂ€skudega, mis lĂ”pevad juhtimise tagastamise kĂ€sklusega (tavaliselt on need raamatukogufunktsioonide lĂ”pp). Eksplooti töö seisneb sarnaste plokkide („gadgetide”) tĆĄentide kujundamises soovitud funktsionaalsuse saavutamiseks.

RĂŒnnak Intel SGX-le, mis vĂ”imaldab konfidentsiaalsete andmete vĂ€ljavĂ”tmist vĂ”i koodi tĂ€itmist anklaavis
RĂŒnnak Intel SGX-le, mis vĂ”imaldab konfidentsiaalsete andmete vĂ€ljavĂ”tmist vĂ”i koodi tĂ€itmist anklaavis


Allikas: opennet.ru
Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster