SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Araka ny fantatrao, ny code executed ao amin'ny enclave dia tena voafetra amin'ny asany. Tsy afaka manao antso an-tariby. Tsy afaka manao asa I/O. Tsy fantany ny adiresin'ny ampahan'ny code an'ny fampiharana mpampiantrano. Tsy afaka jmp na miantso kaody fampiharana mpampiantrano. Tsy manana hevitra momba ny firafitry ny habaka adiresy izay mifehy ny fampiharana fampiantranoana izy (ohatra, pejy inona no voasariky ny sari-tany na karazana data misy ao amin'ireo pejy ireo). Tsy afaka mangataka amin'ny rafitra miasa izy mba hanao sari-tany ampahany amin'ny fitadidian'ny fampiharana mpampiantrano azy (ohatra, amin'ny alΓ lan'ny /proc/pid/maps). Ny fiezahana tsy miangatra mamaky an-jambany faritra fitadidiana tsy misy dikany amin'ny fampiharana mpampiantrano, tsy lazaina intsony ny fikasana hanoratra, na ho ela na ho haingana (azo inoana fa ny voalohany) dia hitarika amin'ny fampitsaharana an-terisetra ny programa enclave. Mitranga izany rehefa tsy azo idirana amin'ny fampiharana mpampiantrano ny faritra habaka adiresy virtoaly nangatahan'ny enclave.

Raha jerena ny zava-misy henjana toy izany, ho afaka hampiasa ny SGX enclaves ve ny mpanoratra virus mba hanatratrarana ny tanjony ratsy?

- Hack amin'ny adiresy fizahana hahitana raha azo vakiana izy ireo
- Hack handinihana ny adiresy mba hanoratra
- Hack hamerenana ny fikorianan'ny fanaraha-maso
- Inona no omen'ireo hacks telo voatanisa etsy ambony ho an'ilay olon-dratsy?
- Ahoana ny fampiasan'ny olon-dratsy ireo hacks ireo hamoronana ranzomwari

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Mifototra amin'ireo rehetra voalaza etsy ambony ireo, dia ekena amin'ny ankapobeny fa ny enclave dia tsy afaka manompo afa-tsy ny fampiantranoana mpampiantrano, ary ny enclave dia tsy afaka manao ny asany manokana, anisan'izany ny ratsy. Midika izany fa tsy misy vidiny azo ampiharina amin'ny mpanoratra otrikaretina ny enclaves. Io fiheverana maimaika io no iray amin'ireo antony mahatonga ny fiarovana ny SGX ho asymmetrika: ny kaody fampiharana mpampiantrano dia tsy afaka miditra amin'ny fitadidiana enclave, raha ny code enclave kosa dia afaka mamaky sy manoratra amin'ny adiresy fitadidiana fampiharana mpampiantrano.

Noho izany, raha afaka manao antso an-tariby tsy misy dikany amin'ny anaran'ny fampiharana mpampiantrano ny kaody enclave ratsy fanahy, manatanteraka kaody tsy misy dikany amin'ny anarany, mijery ny fitadidian'ny fampiharana mpampiantrano ary mahita rojo ROP azo ampiasaina amin'izany, dia afaka mifehy tanteraka ny fampiharana mpampiantrano, ao anatin'izany. fomba mangalatra. Tsy vitan'ny hoe mangalatra sy manidy ny rakitra mpampiasa, fa miasa amin'ny anaran'ny mpampiasa ihany koa. Ohatra, mandefa mailaka phishing amin'ny anarany na manaova fanafihana DoS. Tsy misy tahotra na dia ny rafitra fiarovana maoderina indrindra, toy ny canaries stack sy ny fanadiovana ny fanadiovana.

Hasehonay anao ny hacks vitsivitsy izay ampiasain'ny mpanafika handresena ireo fetra voalaza etsy ambony mba hanararaotra ny SGX ho an'ny tanjona ratsy: fanafihana ROP. Na ny manatanteraka kaody tsy manara-penitra misaron-tava ho toy ny fizotry ny fampiharana mpampiantrano (mitovy amin'ny fanodinana hollowing, izay ampiasain'ny malware matetika), na manafina malware efa vita (mba hamonjena ny malware azy amin'ny fanenjehan'ny antivirus sy ny rafitra fiarovana hafa).

Hack amin'ny adiresin'ny fikarohana mba hahitana raha azo vakiana izy ireo

Koa satria ny enclave dia tsy mahafantatra izay faritra misy ny habaka adiresy virtoaly azo idirana amin'ny fampiharana mpampiantrano, ary satria ny enclave dia voatery mijanona rehefa manandrana mamaky adiresy tsy azo idirana, ny mpanafika dia miatrika ny asa fitadiavana fomba hanesorana- scan fandeferana ny toerana adiresy. Mitadiava fomba hanoratana ny adiresy virtoaly misy. Ny olon-dratsy dia mamaha ity olana ity amin'ny fampiasana ny teknolojia TSX an'ny Intel. Mampiasa ny iray amin'ireo voka-dratsin'ny TSX: raha apetraka amin'ny fifampiraharahana TSX ny fiasan'ny fidirana amin'ny fitadidiana, dia voasakan'ny TSX tsy tonga any amin'ny rafitra fiasana ny maningana avy amin'ny fidirana amin'ny adiresy tsy mety. Raha misy manandrana miditra amin'ny adiresy fitadidiana tsy mety dia ny fifampiraharahana amin'izao fotoana izao ihany no tapaka, fa tsy ny programa enclave manontolo. Izany. Ny TSX dia mamela ny enclave hiditra amin'ny adiresy azo antoka avy amin'ny fifampiraharahana - tsy misy atahorana hirodana.

raha misy ny adiresy voalaza fampiharana mpampiantrano, ny fifampiraharahana TSX dia mahomby indrindra. Amin'ny tranga tsy fahita firy, dia mety tsy hahomby izany noho ny fitaomana ivelany toy ny fahatapahana (toy ny fanelanelanana fandaharam-potoana), fandroahana cache, na fanovana miaraka amin'ny toerana fitadidiana amin'ny alΓ lan'ny dingana maro. Amin'ireo tranga tsy fahita firy ireo, ny TSX dia mamerina fehezan-dalΓ na diso milaza fa mihelina ny tsy fahombiazana. Amin'ireo tranga ireo dia mila mamerina ny fifampiraharahana fotsiny ianao.

raha tsy misy ny adiresy voalaza fampiharana mpampiantrano, ny TSX dia manafoana ny maningana nitranga (tsy ampahafantarina ny OS) ary manafoana ny fifampiraharahana. Averina amin'ny code enclave ny code error iray mba ahafahany mamaly ny zava-misy fa nofoanana ny fifampiraharahana. Ireo kaody diso ireo dia manondro fa ny adiresy resahina dia tsy misy amin'ny fampiharana mpampiantrano.

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Ity fanodinkodinana ny TSX avy ao anatin'ny enclave ity dia manana endri-javatra mahafinaritra ho an'ny olon-dratsy: satria tsy nohavaozina ny ankamaroan'ny kaontin'ny fampiasa amin'ny fitaovana amin'ny fotoana anaovana ny code enclave, dia tsy azo atao ny manara-maso ny fifampiraharahana TSX natao tao anatin'ny enclave. Noho izany, ny fanodikodinana ratsy ny TSX dia mijanona ho tsy hita maso tanteraka amin'ny rafitra miasa.

Fanampin'izany, satria tsy miantehitra amin'ny antson'ny rafitra ilay hack etsy ambony, dia tsy azo tsikaritra na voasakana amin'ny fanakanana fotsiny ny antson'ny rafitra; izay matetika manome vokatra tsara amin'ny ady amin'ny fihazana atody.

Mampiasa ny hack voalaza etsy ambony ny olon-dratsy mba hikaroka ny kaody fampiharana mpampiantrano ho an'ny gadget mety amin'ny fananganana rojo ROP. Amin'izay fotoana izay dia tsy mila mandinika ny adiresy rehetra izy. Ampy ny mandinika adiresy iray avy amin'ny pejy tsirairay amin'ny habaka adiresy virtoaly. Ny famakafakana ny fahatsiarovana 16 gigabytes rehetra dia mitaky 45 minitra eo ho eo (amin'ny Intel i7-6700K). Vokatr'izany, ny olon-dratsy dia mahazo lisitry ny pejy azo tanterahina izay mety amin'ny fananganana rojo ROP.

Hack ho an'ny fizahana adiresy ho an'ny fanoratana

Mba hanatanterahana ny dikan-teny enclave amin'ny fanafihana ROP, ny mpanafika dia mila afaka mikaroka faritra fitadidiana tsy azo soratana amin'ny fampiharana mpampiantrano. Mampiasa ireo toerana fitadidiana ireo ny mpanafika mba hanindronana sarin'ny stack sandoka sy hanindrona entana (shellcode). Ny fehin-kevitra dia ny hoe ny enclave ratsy dia tsy afaka mitaky ny fampiharana mpampiantrano mba hanokana fahatsiarovana ho azy, fa kosa mety hampiasa amin'ny fomba diso ny fitadidiana efa natolotry ny fampiharana mpampiantrano. Mazava ho azy, raha mahavita mahita faritra toy izany izy nefa tsy manimba ny enclave.

Ny olon-dratsy dia manao ity fikarohana ity amin'ny alΓ lan'ny fitrandrahana ny voka-dratsin'ny TSX hafa. Voalohany, toy ny tamin'ny tranga teo aloha, dia mandinika ny adiresy momba ny fisiany izy, ary avy eo manamarina raha azo soratana ny pejy mifandraika amin'io adiresy io. Mba hanaovana izany, dia mampiasa ity hack ity ilay olon-dratsy: mametraka asa fanoratana amin'ny fifanakalozana TSX izy, ary rehefa vita izany, fa alohan'ny hahavitan'izany dia manafoana an-keriny ny fifampiraharahana (fanalana mazava).

Amin'ny fijerena ny kaody miverina avy amin'ny fifampiraharahana TSX, dia takatry ny mpanafika raha azo soratana izy io. Raha "fanala zaza mivaingana" ilay izy, dia takatr'ilay olon-dratsy fa ho nahomby ilay firaketana raha nanaraka izany izy. Raha vakiana ihany ny pejy, dia mifarana amin'ny hadisoana ankoatra ny "fanalana mazava" ny fifampiraharahana.

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Ity fanodinkodinana an'i TSX ity dia manana endri-javatra hafa mahafinaritra ho an'ny olon-dratsy (ankoatra ny tsy fahafahan'ny fanaraha-maso amin'ny alΓ lan'ny kaontera fampisehoana fitaovana): satria ny baiko fanoratana fahatsiarovana rehetra dia atao raha tsy mahomby ny fifampiraharahana, ny fanerena ny fifampiraharahana hamita dia miantoka fa ny sela fitadidiana nozahana. mijanona tsy miova.

Hack hamerenana ny fikorianan'ny fanaraha-maso

Rehefa manao fanafihana ROP avy amin'ny enclave - tsy toy ny fanafihana ROP nentim-paharazana - ny mpanafika dia afaka mifehy ny rejisitra RIP nefa tsy mampiasa bibikely ao amin'ny programa voatafika (buffer overflow na toy izany). Ny mpanafika dia afaka mandika mivantana ny sandan'ny rejisitra RIP voatahiry ao amin'ny stack. Indrindra indrindra, afaka manolo ny sandan'ity rejisitra ity amin'ny rojo ROP azy manokana izy.

Na izany aza, raha lava ny rojo ROP, dia mety hitarika ho amin'ny kolikoly angon-drakitra sy fihetsika tsy ampoizina ny fanokanana ampahany betsaka amin'ny antontan-taratasin'ny fampiharana mpampiantrano. Tsy afa-po amin’izao toe-draharaha izao ilay olon-dratsy izay mitady hanao fanafihana an-tsokosoko. Noho izany, mamorona sarin-tsarimihetsika vonjimaika sandoka ho azy izy ary mitahiry ny rojo ROP ao anatiny. Apetraka ao amin'ny toerana fitadidiana azo soratana kisendrasendra ny sarin'ny stack sandoka, ka mamela ny tena stack ho tsy misy dikany.

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Inona no omen'ireo hacks telo voatanisa etsy ambony ho an'ilay olon-dratsy?

(1) Voalohany, ny fihoaram-pefy ratsy hack ho an'ny fikarohana adiresy mba hahitana raha azo vakiana izy ireo, – mikaroka ao amin'ny fampiharana mpampiantrano ny fitaovana ROP azo ampiasaina.

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

(2) Avy eo hack ho an'ny fizahana adiresy ho an'ny fanoratana, - ny enclave ratsy dia mamaritra faritra ao amin'ny fitadidian'ny fampiharana mpampiantrano izay mety amin'ny fampidirana entana.

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

(3) Manaraka izany, mamorona rojo ROP avy amin'ireo gadget hita ao amin'ny dingana (1) ny enclave ary mampiditra an'io rojo io ao amin'ny stack fampiharana mpampiantrano.

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

(4) Farany, rehefa mifanena amin'ny rojo ROP noforonina tamin'ny dingana teo aloha ny fampiharana mpampiantrano, dia manomboka manatanteraka ny enta-mavesatra maloto - miaraka amin'ny tombontsoan'ny fampiharana mpampiantrano sy ny fahafahana manao antso an-tariby.

Ahoana ny fampiasan'ny olon-dratsy an'ireny hacks ireny mba hamoronana ranzowari

Rehefa avy mamindra ny fanaraha-maso any amin'ny enclave ny fampiharana mpampiantrano amin'ny alalan'ny iray amin'ireo ECALLs (tsy misy fiahiahiana fa ratsy ity enclave ity), dia mikaroka toerana malalaka ao amin'ny fitadidiana ny fampiharana mpampiantrano ny enclave mampidi-doza (maka toerana malalaka ireo filaharan'ny sela ireo. izay feno aotra). Dia avy eo hack ho an'ny fikarohana adiresy mba hahitana raha azo vakiana izy ireo, – ny enclave dia mikaroka pejy azo tanterahana ao amin'ny fampiharana mpampiantrano ary mamorona rojo ROP izay mamorona rakitra vaovao antsoina hoe "RANSOM" ao amin'ny lahatahiry ankehitriny (amin'ny fanafihana tena izy, ny enclave dia manisy rakitra mpampiasa efa misy) ary mampiseho hafatra momba ny vidim-panavotana. Mandritra izany fotoana izany, ny fampiharana mpampiantrano dia mino fa ny enclave dia manampy isa roa fotsiny. Manao ahoana izany amin'ny code?

Ho fanamorana ny fahafantarana, andao hampiditra mnemΓ΄nika amin'ny alalan'ny famaritana:

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Mitahiry ny soatoavina voalohany amin'ny rejisitra RSP sy RBP izahay mba hamerenana amin'ny laoniny ny fampandehanana ara-dalΓ na ny fampiharana mpampiantrano aorian'ny fanatanterahana ny entana:

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Mitady frame stack sahaza izahay (jereo ny code avy amin'ny fizarana "hack for redirecting control flow").

Mitady gadget ROP mety:

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Mitadiava toerana hanindrona ny entana:

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Manangana rojo ROP izahay:

SGX malware: ahoana ny fomba fanararaotan'ny olon-dratsy ny teknolojia Intel vaovao ho an'ny tanjona hafa ankoatry ny nikasana azy

Toy izany ny teknolojian'ny SGX an'ny Intel, natao hanoherana ny fandaharan'asa ratsy, ampiasain'ny olon-dratsy mba hahatratrarana tanjona mifanohitra.

Source: www.habr.com

Add a comment