Uut rünnakut nimega Inception saab kasutada tundlike andmete lekitamiseks mis tahes AMD protsessorist.
Võtmed kaasavõtmiseks
- ETH Zürichi teadlased on välja töötanud uue mööduva hukkamise rünnaku nimega Training in Transient Execution (TTE), mis kasutab spekulatiivset täitmist, et lekitada kerneli mälu ja pääseda ligi tundlikele failidele, nagu /etc/shadow Linuxis masinad.
- Algus, TTE abil loodud otsast lõpuni ärakasutamine, võib AMD Zen 4-l lekkida kuni 39 baiti sekundis protsessorid ja edukalt hankida räsistatud kasutajakonto paroolid, mis on salvestatud kausta /etc/shadow 40 piires minutit.
- Algus erineb teistest mööduvatest täitmisrünnakutest, lisades haru ennustajasse uued ennustused mööduv aken, luues võimsamad mööduvad aknad, mida saab kasutada tagastuspinu puhvri ületäitumiseks ja kontrolli saamiseks protsessor. Selle rünnaku mõju leevendamine on ilmselt keeruline.
Kiiluvees Zenbleed, on ETH Zürichi teadlased loonud uue ajutise täitmise rünnakute klassi, mille nimeks on Training in Transient Execution (TTE). Kasutades TTE-d, ehitasid teadlased otsast lõpuni ärakasutamise nimega Inception. See võib AMD Zen 4 puhul lekkida tuumamälu kiirusega kuni 39 baiti sekundis ja teadlased suutsid lekkida /etc/shadow
Linux masin 40 minutiga. See fail sisaldab räsistatud kasutajakonto paroole ja on kaitstud süsteemi poolt ning sellele pääseb juurde ainult juurkasutaja. Teisisõnu, see ärakasutamine on tõesti halb.Kuidas Inception töötab?
Nagu Zenbleediga, Algus (CVE-2023-20569, kaudu Piiksuv arvuti) kuritarvitab selle toimimises spekulatiivset hukkamist. Haru ennustamine ja spekulatiivne täitmine viitavad üldiselt sellele, kui teie arvuti teeb toiminguid, mida pole veel vaja, kuid tõenäoliselt läheb vaja järgmistes tsüklites. Seda tehakse sageli aegadel, mil teie süsteemil on vabu ressursse, kuna see kiirendab üldist töötlemist, kui juhised või andmed poleks muidu protsessori jaoks valmis. Kui tehtud tööd pole vaja, visatakse see tavaliselt kõrvale ja protsessor saab järgmise õige käsu täitmiseks hüpata tagasi sinna, kus ta vajab. Kui ta seda teeb, nimetatakse seda haru valesti ennustamiseks.
Spekulatiivse täitmisega seoses on aga palju probleeme ning sellest tulenevad haavatavused nagu Spectre ja Zenbleed. Need teadlased sidusid Inceptioni loomiseks vanema ärakasutamise nimega "Phantom" (mis mõjutas Zen 1 ja Zen 2 arhitektuure) oma TTE rünnakuga.
"Inception" on viide samanimelisele filmile, kus filmi eeldus tugineb idee istutamisele kellegi pähe, kui ta unistab. Sel juhul väidavad teadlased, et nad istutavad protsessorisse "idee", samas kui see on teatud mõttes "unistades". See põhjustab valede juhiste täitmise, mis võimaldab Inceptionil juhtimisvoo kaaperdada protsessorist.
BTB on haru sihtpuhver ja RSB on tagastuspinu puhver. Võetud Inceptioni valgest raamatust:
"Esimeses treeningetapis T1 teostab ründaja TJ-s treeningharu, mis põrkub PHANTOMJMP allika PJ BTB sisestusega. Tuuma aadressiruumis asuv PJ on aadress, mis käivitab rekursiivse PHANTOMCALLi. Ohvri tagastamise VR eraldatakse kontrollvoos pärast PJ-d. PHANTOMJMP sihtmärk on seatud arvutile, mille juures käivitub rekursiivne PHANTOMCALL. Treeningetapis T2 sooritab ründaja koolituskõne TC-s, mis põrkab kokku BTB-s oleva arvutiga, mis loob ennustuse PANTOMCALL-i jaoks. Selle koolituskõne sihtmärgiks on seatud arvuti, mis loob rekursiivse PHANTOMCALLi ennustuse. Arvuti käivitamisel sisestab protsessor seega rekursiivselt RSB ennustused avalikustamisvidinasse G, mille asukoht järgneb kohe PC-s PHANTOMCALL-ile. Kuna arvuti asub kerneliruumis, käivitavad koolitusharud TJ ja TC lehetõrkeid, millest me taastume.
Algus erineb enamikust mööduvatest täitmisrünnakutest seisneb selles, et mööduva akna ajal lisab see uued ennustused haru ennustajasse. Iga sisestus loob täiendavaid mööduvaid aknaid, mis võivad olla võimsamad kui eelmised. Phantomi puhul (CVE-2022-23825), saab suvaliste juhiste abil luua mööduva akna. See tähendab, et juhiseid (nt eksklusiivne-või või XOR) saab kasutada kõnejuhisena ja luua täiendavaid mööduvaid aknaid. Seda kasutatakse seejärel Return Stack puhvri ületäitumiseks.
Mida sa teha saad?
Praegu pole palju, mida saate teha, ja isegi AMD puhul on raske öelda, mida nad sellega tegelikult teha saavad. Selle mõju täielikuks leevendamiseks peaks AMD kontekstide vahel vahetades brändi ennustajat tühjendama, mis võib osutuda uskumatult kulukaks.
AMD on pakkunud välja teistsuguse leevendusviisi, mis muudab selle nii, et AMD on valinud kõik kaudsed harud, mis ennustavad sunniviisiliselt valesti healoomulist asukohta. Kuni plaastrite ilmumiseni on teie riistvara siiski vastuvõtlik.
A paber inceptioni kohta esitletakse kell USENIX Security 2023 ja a paber fantoomi spekulatsiooni kohta esitletakse kell MIKRO 2023. Võite lugeda neid pabereid, et saada lisateavet ärakasutamise kohta.