SWAPGS novo ranljivost špekulativne izvedbe

SWAPGS-izkoriščanje-2

P Raziskovalci Bitdefenderja so odkrili novo ranljivost v mehanizmu za špekulativno izvajanje ukazov v sodobnih procesorjih, ki je prejel ime SWAPGS, Ustrezno imenu navodila za procesor, ki povzroča težavo.

Ranljivost omogoča neprivilegiranemu napadalcu, da določi vsebino področij pomnilnika jedra ali izvajanje navideznih strojev. Težava je potrjena na Intelovih procesorjih (x86_64) in delno vpliva na procesorje AMD, pri katerih se primarni vektor napada ne pojavi.

Prej uvedeni metodi proti ranljivosti Spectre in Meltdown ne ščitita pred napadi SWAPGS z uporabo procesorjev Intel, vendar so že predlagane rešitve za Linux, ChromeOS, Android in Windows.

Ranljivost spada v razred Spectre v1 in temelji na ideji pridobivanja podatkov iz predpomnilnika procesorja, ki ostane po špekulativnem izvajanju navodil.

Bloki predvidevanja pretvorbe sodobnih procesorjev uporabljajo proaktivno izvajanje nekaterih navodil, za katera je verjetneje, da jih bodo izvedli, za izboljšanje zmogljivosti, vendar brez čakanja na izračun vseh dejavnikov, ki določajo njihovo izvajanje (na primer, ko navodila pogoji prehoda ali parametri dostopa še niso izračunani).

Če napoved ni potrjena, procesor zavrže rezultat špekulativnega izvajanja, vendar podatke, obdelane med izvajanjem, procesor predpomni in jih lahko obnovi z uporabo metod za določanje vsebine predpomnilnika po kanalih. od tretjih oseb, ki analizirajo spremembo časa dostopa do predpomnjenih in predpomnjenih podatkov.

O SWAPGSIH

Posebnost novega napada je uporaba puščanja, ki nastane med špekulativnim izvajanjem navodila SWAPGS, ki se uporablja v operacijskih sistemih za nadomestitev vrednosti registra GS, ko se nadzor prenese iz uporabniškega prostora v jedro operacijskega sistema (vrednost GS, uporabljena v uporabniškem prostoru, se nadomesti z vrednostjo, uporabljeno v operacijah jedra) .

Jedro Linuxa v GS shrani kazalec per_cpu, ki se uporablja za dostop do podatkov jedra in kaže na TLS (Thread Local Storage) v uporabniškem prostoru.

Če želite izključiti dvojno klicanje navodila SWAPGS po večkratnem dostopu do jedra iz prostora jedra ali pri izvajanju kode, ki ne zahteva zamenjave registra GS, se pred ukazom izvede preverjanje in pogojni prehod.

Mehanizem špekulativne izvedbe pred izvajanjem kode z navodilom SWAPGS, brez čakanja na rezultat preverjanja in če izbrana veja ni potrjena, rezultat zavrže.

zato lahko pride do situacije, ko je veja, ki določa izvajanje SWAPGS, špekulativno izbrana, vendar bo med špekulativnim izvajanjem vrednost registra GS spremenjena z navodilom SWAPGS in bo uporabljena pri operacijah, odvisnih od pomnilnika, ki so predpomnjene v CPU.

Raziskovalci so predlagali dva scenarija napada za katere so bili pripravljeni prototipi izkoriščanja.

  • Prvi scenarij temelji na situaciji, ko se navodilo SWAPGS ne izvaja špekulativno, čeprav se uporablja pri dejanski izvedbi, drugi scenarij pa je nasprotno, ko se navodilo SWAPGS izvaja špekulativno, čeprav se v resnici ne bi smelo.
  • Za vsak scenarij obstajata dve operativni možnosti: napadalec lahko določi vrednost na določenem naslovu v območju jedra in napadalec lahko išče določeno vrednost na naključnih naslovih v jedru.

Rešitev zahteva namestitev posodobitve jedra v gostiteljskem in gostujočem okolju, čemur sledi ponovni zagon sistema. Če želite onemogočiti zaščito v Linuxu, lahko uporabite možnost "nospectre_v1", ki onemogoči tudi ukrepe za blokiranje ranljivosti SWAPGS.

Rešitev je na voljo kot popravek za jedro Linuxa, ki je že vključen v različice 4.19.65, 5.2.7, 4.14.137, 4.9.188 in 4.4.188, medtem ko bodo za različne distribucije Linuxa ustrezni popravki prispeli v obdobju tega in naslednjega tedna .


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.