Retbleed: jauns spekulatīvas izpildes uzbrukums, kas skar Intel un AMD

Ziņas nesen to pāršalcaETH Cīrihes pētnieku grupa ir identificējusi jaunu uzbrukumu uz CPU netiešo lēcienu spekulatīvo izpildes mehānismu, kas ļauj iegūt informāciju no kodola atmiņas vai organizēt uzbrukumu resursdatora sistēmai no virtuālajām mašīnām.

Ievainojamības tika nosauktas par Retbleed (jau kataloģizēts ar CVE-2022-29900, CVE-2022-29901) un pēc būtības ir līdzīgi Spectre-v2 uzbrukumiem.

Atšķirība ir saistīta ar patvaļīga koda spekulatīvas izpildes organizēšanu, apstrādājot "ret" (return) instrukciju, kas izgūst adresi, lai pārietu no steka, nevis netieši pārietu, izmantojot "jmp" instrukciju, ielādējot adresi no atmiņas vai CPU reģistrs.

Par jauno uzbrukumu tiek minēts, ka uzbrucējs var radīt apstākļus dakšu prognozēšanai nepareizi un organizēt tīšu spekulatīvu pāreju uz koda bloku, kas nav paredzēts programmas izpildes loģikai.

Galu galā procesors noteiks, ka filiāles prognoze nebija pamatota, un atcels darbību sākotnējā stāvoklī, bet apstrādātos datus Spekulatīvas izpildes laikā viņi sēdēs kešatmiņā un mikroarhitektūras buferi. Ja kļūdaini izpildīts bloks veic piekļuvi atmiņai, tad tā spekulatīvā izpilde novedīs pie instalēšanas vispārējā kešatmiņā un datu nolasīšanas no atmiņas.

Lai noteiktu datus, kas paliek kešatmiņā pēc spekulatīvas operāciju izpildes, uzbrucējs var izmantot metodes, lai noteiktu atlikušos datus, izmantojot trešo pušu kanālus, piemēram, analizējot izmaiņas kešatmiņā saglabāto datu piekļuves laikā, nevis kešatmiņā.

Apzinātai informācijas iegūšanai no apgabaliem citā privilēģiju līmenī (piemēram, no kodola atmiņas) tiek izmantotas "ierīces": kodolā esošie skripti, kas piemēroti spekulatīvai datu lasīšanai no atmiņas, atkarībā no ārējiem apstākļiem to var ietekmēt. uzbrucējs.

Lai aizsargātu pret klasiskajiem Spectre klases uzbrukumiem, kuros tiek izmantotas netiešas un nosacītas zaru instrukcijas, lielākā daļa operētājsistēmu izmanto "retpoline" paņēmienu, kura pamatā ir netiešo atzaru operāciju aizstāšana ar instrukciju "ret", kam nepieciešama atsevišķa steka stāvokļa prognoze. vienība tiek izmantota procesoros, neizmanto zaru prognozēšanas bloku.

Tika uzskatīts, ka 2018. gadā, kad tika ieviests retpolīns, Spectre līdzīgas adreses manipulācijas bija nepraktiskas spekulatīvai dakšai ar "ret" instrukciju.

Pētnieki, kas izstrādāja uzbrukuma metodi Retbleed demonstrēja iespēju radīt mikroarhitektūras apstākļus lai uzsāktu spekulatīvu pāreju, izmantojot "ret" instrukciju, un izlaida gatavu rīku komplektu, lai identificētu piemērotas instrukciju secības (sīkrīkus), lai izmantotu Linux kodola ievainojamību, kurā parādās šādi apstākļi.

Pētījuma gaitā, tika sagatavots darba eksploats kas ļauj sistēmās ar Intel centrālajiem procesoriem no nepievilcīga procesa lietotāja telpā iegūt patvaļīgus datus no kodola atmiņas ar ātrumu 219 baiti sekundē un ar 98% precizitāti.

En pārstrādātājiem AMD, izmantošanas efektivitāte ir daudz augstāka, jo noplūdes ātrums ir 3,9 KB sekundē. Kā praktisks piemērs ir parādīts, kā izmantot piedāvāto izmantošanu, lai noteiktu /etc/shadow faila saturu. Sistēmās ar Intel centrālajiem procesoriem uzbrukums saknes paroles jaukšanas noteikšanai tika veikts 28 minūtēs, bet sistēmās ar AMD CPU — 6 minūtēs.

Uzbrukums tika apstiprināts 6-8 Intel procesoru paaudzēm kas tika izlaisti pirms 2019. gada 1. ceturkšņa (tostarp Skylake), un AMD procesori, kuru pamatā ir Zen 1, Zen 2+ un Zen 2021 mikroarhitektūras, kas tika izlaisti pirms XNUMX. gada XNUMX. ceturkšņa. Jaunākiem procesoru modeļiem, piemēram, AMD Zen3 un Intel Alder Lake, kā arī ARM procesori, problēmu bloķē esošie aizsardzības mehānismi. Piemēram, IBRS (Indirect Branch Restricted Speculation) norādījumu izmantošana palīdz aizsargāt pret uzbrukumu.

Sagatavots izmaiņu kopums Linux kodolam un Xen hipervizoram, kas programmatiski bloķē problēmu vecākos CPU. Ierosinātais Linux kodola ielāps maina 68 failus, pievieno 1783 rindiņas un noņem 387 rindiņas.

Diemžēl aizsardzība rada ievērojamas pieskaitāmas izmaksas: tekstos, kas veidoti ar AMD un Intel procesoriem, veiktspējas pasliktināšanās tiek lēsta no 14% līdz 39%. Vēlams izmantot aizsardzību, kas balstīta uz IBRS instrukcijām, kas ir pieejamas jaunākās paaudzes Intel CPU un tiek atbalstītas kopš Linux kodola 4.19.

Visbeidzot, ja vēlaties uzzināt vairāk par to, varat konsultēties ar sīkāka informācija šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  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.