SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Kòm ou konnen, kòd la egzekite nan anklav la seryezman limite nan fonksyonalite li yo. Li pa ka fè apèl sistèm. Li pa ka fè operasyon I/O. Li pa konnen adrès baz segman kòd aplikasyon lame a. Li pa ka jmp oswa rele kòd aplikasyon lame. Li pa gen okenn lide sou estrikti nan espas adrès ki gouvène aplikasyon an lame (pa egzanp, ki paj yo kat oswa ki kalite done ki sitiye sou paj sa yo). Li pa ka mande sistèm operasyon an kat yon moso nan memwa aplikasyon lame a sou li (pa egzanp, atravè /proc/pid/maps). Tantativ nayif pou li je fèmen yon rejyon memwa abitrè nan yon aplikasyon lame, san nou pa mansyone tantativ ekri, pral pi bonè oswa pita (gen plis chans ansyen an) mennen nan revokasyon an fòse nan pwogram anklav la. Sa rive chak fwa rejyon espas adrès vityèl anklav la mande a pa aksesib pou aplikasyon lame a.

Etandone reyalite difisil sa yo, èske yon ekriven viris ap kapab sèvi ak anklav SGX pou reyalize objektif move li yo?

– Hack pou sonde adrès yo wè si yo ka li
– Hack pou sonde adrès pou ekritibilite
– Hack pou redireksyon koule kontwòl
– Ki sa twa antay ki nan lis pi wo a bay mechan an?
– Ki jan mechan an itilize antay sa yo pou kreye ranzowari

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Dapre tout sa ki anwo yo, jeneralman yo aksepte ke yon anklav sèlman kapab sèvi aplikasyon lame a, e ke anklav la pa ka egzèse pwòp inisyativ li, ki gen ladan sa ki malveyan. Sa vle di ke anklav yo pa gen okenn valè pratik pou ekriven viris yo. Sipozisyon prese sa a se youn nan rezon ki fè pwoteksyon SGX asimetri: kòd aplikasyon lame pa ka jwenn aksè nan memwa anklav, pandan y ap kòd anklav ka li ak ekri nan nenpòt adrès memwa aplikasyon lame.

Se poutèt sa, si move kòd anklav te kapab fè apèl sistèm abitrè sou non aplikasyon lame a, egzekite kòd abitrè sou non li, eskane memwa aplikasyon lame a epi jwenn chenn ROP ki abize ladan l, li te kapab sezi kontwòl konplè sou aplikasyon lame a, nan mòd enfiltrasyon. Li ka pa sèlman vòlè ak ankripte fichye itilizatè yo, men tou li ka aji sou non itilizatè a. Pou egzanp, voye imèl èskrokri sou non li oswa fè atak DoS. San yo pa pè menm mekanis pwoteksyon ki pi modèn yo, tankou pile kanari ak dezenfekte adrès.

Nou pral montre w kèk antay atakè yo itilize pou simonte limit ki dekri pi wo a pou pran avantaj de SGX pou pwòp rezon move pa yo: atak ROP. Swa pou egzekite kòd abitrè degize kòm yon pwosesis aplikasyon lame (menm jan ak pwosesis hollowing, ki souvan itilize pa malveyan), oswa degize yon malveyan ki pare (pou sove malveyan li yo kont pèsekisyon antiviris ak lòt mekanis defans).

Hack pou sonde adrès yo wè si yo ka li

Piske anklav la pa konnen ki ranje espas adrès vityèl ki aksesib pou aplikasyon lame a, epi piske anklav la oblije sispann lè y ap eseye li yon adrès ki pa aksesib, atakè a ap fè fas ak travay pou l jwenn yon fason pou bay fot. ak tolerans eskane espas adrès la. Jwenn yon fason pou kat adrès vityèl ki disponib yo. Mechan an rezoud pwoblèm sa a lè li mal itilize teknoloji Intel a TSX. Sèvi ak youn nan efè segondè TSX yo: si fonksyon aksè memwa yo mete nan yon tranzaksyon TSX, Lè sa a, eksepsyon ki rive nan aksè nan adrès envalid yo siprime pa TSX san yo pa rive nan sistèm operasyon an. Si yo fè yon tantativ pou jwenn aksè nan yon adrès memwa ki pa valab, se sèlman tranzaksyon aktyèl la avòte, se pa tout pwogram anklav la. Sa. TSX pèmèt yon anklav jwenn aksè an sekirite nenpòt adrès nan yon tranzaksyon - san risk pou yo tonbe.

Si adrès espesifye a disponib aplikasyon lame, tranzaksyon TSX la pi souvan reyisi. Nan ka ki ra, li ka echwe akòz enfliyans ekstèn tankou entèwonp (tankou entèwonp orè), degèpisman kachèt, oswa modifikasyon similtane nan yon kote memwa pa plizyè pwosesis. Nan ka sa yo ki ra, TSX retounen yon kòd erè ki endike echèk la se tanporè. Nan ka sa yo, ou jis bezwen rekòmanse tranzaksyon an.

Si adrès espesifye a pa disponib aplikasyon lame, TSX siprime eksepsyon ki te fèt (OS la pa notifye) epi avòte tranzaksyon an. Yon kòd erè retounen nan kòd anklav la pou li ka reyaji nan lefèt ke tranzaksyon an te anile. Kòd erè sa yo endike adrès nan kesyon an pa disponib pou aplikasyon lame a.

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Manipilasyon TSX sa a soti andedan anklav la gen yon bèl karakteristik pou mechan an: piske pifò kontè pèfòmans pyès ki nan konpitè yo pa mete ajou nan moman kòd anklav la egzekite, li enposib pou swiv tranzaksyon TSX yo egzekite andedan anklav la. Kidonk, manipilasyon move nan TSX a rete konplètman envizib nan sistèm nan fonksyone.

Anplis de sa, piske Hack ki anwo a pa konte sou nenpòt apèl sistèm, li pa ka ni detekte ni anpeche pa senpleman bloke apèl sistèm; ki anjeneral bay yon rezilta pozitif nan batay la kont lachas ze.

Mechan an sèvi ak Hack ki dekri pi wo a pou chèche kòd aplikasyon lame a pou gadjèt ki apwopriye pou fòme yon chèn ROP. An menm tan an, li pa bezwen sonde chak adrès. Li ase pou sonde yon adrès nan chak paj espas adrès vityèl la. Sonde tout 16 jigokte memwa pran apeprè 45 minit (sou yon Intel i7-6700K). Kòm yon rezilta, mechan an resevwa yon lis paj ègzekutabl ki apwopriye pou konstwi yon chèn ROP.

Hack pou sonde adrès pou ekritibilite

Pou pote soti nan yon vèsyon anklav nan yon atak ROP, yon atakè bezwen pou kapab fè rechèch pou ekri zòn memwa ki pa itilize nan aplikasyon an lame. Atakè a sèvi ak kote memwa sa yo pou enjekte yon ankadreman fo pile ak pou enjekte yon chaj (shellcode). Liy anba a se ke yon anklav move pa kapab mande pou aplikasyon lame a asiyen memwa pou tèt li, men olye li ka mal sèvi ak memwa deja resevwa lajan pa aplikasyon an lame. Si, nan kou, li jere jwenn zòn sa yo san yo pa tonbe anklav la.

Mechan an fè rechèch sa a pa eksplwate yon lòt efè segondè nan TSX. Premyèman, tankou nan ka anvan an, li sonde adrès la pou egzistans li, ak Lè sa a, tcheke si paj ki koresponn ak adrès sa a se ekri. Pou fè sa, mechan an sèvi ak Hack sa a: li mete yon fonksyon ekri nan yon tranzaksyon TSX, epi apre li fin konplete, men anvan li te fini, li fòse avòte tranzaksyon an (avòte eksplisit).

Lè w gade kòd retounen nan yon tranzaksyon TSX, atakè a konprann si li kapab ekri. Si se yon "avòtman eksplisit", mechan an konprann ke anrejistreman an ta gen siksè si li te swiv ak li. Si paj la se lekti sèlman, Lè sa a, tranzaksyon an fini ak yon erè ki pa "avòte eksplisit".

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Manipilasyon TSX sa a gen yon lòt karakteristik ki bèl pou mechan an (anplis enposib pou swiv nan kontè pèfòmans pyès ki nan konpitè): depi tout kòmandman ekri memwa yo komèt sèlman si tranzaksyon an gen siksè, fòse tranzaksyon an fini asire ke selil memwa sonde la. rete san chanjman.

Hack pou redireksyon koule kontwòl

Lè w ap fè yon atak ROP soti nan yon anklav - kontrèman ak atak ROP tradisyonèl yo - atakè a ka pran kontwòl enskri RIP la san yo pa eksplwate okenn ensèk nan pwogram atak la (tanpon debòde oswa yon bagay tankou sa). Yon atakè ka dirèkteman ranplase valè rejis RIP ki estoke sou pil la. An patikilye, li ka ranplase valè rejis sa a ak pwòp chèn ROP li yo.

Sepandan, si chèn ROP a long, Lè sa a, ranplase yon gwo moso nan pile aplikasyon lame a ka mennen nan koripsyon done ak konpòtman pwogram inatandi. Mechan an, ki chache fè atak li an kachet, pa satisfè ak eta sa a. Se poutèt sa, li kreye yon fo ankadreman pil tanporè pou tèt li epi li estoke chèn ROP li nan li. Yo mete ankadreman an fo chemine nan yon kote memwa ekri o aza, kite pil reyèl la entak.

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Ki sa twa antay ki nan lis pi wo a bay mechan an?

(1) Premyèman, anklav move a pase Hack pou sonde adrès yo wè si yo ka li, – rechèch aplikasyon lame a pou gadjèt ROP ki ka abize.

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

(2) Lè sa a, pa Hack pou sonde adrès pou ekritibilite, – yon anklav move idantifye zòn nan memwa aplikasyon lame a ki apwopriye pou enjekte yon chaj.

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

(3) Apre sa, anklav la kreye yon chèn ROP apati gadjèt yo dekouvri nan etap (1) epi li enjekte chèn sa a nan pil aplikasyon lame a.

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

(4) Finalman, lè aplikasyon lame a rankontre chèn ROP ki te kreye nan etap anvan an, chaj move a kòmanse egzekite - ak privilèj aplikasyon lame a ak kapasite pou fè apèl sistèm.

Ki jan yon mechan itilize antay sa yo pou kreye ranzowari

Apre aplikasyon lame a transfere kontwòl nan anklav la atravè youn nan ECALL yo (san yo pa sispèk ke anklav sa a se move), anklav move a chèche espas gratis nan memwa aplikasyon lame a pou enjekte kòd (pran kòm espas gratis sekans selil sa yo). ki te ranpli ak zewo). Lè sa a, atravè Hack pou sonde adrès yo wè si yo ka li, – anklav la chèche paj ègzekutabl nan aplikasyon lame a epi jenere yon chèn ROP ki kreye yon nouvo fichye ki rele “RANSOM” nan anyè aktyèl la (nan yon atak reyèl, anklav la ankripte fichye itilizatè ki egziste deja yo) epi li montre yon mesaj ranson. An menm tan an, aplikasyon lame a nayivman kwè ke anklav la tou senpleman ajoute de nimewo. Ki sa sa sanble nan kòd?

Pou fasilite pèsepsyon, ann prezante kèk mnemonik atravè definisyon yo:

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Nou sove valè orijinal yo nan rejis RSP ak RBP yo nan lòd yo retabli operasyon nòmal nan aplikasyon an lame apre egzekite chaj la:

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Nou ap chèche pou yon ankadreman chemine apwopriye (gade kòd ki soti nan seksyon "Hack pou redireksyon koule kontwòl").

Jwenn gadjèt ROP apwopriye:

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Jwenn yon kote pou enjekte chaj la:

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Nou bati yon chèn ROP:

SGX malveyan: ki jan mechan yo ap eksplwate nouvo teknoloji Intel pou lòt rezon pase sa yo te fèt pou yo

Sa a se fason teknoloji SGX Intel a, ki fèt pou kontrekare pwogram move, se eksplwate pa mechan yo reyalize objektif opoze.

Sous: www.habr.com

Add nouvo kòmantè