Osofia i luga ole Intel SGX e aveese mai ai faʻamatalaga maʻaleʻale poʻo le faʻatinoina o le code i totonu o le faʻaoga

O tagata suʻesuʻe mai le People's Liberation Army Defense Science and Technology University, le National University of Singapore ma ETH Zurich ua latou atiaʻe se auala fou e osofaʻia ai faʻamaʻi tuʻufua Intel SGX (Software Guard eXtensions). O le osofaʻiga e taʻua o SmashEx ma e mafua mai i faʻafitauli i le toe ulufale mai pe a taulimaina tulaga faʻapitoa i le taimi o le faʻaogaina o vaega taʻavale mo Intel SGX. O le auala o le osofa'iga ua fuafuaina e mafai ai, pe afai e te pulea le faiga fa'aogaina, e iloa ai fa'amatalaga agatapuia o lo'o i totonu o le fa'amau, po'o le fa'atulagaina o le kopiina o lau code i le manatua o le enclave ma lona fa'atinoina.

O fa'ata'ita'iga fa'aoga ua uma ona saunia mo fa'alavelave fa'atasi ma le ta'avale e fa'atatau i le Intel SGX SDK (CVE-2021-0186) ma le Microsoft Open Enclave (CVE-2021-33767). I le tulaga muamua, na faʻaalia le mafai ona faʻapipiʻi se ki RSA faʻaaogaina i luga o se upega tafaʻilagi mo HTTPS, ma i le lona lua, na mafai ona fuafua mea na maua e le cURL aoga o loʻo taʻavale i totonu o le enclave. O le fa'aletonu ua uma ona fa'atalanoaina fa'apolokalame i fa'asalalauga o le Intel SGX SDK 2.13 ma le Open Enclave 0.17.1. I le faaopoopo atu i le Intel SGX SDK ma le Microsoft Open Enclave, o loʻo faʻaalia foi le faʻafitauli i le Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX ma Veracruz.

Sei o tatou manatua o le SGX (Software Guard Extensions) tekinolosi na faʻaalia i le ono o augatupulaga Intel Core processors (Skylake) ma ofoina atu se faasologa o faʻatonuga e mafai ai e tagata faʻaoga-tulaga faʻaoga ona tuʻufaʻatasia nofoaga e manatua ai tapunia - enclaves, o mea o loʻo i ai e le mafai ona faitau ma suia e oʻo lava i le fatu ma le code faʻatinoina i le ring0, SMM ma VMM modes. E le mafai ona tuʻuina atu le pule i le code i totonu o le enclave e faʻaaoga ai galuega faʻaoso masani ma togafiti faʻatasi ma le resitala ma le faaputuga - faʻapitoa faʻatonuga fou EENTER, EEXIT ma ERESUME faʻaaogaina e faʻafeiloaʻi ai le pule i le enclave, lea e faia ai siaki pulega. I lenei tulaga, o le code tu'u i totonu o le enclave e mafai ona fa'aogaina auala masani vala'au e maua ai galuega i totonu o le enclave ma fa'atonuga fa'apitoa e vala'au ai galuega i fafo. Enclave memory encryption e faʻaaogaina e puipuia ai mai faʻalavelave faʻapitoa e pei o le fesoʻotaʻi i se module DRAM.

Osofia i luga ole Intel SGX e aveese mai ai faʻamatalaga maʻaleʻale poʻo le faʻatinoina o le code i totonu o le faʻaoga

O le fa'afitauli o le SGX tekinolosi e mafai ai e le faiga fa'aoga ona fa'ate'aina se enclave e ala i le togiina o se mea fa'apitoa meafaigaluega, ma e le fa'aogaina lelei e fa'apipi'i mea muamua mo le fa'aogaina o ia tuusaunoaga. E le pei o le kernel system ma fa'aoga masani, code i totonu o enclaves e leai se avanoa i mea muamua mo le fa'atulagaina o gaioiga atomic pe a taulimaina tuusaunoaga lafoa'i asynchronously. A aunoa ma le fa'ama'oti atomic primitives, o le enclave e mafai ona fa'alavelaveina i so'o se taimi ma toe fa'afo'i i le fa'atinoga, e o'o lava i taimi o lo'o fa'atinoina ai e le fa'ama'i vaega taua ma o lo'o i ai i se tulaga le saogalemu (mo se fa'ata'ita'iga, pe a le fa'asaoina/toe fa'afo'i tusi resitala CPU).

Osofia i luga ole Intel SGX e aveese mai ai faʻamatalaga maʻaleʻale poʻo le faʻatinoina o le code i totonu o le faʻaoga

Mo le fa'agaioiga masani, SGX tekinolosi fa'ataga le fa'atinoina o le fa'alavelave e fa'alavelaveina e tu'u'ese'esega fa'apipi'i. O lenei vaega e mafai ai e si'osi'omaga taimi ta'avale fa'apipi'i e fa'atino ai le fa'aogaina o tu'uaga o totonu po'o le fa'agaioiina o fa'ailo, ae mafai fo'i ona fa'atupu fa'aletonu le toe ulufale. O le osofaʻiga a SmashEx e faʻavae i luga o le faʻaogaina o mea sese i le SDK ona o le tulaga o le toe valaʻau i le tagata faʻapitoa e le o faʻaogaina lelei. E taua tele le faʻaaogaina o le faʻafitauli, e tatau i le tagata osofaʻi ona mafai ona faʻalavelaveina le faʻataunuʻuina o le enclave, i.e. e tatau ona pulea le faagaoioiga o le siosiomaga faiga.

A maeʻa ona lafo se faʻasalaga, e maua e le tagata osofaʻi se faʻamalama laʻititi taimi lea e mafai ai ona faʻalavelaveina le filo faʻataunuʻu e ala i le faʻaogaina o mea faʻaoga. Aemaise lava, afai e te maua le avanoa i le faiga (siosiomaga i fafo atu o le enclave), e mafai ona e fatuina se tuusaunoaga fou i le taimi lava e uma ai le faʻatinoina o le faʻatonuga ulufale (EENTER), lea o le a toe faʻafoʻi ai le pule i le faiga i se tulaga pe a faʻapipiʻi le seti mo le e le'i mae'a le fa'apipi'i, lea o lo'o fa'asaoina ai fo'i le tulaga o le resitara o le CPU.

Ona mafai lea e le faiga ona toe faafoi atu le pule i le enclave, ae talu ai e leʻi faʻatulagaina le faʻaputuga o le faʻapipiʻi i le taimi o le faʻalavelave, o le a faʻaogaina le faʻapipiʻi ma le faʻaputu o loʻo i totonu o le memory system, lea e mafai ona faʻaaogaina e faʻaaogaina ai polokalame toe foʻi (ROP). ) faiga fa'aogaina. Polokalama Fa'atatau). Pe a faʻaaogaina le ROP technique, e le taumafai le tagata osofaʻi e tuʻu lana code i le mafaufau, ae faʻagaioia i luga o fasi pepa faʻatonuga o loʻo maua i totonu o faletusi faʻapipiʻi, faʻaiʻu i le faʻatonuga o le toe faʻafoʻi mai (o se tulafono, o pito ia o galuega a le faletusi) . O le galuega o le faʻaogaina e oʻo mai i lalo i le fausiaina o se filifili o telefoni i poloka tutusa ("meamea") e maua ai le faʻatinoga manaʻomia.

Osofia i luga ole Intel SGX e aveese mai ai faʻamatalaga maʻaleʻale poʻo le faʻatinoina o le code i totonu o le faʻaoga
Osofia i luga ole Intel SGX e aveese mai ai faʻamatalaga maʻaleʻale poʻo le faʻatinoina o le code i totonu o le faʻaoga


puna: opennet.ru

Faaopoopo i ai se faamatalaga