Ranjivost je posljedica značajki optimizacije memorije u Intelovim procesorima.
opet, otkrivena je ranjivost u spekulativnom sustavu izvršavanja instrukcija Intelovih procesora, a ovaj put Googleov istraživač, objavio je da je identificirao novu ranjivost (već katalogiziranu pod CVE-2022-40982), pod nazivom «Pad»
Pad, je ranjivost koja omogućuje određivanje sadržaja XMM, YMM i ZMM vektorski registri, koje su prethodno koristili drugi procesi prilikom izvršavanja AVX instrukcija na istoj CPU jezgri.
O Padu
Što se tiče ranjivosti, spominje se da neprivilegirani napadač s mogućnošću pokretanja vlastitog koda na sustavu, mogli iskoristiti ranjivost za curenje podataka iz drugih korisničkih procesa, jezgru sustava, izolirane Intel SGX enklave i virtualne strojeve.
Vektorski registri koji se mogu filtrirati naširoko se koriste u enkripciji, funkcijama memorijskog kopiranja i obradi nizova, na primjer, ti se registri koriste u biblioteci Glibc u funkcijama memcpy, strcmp i strlen, između ostalog. S praktičnog gledišta, ranjivost bi se mogla iskoristiti za određivanje podataka koji se obrađuju u AES-NI ili REP-MOVS uputama (koje se koriste u funkciji memcpy) u drugim procesima, što bi moglo dovesti do curenja ključeva za šifriranje, osjetljivih podataka i korisničkih lozinki.
Ranjivost se očituje u Intelovim procesorima koji podržavaju AVX2 i AVX-512 proširene skupove instrukcija (što znači da utječe na procesore od 6. do 11. generacije), dok se čini da Intelovi procesori temeljeni na mikroarhitekturama Alder Lake, Raptor Lake i Sapphire Rapids nisu pogođeni.
Kao i kod nedavno otkrivene Zenbleed ranjivosti koja utječe na AMD Zen2 procesore, u Downfall-u, razlog za ranjivost je curenje podataka iz datoteka dnevnika, koje se koriste za dijeljenje sadržaja dnevnika u svim aplikacijama na istoj CPU jezgri.
Do curenja dolazi zbog spekulativnog prijenosa podataka prilikom izvođenja naredbe GATHER, dostupan u AVX2 i AVX-512 ekstenzijama, i dizajniran za pružanje brzog pristupa različitim podacima u memoriji. Tijekom izvođenja naredbe GATHER, stari podaci u datoteci registra koriste se u spekulativnom izvođenju zavisnih instrukcija. Ovi se podaci ne odražavaju izravno u zapisnicima softvera, ali se mogu utvrditi korištenjem tehnika napada s bočnog kanala dizajniranih za napade Meltdown, kao što je raščlanjivanje preostalih podataka u predmemorij procesora.
Da iskoristim pad, razvijena je tehnika napada pod nazivom Gather Data Sampling (GDS) i za koje su objavljeni prototipovi eksploatacije za izvlačenje kriptografskih ključeva iz procesa drugog korisnika, curenje podataka nakon što ih je funkcija memcpy kopirala u jezgru Linuxa i presretanje ispisanih znakova koji su ostali u vektorskim registrima nakon rada drugih procesa. Na primjer, demonstrira sposobnost definiranja AES ključeva koji se koriste za šifriranje podataka u procesu drugog korisnika pomoću OpenSSL biblioteke.
Metoda je pokazala visoku učinkovitost: provođenjem eksperimenta sa 100 različitih ključeva utvrđeno je 100% ključeva AES-128 i 86% ključeva AES-256 s trajanjem svakog pokušaja određivanja ne više od 10 sekundi. U sustavima u oblaku, napad se može koristiti za određivanje podataka koji se obrađuju u drugim virtualnim strojevima. Moguće je da se ranjivost može iskoristiti izvršavanjem JavaScript koda u web pregledniku.
Treba napomenuti da je Intel je saznao za problem prošle godine (točnije u mjesecu kolovozu) te da je ranjivost javno objavljena tek ove godine na BlackHat USA konferenciji. i popravci za zaštitu od ranjivosti već su uključeni u različita ažuriranja Linux kernela u rasponu od verzije 6.4.9 6.1.44 do 4.14.321.
Osim toga, među mogućim mjerama za izbjegavanje negativnog utjecaja zaštite od Downfall ranjivosti na performanse, spominje se izmjena u kompajlerima kako bi se onemogućila upotreba naredbe GATHER ili dodavanje naredbe odmah nakon GATHER LFENCE, koji onemogućuje preventivno izvršavanje sljedećih naredbi prije nego što se dovrše sva prethodna predavanja.
Za sustave u kojima popravci firmvera nisu dostupni, podrška za sva AVX proširenja je onemogućena, dok za dio za ažuriranje mikrokoda Intel također pruža mogućnost korištenja MSR sučelja za selektivno onemogućavanje zaštite firmvera u kontekstu pojedinačnih procesa.
Konačno, ako vas zanima više o tome, detalje možete provjeriti u sljedeći link.