Thoir ionnsaigh air Intel SGX gus dàta mothachail a tharraing no còd a chuir an gnìomh ann an enclave

Tha luchd-rannsachaidh bho Oilthigh Saidheans agus Teicneòlas Dìon Arm Saorsa an t-Sluaigh, Oilthigh Nàiseanta Singapore agus ETH Zurich air dòigh ùr a leasachadh gus ionnsaigh a thoirt air enclaves iomallach Intel SGX (Software Guard eXtensions). Canar SmashEx ris an ionnsaigh agus tha e air adhbhrachadh le duilgheadasan le faighinn a-steach nuair a bhios tu a’ làimhseachadh shuidheachaidhean eisgeachd nuair a bhios co-phàirtean runtime ag obair airson Intel SGX. Tha an dòigh ionnsaigh a thathar a’ moladh ga dhèanamh comasach, ma tha smachd agad air an t-siostam obrachaidh, dàta dìomhair a tha suidhichte sa chuartachadh a dhearbhadh, no lethbhreac a dhèanamh den chòd agad gu cuimhne a’ chuartachaidh agus a chur gu bàs.

Chaidh prototypes brath ullachadh airson enclaves le ùine ruith stèidhichte air an Intel SGX SDK (CVE-2021-0186) agus Microsoft Open Enclave (CVE-2021-33767). Anns a ’chiad chùis, chaidh an comas iuchair RSA a thoirt a-mach a chaidh a chleachdadh air frithealaiche lìn airson HTTPS a nochdadh, agus san dàrna fear, bha e comasach faighinn a-mach an t-susbaint a fhuair an goireas cURL a’ ruith taobh a-staigh a ’chuartachaidh. Chaidh dèiligeadh ris an so-leòntachd mar-thà gu prògramach ann an sgaoileadh Intel SGX SDK 2.13 agus Open Enclave 0.17.1. A bharrachd air an Intel SGX SDK agus Microsoft Open Enclave, tha an so-leòntachd cuideachd a’ nochdadh anns an Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX agus Veracruz.

Cuimhnich gun do nochd teicneòlas SGX (Leudachadh Freiceadan Bathar-bog) anns an t-siathamh ginealach pròiseasairean Intel Core (Skylake) agus a’ tabhann sreath de stiùiridhean a leigeas le tagraidhean ìre neach-cleachdaidh raointean cuimhne dùinte a riarachadh - enclaves, nach urrainn susbaint a leughadh agus a chleachdadh. air atharrachadh eadhon leis an kernel agus an còd air a chuir gu bàs ann am modhan ring0, SMM agus VMM. Tha e do-dhèanta smachd a ghluasad chun chòd anns a ’chuartachadh le bhith a’ cleachdadh gnìomhan leum traidiseanta agus làimhseachadh le clàran agus a ’chruach - thathas a’ cleachdadh stiùiridhean ùra a chaidh a chruthachadh gu sònraichte EENTER, EEXIT agus ERESUME gus smachd a ghluasad chun enclave, a bhios a ’dèanamh sgrùdaidhean ùghdarrais. Anns a ’chùis seo, faodaidh an còd a chuirear sa chuartachadh dòighean gairm clasaigeach a chleachdadh gus faighinn gu gnìomhan taobh a-staigh a’ chuartachaidh agus stiùireadh sònraichte gus gnìomhan taobh a-muigh a ghairm. Bithear a’ cleachdadh crioptachadh cuimhne enclave gus dìon an aghaidh ionnsaighean bathar-cruaidh leithid ceangal ri modal DRAM.

Thoir ionnsaigh air Intel SGX gus dàta mothachail a tharraing no còd a chuir an gnìomh ann an enclave

Is e an duilgheadas a th ’ann gu bheil teicneòlas SGX a’ leigeil leis an t-siostam obrachaidh casg a chuir air enclave le bhith a ’tilgeil eisgeachd bathar-cruaidh, agus chan eil enclaves a’ cur an gnìomh prìomh-amasan gu ceart airson a bhith a ’làimhseachadh a leithid de dh’ eisgeachdan gu atamach. Eu-coltach ri kernel an t-siostam obrachaidh agus tagraidhean cunbhalach, chan eil cothrom aig còd taobh a-staigh enclaves air prìomhairean airson gnìomhan atamach a chuir air dòigh nuair a bhios iad a’ làimhseachadh eisgeachdan a chaidh a thilgeil gu neo-chinnteach. Às aonais na prìomh-amasan atamach ainmichte, faodar stad a chuir air a’ chuartachadh aig àm sam bith agus a thilleadh gu coileanadh, eadhon aig amannan nuair a tha an cuairteachadh a’ cur an gnìomh earrannan èiginneach agus gu bheil e ann an staid neo-shàbhailte (mar eisimpleir, nuair nach eil clàran CPU air an sàbhaladh / air an toirt air ais).

Thoir ionnsaigh air Intel SGX gus dàta mothachail a tharraing no còd a chuir an gnìomh ann an enclave

Airson obrachadh àbhaisteach, tha teicneòlas SGX a’ leigeil le coileanadh a’ chuartachaidh a bhith air a bhriseadh le eisgeachdan bathar-cruaidh a ghabhas rèiteachadh. Tha am feart seo a’ ceadachadh àrainneachdan runtime enclave gus làimhseachadh eisgeachd taobh a-staigh enclave no giullachd chomharran a chuir an gnìomh, ach faodaidh e cuideachd mearachdan ath-inntrigidh adhbhrachadh. Tha an ionnsaigh SmashEx stèidhichte air a bhith a’ gabhail brath air lochdan san SDK air sgàth ‘s nach eilear a’ làimhseachadh suidheachadh ath-ghairm an neach-làimhseachaidh eisgeachd. Tha e cudromach, gus brath a ghabhail air so-leòntachd, gum feum an neach-ionnsaigh a bhith comasach air stad a chuir air coileanadh a’ chuartachaidh, i.e. feumaidh smachd a chumail air obrachadh àrainneachd an t-siostaim.

Às deidh dha eisgeachd a thilgeil, gheibh an neach-ionnsaigh uinneag bheag ùine far am faodar an snàithlean cur gu bàs a ghlacadh tro bhith a’ làimhseachadh nam paramadairean cuir a-steach. Gu sònraichte, ma tha cothrom agad air an t-siostam (àrainneachd taobh a-muigh a’ chuartachaidh), faodaidh tu eisgeachd ùr a chruthachadh sa bhad às deidh dhut an stiùireadh inntrigidh enclave (EENTER) a chuir an gnìomh, a thilleas smachd air an t-siostam aig ìre nuair a bhios an stac air a stèidheachadh airson an cha deach enclave a chrìochnachadh fhathast, anns a bheil staid nan clàran CPU air a shàbhaladh cuideachd.

Faodaidh an siostam an uairsin smachd a thilleadh air ais don chuartachadh, ach leis nach deach stac a’ chuartachaidh a rèiteachadh aig àm a’ bhriseadh, thèid an cuairteachadh a chuir an gnìomh leis a’ chruach a’ fuireach ann an cuimhne an t-siostaim, a dh’ fhaodar a chleachdadh gus prògramadh a tha ag amas air tilleadh (ROP). ) dòighean brathaidh. Nuair a bhios tu a ’cleachdadh an dòigh ROP, cha bhith an neach-ionnsaigh a’ feuchainn ris a ’chòd aige a chuir mar chuimhneachan, ach bidh e ag obair air pìosan de stiùiridhean inneal a tha rim faighinn mar-thà ann an leabharlannan luchdaichte, a’ crìochnachadh le stiùireadh tilleadh smachd (mar riaghailt, is iad sin crìoch gnìomhan leabharlainn) . Tha obair brathaidh an urra ri bhith a’ togail sreath de ghairmean gu blocaichean co-chosmhail (“ widgets ”) gus an comas-gnìomh a tha thu ag iarraidh fhaighinn.

Thoir ionnsaigh air Intel SGX gus dàta mothachail a tharraing no còd a chuir an gnìomh ann an enclave
Thoir ionnsaigh air Intel SGX gus dàta mothachail a tharraing no còd a chuir an gnìomh ann an enclave


Source: fosgailtenet.ru

Cuir beachd ann