BHI ir jauna Spectre klases ievainojamība Intel un ARM procesoros

Amsterdamas Vrije Universiteit pētnieku grupa ir atklājusi jaunu ievainojamību Intel un ARM procesoru mikroarhitektūras struktūrās, kas ir paplašināta Spectre-v2 ievainojamības versija, kas ļauj apiet procesoriem pievienotos eIBRS un CSV2 aizsardzības mehānismus. . Ievainojamībai ir piešķirti vairāki nosaukumi: BHI (zaru vēstures injekcija, CVE-2022-0001), BHB (filiāles vēstures buferis, CVE-2022-0002) un Spectre-BHB (CVE-2022-23960), kas apraksta dažādas tā pati problēma (BHI - uzbrukums, kas ietekmē dažādus privilēģiju līmeņus, piemēram, lietotāja procesu un kodolu, BHB - uzbrukums vienā privilēģiju līmenī, piemēram, eBPF JIT un kodols).

Pētnieki ir pierādījuši funkcionālu izmantošanu, kas ļauj iegūt patvaļīgus datus no kodola atmiņas no lietotāja vietas. Piemēram, ir parādīts, kā, izmantojot sagatavotu exploit, ir iespējams izvilkt no kodola buferiem virkni ar saknes lietotāja paroles jaucējkodu, kas ielādēta no faila /etc/shadow. Ekspluatācija parāda iespēju izmantot ievainojamību vienā privilēģiju līmenī (uzbrukums no kodola uz kodolu), izmantojot lietotāja ielādētu eBPF programmu. Kodola kodā esošo eBPF Spectre sīkrīku vietā var izmantot arī komandu secības, kas noved pie spekulatīvas instrukciju izpildes.

Ievainojamība parādās lielākajā daļā pašreizējo Intel procesoru, izņemot procesorus no Atom saimes. No ARM procesoriem problēma skar Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 un, iespējams, dažas Cortex-R mikroshēmas. Saskaņā ar pētījumiem ievainojamība neparādās AMD procesoros. Lai novērstu problēmu, ievainojamības bloķēšanai ir ierosinātas vairākas programmatūras metodes, kuras var izmantot pirms aparatūras aizsardzības parādīšanās turpmākajos CPU modeļos.

Lai bloķētu uzbrukumus, izmantojot eBPF apakšsistēmu, ieteicams pēc noklusējuma atspējot iespēju nepriviliģētiem lietotājiem lejupielādēt eBPF programmas, ierakstot 1 failā “/proc/sys/kernel/unprivileged_bpf_disabled” vai palaižot komandu “sysctl -w kernel. unprivileged_bpf_disabled=1”. Lai bloķētu sīkrīku uzbrukumus, ieteicams izmantot LFENCE instrukciju koda jomās, kas, iespējams, var izraisīt spekulatīvu izpildi. Jāatzīmē, ka lielākās daļas Linux izplatījumu noklusējuma konfigurācijā jau ir ietverti nepieciešamie aizsardzības pasākumi, kas ir pietiekami, lai bloķētu pētnieku demonstrēto eBPF uzbrukumu. Kopš Linux kodola 5.16. sistēmas Intel ieteikumi par nepievilcīgas piekļuves atspējošanu eBPF ir arī noklusējuma iestatījumi, un tie tiks pārsūtīti uz iepriekšējām filiālēm.

Konceptuāli BHI ir paplašināta Spectre-v2 uzbrukuma versija, kurā, lai apietu papildu aizsardzību (Intel eIBRS un Arm CSV2) un organizētu datu noplūdi, vērtību aizstāšana tiek izmantota filiāles vēstures buferī, ko izmanto centrālajā procesorā, lai palielinātu prognozēšanu. precizitātes sazarojumi, ņemot vērā pagātnes pāreju vēsturi. Uzbrukuma laikā, veicot manipulācijas ar pāreju vēsturi, tiek radīti apstākļi nepareizai pārejas prognozēšanai un spekulatīvai nepieciešamo instrukciju izpildei, kuras rezultāts nonāk kešatmiņā.

Jaunais uzbrukums ir identisks Spectre-v2, izņemot filiāles vēstures bufera izmantošanu, nevis Branch Target Buffer. Uzbrucēja uzdevums ir radīt apstākļus, lai, veicot spekulatīvu darbību, adrese tiktu ņemta no definēto datu apgabala. Pēc spekulatīvas netiešas lēciena veikšanas no atmiņas nolasītā lēciena adrese paliek kešatmiņā, pēc kuras vienu no kešatmiņas satura noteikšanas metodēm var izmantot, lai to izgūtu, pamatojoties uz kešatmiņas un nekešatmiņas piekļuves laika izmaiņu analīzi. datus.

Avots: opennet.ru

Pievieno komentāru