Ghasia - shambulio la uharibifu mdogo wa kumbukumbu ili kupitisha uthibitishaji wa sudo na OpenSSH

Watafiti kutoka Taasisi ya Worcester Polytechnic (Marekani) wameanzisha aina mpya ya shambulio la Mayhem ambalo hutumia mbinu ya upotoshaji ya biti ya kumbukumbu ya ufikiaji bila mpangilio ya Rowhammer ili kubadilisha maadili ya vigeu vya stack vinavyotumika kama bendera katika mpango ili kuamua kama uthibitishaji na ukaguzi wa usalama kupita. Mifano ya vitendo ya shambulio hilo inaonyeshwa ili kukwepa uthibitishaji katika SUDO, OpenSSH na MySQL, na pia kubadilisha matokeo ya ukaguzi unaohusiana na usalama katika maktaba ya OpenSSL.

Shambulio hilo linaweza kutumika kwa programu zinazotumia hundi ili kulinganisha thamani ambazo ni tofauti na sifuri. Mfano wa msimbo ulio katika mazingira magumu: int auth = 0; ... // msimbo wa uthibitishaji ambao hubadilisha thamani ya uthibitishaji katika kesi ya uthibitishaji uliofaulu ikiwa(auth != 0) itarudisha AUTH_SUCCESS; vinginevyo rudisha AUTH_FAILURE;

Katika muktadha wa mfano huu, kwa shambulio lililofanikiwa inatosha kuharibu kumbukumbu yoyote inayohusishwa na utofauti wa auth wa 32-bit kwenye stack. Ikiwa kigezo chochote katika kigezo kimeharibika, thamani haitakuwa tena sifuri na mwendeshaji wa masharti ataamua kukamilika kwa uthibitishaji kwa mafanikio. Mifumo kama hiyo ya uthibitishaji ni ya kawaida katika programu na hupatikana, kwa mfano, katika SUDO, OpenSSH, MySQL na OpenSSL.

Ghasia - shambulio la kumbukumbu kidogo ili kupitisha uthibitishaji wa sudo na OpenSSH

Mashambulizi yanaweza pia kutumika kwa kulinganisha kwa fomu "ikiwa (auth == 1)", lakini katika kesi hii utekelezaji wake unakuwa ngumu zaidi, kwani ni muhimu kupotosha si kidogo ya 32, lakini kidogo ya mwisho. Mbinu hiyo pia inaweza kutumika kuathiri thamani za viambajengo katika rejista za vichakataji, kwa kuwa yaliyomo kwenye rejista yanaweza kuwekwa kwenye rafu kwa muda wakati swichi ya muktadha, simu ya utendaji kazi au kidhibiti cha mawimbi kinawaka. Katika kipindi cha wakati maadili ya rejista yako kwenye kumbukumbu, upotoshaji unaweza kuletwa kwenye kumbukumbu hii na thamani iliyobadilishwa itarejeshwa kwenye rejista.

Ghasia - shambulio la kumbukumbu kidogo ili kupitisha uthibitishaji wa sudo na OpenSSH

Ili kupotosha bits, moja ya marekebisho ya mashambulizi ya darasa la RowHammer hutumiwa. Kwa kuwa kumbukumbu ya DRAM ni safu ya seli mbili-dimensional, kila moja inayojumuisha capacitor na transistor, kufanya usomaji unaoendelea wa eneo la kumbukumbu sawa husababisha kushuka kwa voltage na hitilafu zinazosababisha hasara ndogo ya malipo katika seli za jirani. Ikiwa kiwango cha kusoma ni cha juu, basi kiini cha jirani kinaweza kupoteza kiasi kikubwa cha malipo na mzunguko unaofuata wa kuzaliwa upya hautakuwa na muda wa kurejesha hali yake ya awali, ambayo itasababisha mabadiliko katika thamani ya data iliyohifadhiwa kwenye seli. . Ili kulinda dhidi ya RowHammer, watengenezaji wa chip wameongeza utaratibu wa TRR (Target Row Refresh), ambao huzuia uharibifu wa seli katika matukio maalum, lakini haulinde dhidi ya tofauti zote zinazowezekana za mashambulizi.

Ili kulinda dhidi ya shambulio la Ghasia, inashauriwa kutumia kwa kulinganisha si tathmini ya tofauti kutoka sifuri au sadfa na moja, lakini hundi ya mechi kwa kutumia thamani ya mbegu isiyo na mpangilio na pweza zisizo sifuri. Katika kesi hii, kuweka thamani inayotakiwa ya kutofautiana, ni muhimu kupotosha kwa usahihi idadi kubwa ya bits, ambayo ni isiyo ya kweli, tofauti na kupotosha kwa kidogo moja. Mfano wa msimbo usioweza kushambuliwa: int auth = 0xbe406d1a; ... // msimbo wa uthibitishaji unaoweka thamani ya uthibitishaji kuwa 0x23ab8701 ikiwa uthibitishaji utafaulu ikiwa(auth == 0x23ab8701) itarudisha AUTH_SUCCESS; vinginevyo rudisha AUTH_FAILURE;

Mbinu iliyobainishwa ya ulinzi tayari imetumiwa na wasanidi wa sudo na ilijumuishwa katika toleo la 1.9.15 kama marekebisho ya athari za CVE-2023-42465. Wanapanga kuchapisha mfano wa kanuni ya kutekeleza shambulizi baada ya marekebisho kufanywa kwa miradi mikuu iliyo hatarini.

Chanzo: opennet.ru

Kuongeza maoni