Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Тавре ки шумо медонед, коде, ки дар анклав иҷро карда мешавад, дар фаъолияти худ ба таври ҷиддӣ маҳдуд аст. Он наметавонад зангҳои системавӣ кунад. Он наметавонад амалиёти воридотӣ / баромадро иҷро кунад. Он суроғаи асосии сегменти рамзи барномаи мизбонро намедонад. Он наметавонад рамзи барномаи мизбонро jmp ё занг занад. Он дар бораи сохтори фазои суроғавӣ, ки барномаи мизбонро идора мекунад, тасаввуроте надорад (масалан, кадом саҳифаҳо харита карда шудаанд ё дар он саҳифаҳо чӣ гуна маълумот ҷойгир аст). Он наметавонад аз системаи оператсионӣ хоҳиш кунад, ки як пораи хотираи барномаи мизбонро ба он харита кунад (масалан, тавассути /proc/pid/maps). Кӯшишҳои соддалавҳона барои кӯр-кӯрона хондани минтақаи хотираи худсаронаи замимаи ҳост, ба истиснои кӯшишҳои навиштан, дер ё зуд (эҳтимоли пештара) боиси қатъи маҷбурии барномаи анклавӣ мегардад. Ин ҳар вақте рӯй медиҳад, ки минтақаи фазои суроғаи виртуалӣ, ки анклав дархост кардааст, барои барномаи мизбон дастрас нест.

Бо дарназардошти чунин воқеиятҳои сахт, оё як нависандаи вирус метавонад барои ноил шудан ба ҳадафҳои ашаддии худ аз анклавҳои SGX истифода барад?

- Ҳак барои тафтиши суроғаҳо, то бубинед, ки оё онҳоро хондан мумкин аст
- Ҳак барои санҷиши суроғаҳо барои навиштан
- Ҳак барои бозгардонидани ҷараёни назорат
— Се хакки дар боло номбаршуда ба бадкирдор чй медихад?
- Чӣ гуна бадкирдор ин ҳакҳоро барои сохтани ранзовари истифода мебарад

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Дар асоси ҳамаи гуфтаҳои боло, ба таври умум қабул карда мешавад, ки анклав танҳо қодир ба хидматрасонии замимаи мизбон аст ва анклав наметавонад ташаббуси худ, аз ҷумла ташаббусҳои зарароварро истифода барад. Ин маънои онро дорад, ки анклавҳо барои нависандагони вирус аҳамияти амалӣ надоранд. Ин фарзияи саросемавор яке аз сабабҳои асимметрии ҳифзи SGX аст: рамзи барномаи мизбон наметавонад ба хотираи анклав дастрасӣ пайдо кунад, дар ҳоле ки коди анклав метавонад ба ҳама суроғаи хотираи замимаи ҳост хонда ва нависад.

Аз ин рӯ, агар рамзи анклави зараровар тавонист зангҳои худсаронаи системаро аз номи барномаи мизбон кунад, аз номи он рамзи худсарона иҷро кунад, хотираи барномаи ҳостро скан кунад ва дар он занҷирҳои истифодашавандаи ROP-ро пайдо кунад, он метавонад назорати пурраи барномаи ҳостро ба даст орад. режими пинҳонӣ. Он на танҳо метавонад файлҳои корбарро дуздида ва рамзгузорӣ кунад, балки аз номи корбар амал кунад. Масалан, аз номи ӯ паёмҳои фишинг фиристед ё ҳамлаҳои DoS-ро анҷом диҳед. Бе тарс аз ҳатто механизмҳои муосири муҳофизатӣ, ба монанди канареяҳои анборӣ ва санитаризатсия.

Мо ба шумо якчанд ҳакҳоро нишон медиҳем, ки ҳамлагарон барои бартараф кардани маҳдудиятҳои дар боло тавсифшуда барои истифода аз SGX бо мақсадҳои шубҳаноки худ истифода мебаранд: ҳамлаҳои ROP. Ё барои иҷро кардани коди худсарона, ки ҳамчун раванди дархости ҳост пинҳон карда шудааст (монанди коркарди холӣ, ки аксар вақт аз ҷониби нармафзори зараровар истифода мешавад) ё пинҳон кардани як нармафзори зараровар (барои наҷот додани нармафзори зараровар аз таъқиби антивирусҳо ва дигар механизмҳои муҳофизатӣ).

Ҳак барои тафтиши суроғаҳо, то бубинед, ки оё онҳоро хондан мумкин аст

Азбаски анклав намедонад, ки кадом диапазонҳои фазои суроғаи виртуалӣ барои барномаи ҳост дастрас аст ва азбаски анклав маҷбур аст, ки ҳангоми кӯшиши хондани суроғаи дастнорас қатъ шавад, ҳамлакунанда бо вазифаи ёфтани роҳи хатогӣ рӯ ба рӯ мешавад. фазой адресро токаткорона скан кунед. Роҳи харитаи суроғаҳои виртуалии дастрасро пайдо кунед. Бадкирдор ин мушкилотро тавассути истифодаи нодурусти технологияи TSX Intel ҳал мекунад. Яке аз эффектҳои паҳлӯии TSX-ро истифода мебарад: агар функсияи дастрасии хотира дар транзаксияи TSX ҷойгир карда шавад, пас истисноҳое, ки дар натиҷаи дастрасии суроғаҳои беэътибор ба миён меоянд, аз ҷониби TSX бе дастрас шудан ба системаи оператсионии худ пахш карда мешаванд. Агар кӯшиши дастрасӣ ба суроғаи хотираи беэътибор анҷом дода шавад, танҳо амалиёти ҷорӣ қатъ карда мешавад, на тамоми барномаи анклав. ки. TSX ба анклав имкон медиҳад, ки бидуни хатари фурӯпошӣ ба ҳама гуна суроға аз дохили транзаксия дастрас шавад.

агар адреси муайяншуда дастрас аст аризаи мизбон, амалиёти TSX аксар вақт муваффақ аст. Дар ҳолатҳои нодир, он метавонад аз сабаби таъсироти беруна, аз қабили таваққуфҳо (ба монанди қатъи нақшакаш), хориҷкунии кэш ё тағир додани ҳамзамон ҷойгиршавии хотира тавассути равандҳои гуногун ноком шавад. Дар ин ҳолатҳои нодир, TSX рамзи хаторо бармегардонад, ки нишон медиҳад, ки нокомӣ муваққатӣ аст. Дар ин ҳолатҳо, шумо танҳо бояд транзаксияро дубора оғоз кунед.

агар суроғаи зикршуда дастрас нест барномаи мизбон, TSX истиснои рухдодаро рафъ мекунад (OS огоҳ карда намешавад) ва транзаксияро қатъ мекунад. Рамзи хато ба коди анклав баргардонида мешавад, то он метавонад ба далели бекор шудани транзаксия вокуниш нишон диҳад. Ин рамзҳои хато нишон медиҳанд, ки суроғаи мавриди назар барои барномаи мизбон дастрас нест.

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Ин манипуляцияи TSX аз дохили анклав барои бадкирдор хусусияти хубе дорад: азбаски аксари ҳисобкунакҳои иҷрои сахтафзор дар вақти иҷро шудани коди анклав навсозӣ намешаванд, пайгирӣ кардани транзаксияҳои TSX дар дохили анклав ғайриимкон аст. Ҳамин тариқ, манипуляцияи шубҳаноки TSX барои системаи оператсионӣ комилан ноаён боқӣ мемонад.

Илова бар ин, азбаски ҳакерии дар боло зикршуда ба ягон занги система такя намекунад, онро бо роҳи бастани зангҳои системавӣ ошкор кардан ё пешгирӣ кардан мумкин нест; ки одатан дар муборизаи зидди шикори тухм натичаи мусбат мебахшад.

Шахси золим хаки дар боло тавсифшударо барои ҷустуҷӯи коди замимаи мизбон барои гаҷетҳои мувофиқ барои ташкили занҷири ROP истифода мебарад. Дар баробари ин, ба ӯ лозим нест, ки ҳар як суроғаро тафтиш кунад. Барои санҷидани як суроға аз ҳар саҳифаи фазои суроғаи виртуалӣ кифоя аст. Санҷиши ҳама 16 гигабайт хотира тақрибан 45 дақиқаро мегирад (дар Intel i7-6700K). Дар натиҷа, бадкирдор рӯйхати саҳифаҳои иҷрошавандаро мегирад, ки барои сохтани занҷири ROP мувофиқанд.

Ҳак барои санҷиши суроғаҳо барои навиштан

Барои анҷом додани версияи анклавии ҳамлаи ROP, ҳамлакунанда бояд қодир бошад, ки минтақаҳои хотираи истифоданашудаи навишташавандаи барномаи ҳостро ҷустуҷӯ кунад. Ҳамлагар ин маконҳои хотираро барои ворид кардани чаҳорчӯбаи стеки қалбакӣ ва ворид кардани бори пурбор (коди shellcode) истифода мебарад. Хулоса ин аст, ки анклави зараровар қодир нест, ки аз барномаи ҳост барои худ ҷудо кардани хотираро талаб кунад, аммо ба ҷои он метавонад хотираи аз ҷониби барномаи мизбон ҷудошуда суиистифода шавад. Агар, албатта, ба вай муяссар шавад, ки анклавро вайрон накунад.

Бадкирдор ин ҷустуҷӯро бо истифода аз таъсири дигари TSX анҷом медиҳад. Аввалан, чун дар ҳолати қаблӣ, он суроғаро мавҷудияти онро месанҷад ва сипас месанҷад, ки саҳифаи ба ин суроға мувофиқ навишташаванда аст ё не. Барои ин, бадкирдор аз хакки зерин истифода мебарад: вай функсияи навиштанро дар транзаксияи TSX ҷойгир мекунад ва пас аз анҷоми он, аммо пеш аз анҷоми он транзаксияро маҷбуран қатъ мекунад (аборт ошкор).

Бо дидани рамзи бозгашт аз транзаксияи TSX, ҳамлакунанда мефаҳмад, ки оё он навиштан мумкин аст. Агар ин "исқоти ошкоро" бошад, бадкирдор мефаҳмад, ки агар сабти номро иҷро мекард, муваффақ мешуд. Агар саҳифа танҳо барои хондан бошад, пас транзаксия бо хатои ғайр аз "қатъи ошкор" анҷом меёбад.

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Ин манипуляцияи TSX як хусусияти дигаре дорад, ки барои бадкирдор хуб аст (ба ғайр аз имконнопазирии пайгирӣ тавассути ҳисобкунакҳои иҷрои сахтафзор): азбаски ҳама фармонҳои навиштани хотира танҳо дар сурати бомуваффақият анҷом додани транзаксия иҷро карда мешаванд, маҷбур кардани транзаксия кафолат медиҳад, ки хотираи тафтишшаванда ҳуҷайра бетағйир мемонад.

Ҳак барои бозгардонидани ҷараёни назорат

Ҳангоми анҷом додани ҳамлаи ROP аз анклав - бар хилофи ҳамлаҳои анъанавии ROP - ҳамлакунанда метавонад бидуни истифода аз ягон хатогиҳои барномаи ҳамлашуда назорати реестри RIP-ро ба даст орад. Ҳамлагар метавонад бевосита арзиши реестри RIP-ро, ки дар стек нигоҳ дошта шудааст, баргардонад. Аз ҷумла, он метавонад арзиши ин реестрро бо занҷири ROP-и худ иваз кунад.

Аммо, агар занҷири ROP дароз бошад, пас баргардонидани як қисми зиёди стеки барномаи ҳост метавонад ба фасоди маълумот ва рафтори ғайричашмдошти барнома оварда расонад. Шахси бадкирдор, ки хучуми худро пинхонй карданй мешавад, аз ин ахвол каноатманд нест. Аз ин рӯ, он барои худ як чаҳорчӯбаи муваққатии қалбакӣ эҷод мекунад ва занҷири ROP-и худро дар он нигоҳ медорад. Чаҳорчӯбаи стеки қалбакӣ дар як макони хотираи тасодуфии навишташаванда ҷойгир карда, стеки воқеиро бетағйир мемонад.

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Се хакери дар боло номбаршуда ба бадкирдор чӣ медиҳад?

(1) Аввалан, анклави зараровар тавассути барои тафтиши суроғаҳо ҳак кунед, то бубинед, ки оё онҳоро хондан мумкин аст, – барномаи мизбонро барои гаҷетҳои суиистифодаи ROP ҷустуҷӯ мекунад.

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

(2) Пас аз он хак барои тафтиши суроғаҳо барои навиштан, – анклави зараровар минтақаҳоеро дар хотираи барномаи мизбон муайян мекунад, ки барои ворид кардани бор мувофиқанд.

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

(3) Баъдан, анклав аз гаҷетҳои дар қадами (1) кашфшуда занҷири ROP эҷод мекунад ва ин занҷирро ба стек замимаи ҳост ворид мекунад.

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

(4) Ниҳоят, вақте ки барномаи мизбон бо занҷири ROP, ки дар қадами қаблӣ сохта шудааст, дучор меояд, бори зараровар иҷро мешавад - бо имтиёзҳои барномаи ҳост ва қобилияти зангҳои система.

Чӣ гуна як бадкирдор ин ҳакҳоро барои сохтани ранзовари истифода мебарад

Пас аз он ки барномаи ҳост идораро тавассути яке аз ECALLҳо ба анклав интиқол медиҳад (бе гумони он ки ин анклав зараровар аст), анклави зараровар дар хотираи замимаи ҳост барои ворид кардани код (ҳамчун фазои холӣ ин пайдарпайии ҳуҷайраҳоро гирифта) фазои холӣ меҷӯяд. ки бо сифрҳо пур карда шудааст). Сипас тавассути барои тафтиши суроғаҳо ҳак кунед, то бубинед, ки оё онҳоро хондан мумкин аст, – анклав саҳифаҳои иҷрошавандаро дар барномаи мизбон ҷустуҷӯ мекунад ва занҷири ROP тавлид мекунад, ки дар феҳристи ҷорӣ файли нав бо номи “RANSOM” эҷод мекунад (дар ҳамлаи воқеӣ, анклав файлҳои корбари мавҷударо рамзгузорӣ мекунад) ва паёми фидяро намоиш медиҳад. Дар айни замон, барномаи мизбон соддалавҳона боварӣ дорад, ки анклав танҳо ду рақам илова мекунад. Ин дар код чӣ гуна аст?

Барои осонии дарк, биёед тавассути таърифҳо якчанд мнемоникаро ҷорӣ кунем:

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Мо арзишҳои аслии регистрҳои RSP ва RBP-ро барои барқарор кардани кори мӯътадили замимаи мизбон пас аз иҷрои бори пурбор нигоҳ медорем:

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Мо чаҳорчӯбаи стеки мувофиқро меҷӯем (нигаред ба коди бахши "хак барои масир равона кардани ҷараёни назорат").

Ҷустуҷӯи гаҷетҳои мувофиқи ROP:

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Ҷустуҷӯи ҷой барои сӯзандоруи бор:

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Мо як занҷири ROP месозем:

Нармафзори зараровар SGX: чӣ гуна бадкорон технологияи нави Intel-ро ба ғайр аз мақсадҳое, ки барои он пешбинӣ шуда буданд, истифода мебаранд

Ҳамин тавр технологияи SGX-и Intel, ки барои муқобила бо барномаҳои зараровар тарҳрезӣ шудааст, аз ҷониби бадкорон барои ноил шудан ба ҳадафҳои муқобил истифода мешавад.

Манбаъ: will.com

Илова Эзоҳ