Fanafihana ny Intel SGX mba hanesorana angon-drakitra saro-pady na manatanteraka kaody ao anaty enclave

Ny mpikaroka avy amin'ny Oniversiten'ny Siansa sy ny Teknolojian'ny Tafika Fanafahana Vahoaka, ny National University of Singapore ary ny ETH Zurich dia namolavola fomba vaovao hamelezana ireo faritra mitoka-monina Intel SGX (Software Guard eXtensions). Ny fanafihana dia antsoina hoe SmashEx ary vokatry ny olana amin'ny fidirana indray rehefa mitantana toe-javatra miavaka mandritra ny fampandehanana ireo singa fampandehanana ho an'ny Intel SGX. Ny fomba fanafihana natolotra dia mahatonga azy ho azo atao, raha manana fifehezana ny rafitra miasa ianao, mba hamaritana angon-drakitra tsiambaratelo hita ao amin'ny enclave, na mandamina ny dika mitovy amin'ny code-nao ao amin'ny fitadidian'ny enclave sy ny fanatanterahana azy.

Ny prototypes Exploit dia nomanina ho an'ny enclave miaraka amin'ny fotoana fampandehanana mifototra amin'ny Intel SGX SDK (CVE-2021-0186) sy Microsoft Open Enclave (CVE-2021-33767). Tamin'ny tranga voalohany, naseho ny fahafahana maka ny lakile RSA ampiasaina amin'ny mpizara tranonkala ho an'ny HTTPS, ary amin'ny faharoa, azo atao ny mamaritra ny votoaty azon'ny utility cURL mandeha ao anatin'ny enclave. Ny vulnerability dia efa nodinihina tamin'ny programa tamin'ny famoahana ny Intel SGX SDK 2.13 sy Open Enclave 0.17.1. Ho fanampin'ny Intel SGX SDK sy Microsoft Open Enclave, dia hita ao amin'ny Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX ary Veracruz ihany koa ny vulnerability.

Aoka hotsaroantsika fa ny teknolojia SGX (Software Guard Extensions) dia niseho tao amin'ny processeurs Intel Core (Skylake) taranaka fahenina ary manolotra toromarika maromaro izay ahafahan'ny rindranasa amin'ny haavon'ny mpampiasa hizara faritra fitadidiana mihidy - enclaves, izay tsy azo vakiana ary tsy azo vakiana ny ao anatiny. novaina na dia ny kernel sy ny kaody natao tamin'ny ring0, SMM ary VMM maody. Tsy azo atao ny mamindra ny fanaraha-maso amin'ny kaody ao amin'ny enclave amin'ny alΓ lan'ny fiasa mitsambikina nentim-paharazana sy ny fanodikodinana miaraka amin'ny rejisitra sy ny stack - torolΓ lana vaovao noforonina manokana EENTER, EEXIT ary ERESUME dia ampiasaina amin'ny famindrana ny fanaraha-maso amin'ny enclave, izay manao fanamarinana fahefana. Amin'ity tranga ity, ny kaody napetraka ao amin'ny enclave dia afaka mampiasa fomba fiantsoana mahazatra mba hidirana amin'ny fiasa ao anatin'ny enclave ary torolΓ lana manokana hiantsoana asa ivelany. Ny encryption fahatsiarovana enclave dia ampiasaina hiarovana amin'ny fanafihana fitaovana toy ny fampifandraisana amin'ny maody DRAM.

Fanafihana ny Intel SGX mba hanesorana angon-drakitra saro-pady na manatanteraka kaody ao anaty enclave

Ny olana dia ny teknΓ΄lΓ΄jia SGX dia ahafahan'ny rafitra miasa manafoana ny enclave amin'ny alΓ lan'ny fanipazana fanaingoana fitaovana, ary ny enclaves dia tsy mampihatra araka ny tokony ho izy ny primitives amin'ny fikarakarana atomika ireo tranga ireo. Tsy sahala amin'ny kernel sy ny rindranasa mahazatra, ny code ao anatin'ny enclaves dia tsy mahazo miditra amin'ny primitives amin'ny fandaminana hetsika atomika rehefa mandrindra ny fanavahana asynchronously. Raha tsy misy ireo primitive atomika voatondro, dia mety ho tapaka amin'ny fotoana rehetra ny enclave ary averina amin'ny famonoana, na dia amin'ny fotoana manatanteraka fizarana manakiana aza ny enclave ary ao anatin'ny toe-javatra tsy azo antoka (ohatra, rehefa tsy voavonjy/naverina amin'ny laoniny ny rejistra CPU).

Fanafihana ny Intel SGX mba hanesorana angon-drakitra saro-pady na manatanteraka kaody ao anaty enclave

Ho an'ny fampandehanana ara-dalΓ na, ny teknolojia SGX dia mamela ny famonoana ny enclave ho tapaka amin'ny alΓ lan'ny fanaingoana fitaovana azo fehezina. Ity fampiasa ity dia ahafahan'ny tontolo iainan'ny enclave hampihatra ny fikarakarana manokana na ny fanodinana famantarana ao anaty enclave, saingy mety hiteraka hadisoana miverina. Ny fanafihana SmashEx dia mifototra amin'ny fanararaotana ny lesoka ao amin'ny SDK noho izay tsy voakarakara tsara ny toe-javatra iantsoana indray ny mpitantana ny exception. Zava-dehibe ny manararaotra ny vulnerability, ny mpanafika dia tsy maintsy afaka manapaka ny famonoana ny enclave, i.e. tsy maintsy mifehy ny fiasan'ny tontolo iainana rafitra.

Aorian'ny fanipazana fanavahana, dia mahazo varavarankely kely ny mpanafika izay ahafahan'ny kofehy famonoana ho voasakana amin'ny alΓ lan'ny fanodikodinana ny mari-pamantarana fampidirana. Indrindra indrindra, raha manana fahafahana miditra amin'ny rafitra ianao (tontolo iainana ivelan'ny enclave), dia afaka mamorona exception vaovao avy hatrany ianao aorian'ny fanatanterahana ny toromarika fidirana amin'ny enclave (EENTER), izay hamerina ny fanaraha-maso amin'ny rafitra amin'ny dingana iray rehefa ny fametrahana stack ho an'ny tsy mbola vita ny enclave, izay voavonjy ihany koa ny toetry ny rejisitra CPU.

Ny rafitra dia afaka mamerina indray ny fanaraha-maso any amin'ny enclave, fa satria ny stack an'ny enclave dia tsy namboarina tamin'ny fotoana nisian'ny fahatapahana, ny enclave dia hotanterahina miaraka amin'ny stack mipetraka ao amin'ny fitadidiana rafitra, izay azo ampiasaina amin'ny fampiasana fandaharana mitodika amin'ny fiverenana (ROP). ) teknika fitrandrahana. Programming miompana). Rehefa mampiasa ny teknika ROP, ny mpanafika dia tsy manandrana mametraka ny kaody ao amin'ny fitadidiana, fa miasa amin'ny toromarika milina efa misy ao amin'ny tranomboky feno entana, mifarana amin'ny torolΓ lana fiverenana fanaraha-maso (toy ny fitsipika, ireo no faran'ny fiasan'ny tranomboky) . Ny asan'ny fanararaotana dia tonga amin'ny fananganana rojo fiantsoana amin'ny sakana mitovy amin'izany ("gadget") hahazoana ny fampiasa irina.

Fanafihana ny Intel SGX mba hanesorana angon-drakitra saro-pady na manatanteraka kaody ao anaty enclave
Fanafihana ny Intel SGX mba hanesorana angon-drakitra saro-pady na manatanteraka kaody ao anaty enclave


Source: opennet.ru

Add a comment