SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Raws li koj paub, txoj cai raug tua nyob rau hauv lub enclave yog heev txwv nyob rau hauv nws functionality. Nws tsis tuaj yeem hu xov tooj. Nws tsis tuaj yeem ua haujlwm I / O. Nws tsis paub lub hauv paus chaw nyob ntawm tus tswv tsev daim ntawv thov tus lej ntu. Nws tsis tuaj yeem jmp lossis hu rau tus tswv daim ntawv thov code. Nws tsis muaj lub tswv yim hais txog qhov chaw nyob tus qauv uas tswj hwm tus tswv tsev daim ntawv thov (piv txwv li, cov nplooj ntawv twg tau teeb tsa lossis cov ntaub ntawv zoo li cas nyob ntawm cov nplooj ntawv). Nws tsis tuaj yeem hais kom lub operating system qhia ib daim ntawv thov lub cim xeeb rau nws (piv txwv li, los ntawm /proc/pid/maps). Naive sim blindly nyeem ib cheeb tsam nco arbitrary ntawm ib tug tswv tsev daim ntawv thov, tsis hais txog kev sim sau, yuav sai dua los yog tom qab (feem ntau yuav yog tus qub) ua rau raug yuam txiav ntawm qhov kev pab cuam enclave. Qhov no tshwm sim thaum twg qhov chaw nyob virtual cheeb tsam thov los ntawm lub enclave yog nkag tsis tau rau tus tswv tsev daim ntawv thov.

Muab qhov tseeb hnyav li no, tus kws sau ntawv tus kab mob puas tuaj yeem siv SGX enclaves kom ua tiav nws lub hom phiaj siab phem?

- Hack rau kev soj ntsuam chaw nyob kom pom tias lawv tuaj yeem nyeem tau
- Hack mus soj ntsuam chaw nyob rau kev sau ntawv
- Hack rau redirect tswj ntws
- Dab tsi peb hacks teev saum toj no muab rau tus neeg phem?
- Yuav ua li cas tus neeg phem siv cov hacks no los tsim ranzowari

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Raws li tag nrho cov saum toj no, nws feem ntau lees txais tias ib lub koom haum tsuas yog muaj peev xwm ua haujlwm rau tus tswv tsev daim ntawv thov, thiab lub koom haum tsis tuaj yeem siv nws tus kheej pib, suav nrog cov neeg phem. Qhov no txhais tau hais tias enclaves tsis muaj nuj nqis rau cov neeg sau kab mob. Qhov kev xav nrawm no yog ib qho ntawm cov laj thawj vim li cas SGX kev tiv thaiv yog asymmetrical: tus tswv tsev daim ntawv thov code tsis tuaj yeem nkag mus rau enclave nco, thaum enclave code tuaj yeem nyeem thiab sau rau txhua tus tswv tsev daim ntawv thov nco chaw nyob.

Yog li ntawd, yog hais tias lub siab phem enclave code muaj peev xwm ua arbitrary system hu rau sawv cev ntawm tus tswv daim ntawv thov, coj arbitrary code rau nws sawv cev, luam theej duab tus tswv daim ntawv thov lub cim xeeb thiab nrhiav kev tsim txom ROP chains nyob rau hauv nws, nws yuav txeeb tag nrho cov kev tswj ntawm tus tswv daim ntawv thov, hauv stealth hom. Nws tuaj yeem tsis tsuas yog nyiag thiab encrypt tus neeg siv cov ntaub ntawv, tab sis kuj ua rau sawv cev ntawm tus neeg siv. Piv txwv li, xa phishing email rau nws sawv cev lossis ua DoS tawm tsam. Tsis muaj kev ntshai txawm tias cov txheej txheem tiv thaiv niaj hnub tshaj plaws, xws li pawg canaries thiab chaw nyob huv.

Peb mam li qhia koj ob peb hacks uas cov neeg tawm tsam siv los kov yeej cov kev txwv uas tau piav qhia saum toj no kom tau txais txiaj ntsig ntawm SGX rau lawv tus kheej lub hom phiaj phem: ROP tawm tsam. Ob tog los ua kom tiav cov cai tsis raug cai disguised raws li tus tswv tsev daim ntawv thov txheej txheem (zoo ib yam li cov txheej txheem hollowing, uas feem ntau siv los ntawm malware), los yog txhawm rau txhawm rau txhawm rau npaj cov malware (kom txuag nws cov malware los ntawm kev tsim txom los ntawm antiviruses thiab lwm yam kev tiv thaiv mechanisms).

Hack rau kev soj ntsuam chaw nyob kom pom tias lawv tuaj yeem nyeem tau

Txij li thaum lub enclave tsis paub qhov twg ntawm qhov chaw nyob virtual nkag mus rau hauv daim ntawv thov tswv tsev, thiab txij li lub enclave raug yuam kom txiav tawm thaum sim nyeem qhov chaw nyob tsis tau, tus neeg tawm tsam tau ntsib nrog txoj haujlwm nrhiav txoj hauv kev ua txhaum- tolerantly luam theej duab qhov chaw nyob. Nrhiav ib txoj hauv kev los qhia cov chaw nyob virtual. Tus neeg phem daws qhov teeb meem no los ntawm kev siv Intel's TSX thev naus laus zis. Siv ib qho ntawm TSX cov kev mob tshwm sim: yog tias lub cim xeeb nkag mus tau muab tso rau hauv TSX kev sib pauv, ces cov kev zam tshwm sim los ntawm kev nkag mus rau qhov chaw tsis raug cai raug txwv los ntawm TSX yam tsis tau mus txog qhov kev ua haujlwm. Yog tias muaj kev sim nkag mus rau qhov chaw cim xeeb tsis raug, tsuas yog kev hloov pauv tam sim no raug rho tawm, tsis yog tag nrho cov kev pab cuam enclave. Qhov ntawd. TSX tso cai rau lub koom haum kom nkag mus rau txhua qhov chaw nyob hauv kev sib pauv - yam tsis muaj kev pheej hmoo ntawm kev tawg.

Yog hais tias tus qhov chaw nyob tau teev muaj daim ntawv thov tswv tsev, TSX kev lag luam feem ntau ua tiav. Muaj tsawg zaus, nws yuav ua tsis tiav vim muaj kev cuam tshuam sab nraud xws li kev cuam tshuam (xws li kev cuam tshuam ntawm lub sijhawm teem sijhawm), kev tshem tawm cache, lossis kev hloov kho ib txhij ntawm qhov chaw nco los ntawm ntau cov txheej txheem. Hauv cov xwm txheej tsis tshua muaj no, TSX rov qab qhov yuam kev code qhia tias qhov ua tsis tiav yog ib ntus. Hauv cov xwm txheej no, koj tsuas yog yuav tsum tau rov pib qhov kev hloov pauv.

Yog hais tias tus qhov chaw nyob uas teev tseg tsis muaj tus tswv tsev daim ntawv thov, TSX suppresses qhov kev zam uas tshwm sim (lub OS tsis ceeb toom) thiab rho tawm qhov kev hloov pauv. Ib qho yuam kev code raug xa rov qab mus rau enclave code kom nws tuaj yeem hnov ​​​​qhov tseeb tias qhov kev sib pauv tau raug tso tseg. Cov lej yuam kev no qhia tias qhov chaw nyob hauv nqe lus nug tsis muaj nyob rau hauv daim ntawv thov tswv tsev.

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Qhov kev tswj hwm ntawm TSX los ntawm sab hauv lub enclave muaj qhov zoo rau cov neeg phem: txij li feem ntau cov khoom siv kho vajtse tsis tau hloov kho thaum lub sij hawm enclave code raug tua, nws tsis tuaj yeem taug qab TSX kev lag luam raug tua hauv lub enclave. Yog li, kev ua phem tsis zoo ntawm TSX tseem tsis pom tag nrho rau lub operating system.

Tsis tas li ntawd, txij li saum toj no hack tsis cia siab rau ib qho kev hu xov tooj, nws tsis tuaj yeem kuaj pom lossis tiv thaiv los ntawm kev thaiv kev hu xov tooj yooj yim; uas feem ntau ua rau muaj txiaj ntsig zoo hauv kev sib ntaus tawm tsam qe tua tsiaj.

Tus neeg phem siv lub hack uas tau piav qhia saum toj no los tshawb nrhiav tus tswv tsev daim ntawv thov code rau gadgets tsim nyog rau kev tsim cov saw ROP. Nyob rau tib lub sijhawm, nws tsis tas yuav soj ntsuam txhua qhov chaw nyob. Nws txaus los soj ntsuam ib qhov chaw nyob ntawm txhua nplooj ntawv ntawm qhov chaw nyob virtual. Kev soj ntsuam tag nrho 16 gigabytes ntawm lub cim xeeb yuav siv li 45 feeb (ntawm Intel i7-6700K). Raws li qhov tshwm sim, tus neeg phem tau txais cov npe ntawm cov nplooj ntawv ua tiav uas tsim nyog rau kev tsim ROP saw.

Hack rau kev tshawb nrhiav chaw nyob rau kev sau ntawv

Txhawm rau ua tiav ib qho kev sib tw ntawm ROP nres, tus neeg tawm tsam yuav tsum muaj peev xwm tshawb nrhiav cov ntaub ntawv tsis siv lub cim xeeb ntawm daim ntawv thov tswv tsev. Tus neeg tawm tsam siv cov chaw cim xeeb no los txhaj cov kab ntawv cuav thiab txhaj rau lub payload (shellcode). Cov kab hauv qab yog tias cov kab mob phem tsis tuaj yeem xav tau daim ntawv thov tswv cuab los faib lub cim xeeb rau nws tus kheej, tab sis tsis tuaj yeem siv lub cim xeeb uas twb tau faib los ntawm tus tswv tsev daim ntawv thov. Yog tias, ntawm chav kawm, nws tswj kom pom cov cheeb tsam zoo li no yam tsis muaj kev sib tsoo ntawm qhov chaw.

Tus neeg phem ua qhov kev tshawb fawb no los ntawm kev siv lwm yam kev mob tshwm sim ntawm TSX. Ua ntej, raws li nyob rau hauv cov ntaub ntawv dhau los, nws soj ntsuam qhov chaw nyob rau nws lub neej, thiab tom qab ntawd xyuas seb nplooj ntawv cuam tshuam rau qhov chaw nyob no puas sau tau. Ua li no, tus neeg phem siv cov nram qab no hack: nws tso ib tug sau ua hauj lwm nyob rau hauv ib tug TSX kev sib pauv, thiab tom qab nws tau ua tiav, tab sis ua ntej nws tau ua tiav, nws yuam rho tawm kev pauv (kev rho tawm meej meej).

Los ntawm saib cov lej xa rov qab los ntawm TSX kev hloov pauv, tus neeg tawm tsam nkag siab seb nws puas tuaj yeem sau tau. Yog tias nws yog "kev rho menyuam tawm meej meej", tus neeg phem nkag siab tias qhov kev kaw yuav ua tiav yog tias nws tau ua raws li nws. Yog tias nplooj ntawv nyeem nkaus xwb, ces qhov kev hloov pauv xaus nrog qhov yuam kev uas tsis yog "kev rho tawm meej meej".

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Qhov kev tswj hwm ntawm TSX no muaj lwm yam uas zoo rau cov neeg phem (tshwj tsis yog qhov tsis tuaj yeem taug qab los ntawm cov khoom siv kho vajtse): txij li tag nrho cov cim xeeb sau cov lus txib tau cog lus tsuas yog tias kev hloov pauv tau ua tiav, yuam kev hloov pauv kom tiav kom ntseeg tau tias lub cim xeeb ntawm tes tseem tsis hloov.

Hack rau redirect tswj ntws

Thaum ua kev tawm tsam ROP los ntawm ib puag ncig - tsis zoo li cov tsoos ROP tawm tsam - tus neeg tawm tsam tuaj yeem tau txais kev tswj hwm ntawm RIP sau npe yam tsis muaj kev siv cov kab hauv qhov kev tawm tsam (tsis pub dhau los yog qee yam zoo li ntawd). Tus neeg tawm tsam tuaj yeem sau ncaj qha rau tus nqi ntawm RIP sau npe khaws cia ntawm pawg. Tshwj xeeb, nws tuaj yeem hloov tus nqi ntawm cov npe no nrog nws tus kheej ROP saw.

Txawm li cas los xij, yog tias cov saw hlau ROP ntev ntev, tom qab ntawd sau ntau qhov loj ntawm daim ntawv thov tus tswv pawg tuaj yeem ua rau cov ntaub ntawv kev noj nyiaj txiag thiab kev coj tus cwj pwm tsis xav txog. Tus neeg phem, uas nrhiav kev tawm tsam nws txoj kev tawm tsam, tsis txaus siab rau lub xeev no. Yog li ntawd, nws tsim ib tug fake ib ntus pawg ncej rau nws tus kheej thiab khaws nws cov ROP saw nyob rau hauv nws. Cov kab ntawv cuav yog muab tso rau hauv qhov chaw sau ntawv tsis txaus ntseeg, tawm hauv pawg tiag tiag.

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Peb lub hacks uas teev saum toj no muab dab tsi rau tus neeg phem?

(1) Ua ntej, lub siab phem enclave los ntawm hack rau kev tshawb nrhiav chaw nyob kom pom tias lawv tuaj yeem nyeem tau, - tshawb nrhiav tus tswv tsev daim ntawv thov rau kev tsim txom ROP gadgets.

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

(2) Tom qab ntawd hack rau kev tshawb nrhiav chaw nyob rau kev sau ntawv, – ib tug phem enclave txheeb xyuas cov cheeb tsam nyob rau hauv lub host daim ntawv thov lub cim xeeb uas tsim nyog rau txhaj ib tug payload.

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

(3) Tom ntej no, lub enclave tsim ib tug ROP saw los ntawm cov gadgets nrhiav tau nyob rau hauv kauj ruam (1) thiab txhaj cov saw no rau hauv lub host application pawg.

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

(4) Thaum kawg, thaum tus tswv tsev daim ntawv thov ntsib ROP saw tsim nyob rau hauv cov kauj ruam dhau los, lub siab phem payload pib executing - nrog rau cov cai ntawm tus tswv tsev daim ntawv thov thiab lub peev xwm los hu xov tooj.

Yuav ua li cas tus neeg phem siv cov hacks los tsim ranzowari

Tom qab tus tswv tsev daim ntawv thov hloov pauv kev tswj hwm mus rau lub enclave los ntawm ib qho ntawm ECALLs (tsis xav tias qhov enclave no ua phem), lub siab phem enclave tshawb nrhiav qhov chaw dawb hauv lub cim xeeb ntawm tus tswv tsev daim ntawv thov kev txhaj tshuaj (noj raws li qhov chaw dawb ntawm cov kab ke ntawm cov hlwb. uas puv nrog xoom). Ces dhau hack rau kev tshawb nrhiav chaw nyob kom pom tias lawv tuaj yeem nyeem tau, – lub enclave tshawb nrhiav cov nplooj ntawv ua tiav hauv daim ntawv thov tswv tsev thiab tsim cov saw hlau ROP uas tsim cov ntaub ntawv tshiab hu ua "RANSOM" hauv cov npe tam sim no (hauv kev tawm tsam tiag tiag, lub enclave encrypts cov neeg siv cov ntaub ntawv uas twb muaj lawm) thiab qhia cov lus nqe txhiv. Nyob rau tib lub sijhawm, tus tswv tsev daim ntawv thov naively ntseeg tias lub enclave tsuas yog ntxiv ob tus lej. Qhov no zoo li cas hauv code?

Rau kev nkag siab yooj yim, cia peb qhia qee qhov mnemonics los ntawm cov ntsiab lus:

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Peb khaws cov txiaj ntsig qub ntawm RSP thiab RBP cov ntawv sau npe txhawm rau txhawm rau rov ua haujlwm li qub ntawm daim ntawv thov tswv tsev tom qab ua tiav cov nyiaj them poob haujlwm:

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Peb tab tom nrhiav rau ib pawg tsim nyog (saib cov cai los ntawm ntu "hack rau redirecting tswj ntws").

Nrhiav kom haum ROP gadgets:

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Nrhiav ib qho chaw los txhaj cov payload:

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Peb tsim ROP saw:

SGX malware: yuav ua li cas cov neeg phem tau siv Intel thev naus laus zis tshiab rau lub hom phiaj uas tsis yog cov uas nws tau npaj

Qhov no yog li cas Intel's SGX thev naus laus zis, tsim los tiv thaiv cov phiaj xwm phem, raug siv los ntawm cov neeg phem kom ua tiav cov hom phiaj sib txawv.

Tau qhov twg los: www.hab.com

Ntxiv ib saib