SWAPGS jaunu spekulatīvu izpildes ievainojamību

SWAPGS-izmantot-2

L Bitdefender pētnieki ir identificējuši jaunu ievainojamību mehānismā spekulatīvai instrukciju izpildei mūsdienu procesoros, kurš saņēma vārdu SWAPGS, Atbilst procesora instrukcijas nosaukumam, kas rada problēmu.

Neaizsargātība ļauj neprivilēģētiem uzbrucējiem noteikt kodola atmiņas apgabalu saturu vai darbojas virtuālās mašīnas. Problēma ir apstiprināta Intel procesoros (x86_64) un daļēji ietekmē AMD procesorus, kuriem primārais uzbrukuma vektors neparādās.

Iepriekš ieviestās Spectre un Meltdown pretneaizsargātības metodes neaizsargā pret SWAPGS uzbrukumiem izmantojot Intel procesorus, bet jau ir piedāvāti risinājumi Linux, ChromeOS, Android un Windows.

Ievainojamība pieder Spectre v1 klasei un balstās uz ideju iegūt datus no procesora kešatmiņas, kas paliek pēc spekulatīvās instrukciju izpildes.

Mūsdienu procesoru reklāmguvumu prognozēšanas blokos tiek izmantota dažu instrukciju proaktīva izpilde, kuras, visticamāk, tiks izpildītas, lai uzlabotu veiktspēju, bet negaidot visu faktoru aprēķinu, kas nosaka to izpildi (piemēram, kad instrukciju pārejas nosacījumi vai piekļuves parametri vēl nav aprēķināti).

Ja prognoze netiek apstiprināta, procesors izmet spekulatīvās palaišanas rezultātu, bet palaišanas laikā apstrādātos datus procesors saglabā kešatmiņā, un tos var atjaunot, izmantojot metodes, lai noteiktu kešatmiņas saturu dažādos kanālos. kešatmiņā saglabāto un kešatmiņā saglabāto datu piekļuves laika maiņa.

Par SWAPGS

Jaunā uzbrukuma īpatnība ir noplūdes izmantošana, kas rodas SWAPGS instrukcijas spekulatīvās izpildes laikā, kas tiek izmantots operētājsistēmās, lai aizstātu GS reģistra vērtību, kad vadība tiek pārsūtīta no lietotāja telpas uz operētājsistēmas kodolu (lietotāja telpā izmantoto GS vērtību aizstāj ar vērtību, kas izmantota kodola darbībās).

Linux kodols GS glabā per_cpu rādītāju, ko izmanto, lai piekļūtu kodola datiem, un norāda uz TLS (Thread Local Storage) lietotāja telpā.

Lai izslēgtu dubultu SWAPGS instrukcijas izsaukšanu pēc atkārtotas kodola piekļuves no kodola vietas vai izpildot kodu, kuram nav nepieciešama GS reģistra nomaiņa, pirms instrukcijas tiek veikta pārbaude un nosacīta pāreja.

Spekulatīvais izpildes mehānisms notiek pirms koda izpildes ar SWAPGS instrukciju, negaidot verifikācijas rezultātu, un, ja izvēlētā filiāle netiek apstiprināta, tā izmet rezultātu.

Tāpēc, var rasties situācija, kad spekulatīvi tiek izvēlēta filiāle, kas norāda SWAPGS izpildi, bet spekulatīvās izpildes laikā GS reģistra vērtība tiks mainīta ar SWAPGS instrukciju un tiks izmantota no atmiņas atkarīgās operācijās, kuras kešatmiņā nodrošina CPU.

Pētnieki piedāvāja divus uzbrukuma scenārijus kuriem tika sagatavoti ekspluatācijas prototipi.

  • Pirmais scenārijs ir balstīts uz situāciju, kad SWAPGS instrukcija netiek izpildīta spekulatīvi, kaut arī to izmanto faktiskajā izpildē, un otrais scenārijs ir pretējs, kad SWAPGS instrukcija tiek izpildīta spekulatīvi, lai gan tā patiešām nevajadzētu.
  • Katram scenārijam ir divas operatīvās iespējas: uzbrucējs var noteikt vērtību noteiktā adresē kodola apgabalā, bet uzbrucējs var meklēt noteiktu vērtību izlases adresēs kodolā.

Risinājums prasa instalēt kodola atjauninājumu gan resursdatora, gan viesa vidē, kam seko sistēmas atsāknēšana. Lai atspējotu aizsardzību sistēmā Linux, varat izmantot opciju "nospectre_v1", kas arī atspējo SWAPGS ievainojamības bloķēšanas pasākumus.

Risinājums ir pieejams kā Linux kodola plāksteris, kas jau ir iekļauts versijās 4.19.65, 5.2.7, 4.14.137, 4.9.188 un 4.4.188, savukārt dažādiem Linux izplatījumiem attiecīgie labojumi tiks veikti šīs un nākamās nedēļas laikā.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.