TONTOU: Uus Spectre v2 rünnak AMD ja Inteli vastu

Võtmepunktid:
  • TONTOU kasutab ära ennustuspuhvri puhastamise ja selle kasutamise vahelist ajavahet.
  • Ründajad kasutavad tuuma voo ümbersuunamiseks ja ennustusmasinate saastamiseks "katkestuse süstimist".
  •  See mõjutab AMD Zen 1 kuni 4 arhitektuure ja mitut Inteli protsessorite põlvkonda.
  • Leevendusplaastrid on juba lisatud hiljutistesse Linuxi kerneli värskendustesse (5. august).

TONTOU rünnak

Kas on võimalik, et just protsessori kiirus on see, mis teie turvalisust ohustab? Et mõista, kuidas protsessorid oma kiiruse saavutavad , peame arvestama, et nad töötavad "tulevikku ennustades"... Ei, nad ei ole maagilised ega oma pisikest kristallkuuli...

Protsessorid töötavad nii, et programmi edasiliikumise ootamise asemel ennustab kiip tõenäolist marsruuti ja annab sellest aimu. Kui ennustus on vale, siis töö visatakse ära, kuid jäljed jäävad mällu. Siin tulebki mängu Spectre , mis on üks olulisemaid viimastel aastatel avastatud haavatavusi. Pärast avastamist on ründajad õppinud neid jälgi lugema, luues üha keerukamaid variante; TONTOU on üks neist uutest haavatavustest.

MIT-i teadlased on avastanud TONTOU (neutraliseerimise aeg kasutusajaks), mis on keerukas uus tehnika Spectre v2 haavatavuste ärakasutamiseks , võimaldades kerneli mälu lugeda kasutajaruumist.

Kuigi tootjad ja arendajad on aastaid kavandanud mitmesuguseid kaitsemehhanisme ennustavate rünnakute vastu, on ründajatel õnnestunud avastada uusi teid ja see uus CSAIL-i uuring näitab, kuidas neist kaitsetest mööda hiilida.

Teadlased avastasid, et puhvri tühjendamise ja ennustuste kasutamise vahel on vältimatu ajavahe ning just selles väikeses ajavahemikus süstitakse süsteemikatkestuste kaudu koodi (mõnikord vaid käputäis juhiseid), mis võimaldab riistvara uuesti saastada ja kriitilisi andmeid välja võtta.

Rünnaku kohta: häired ja Safe-RET-i rikkumine

AMD-l on SRSO (spekulatiivse tagasipööramise pinu ülevoolu) haavatavuste vastu kaitse nimega Saferet, mis puhastab ennustussüsteemi vahetult enne iga kasutuskorda. See jätab haavatavuse akna , mida saab ära kasutada mõnekümne nanosekundi jooksul. Sellise väikese akna ründamiseks töötasid teadlased välja tehnika, mida nad nimetasid katkestuse süstimiseks.

Protsessorid peatavad katkestustega toimetulekuks pidevalt oma ülesandeid ja tavalised programmid saavad neid taimereid konfigureerida . Seda silmas pidades kohandasid teadlased taimerit täpselt ja protsessori aeglustamise tehnika abil katkestasid protsessori töö täpselt valel hetkel . Selle katkestuse ajal saab ründaja sundida täitma suurt hulka kõnesid, mis ajab aadressipinu üle. Kui ekslik täitmine lõpeb, loobub protsessor protsessist, kuid ligipääsetud andmed jäävad jagatud vahemällu , kust neid saab juurdepääsuaegade analüüsimise abil eraldada.

Paroolide ekstraheerimine ja testimine päris süsteemides

TONTOU rünnaku tõsiduse demonstreerimiseks ehitas meeskond toimiva ärakasutamise AMD süsteemile, millel töötab praegune Linuxi kernel. Esimene takistus oli operatsioonisüsteemi mälus positsiooni juhuslikult määrava kaitse möödahiilimine, mis neil õnnestus kümne katsega, mis võttis aega umbes üheksa minutit testi kohta.

Seejärel demonstreerisid nad lokaalset rünnakut privilegeerimata kasutajana , et määrata root parooli räsi, ekstraheerides edukalt andmeid kiirusega 5.47 baiti sekundis 91.97% täpsusega. 50% testidest (mis kestsid keskmiselt 18 minutit) tuvastasid ja ekstraheerisid nad edukalt paroolifaili sisu. Kuigi see on aeglane kiirus, on see enam kui piisav serveri kriitiliseks ohustamiseks.

Mõju Intelile, AMD-le ja leevenduspaigale

Meeskond testis nelja Inteli ja AMD protsessorite põlvkonda, saavutades ennustusvigu mõlema arhitektuuri puhul. Kuigi tehnika osutus elujõuliseks AMD Zen 1 kuni 4 perekondades , möödus rünnak Inteli kiipide puhul kahest erinevast kaitsest , kuigi erinevate Inteli põlvkondade vahel täheldati vastuolulist käitumist , mis viitab sellele, et nominaalsed kaitsed on riistvaras rakendatud erinevalt.

Lahendusena pakuvad teadlased välja ennustusmehhanismi teistkordse puhastamise pärast katkestuse lõppu. Kuigi see meede tundub AMD jaoks teostatav, võib see Inteli jaoks olla kahjulik, kuna rünnak tugineb katkestuse püsivale olekule ja võib muuta rünnaku usaldusväärsemaks.

Teadlased teavitasid AMD-d ja Inteli veebruari alguses ning Linuxi kerneli hooldajaid märtsis. Selle tulemusel integreeriti haavatavuse leevendamiseks mõeldud koodiblokeering Linuxi kerneli 5. augustil.

Lõpuks, kui olete huvitatud lisateabest, leiate üksikasjad järgmiselt lingilt.


Lisa eelistatud allikana Google'is