Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Wekî ku hûn dizanin, koda ku di dorpêçê de hatî darve kirin di fonksiyona xwe de bi giranî sînordar e. Ew nikare bangên pergalê bike. Ew nikare karûbarên I/O pêk bîne. Ew navnîşana bingehîn a beşa kodê ya serîlêdana mêvandar nizane. Ew nikare koda serîlêdana mêvandar jmp bike an jî telefon bike. Ew di derheqê strukturên cîhê navnîşan de ku serîlêdana mêvandar rêve dike (mînak, kîjan rûpel têne nexşe kirin an çi celeb daneya li ser wan rûpelan hene) nizane. Ew nikare ji pergala xebitandinê bixwaze ku perçeyek ji bîranîna serîlêdana mêvandar jê re nexşe bike (mînak, bi navgîniya /proc/pid/maps). Hewldanên naîf ên ji bo xwendina kor a herêmek bîranîna keyfî ya serîlêdanek mêvandar, nebêjin hewildanên nivîsandinê, zû an dereng (bi îhtîmalek berê) dê bibe sedema bidawîbûna bi zorê ya bernameya dorpêçkirî. Gava ku devera cîhê navnîşana virtual ya ku ji hêla enklave ve hatî daxwaz kirin ji serîlêdana mêvandar re negihîştî ev dibe.

Ji ber rastiyên wusa dijwar, gelo nivîskarek vîrus dê bikaribe dorpêçên SGX bikar bîne da ku bigihîje armancên xwe yên xirab?

- Ji bo lêgerîna navnîşanan hack bikin da ku bibînin ka ew dikarin werin xwendin
- Ji bo nivîsandinê navnîşanan hack bikin
- Hack ji bo verastkirina herikîna kontrolê
- Sê hakên ku li jor hatine rêz kirin çi didin xirabkaran?
- Meriv çawa van hackan bikar tîne da ku ranzomwari biafirîne

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Li ser bingeha hemî tiştên jorîn, bi gelemperî tête pejirandin ku enklavek tenê dikare karûbarê serîlêdana mêvandar bike, û ku enclave nikare înîsiyatîfa xwe, tevî yên xerab, bikar bîne. Ev tê vê wateyê ku enclaves ji nivîskarên vîrus re ti nirxek pratîkî ne. Ev texmîna bilez yek ji wan sedeman e ku parastina SGX asîmetrîk e: koda serîlêdana mêvandar nikare xwe bigihîne bîra enclave, dema ku koda enclave dikare li her navnîşana bîranîna serîlêdana mêvandar bixwîne û binivîse.

Ji ber vê yekê, heke koda dorpêçkirî ya xirabkar karîbûya li ser navê serîlêdana mêvandar bangên pergalê yên keyfî bike, li ser navê wê koda keyfî bicîh bîne, bîranîna serîlêdana mêvandar bişopîne û zincîreyên ROP yên xerabkar tê de bibîne, ew dikaribû bi tevahî kontrola serîlêdana mêvandar bigire. moda dizî. Ew ne tenê dikare pelên bikarhêner dizîne û şîfre bike, lê di heman demê de li ser navê bikarhêner jî tevbigere. Mînakî, li ser navê wî e-nameyên phishing bişînin an êrişên DoS bikin. Bêyî tirsa ji mekanîzmayên parastinê yên herî nûjen jî, wekî kanareyên stûyê û paqijkirina navnîşan.

Em ê çend hakên ku êrîşkar bikar tînin nîşanî we bidin da ku sînorên ku li jor hatine destnîşan kirin derbas bikin da ku ji SGX-ê ji bo mebestên xwe yên xirab sûd werbigirin: Êrîşên ROP. An ji bo pêkanîna kodek keyfî ya ku wekî pêvajoyek serîlêdana mêvandar veşartiye (bişibin qulkirina pêvajoyê, ku pir caran ji hêla malware ve tê bikar anîn), an jî ji bo veşartina malwareyek amade (ji bo ku malware xwe ji çewsandinê ji hêla antivirus û mekanîzmayên din ên parastinê ve xilas bike).

Ji bo vekolîna navnîşanan hack bikin da ku bibînin ka ew dikarin werin xwendin

Ji ber ku enclave nizane kîjan rêzên cîhê navnîşana virtual ji serîlêdana mêvandar re bigihîje, û ji ber ku dorpêç neçar e ku dema ku hewl dide navnîşek negihîştî bixwîne bi dawî bibe, êrîşkar bi peywira dîtina rêyek xelet re rû bi rû ye. bi tolerans cîhê navnîşan bişopîne. Rêyek ji bo nexşeya navnîşanên virtual yên berdest bibînin. Xerab vê pirsgirêkê bi xeletî karanîna teknolojiya TSX ya Intel çareser dike. Yek ji bandorên alîgir ên TSX bikar tîne: heke fonksiyona gihîştina bîranînê di danûstendinek TSX de were danîn, wê hingê îstîsnayên ku ji gihîştina navnîşanên nederbasdar derdikevin ji hêla TSX ve bêyî ku bigihîjin pergala xebitandinê têne tepisandin. Ger hewl were dayîn ku meriv bigihîje navnîşanek bîranînê ya nederbasdar, tenê danûstandina heyî tê betal kirin, ne hemî bernameya enclave. Va. TSX destûrê dide dorhêlek ku bi ewlehî bigihîje her navnîşanek ji hundurê danûstendinê - bêyî xetera hilweşandinê.

ger navnîşana diyarkirî heye serîlêdana mêvandar, danûstendina TSX pir caran serketî ye. Di rewşên hindik de, dibe ku ew ji ber bandorên derveyî yên wekî qutbûnê (wek qutkirinên plansazker), derxistina cache, an guheztina hevdem a cîhek bîranînê ji hêla pir pêvajoyê ve têk biçin. Di van rewşên hindik de, TSX kodek xeletiyek vedigere ku destnîşan dike ku têkçûn demkî ye. Di van rewşan de, hûn tenê hewce ne ku danûstendinê ji nû ve bidin destpêkirin.

ger navnîşana diyarkirî ne berdest e serîlêdana mêvandar, TSX îstîsna ku çêbûye (OS nayê agahdar kirin) ditepisîne û danûstendinê betal dike. Kodek xeletiyek li koda enklave tê vegerandin da ku ew li hember rastiya ku danûstendin hatiye betal kirin re bertek nîşan bide. Van kodên xeletiyê destnîşan dikin ku navnîşana navborî ji serîlêdana mêvandar re peyda nabe.

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Ev manîpulekirina TSX-ê ji hundurê dorpêçê ji bo xirabkar taybetmendiyek xweş heye: ji ber ku piraniya jimarvanên performansa hardware di dema ku koda enclave tê darve kirin de nayên nûve kirin, ne gengaz e ku meriv danûstendinên TSX yên ku di hundurê dorpêçê de têne darve kirin bişopîne. Bi vî rengî, manîpulasyona xirab a TSX ji pergala xebitandinê re bi tevahî nayê dîtin.

Wekî din, ji ber ku hacka jorîn pişta xwe bi tu bangên pergalê ve girê nade, ew bi tenê astengkirina bangên pergalê ne dikare were tesbît kirin û ne jî pêşî lê were girtin; ku bi gelemperî di şerê li dijî nêçîra hêkan de encamek erênî dide.

Xerab hacka ku li jor hatî destnîşan kirin bikar tîne da ku li koda serîlêdana mêvandar bigere ji bo amûrên ku ji bo avakirina zincîreyek ROP-ê maqûl in. Di heman demê de, ew ne hewce ye ku her navnîşan lêkolîn bike. Bes e ku meriv ji her rûpelek cîhê navnîşana virtual yek navnîşan lêkolîn bike. Vekolîna hemî 16 gigabytes bîra bi qasî 45 hûrdem digire (li ser Intel i7-6700K). Wekî encamek, xirabkar navnîşek rûpelên darvekirî yên ku ji bo avakirina zincîrek ROP-ê maqûl in distîne.

Hack ji bo lêgerîna navnîşanên ji bo nivîsandinê

Ji bo pêkanîna guhertoyek dorpêçkirî ya êrîşek ROP, êrîşkar pêdivî ye ku bikaribe li deverên bîranîna nekarandî yên nivîskî yên serîlêdana mêvandar bigere. Êrîşkar van cihên bîranînê bikar tîne da ku çarçoveyek stokek sexte derxîne û bargiranek (shellcode) derzîne. Xeta jêrîn ev e ku dorpêçek xerab nikaribe ji serîlêdana mêvandar hewce bike ku bîranînê ji xwe re veqetîne, lê li şûna wê dikare bîranîna ku berê ji hêla serîlêdana mêvandar ve hatî veqetandin xelet bikar bîne. Ger, bê guman, ew karibe deverên weha bêyî hilweşandina dorpêçê bibîne.

Xerab vê lêgerînê bi karanîna bandorek aliyek din a TSX-ê pêk tîne. Pêşîn, wekî di doza berê de, ew navnîşan ji bo hebûna wê dikole, û dûv re kontrol dike ka rûpela ku bi vê navnîşanê re têkildar e tê nivîsandin an na. Ji bo vê yekê, xirabkar hakek jêrîn bikar tîne: ew fonksiyonek nivîsandinê di danûstendinek TSX de bi cîh dike, û piştî ku ew qediya, lê berî ku ew biqede, ew bi darê zorê danûstendinê betal dike (berçavkirina eşkere).

Bi dîtina koda vegerê ya ji danûstendinek TSX, êrîşkar fam dike ka ew dikare were nivîsandin. Ger ew "kurtajek eşkere" be, xirabkar fam dike ku tomar dê serketî bibûya heke wî bişopanda. Ger rûpel tenê-xwendin be, wê hingê danûstendin bi xeletiyek ji bilî "berçavkirina eşkere" bi dawî dibe.

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Ev manîpulekirina TSX xwedan taybetmendiyek din e ku ji bo xirabker xweş e (ji bilî nemimkûniya şopandina bi jimareyên performansa hardware): ji ber ku hemî fermanên nivîsandina bîranînê tenê heke danûstendin serketî be têne peywirdar kirin, bi zorê kirin ku danûstendinê biqedîne piştrast dike ku hucreya bîranîna lêkolînkirî neguherî dimîne.

Hack ku herikîna kontrolê beralî bike

Dema ku êrîşek ROP-ê ji dorpêçek pêk tîne - berevajî êrişên ROP-ê yên kevneşopî - êrîşkar dikare kontrola qeyda RIP-ê bi dest bixe bêyî ku di bernameya êrîşkirî de xeletiyan bikar bîne (herikîna tampon an tiştek wusa). Êrîşkarek dikare rasterast nirxa qeyda RIP-ê ya ku li ser stakê hatî hilanîn binivîsîne. Bi taybetî, ew dikare nirxa vê qeydê bi zincîra xweya ROP-ê veguherîne.

Lêbelê, heke zincîra ROP dirêj be, wê hingê nivîsandina perçeyek mezin a serîlêdana mêvandar dikare bibe sedema xerabûna daneyê û tevgera bernameyê ya nediyar. Zilamê ku dixwaze êrîşa xwe bi dizî pêk bîne, ji vê rewşê ne razî ye. Ji ber vê yekê, ew ji xwe re çarçoveyek stêrkek demkî ya sexte diafirîne û zincîra xweya ROP-ê tê de hilîne. Çarçoveya stûna sexte li cîhek bîranîna birêkûpêk a nivîsandinê tê danîn, û stûna rastîn saxlem dihêle.

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Sê hakên ku li jor hatine navnîş kirin çi didin xirabkaran?

(1) Pêşîn, dorpêçkirina xirabkar derbas dibe ji bo vekolîna navnîşanan hack bikin da ku bibînin ka ew dikarin werin xwendin, - di serîlêdana mêvandar de ji bo amûrên ROP-ê yên xerabkar digere.

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

(2) Paşê ji aliyê hack ji bo lêgerîna navnîşanên ji bo nivîsandinê, - dorpêçek xirab di bîra serîlêdana mêvandar de deverên ku ji bo derzîlêdana bargiranek guncan in destnîşan dike.

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

(3) Dûv re, enklave zincîrek ROP-ê ji alavên ku di gava (1) de hatine kifş kirin diafirîne û vê zincîrê di stûyê serîlêdana mêvandar de derdixe.

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

(4) Di dawiyê de, dema ku serîlêdana mêvandar bi zincîra ROP-ê ya ku di gava berê de hatî afirandin re rû bi rû dibe, bargiraniya xirab dest bi darvekirinê dike - digel îmtiyazên serîlêdana mêvandar û şiyana çêkirina bangên pergalê.

Meriv çawa van hakan bikar tîne da ku ranzowari biafirîne

Piştî ku serîlêdana mêvandar bi yek ji ECALL-an ve kontrolê vediguhezîne enklave (bêyî ku guman bike ku ev enklave xerab e), dorpêça xirab li cîhê belaş di bîra serîlêdana mêvandar de ji bo derzîlêdana kodê digere (wan rêzikên hucreyan wekî cîhên belaş digire. ku bi sifiran dagirtî). Piştre bi rêya ji bo vekolîna navnîşanan hack bikin da ku bibînin ka ew dikarin werin xwendin, – Enclave li rûpelên îcrakar di serîlêdana mêvandar de digere û zincîrek ROP çêdike ku pelek nû bi navê "RANSOM" di pelrêça heyî de diafirîne (di êrîşek rastîn de, enclave pelên bikarhêner ên heyî şîfre dike) û peyamek fidyê nîşan dide. Di heman demê de, serîlêdana mêvandar bi nerazî bawer dike ku dorpêç bi tenê du hejmaran zêde dike. Ev di kodê de çawa xuya dike?

Ji bo hêsan têgihiştinê, ka em bi navgîniya pênaseyan hin bîranînan bidin nasîn:

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Em nirxên orîjînal ên qeydên RSP û RBP hilînin da ku piştî pêkanîna bargiraniyê xebata normal a serîlêdana mêvandar sererast bikin:

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Em li çarçoveyek stackê ya maqûl digerin (koda ji beşa "hack ji bo verastkirina herikîna kontrolê" binêre).

Dîtina amûrên ROP-ê yên guncan:

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Dîtina cîhek ji bo derzîlêdana bargiraniyê:

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Em zincîrek ROP ava dikin:

Malware SGX: xerabkar çawa teknolojiya nû ya Intel ji bo mebestên din ji wan ên ku ew ji bo wan hatî armanc kirin bikar tînin

Bi vî rengî teknolojiya SGX ya Intel, ku ji bo berevajîkirina bernameyên xerab hatî çêkirin, ji hêla xirabkaran ve tê bikar anîn da ku bigihîje armancên berevajî.

Source: www.habr.com

Add a comment