Pronašli su ranjivost spekulativnog izvršenja koja utiče na AMD

Projekat nedavno Grsecurity je objavio putem publikacije detalji i demonstracija metoda napada na novu ranjivost (već katalogiziran kao CVE-2021-26341) na AMD procesorima koji se odnose na izvršavanje špekulativnih instrukcija nakon bezuslovnih operacija skoka naprijed.

Ranjivost omogućava procesoru da obrađuje spekulativno instrukcija odmah nakon instrukcije skoka (SLS) u memoriji tokom spekulativnog izvršenja. Istovremeno, takva optimizacija radi ne samo za operatore uslovnog skoka, već i za instrukcije koje uključuju direktan bezuslovni skok, kao što su JMP, RET i CALL.

Bezuslovne instrukcije grananja mogu biti praćene proizvoljnim podacima koji nisu predviđeni za izvršenje. Nakon što se utvrdi da grananje ne uključuje izvršenje sljedeće izjave, procesor jednostavno vraća stanje i ne uzima u obzir spekulativno izvršenje, ali trag izvršenja instrukcija ostaje u opštoj keš memoriji i dostupan je za analizu koristeći metode oporavka bočnog kanala.

AMD obezbeđuje ažuriranje za preporučeno ublažavanje, G-5 ublažavanje, u beloj knjizi „Softverske tehnike za upravljanje špekulacijama na AMD procesorima“. G-5 ublažavanje pomaže u rješavanju potencijalnih ranjivosti povezanih sa spekulativnim ponašanjem instrukcija grane.

AMD procesori mogu privremeno izvršavati instrukcije nakon bezuslovnog grananja naprijed što može rezultirati aktivnošću keš memorije

Kao i kod eksploatacije ranjivosti Spectre-v1, napad zahtijeva prisustvo određenih sekvenci instrukcija (gadžeta) u kernelu, što dovodi do spekulativnog izvršenja.

U ovom slučaju, blokiranje ranjivosti se svodi na identifikaciju takvih uređaja u kodu i dodavanje dodatnih instrukcija na njih koje blokiraju spekulativno izvršenje. Uvjeti za spekulativno izvršenje također se mogu stvoriti korištenjem neprivilegiranih programa koji se pokreću na eBPF virtuelnoj mašini.

Ova istraga je rezultirala otkrivanjem nove ranjivosti, CVE-2021-26341 [1] , o čemu ćemo detaljno raspravljati u ovom članku. Kao i obično, fokusiraćemo se na tehničke aspekte ranjivosti, AMD-ova predložena ublažavanja i aspekte eksploatacije.

Da blokirate mogućnost izgradnje uređaja pomoću eBPF-a, preporučljivo je onemogućiti neprivilegirani pristup eBPF-u u sistemu ("sysctl -w kernel.unprivileged_bpf_disabled=1").

Ranjivost pogađa procesore zasnovane na Zen1 i Zen2 mikroarhitekturi:

Desk

  • AMD Athlon™ X4 procesor
  • AMD Ryzen™ Threadripper™ PRO procesor
  • 2. generacija AMD Ryzen™ Threadripper™ procesora
  • Treća generacija AMD Ryzen™ Threadripper™ procesora
  • 7. generacija AMD A-serije APU-a
  • AMD Ryzen™ 2000 serija Desktop procesora
  • AMD Ryzen™ 3000 serija Desktop procesora
  • AMD Ryzen™ 4000 serija desktop procesora sa Radeon™ grafikom

Mobilni

  • Mobilni procesor AMD Ryzen™ 2000 serije
  • AMD Athlon™ 3000 serija mobilnih procesora sa Radeon™ grafikom
  • AMD Ryzen™ 3000 serija mobilnih procesora ili XNUMX. generacija AMD Ryzen™ mobilnih procesora sa Radeon™ grafikom
  • AMD Ryzen™ 4000 serija mobilnih procesora sa Radeon™ grafikom
  • AMD Ryzen™ 5000 serija mobilnih procesora sa Radeon™ grafikom

Chromebook

  • AMD Athlon™ mobilni procesori sa Radeon™ grafikom

Server

  • Prva generacija AMD EPYC™ procesora
  • 2. generacija AMD EPYC™ procesora

Spominje se da ako napad bude uspješan, Ranjivost omogućava određivanje sadržaja proizvoljnih memorijskih područja.

Zbog ove ranjivosti, moglo bi biti moguće identificirati benigne konstrukcije koda koji na pogođenim CPU-ima formiraju ograničene, ali potencijalno iskoristive, SLS uređaje. Kao što je pokazano na primjeru eBPF-a, također je moguće iskoristiti ranjivost pomoću ručno izrađenih i samoinjektiranih uređaja. Predstavljena metoda se može koristiti, na primjer, za razbijanje KASLR ublažavanja Linux kernela.

Na primjer, istraživači su pripremili eksploataciju koja vam omogućava da odredite raspored adrese i zaobiđete mehanizam zaštite KASLR (randomizacija memorije jezgra) izvršavanjem neprivilegiranog koda u podsistemu eBPF kernela, pored drugih scenarija napada koji bi mogli procuriti sadržaj kernela. memorije nisu isključene.

Konačno ako ste zainteresovani da saznate nešto više o tome, možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.