Pētnieki no Kalifornijas Universitātes Sandjego ir iesnieguši jaunu metodi, kā uzbrukt Intel procesoru mikroarhitektūras struktūrām, kas cita starpā ir piemērojama CPU, kuru pamatā ir Raptor Lake un Alder Lake mikroarhitektūras. Uzbrukums, kura koda nosaukums ir Indirector, ļauj mainīt instrukciju spekulatīvo izpildi citos procesos un citos privilēģiju līmeņos (piemēram, kodolā vai citā virtuālajā mašīnā), kas darbojas tajā pašā CPU pavedienā kā uzbrucēja kods. Lai demonstrētu metodes darbību, ir sagatavots prototips, kas ļauj noteikt atmiņas adrešu izkārtojumu, lai apietu ASLR (Address Space Layout Randomization) aizsardzības mehānismu. Turklāt saskaņā ar MIT licenci ir publicēti rīki, kas izstrādāti CPU mikroarhitektūras loģikas analīzei un reversajai inženierijai.
Ir ierosinātas divas uzbrukuma organizēšanas metodes. Pirmā metode ir balstīta uz IBP (Indirect Branch Predictor) bufera satura izkropļošanu, ko izmanto, lai prognozētu netiešos atzarus apstākļos, kad filiāles adrese vai nobīde vēl nav zināma, un tiek aprēķināta instrukcijās pirms filiāles instrukcijas. Otrā metode ietekmē filiāles mērķa buferi (BTB), kurā ir informācija par nesenajām filiālēm.


Konstatētās ievainojamības ļauj uzbrucējam noteikt to ierakstu saturu IBP un BTB buferos, kuros ir trešās puses procesos izmantotās pārejas adreses, kā arī aizstāt patvaļīgu pārejas adresi bufera datu tabulās. Rezultātā uzbrucējs spekulatīvas instrukciju izpildes laikā var panākt trešās puses procesa izpildes pavediena novirzīšanu uz vēlamo atmiņas adresi. Tiklīdz tiek noteikta nepareiza prognoze, spekulatīvās izpildes rezultāts tiks atmests, bet instrukciju spekulatīvās izpildes laikā no atmiņas nolasītās adreses un dati paliks kešatmiņā un tos varēs izgūt, izmantojot kādu no satura noteikšanas metodēm. kešatmiņu, pamatojoties uz analīzi par izmaiņām piekļuves laikā kešatmiņā saglabātajiem un nekešatmajiem datiem. Netiešo lēcienu precīzu adrešu noteikšanu praksē var izmantot, piemēram, ASLR aizsardzības mehānisma apiešanai.
Avots: opennet.ru
