Massachusetts Institute of Technology teadlased tuvastasid TONTOU (Time-of-Neutralization to Time-of-Use) rĂŒnnetehnika, mis pakub uut viisi Spectre v2 klassi mikroarhitektuuri haavatavuste Ă€ra kasutamiseks. See haavatavus vĂ”imaldab mÀÀrata tuumamĂ€lu sisu, kui eksploiti kĂ€itatakse kasutaja ruumis. Kood haavatavuse Ă€ra kasutamise blokeerimiseks lisati Linuxi tuumasse 5. augustil ning see on sisaldatud versioonides 7.1.7, 6.18.43, 6.12.102, 6.6.149, 6.1.181, 5.15.214 ja 5.10.263.
Teadlased demonstreerisid, et kohalik alaliselt privileege mitteomav kasutaja vĂ”ib rĂŒnnata, et mÀÀrata tuumkasutaja root parooli hash, mis on salvestatud failis /etc/shadow ja laetud mĂ€llu autentimise kĂ€igus. Teadlastele Ă”nnestus saada haavatavustest tuumamĂ€lust andmete lekkimist kiirusel 5.47 baiti sekundis ja tĂ€psusega 91.97%. 10 testimise kĂ€ivitamisest keskmiselt 18 minuti jooksul, Ă”nnestus pooltes katsetes edukalt kindlaks teha, et fail /etc/shadow on mĂ€lu olemas ning selle sisu vĂ€lja tĂ”mmata.
Eksploit on demonstreeritud AMD protsessoritega sĂŒsteemidel ja seda saab kasutada AMD Zen 1-4 protsessorite peredes. Intel sĂŒsteemidel on rĂŒnne samuti teostatav, kuid eksploiteerimine on keerulisem. Stack'i tagasijaotamise ĂŒlevoolu ja SRSO (Speculative Return Stack Overflow) haavatavuse kaitsmiseks kasutavad AMD protsessorid Safe-RET kaitsemehhanismi, mis puhastab haruprogrammi puhver pĂ€rast iga kasutamist ja kitsendab rĂŒnnaku ajalimiiti kahele instruktsioonile, mis teostatakse mĂ”ne kĂŒmnendi nanosekundi jooksul.
Selle kaitse meelevalda ja rĂŒnnaku akna laiendamiseks on rakendatud protsessori aeglustamise tehnikat, vĂ”imaldades hĂ€iret asendada Ă”igeaegselt, et suunata tĂ€itmisvoog tuumas ja kasutada hĂ€ire töötlejat kĂ€itumise moonutamiseks sĂ”ltumatute kontekstide prognoosimisaparaadis. KreeditĂ€psuse Ă€rakasutamiseks saab rĂŒndaja luua tingimusi, kus spekuleeriv haru bloki kĂ€ivitamine teeb arvatust palju vale prognoosi CALL kutseid, mis on piisav, et ĂŒletada tagastusadresside sihtmĂ€rkide virn ja kirjutada Ă”igesti prognoositud tagastuspunktid, mis asuvad virna alguses. Tulemuseks saavad virna algse elemendi vÀÀrtused, mille rĂŒndaja valis, ĂŒle kirjutatuks, mis pĂ”hjustab nende asendatud vÀÀrtuste kasutamise spekuleeriva RET kĂ€su tĂ€itmiseks teise protsessi kontekstis.
Protsessor mÀÀrab, et haru prognoos ei Ă”igustanud end ja tagastab operatsiooni algseisundisse, kuid spekuleerimise kĂ€igus töödeldud andmed jÀÀvad mĂ€llu ja mikroarhitektuursetesse puhverdesse. Kui vale prognoositud blokil on mĂ€lu aadress, viib selle spekuleerimine ĂŒldisesse mĂ€llu ja andmete lugemiseni mĂ€lust. Kelmuse sattumiste mÀÀramiseks vahemĂ€llu vĂ”ib kasutada ĂŒhte meetodit, mis pĂ”hineb puhversisu muutmise ajanalĂŒĂŒsil joogitaseme ja mittejoogitaseme andmetele.
Allikas: opennet.ru
