Divi uzbrukumi kešatmiņas kanālu prognozēšanas mehānismam AMD procesoros

Grācas Tehniskās universitātes (Austrija) pētnieku grupa, kas iepriekš bija pazīstama ar uzbrukuma metožu izstrādi MDS, NetSpectre, Metiena āmurs и ZombieLoad, veica pētījumus par AMD procesoriem raksturīgo aparatūras optimizāciju un ir izveidojusies divas jaunas sānu kanālu uzbrukumu metodes, kas manipulē ar datu noplūdēm AMD procesoru LXNUMX kešatmiņas kanālu prognozēšanas mehānisma darbības laikā. Šīs metodes var izmantot, lai samazinātu ASLR aizsardzības efektivitāti, atgūtu atslēgas ievainojamās AES implementācijās un uzlabotu Spectre uzbrukuma efektivitāti.

Problēmas tika identificētas, ieviešot kanālu prognozēšanas mehānismu (ceļa prognozētāju) CPU pirmā līmeņa datu kešatmiņā (L1D), ko izmanto, lai prognozētu, kurš kešatmiņas kanāls satur noteiktu atmiņas adresi. AMD procesoros izmantotā optimizācija ir balstīta uz μ-tagu (μTag) pārbaudi. μTagu aprēķina, virtuālajai adresei piemērojot īpašu jaucējfunkciju. Darbības laikā kanālu prognozēšanas programma izmanto μTag, lai noteiktu kešatmiņas kanālu no tabulas. Tādējādi μTag ļauj procesoram aprobežoties ar piekļuvi tikai konkrētam kanālam, nemeklējot visas opcijas, kas ievērojami samazina CPU enerģijas patēriņu.

Divi uzbrukumi kešatmiņas kanālu prognozēšanas mehānismam AMD procesoros

Kanālu prognozēšanas sistēmas ieviešanas reversās inženierijas laikā dažādās AMD procesoru paaudzēs, kas izlaistas no 2011. līdz 2019. gadam, tika identificētas divas jaunas sānu kanālu uzbrukuma metodes:

  • Collide+Probe — ļauj uzbrucējam izsekot piekļuvi atmiņai procesiem, kas darbojas tajā pašā loģiskajā CPU kodolā. Metodes būtība ir izmantot virtuālās adreses, kas izraisa sadursmes jaucējfunkcijā, ko izmanto, lai aprēķinātu μTag, lai izsekotu piekļuvi atmiņai. Atšķirībā no uzbrukumiem Flush+Reload un Prime+Probe, ko izmanto Intel procesoros, Collide+Probe neizmanto koplietojamo atmiņu un darbojas bez fiziskajām adresēm.
  • Load+Reload – ļauj ļoti precīzi noteikt atmiņas piekļuves pēdas tajā pašā fiziskajā CPU kodolā. Metode ir balstīta uz faktu, ka fiziskās atmiņas šūna var atrasties L1D kešatmiņā tikai vienu reizi. Tie. piekļūstot tai pašai atmiņas šūnai citā virtuālajā adresē, šūna tiks izlikta no L1D kešatmiņas, ļaujot izsekot piekļuvi atmiņai. Lai gan uzbrukums balstās uz koplietojamo atmiņu, tas neizskalo kešatmiņas līnijas, ļaujot veikt slepenus uzbrukumus, kas neizstumj datus no pēdējā līmeņa kešatmiņas.

Pamatojoties uz Collide+Probe un Load+Reload paņēmieniem, pētnieki ir parādījuši vairākus sānu kanālu uzbrukuma scenārijus:

  • Tiek parādīta iespēja izmantot metodes slēpta netiešas komunikācijas kanāla organizēšanai starp diviem procesiem, kas ļauj pārsūtīt datus ar ātrumu līdz 588 kB sekundē.
  • Izmantojot sadursmes μTag, bija iespējams samazināt entropiju dažādiem ASLR variantiem (Address Space Layout Randomization) un apiet ASLR aizsardzību kodolā pilnībā atjauninātā Linux sistēmā. Tiek parādīta iespēja veikt uzbrukumu ASLR entropijas samazināšanai gan no lietotāja lietojumprogrammām, gan izmantojot JavaScript kodu, kas izpildīts smilškastes vidē, un kodu, kas darbojas citā viesu vidē.

    Divi uzbrukumi kešatmiņas kanālu prognozēšanas mehānismam AMD procesoros

  • Pamatojoties uz Collide+Probe metodi, tika īstenots uzbrukums, lai atgūtu šifrēšanas atslēgu no neaizsargātas ieviešanas (pamatojoties uz T-galds) AES šifrēšana.
  • Izmantojot Collide+Probe metodi kā datu iegūšanas kanālu, Spectre uzbrukums varēja iegūt privātos datus no kodola, neizmantojot koplietojamo atmiņu.

Ievainojamība rodas AMD procesoros, kuru pamatā ir mikroarhitektūra
Buldozers, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ un Zen2.
AMD tika informēts par šo problēmu 23. gada 2019. augustā, bet līdz šim ziņojumu nepublicēja ar informāciju par ievainojamības bloķēšanu. Pēc pētnieku domām, problēmu var bloķēt mikrokoda atjaunināšanas līmenī, nodrošinot MSR bitus, lai selektīvi atspējotu kanālu prognozēšanas sistēmu, līdzīgi tam, ko Intel darīja, lai kontrolētu zaru prognozēšanas mehānismu atspējošanu.

Divi uzbrukumi kešatmiņas kanālu prognozēšanas mehānismam AMD procesoros

Avots: opennet.ru

Pievieno komentāru