SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

E like me kāu e ʻike ai, ʻo ke code i hoʻokō ʻia i loko o ka enclave i kaupalena ʻia i kāna hana. ʻAʻole hiki ke hana i nā kelepona ʻōnaehana. ʻAʻole hiki iā ia ke hana i nā hana I/O. ʻAʻole ʻike ia i ka helu kumu o ka māhele code o ka mea hoʻokipa. ʻAʻole hiki iā ia ke jmp a i ʻole ke kāhea ʻana i ke code noi host. ʻAʻohe ona manaʻo e pili ana i ke ʻano kikoʻī kikoʻī e hoʻokele ana i ka noi hoʻokipa (no ka laʻana, ʻo nā ʻaoʻao i palapala ʻia a i ʻole ke ʻano o ka ʻikepili i loaʻa ma ia mau ʻaoʻao). ʻAʻole hiki iā ia ke noi i ka ʻōnaehana hana e palapala i kahi ʻāpana o ka hoʻomanaʻo o ka mea hoʻokipa iā ia (no ka laʻana, ma o /proc/pid/maps). ʻO ka hoʻāʻo ʻana e heluhelu makapō i kahi ʻāpana hoʻomanaʻo hoʻomanaʻo ʻole o kahi noi hoʻokipa, ʻaʻole hoʻi e haʻi i nā hoʻāʻo e kākau, e alakaʻi koke a ma hope paha (ʻoi aku ka mua) i ka hoʻopau ʻia ʻana o ka papahana enclave. Hana ʻia kēia i ka wā e hiki ʻole ai i ka noi hoʻokipa ke komo ʻana o ka ʻāpana kikowaena helu virtual i noi ʻia e ka enclave.

Hāʻawi ʻia i nā ʻoiaʻiʻo koʻikoʻi, hiki i kahi mea kākau virus ke hoʻohana i nā enclaves SGX e hoʻokō i kāna mau pahuhopu ʻino?

- Hack no ka ʻimi ʻana i nā ʻōlelo e ʻike inā hiki ke heluhelu ʻia
- Hack e ʻimi i nā ʻōlelo no ka hiki ke kākau
- Hack e hoʻohuli hou i ke kahe mana
- He aha nā hacks ʻekolu i helu ʻia ma luna e hāʻawi ai i ka mea ʻino?
- Pehea e hoʻohana ai ka mea ʻino i kēia mau hacks e hana i ka ranzomwari

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

Ma muli o nā mea a pau i luna aʻe nei, ua ʻae ʻia he hiki i kahi enclave ke lawelawe i ka noi hoʻokipa, a ʻaʻole hiki i ka enclave ke hoʻohana i kāna hana ponoʻī, me nā mea ʻino. ʻO ia hoʻi, ʻaʻohe waiwai o nā enclaves i nā mea kākau virus. ʻO kēia manaʻo wikiwiki kekahi o nā kumu i like ʻole ai ka pale ʻana o SGX: ʻaʻole hiki ke komo i ka code application host i ka hoʻomanaʻo enclave, ʻoiai hiki i ke code enclave ke heluhelu a kākau i kekahi helu hoʻomanaʻo hoʻomanaʻo hoʻokipa.

No laila, inā hiki i ke code enclave malicious ke hana i nā kelepona ʻōnaehana ma ka ʻaoʻao o ka noi hoʻokipa, e hoʻokō i nā code arbitrary ma kona inoa, e nānā i ka hoʻomanaʻo o ka mea hoʻokipa a loaʻa i nā kaulahao ROP hiki ke hoʻohana ʻia i loko, hiki iā ia ke hopu i ka mana piha o ka noi hoʻokipa, ma ʻano huna. ʻAʻole hiki iā ia ke ʻaihue a hoʻopili i nā faila mea hoʻohana, akā hana pū kekahi ma ka inoa o ka mea hoʻohana. No ka laʻana, e hoʻouna i nā leka uila phishing ma kona inoa a i ʻole e hana i nā hoʻouka DoS. Me ka makaʻu ʻole i nā mīkini pale hou loa, e like me ka stack canaries a me ka hoʻomaʻemaʻe ʻana.

E hōʻike mākou iā ʻoe i kekahi mau hacks i hoʻohana ʻia e nā mea hoʻouka e lanakila ai i nā palena i hōʻike ʻia ma luna nei e hoʻohana pono i ka SGX no kā lākou hana ʻino ponoʻī: hoʻouka ROP. A i ʻole e hoʻokō i nā code arbitrary i hoʻokaʻawale ʻia ma ke ʻano he kaʻina noi hoʻokipa (e like me ke kaʻina hana hollowing, ka mea i hoʻohana pinepine ʻia e malware), a i ʻole e hūnā i kahi malware i mākaukau (e hoʻopakele i kāna polokalamu mai ka hoʻomāinoino ʻia e nā antiviruses a me nā mea hana pale ʻē aʻe).

Hack no ka ʻimi ʻana i nā helu wahi e ʻike inā hiki ke heluhelu ʻia

No ka mea, ʻaʻole ʻike ka enclave i nā pae o ka wahi kikoʻī virtual i hiki ke loaʻa i ka noi hoʻokipa, a no ka mea ua koi ʻia ka enclave e hoʻopau i ka wā e hoʻāʻo ai e heluhelu i kahi ʻōlelo hiki ʻole ke komo, ke alo nei ka mea hoʻouka i ka hana o ka ʻimi ʻana i kahi ala e hewa ai- ʻoluʻolu e nānā i ka wahi helu wahi. E ʻimi i kahi ala e palapala ʻia ai nā helu helu virtual i loaʻa. Hoʻoponopono ka mea ʻino i kēia pilikia ma ka hoʻohana hewa ʻana i ka ʻenehana TSX a Intel. Hoʻohana i kekahi o nā hopena ʻaoʻao o TSX: inā hoʻokomo ʻia ka hana hoʻomanaʻo i loko o kahi kālepa TSX, a laila hoʻopaʻa ʻia nā ʻokoʻa mai ke komo ʻana i nā helu kuhi hewa e TSX me ka hiki ʻole i ka ʻōnaehana hana. Inā hoʻāʻo ʻia e komo i kahi helu hoʻomanaʻo kūpono ʻole, hoʻopau ʻia ka hana o kēia manawa, ʻaʻole ka papahana enclave holoʻokoʻa. ʻO kēlā. ʻAe ʻo TSX i kahi enclave e komo paʻa i kekahi helu mai loko mai o kahi kālepa - me ka ʻole o ka hāʻule.

ina loaʻa ka helu wahi i ʻōlelo ʻia hoʻohana ʻia, ʻoi aku ka maikaʻi o ka hana TSX. I nā hihia kakaʻikahi, hiki ke hāʻule ma muli o nā mana o waho e like me ke keakea (e like me ka hoʻopau ʻana i ka mea hoʻonohonoho), hoʻokuʻu ʻana i ka cache, a i ʻole ka hoʻololi like ʻana o kahi wahi hoʻomanaʻo e nā kaʻina hana he nui. I kēia mau hihia koʻikoʻi, hoʻihoʻi ka TSX i kahi helu kuhi e hōʻike ana he manawa pōkole ka hemahema. I kēia mau hihia, pono ʻoe e hoʻomaka hou i ke kālepa.

ina ʻAʻole loaʻa ka helu wahi i ʻōlelo ʻia ʻO ka noi hoʻokipa, hoʻopau ʻo TSX i ka ʻokoʻa i loaʻa (ʻaʻole i hoʻolaha ʻia ka OS) a hoʻopau i ke kālepa. Hoʻihoʻi ʻia kahi code hewa i ke code enclave i hiki iā ia ke pane i ka ʻoiaʻiʻo ua hoʻopau ʻia ke kālepa. Hōʻike kēia mau kuhi hewa ʻaʻole i loaʻa ka helu wahi i nīnau ʻia i ka noi hoʻokipa.

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

He hiʻohiʻona maikaʻi kēia hoʻololi ʻana iā TSX mai loko mai o ka enclave: no ka mea, ʻaʻole i hōʻano hou ʻia ka hapa nui o nā helu helu hana i ka manawa i hoʻokō ʻia ai ke code enclave, ʻaʻole hiki ke nānā i nā hana TSX i hana ʻia i loko o ka enclave. No laila, ʻike ʻole ʻia ka hana ʻino o ka TSX i ka ʻōnaehana hana.

Eia hou, no ka mea ʻaʻole hilinaʻi ka hack ma luna o nā kelepona ʻōnaehana, ʻaʻole hiki ke ʻike ʻia a ʻaʻole hoʻi e pale ʻia ma ke kāohi wale ʻana i nā kelepona ʻōnaehana; ka mea maʻamau e hāʻawi i ka hopena maikaʻi i ka hakakā ʻana me ka ʻimi hua manu.

Hoʻohana ka mea ʻino i ka hack i hōʻike ʻia ma luna nei e ʻimi i ka code application host no nā hāmeʻa kūpono no ka hana ʻana i kahi kaulahao ROP. I ka manawa like, ʻaʻole pono ʻo ia e ʻimi i kēlā me kēia helu wahi. Ua lawa ka huli ʻana i hoʻokahi helu wahi mai kēlā me kēia ʻaoʻao o ke kikowaena helu virtual. ʻO ka nānā ʻana i nā 16 gigabytes o ka hoʻomanaʻo e lawe ma kahi o 45 mau minuke (ma kahi Intel i7-6700K). ʻO ka hopena, loaʻa i ka mea ʻino kahi papa inoa o nā ʻaoʻao hiki ke kūpono no ke kūkulu ʻana i kahi kaulahao ROP.

Hack no ka ʻimi ʻana i nā helu wahi no ka hiki ke kākau

No ka hoʻokō ʻana i kahi mana enclave o kahi hoʻouka ROP, pono i ka mea hoʻouka ke ʻimi i nā wahi hoʻomanaʻo i hoʻohana ʻole ʻia o ka noi hoʻokipa. Hoʻohana ka mea hoʻouka i kēia mau wahi hoʻomanaʻo e hoʻokomo i kahi pahu hoʻopunipuni hoʻopunipuni a e hoʻokomo i kahi uku (shellcode). ʻO ka laina lalo, ʻaʻole hiki i kahi enclave maikaʻi ke koi i ka noi host e hoʻokaʻawale i ka hoʻomanaʻo nona iho, akā hiki ke hoʻohana hewa i ka hoʻomanaʻo i hoʻokaʻawale ʻia e ka noi host. Inā, ʻoiaʻiʻo, hoʻokele ʻo ia e ʻimi i kēlā mau wahi me ka ʻole o ka hāʻule ʻana o ka enclave.

Hana ka mea ʻino i kēia ʻimi ma ka hoʻohana ʻana i kekahi hopena ʻaoʻao o TSX. ʻO ka mea mua, e like me ka hihia ma mua, ʻimi ʻo ia i ka helu wahi no kona ola ʻana, a laila nānā inā hiki ke kākau ʻia ka ʻaoʻao e pili ana i kēia helu. No ka hana ʻana i kēia, hoʻohana ka mea ʻino i kēia hack: kau ʻo ia i kahi hana kākau ma kahi kālepa TSX, a ma hope o ka pau ʻana, akā ma mua o ka pau ʻana, hoʻopau ʻo ia i ka hana (explicit abort).

Ma ka nānā ʻana i ke code hoʻihoʻi mai kahi kālepa TSX, maopopo ka mea hoʻouka inā hiki ke kākau ʻia. Inā ʻo ia ka "hoʻopaʻapaʻa ʻokoʻa", hoʻomaopopo ka mea ʻino ua kūleʻa ka hoʻopaʻa ʻana inā ua hahai ʻo ia me ia. Inā heluhelu wale ʻia ka ʻaoʻao, a laila hoʻopau ke kālepa me kahi hewa ʻē aʻe ma mua o ka "abort explicit".

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

He hiʻohiʻona ʻē aʻe kēia manipulation o TSX no ka mea ʻino (ma waho aʻe o ka hiki ʻole o ka nānā ʻana ma o nā helu helu hana hardware): no ka mea, ʻo nā kauoha kākau hoʻomanaʻo āpau e hana wale ʻia inā kūleʻa ke kālepa, koi ʻia ke kālepa e hoʻopau i ka hōʻoia ʻana i ka cell memory probed. noho mau.

Hack e hoʻohuli i ke kahe mana

I ka hana ʻana i kahi hoʻouka ROP mai kahi enclave - ʻaʻole like me nā hoʻouka ROP kuʻuna - hiki i ka mea hoʻouka ke loaʻa ka mana o ka papa inoa RIP me ka ʻole o ka hoʻohana ʻana i nā pōpoki i ka papahana i hoʻouka ʻia (buffer overflow a i ʻole kekahi mea like). Hiki i ka mea hoʻouka ke kākau pololei i ka waiwai o ka papa inoa RIP i mālama ʻia ma ka waihona. ʻO ka mea kūikawā, hiki iā ia ke pani i ka waiwai o kēia papa inoa me kāna kaulahao ROP ponoʻī.

Eia nō naʻe, inā lōʻihi ke kaulahao ROP, a laila, ʻo ke kākau ʻana i kahi puʻupuʻu nui o ka hoʻopaʻa ʻana o ka mea hoʻokipa hiki ke alakaʻi i ka palaho ʻikepili a me ke ʻano o ka papahana i manaʻo ʻole ʻia. ʻO ka mea ʻino, ka mea e ʻimi nei e hoʻokō malū i kāna hoʻouka ʻana, ʻaʻole ʻoluʻolu i kēia kūlana. No laila, hana ʻo ia i kahi pahu hoʻopaʻa hoʻopunipuni hoʻopunipuni nona iho a mālama i kāna kaulahao ROP i loko. Hoʻokomo ʻia ke kiʻi hoʻopaʻa hoʻopunipuni ma kahi wahi hoʻomanaʻo hiki ke kākau ʻia, e waiho mau ana i ka waihona maoli.

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

He aha nā hacks ʻekolu i helu ʻia ma luna nei e hāʻawi i ka mea ʻino?

(1) ʻO ka mea mua, ʻo ka enclave maikaʻi ʻole hack no ka ʻimi ʻana i nā helu wahi e ʻike inā hiki ke heluhelu ʻia, – huli i ka palapala hoʻokipa no nā hāmeʻa ROP hiki ke hoʻohana ʻia.

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

(2) A laila e hack no ka huli ʻana i nā ʻōlelo no ka hiki ke kākau, - ʻike ʻia kahi enclave ʻino i nā wahi i loko o ka hoʻomanaʻo o ka mea hoʻokipa i kūpono no ka hoʻokomo ʻana i kahi uku.

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

(3) A laila, hana ka enclave i kaulahao ROP mai nā hāmeʻa i ʻike ʻia ma ka ʻanuʻu (1) a hoʻokomo i kēia kaulahao i loko o ka waihona noi hoʻokipa.

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

(4) ʻO ka hope loa, i ka wā e hālāwai ai ka mea hoʻokipa i ke kaulahao ROP i hana ʻia ma ka pae mua, e hoʻomaka ana ka uku ʻino - me nā pono o ka noi hoʻokipa a me ka hiki ke hana i nā kelepona ʻōnaehana.

Pehea e hoʻohana ai ka mea ʻino i kēia mau hacks e hana i ka ranzowari

Ma hope o ka hoʻoili ʻana o ka palapala hoʻokipa i ka mana i ka enclave ma o kekahi o nā ECALL (me ka manaʻo ʻole he hewa kēia enclave), ʻimi ka enclave hewa i kahi kaʻawale i ka hoʻomanaʻo ʻana o ka noi hoʻokipa no ka hoʻokomo ʻana i ke code (e lawe ana i nā wahi manuahi i kēlā mau kaʻina o nā cell. i piha me na zeros). A laila ma o hack no ka ʻimi ʻana i nā helu wahi e ʻike inā hiki ke heluhelu ʻia, - ʻimi ka enclave i nā ʻaoʻao hiki ke hoʻokō ʻia i ka noi hoʻokipa a hoʻopuka i kahi kaulahao ROP e hana i kahi faila hou i kapa ʻia ʻo "RANSOM" i ka papa kuhikuhi o kēia manawa (i ka hoʻouka maoli ʻana, hoʻopili ka enclave i nā faila mea hoʻohana i loaʻa) a hōʻike i kahi leka hoʻōla. I ka manawa like, ke manaʻoʻiʻo nei ka noi hoʻokipa e hoʻohui wale ana ka enclave i ʻelua mau helu. He aha ke ʻano o kēia ma ke code?

No ka maʻalahi o ka ʻike, e hoʻolauna i kekahi mau mnemonics ma o nā wehewehe:

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

Mālama mākou i nā koina kumu o ka RSP a me RBP kakau no ka hoʻihoʻi ʻana i ka hana maʻamau o ka noi hoʻokipa ma hope o ka hoʻokō ʻana i ka uku:

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

Ke ʻimi nei mākou i kahi kiʻi hoʻopaʻa kūpono (e ʻike i ke code mai ka ʻāpana "hack for redirecting control flow").

Ke ʻimi nei i nā hāmeʻa ROP kūpono:

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

Ke ʻimi nei i kahi e hoʻokomo ai i ka ukana:

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

Kūkulu mākou i kahi kaulahao ROP:

SGX malware: pehea e hoʻohana ai ka poʻe hewa i ka ʻenehana Intel hou no nā kumu ʻē aʻe ma mua o nā mea i manaʻo ʻia.

ʻO kēia ke ʻano o ka ʻenehana SGX o Intel, i hoʻolālā ʻia e kūʻē i nā polokalamu ʻino, e hoʻohana ʻia e nā mea ʻino e hoʻokō i nā pahuhopu kūʻē.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka