BHI je nova ranjivost Spectre klase u Intel i ARM procesorima

Grupa istraživača sa Vrije Universiteit Amsterdam identifikovala je novu ranjivost u mikroarhitektonskim strukturama Intel i ARM procesora, što je proširena verzija Spectre-v2 ranjivosti, koja omogućava da se zaobiđu eIBRS i CSV2 zaštitni mehanizmi dodati procesorima. . Ranjivost je dobila nekoliko imena: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) i Spectre-BHB (CVE-2022-23960), koja opisuju različite manifestacije isti problem (BHI - napad koji utiče na različite nivoe privilegija, na primjer, korisnički proces i kernel, BHB - napad na isti nivo privilegija, na primjer, eBPF JIT i kernel).

Istraživači su demonstrirali radni exploit koji omogućava da se proizvoljni podaci izvlače iz memorije kernela iz korisničkog prostora. Na primjer, prikazano je kako je, korištenjem pripremljenog exploit-a, moguće izdvojiti iz bafera kernela string sa hešom lozinke root korisnika učitane iz /etc/shadow datoteke. Eksploatacija demonstrira mogućnost iskorištavanja ranjivosti unutar jednog nivoa privilegija (napad od jezgra do kernela) korištenjem eBPF programa koji je učitao korisnik. Također je moguće koristiti umjesto eBPF-a postojeće Spectre gadgete u kodu kernela, sekvence naredbi koje dovode do spekulativnog izvršavanja instrukcija.

Ranjivost se pojavljuje u većini aktuelnih Intel procesora, sa izuzetkom procesora iz porodice Atom. Među ARM procesorima, problemom su pogođeni Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 i možda neki Cortex-R čipovi. Prema istraživanju, ranjivost se ne pojavljuje u AMD procesorima. Da bi se eliminisao problem, predloženo je nekoliko softverskih metoda za blokiranje ranjivosti, koje se mogu koristiti prije pojave hardverske zaštite u budućim modelima CPU-a.

Da biste blokirali napade preko eBPF podsistema, preporučuje se da se prema zadanim postavkama onemogući neprivilegovanim korisnicima mogućnost preuzimanja eBPF programa upisivanjem 1 u datoteku “/proc/sys/kernel/unprivileged_bpf_disabled” ili pokretanjem naredbe “sysctl -w kernel. unprivileged_bpf_disabled=1”. Da biste blokirali napade gadžeta, preporučuje se korištenje LFENCE instrukcija u područjima koda koja potencijalno dovode do spekulativnog izvršenja. Važno je napomenuti da zadana konfiguracija većine Linux distribucija već sadrži potrebne mjere zaštite dovoljne da blokiraju eBPF napad koji su pokazali istraživači. Intelove preporuke za onemogućavanje neprivilegovanog pristupa eBPF-u su takođe podrazumevane od Linux kernela 5.16 i biće prenete na ranije grane.

Konceptualno, BHI je proširena verzija Spectre-v2 napada, u kojoj se, da bi se zaobišla dodatna zaštita (Intel eIBRS i Arm CSV2) i organiziralo curenje podataka, koristi zamjena vrijednosti u Branch History Buffer-u, koji se koristi u CPU-u za povećanje predviđanja grananje preciznosti uzimajući u obzir istoriju prošlih tranzicija. Tokom napada, manipulacijama sa istorijom prelaza, stvaraju se uslovi za netačno predviđanje prelaza i spekulativno izvršenje potrebnih instrukcija, čiji rezultat završava u kešu.

Sa izuzetkom upotrebe bafera istorije grane umesto bafera cilja grane, novi napad je identičan Spectre-v2. Zadatak napadača je da stvori uslove da se adresa, prilikom izvođenja špekulativne operacije, uzima iz oblasti definisanih podataka. Nakon izvršenja špekulativnog indirektnog skoka, adresa skoka pročitana iz memorije ostaje u kešu, nakon čega se može koristiti jedna od metoda za određivanje sadržaja keša za njegovo dohvaćanje na osnovu analize promjena u vremenu pristupa keširanom i nekeširanom podaci.

izvor: opennet.ru

Dodajte komentar