Destriksyon - atak koripsyon ti jan memwa kontoune sudo ak otantifikasyon OpenSSH

Chèchè ki soti nan Worcester Polytechnic Institute (USA) te prezante yon nouvo kalite atak Mayhem ki sèvi ak teknik Rowhammer dinamik owaza aksè memwa distorsion ti jan pou chanje valè varyab pil yo itilize kòm drapo nan pwogram nan pou deside si otantifikasyon ak chèk sekirite yo genyen. pase. Egzanp pratik nan atak la demontre yo kontoune otantifikasyon nan SUDO, OpenSSH ak MySQL, osi byen ke yo chanje rezilta a nan chèk ki gen rapò ak sekirite nan bibliyotèk OpenSSL la.

Atak la ka aplike nan aplikasyon ki itilize chèk yo konpare valè ki diferan de zewo. Egzanp kòd vilnerab: int auth = 0; ... // kòd verifikasyon ki chanje valè otantifikasyon an nan ka otantifikasyon siksè si (auth != 0) retounen AUTH_SUCCESS; sinon retounen AUTH_FAILURE;

Nan kontèks egzanp sa a, pou yon atak siksè li ase pou koripsyon nenpòt ti bit nan memwa ki asosye ak varyab otorizasyon 32-bit sou pil la. Si nenpòt ti kras nan varyab la pèvèti, valè a pa pral zewo ankò epi operatè kondisyonèl la pral detèmine fini siksè nan otantifikasyon. Modèl validation sa yo byen komen nan aplikasyon yo epi yo jwenn, pou egzanp, nan SUDO, OpenSSH, MySQL ak OpenSSL.

Destriksyon - atak memwa ti jan mangling pou kontoune sudo ak otantifikasyon OpenSSH

Atak la ka aplike tou nan konparezon fòm "si (auth == 1)", men nan ka sa a aplikasyon li vin pi konplike, paske li nesesè pou defòme pa nenpòt ti jan nan 32, men dènye ti jan an. Metòd la kapab tou itilize pou enfliyanse valè varyab yo nan rejis processeur, paske sa ki nan rejis yo ka tanporèman kole sou chemine a lè yon chanjman kontèks, yon apèl fonksyon, oswa yon moun kap okipe siyal dife. Pandan peryòd tan pandan valè rejis yo nan memwa, distòsyon yo ka prezante nan memwa sa a epi valè ki chanje yo pral retabli nan rejis la.

Destriksyon - atak memwa ti jan mangling pou kontoune sudo ak otantifikasyon OpenSSH

Pou defòme bits yo, yo itilize youn nan modifikasyon atak klas RowHammer. Depi DRAM memwa se yon seri selil ki genyen de dimansyon, chak konsiste de yon kondansateur ak yon tranzistò, fè lekti kontinyèl nan menm rejyon memwa a lakòz fluctuations vòltaj ak anomali ki lakòz yon ti pèt chaj nan selil vwazen yo. Si entansite lekti a wo, Lè sa a, selil vwazen an ka pèdi yon kantite lajan ase gwo chaj ak pwochen sik rejenerasyon an pa pral gen tan retabli eta orijinal li, ki pral mennen nan yon chanjman nan valè done yo ki estoke nan selil la. . Pou pwoteje kont RowHammer, manifaktirè chip yo te ajoute yon mekanis TRR (Target Row Refresh), ki bloke koripsyon selilè nan ka espesyal, men li pa pwoteje kont tout varyasyon atak posib.

Pou pwoteje kont atak Mayhem la, li rekòmande pou itilize konparezon pa evalye diferans ki genyen ant zewo oswa konyensidans nan youn, men pou tcheke alimèt lè l sèvi avèk yon valè grenn o aza ak octets ki pa zewo. Nan ka sa a, yo mete valè a vle nan varyab la, li nesesè avèk presizyon defòme yon kantite siyifikatif Bits, ki se ireyèl, kontrèman ak distòsyon an nan yon ti jan. Egzanp kòd ki pa atake: int auth = 0xbe406d1a; ... // kòd verifikasyon ki mete valè otantifikasyon an 0x23ab8701 nan ka otantifikasyon siksè si (auth == 0x23ab8701) retounen AUTH_SUCCESS; sinon retounen AUTH_FAILURE;

Metòd pwoteksyon espesifye a te deja itilize pa devlopè sudo yo e li te enkli nan lage 1.9.15 kòm yon ranje pou vilnerabilite CVE-2023-42465. Yo planifye yo pibliye yon pwototip nan kòd la pou pote soti nan atak la apre yo fin fikse yo te fè nan pwojè prensipal yo vilnerab.

Sous: opennet.ru

Add nouvo kòmantè