Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Monga mukudziwira, kachidindo komwe kamapangidwa mu enclave kumakhala kochepa kwambiri pakugwira ntchito kwake. Sichingathe kuyimba mafoni amtundu. Sizingagwire ntchito za I/O. Simadziwa ma adilesi oyambira agawo la ma code a olandila. Sizingatheke jmp kapena kuyimbira foni nambala yogwiritsira ntchito. Silidziwa za malo a adilesi omwe amayendetsa pulogalamu ya olandira (mwachitsanzo, masamba ati omwe ali ndi mapu kapena mtundu wa data womwe uli pamasambawo). Sizingafunse opareshoni kuti alembe gawo la kukumbukira kwa pulogalamuyo (mwachitsanzo, kudzera /proc/pid/maps). Kuyesa kosawerengeka kuti muwerenge mwachimbulimbuli gawo losakumbukira la pulogalamu yolandila, osatchulapo kuyesa kulemba, posachedwa kapena mtsogolo (mwina wakale) kupangitsa kuti pulogalamu ya enclave ithetsedwe. Izi zimachitika nthawi iliyonse yomwe dera la adilesi lomwe lafunsidwa ndi enclave silikupezeka kwa omwe akulandila.

Poganizira zovuta izi, kodi wolemba ma virus atha kugwiritsa ntchito ma SGX enclaves kuti akwaniritse zolinga zake zoyipa?

- Kuthyolako kuti mufufuze maadiresi kuti muwone ngati angawerengedwe
- Kuthyolako kuti mufufuze maadiresi kuti alembedwe
- Kuthyolako kuti muwongolere kayendetsedwe ka kayendetsedwe kake
- Kodi ma hacks atatu omwe atchulidwa pamwambapa amapereka chiyani kwa woipayo?
- Momwe woyipayo amagwiritsira ntchito ma hacks awa kupanga ranzomwari

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Kutengera zonse zomwe tazitchula pamwambapa, zimavomerezedwa kuti enclave imatha kutumiza pulogalamu ya wolandirayo, komanso kuti enclave singachite zomwe akufuna, kuphatikiza zoyipa. Izi zikutanthauza kuti ma enclaves alibe phindu kwa olemba ma virus. Kuganiza mopupuluma ndi chimodzi mwazifukwa zomwe chitetezo cha SGX sichimafanana: khodi yogwiritsira ntchito alendo sangathe kupeza kukumbukira kwa enclave, pomwe code ya enclave imatha kuwerenga ndikulemba ku adilesi iliyonse yokumbukira.

Chifukwa chake, ngati nambala yoyipa ya enclave imatha kuyimbira foni mosasamala m'malo mwa omwe akulandila, kuyika ma code osamveka m'malo mwake, kuyang'ana kukumbukira kwa pulogalamuyo ndikupeza maunyolo olakwika a ROP mmenemo, ikhoza kulanda kuwongolera kwathunthu kwa pulogalamu yolandila, mu mode chozemba. Sizingangoba ndi kubisa mafayilo a ogwiritsa ntchito, komanso kuchitapo kanthu m'malo mwa wogwiritsa ntchito. Mwachitsanzo, tumizani maimelo achinyengo m'malo mwake kapena muzichita ziwopsezo za DoS. Popanda kuopa ngakhale njira zamakono zodzitetezera, monga ma canary stack and sanitization.

Tikuwonetsani ma hack angapo omwe owukira amagwiritsa ntchito kuthana ndi malire omwe tafotokozawa kuti atengerepo mwayi pa SGX pazolinga zawo zoyipa: kuwukira kwa ROP. Kupanga khodi yokhazikika yobisika ngati njira yogwiritsira ntchito (mofanana ndi kukonza hollowing, yomwe nthawi zambiri imagwiritsidwa ntchito ndi pulogalamu yaumbanda), kapena kubisa pulogalamu yaumbanda yomwe idapangidwa kale (kuteteza pulogalamu yaumbanda yake ku kuzunzidwa ndi ma antivayirasi ndi njira zina zodzitetezera).

Hack pofufuza ma adilesi kuti muwone ngati angawerengedwe

Popeza enclave sakudziwa kuti ndi magawo ati a ma adilesi omwe angapezeke ndi omwe akugwiritsa ntchito, ndipo popeza enclaveyo imakakamizika kuyimitsa poyesa kuwerenga adilesi yosafikirika, wowukirayo akukumana ndi ntchito yopeza njira yolakwira- tolerantly jambulani malo adilesi. Pezani njira yolembera maadiresi omwe alipo. Woyipayo amathetsa vutoli pogwiritsa ntchito molakwika ukadaulo wa Intel's TSX. Imagwiritsa ntchito imodzi mwazotsatira za TSX: ngati ntchito yofikira kukumbukira imayikidwa mu TSX transaction, ndiye kuti zopatula zomwe zimabwera chifukwa chopeza ma adilesi olakwika zimaponderezedwa ndi TSX osafikira makina ogwiritsira ntchito. Ngati kuyesa kupangidwa kuti mupeze adilesi yolakwika ya kukumbukira, ntchito yokhayo ndiyomwe imathetsedwa, osati pulogalamu yonse ya enclave. Kuti. TSX imalola enclave kuti ipeze adilesi iliyonse kuchokera mkati mwa malonda - popanda chiwopsezo cha kugwa.

ngati adilesi yotchulidwa ilipo kugwiritsa ntchito, kugulitsa kwa TSX nthawi zambiri kumakhala kopambana. Nthawi zina, zimatha kulephera chifukwa cha zinthu zakunja monga kusokoneza (monga kusokoneza kwa ndandanda), kuthamangitsidwa kwa cache, kapena kusinthidwa munthawi yomweyo malo okumbukira ndi njira zingapo. Muzochitika zosawerengeka izi, TSX imabwezera cholakwika chosonyeza kuti kulephera ndi kwakanthawi. Muzochitika izi, muyenera kungoyambitsanso ntchitoyo.

ngati adilesi yotchulidwa palibe kugwiritsa ntchito, TSX imapondereza zomwe zidachitika (OS sinadziwitsidwe) ndikuchotsa ntchitoyo. Khodi yolakwika imabwezeretsedwa ku code enclave kuti athe kuchitapo kanthu kuti ntchitoyo yathetsedwa. Makodi olakwikawa akuwonetsa kuti adilesi yomwe ikufunsidwayo ilibe ku pulogalamu yolandila.

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Kuwongolera uku kwa TSX mkati mwa enclave kuli ndi mawonekedwe abwino kwa woipayo: popeza zida zambiri za Hardware sizisinthidwa panthawi yomwe code ya enclave ikuchitidwa, ndizosatheka kutsatira zomwe TSX zimachitika mkati mwa enclave. Chifukwa chake, kusokoneza koyipa kwa TSX kumakhalabe kosawoneka ndi makina ogwiritsira ntchito.

Kuonjezera apo, popeza kuthyolako pamwamba sikudalira mafoni amtundu uliwonse, sikungathe kudziwika kapena kuletsedwa mwa kungoletsa mafoni a dongosolo; zomwe nthawi zambiri zimapereka zotsatira zabwino polimbana ndi kusaka dzira.

Woyipayo amagwiritsa ntchito kuthyola komwe kwafotokozedwa pamwambapa kuti afufuze manambala ogwiritsira ntchito omwe ali ndi zida zoyenera kupanga ROP. Panthawi imodzimodziyo, safunikira kufufuza maadiresi aliwonse. Ndikokwanira kufufuza adilesi imodzi kuchokera patsamba lililonse la danga la adilesi. Kuyesa ma gigabytes onse 16 a kukumbukira kumatenga pafupifupi mphindi 45 (pa Intel i7-6700K). Zotsatira zake, woyipayo amalandira mndandanda wamasamba omwe angathe kuchitidwa omwe ali oyenera kupanga unyolo wa ROP.

Hack pofufuza ma adilesi kuti alembe

Kuti achite mtundu wa enclave wa kuukira kwa ROP, wowukira amayenera kusaka malo okumbukira osagwiritsidwa ntchito omwe akugwiritsa ntchito. Wowukirayo amagwiritsa ntchito malo okumbukirawa kubaya chimango chabodza ndikulowetsa mtengo (shellcode). Chofunikira ndichakuti chinsinsi choyipa sichingafune kuti wolandila adzipatse yekha kukumbukira, koma m'malo mwake amatha kugwiritsa ntchito molakwika kukumbukira komwe kwaperekedwa kale ndi pulogalamu yolandila. Ngati, ndithudi, amatha kupeza malo oterowo popanda kugwetsa mpanda.

Woyipayo amafufuza izi pogwiritsa ntchito njira ina ya TSX. Choyamba, monga momwe zinalili m'mbuyomu, imafufuza adilesi kuti ilipo, ndiyeno imayang'ana ngati tsamba lomwe likugwirizana ndi adilesiyi likhoza kulembedwa. Kuti achite izi, woyipayo amagwiritsa ntchito kuthyolako kotsatiraku: amayika ntchito yolembera mu TSX, ndipo ikamaliza, koma isanathe, amachotsa ntchitoyo mokakamiza (kuchotsa mimbayo).

Poyang'ana code yobwerera kuchokera ku TSX, wowukirayo amamvetsetsa ngati ndi yolembedwa. Ngati ndi "kuchotsa mimba momveka bwino", woipayo amamvetsetsa kuti kujambulako kukanakhala kopambana ngati akanatsatira. Ngati tsambalo ndi lowerengedwa lokha, ndiye kuti malondawo amatha ndi cholakwika china osati "kuchotsa mimba".

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Kuwongolera uku kwa TSX kuli ndi chinthu china chomwe chili chabwino kwa woipayo (kupatula zosatheka kutsata makina owerengera a hardware): popeza malamulo onse olembera kukumbukira amangoperekedwa pokhapokha ngati ntchitoyo yachita bwino, kukakamiza kuti ntchitoyo ithe kumaliza kumatsimikizira kuti cell memory imakhala yosasinthika.

Kuthyolako kuti muwongolere kayendetsedwe ka kayendetsedwe kake

Mukachita chiwopsezo cha ROP kuchokera pagulu - mosiyana ndi ziwonetsero zachikhalidwe za ROP - wowukirayo amatha kuwongolera kaundula wa RIP popanda kugwiritsa ntchito cholakwika chilichonse mu pulogalamu yomwe yawukiridwa (buffer kusefukira kapena zina zotere). Wowukira akhoza kulemba mwachindunji mtengo wa kaundula wa RIP wosungidwa pa stack. Makamaka, imatha kusintha mtengo wa regista iyi ndi unyolo wake wa ROP.

Komabe, ngati unyolo wa ROP uli wautali, ndiye kuti kufooketsa kachuluki kakang'ono ka pulogalamuyo kungayambitse katangale komanso machitidwe osayembekezeka a pulogalamu. Woipa, yemwe akufuna kuchita chiwembu chake mobisa, sakhutira ndi momwe zinthu zilili. Chifukwa chake, imadzipangira choyimira chakanthawi chabodza ndikusunga unyolo wake wa ROP mmenemo. Chojambula chabodza chimayikidwa pamalo osungira omwe angalembedwe, ndikusiya mulu weniweniwo.

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Kodi ma hacks atatu omwe atchulidwa pamwambapa amapereka chiyani kwa woipayo?

(1) Choyamba, njiru imadutsa kuthyolako kuti mufufuze ma adilesi kuti muwone ngati angawerengedwe, - amafufuza pulogalamu yapagulu pazida za ROP zogwiritsidwa ntchito molakwika.

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

(2) Kenako kuthyolako kuti mufufuze maadiresi kuti alembedwe, - chinsinsi choyipa chimazindikiritsa madera omwe ali m'makumbukidwe a pulogalamu ya wolandirayo omwe ali oyenerera kubaya ndalama zolipira.

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

(3) Kenako, enclave imapanga tcheni cha ROP kuchokera pazida zomwe zapezedwa mu sitepe (1) ndikubaya unyolowu mu staki ya pulogalamu yolandila.

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

(4) Pomaliza, pomwe wolandila akumana ndi chingwe cha ROP chomwe chidapangidwa m'gawo lapitalo, zolipira zoyipa zimayamba kuchita - ndi mwayi wa pulogalamu yolandila komanso kuthekera koyimba mafoni.

Momwe woyipa amagwiritsira ntchito ma hacks awa kupanga ranzowari

Wogwiritsa ntchitoyo atasamutsa chiwongolero kupita ku enclave kudzera m'modzi mwa ma ECALLs (popanda kukayikira kuti malowa ndi oyipa), gulu loyipalo limasaka malo aulere kukumbukira pulogalamu yojambulira jekeseni (kutenga malo omasuka ma cell aja. zomwe zidadzaza ndi ziro). Ndiye kupyolera kuthyolako kuti mufufuze ma adilesi kuti muwone ngati angawerengedwe, - enclave imayang'ana masamba omwe angagwiritsidwe ntchito mu pulogalamu ya omvera ndikupanga unyolo wa ROP womwe umapanga fayilo yatsopano yotchedwa "RANSOM" m'ndandanda wamakono (pakuukira kwenikweni, enclave imasunga mafayilo omwe alipo) ndikuwonetsa uthenga wa dipo. Nthawi yomweyo, wogwiritsa ntchitoyo mosadziwa amakhulupirira kuti enclave ikungowonjezera manambala awiri. Kodi izi zikuwoneka bwanji mu code?

Kuti mumvetsetse bwino, tiyeni tiwunikire ma mnemonics kudzera mu matanthauzo:

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Timasunga zoyambira zolembetsa za RSP ndi RBP kuti tibwezeretse magwiridwe antchito a wolandila pambuyo polipira:

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Tikuyang'ana chimango choyenera cha stack (onani code kuchokera pagawo "kuthyolako kolozera kayendedwe ka kayendedwe").

Kupeza zida zoyenera za ROP:

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Kupeza malo olowetsamo katundu:

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Timamanga unyolo wa ROP:

Pulogalamu yaumbanda ya SGX: momwe anthu oyipa akupezerapo mwayi paukadaulo watsopano wa Intel pazinthu zina osati zomwe adapangira.

Umu ndi momwe ukadaulo wa Intel's SGX, wopangidwira kuthana ndi mapulogalamu oyipa, umagwiritsidwa ntchito ndi anthu oyipa kuti akwaniritse zolinga zosiyana.

Source: www.habr.com

Kuwonjezera ndemanga