Dalawang pag-atake sa mekanismo ng hula ng channel ng cache sa mga processor ng AMD

Isang pangkat ng mga mananaliksik mula sa Graz University of Technology (Austria), na dating kilala sa pagbuo ng mga paraan ng pag-atake MDS, NetSpectre, Throwammer ΠΈ ZombieLoad, nagsagawa ng pananaliksik sa mga pag-optimize ng hardware na partikular sa mga processor ng AMD at ay nabuo dalawang bagong paraan ng pag-atake sa side-channel na nagmamanipula ng mga pagtagas ng data sa panahon ng pagpapatakbo ng L1 cache channel prediction mechanism ng AMD processors. Maaaring gamitin ang mga diskarte upang bawasan ang pagiging epektibo ng proteksyon ng ASLR, mabawi ang mga susi sa mga mahihinang pagpapatupad ng AES, at pataasin ang bisa ng pag-atake ng Spectre.

Natukoy ang mga problema sa pagpapatupad ng mekanismo ng paghula ng channel (way predictor) sa first-level data cache (L1D) ng CPU, na ginamit upang mahulaan kung aling cache channel ang naglalaman ng isang tiyak na memory address. Ang pag-optimize na ginamit sa mga processor ng AMD ay batay sa pagsuri sa mga ΞΌ-tag (ΞΌTag). Ang ΞΌTag ay kinakalkula sa pamamagitan ng paglalapat ng isang partikular na hash function sa virtual address. Sa panahon ng operasyon, gumagamit ang channel prediction engine ng ΞΌTag upang matukoy ang cache channel mula sa talahanayan. Kaya, pinapayagan ng ΞΌTag ang processor na limitahan ang sarili sa pag-access lamang ng isang partikular na channel, nang hindi naghahanap sa lahat ng mga opsyon, na makabuluhang binabawasan ang pagkonsumo ng enerhiya ng CPU.

Dalawang pag-atake sa mekanismo ng hula ng channel ng cache sa mga processor ng AMD

Sa panahon ng reverse engineering ng pagpapatupad ng channel prediction system sa iba't ibang henerasyon ng mga AMD processor na inilabas mula 2011 hanggang 2019, dalawang bagong side-channel attack technique ang natukoy:

  • Collide+Probe - nagbibigay-daan sa isang attacker na subaybayan ang memory access para sa mga prosesong tumatakbo sa parehong lohikal na CPU core. Ang kakanyahan ng pamamaraan ay ang paggamit ng mga virtual na address na nagdudulot ng mga banggaan sa hash function na ginagamit upang kalkulahin ang ΞΌTag upang subaybayan ang pag-access sa memorya. Hindi tulad ng mga pag-atake ng Flush+Reload at Prime+Probe na ginagamit sa mga Intel processor, ang Collide+Probe ay hindi gumagamit ng shared memory at gumagana nang walang kaalaman sa mga pisikal na address.
  • Load+Reload - nagbibigay-daan sa iyong tumpak na matukoy ang mga bakas ng pag-access sa memory sa parehong pisikal na core ng CPU. Ang pamamaraan ay batay sa katotohanan na ang isang pisikal na memory cell ay maaari lamang nasa L1D cache nang isang beses. Yung. ang pag-access sa parehong memory cell sa ibang virtual address ay magiging sanhi ng pagpapaalis ng cell mula sa L1D cache, na nagpapahintulot sa memorya na masubaybayan. Bagama't umaasa ang pag-atake sa nakabahaging memorya, hindi ito nag-flush ng mga linya ng cache, na nagbibigay-daan sa mga stealth attack na hindi nagpapaalis ng data mula sa huling antas ng cache.

Batay sa mga diskarte sa Collide+Probe at Load+Reload, nagpakita ang mga mananaliksik ng ilang side-channel na mga sitwasyon ng pag-atake:

  • Ang posibilidad ng paggamit ng mga pamamaraan para sa pag-aayos ng isang nakatagong hindi direktang channel ng komunikasyon sa pagitan ng dalawang proseso, na nagpapahintulot sa paglipat ng data sa bilis na hanggang 588 kB bawat segundo, ay ipinapakita.
  • Gamit ang mga banggaan sa ΞΌTag, posibleng bawasan ang entropy para sa iba't ibang variant ng ASLR (Address Space Layout Randomization) at i-bypass ang proteksyon ng ASLR sa kernel sa isang ganap na na-update na Linux system. Ang posibilidad na magsagawa ng pag-atake upang bawasan ang ASLR entropy mula sa mga application ng user at paggamit ng JavaScript code na isinagawa sa isang sandbox environment at code na tumatakbo sa ibang guest environment ay ipinapakita.

    Dalawang pag-atake sa mekanismo ng hula ng channel ng cache sa mga processor ng AMD

  • Batay sa paraan ng Collide+Probe, isang pag-atake ang ipinatupad upang mabawi ang susi ng pag-encrypt mula sa isang mahinang pagpapatupad (batay sa T-table) AES encryption.
  • Sa pamamagitan ng paggamit ng paraan ng Collide+Probe bilang isang channel sa pagkuha ng data, ang pag-atake ng Spectre ay nakapag-extract ng pribadong data mula sa kernel nang hindi gumagamit ng shared memory.

Ang kahinaan ay nangyayari sa mga processor ng AMD batay sa mga microarchitecture
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ at Zen2.
Naabisuhan ang AMD tungkol sa isyu noong Agosto 23, 2019, ngunit hanggang ngayon hindi naglabas ng ulat na may impormasyon tungkol sa pagharang sa kahinaan. Ayon sa mga mananaliksik, ang problema ay maaaring ma-block sa antas ng pag-update ng microcode sa pamamagitan ng pagbibigay ng mga MSR bits upang piliing hindi paganahin ang channel prediction system, katulad ng ginawa ng Intel upang kontrolin ang hindi pagpapagana ng mga mekanismo ng hula sa sangay.

Dalawang pag-atake sa mekanismo ng hula ng channel ng cache sa mga processor ng AMD

Pinagmulan: opennet.ru

Magdagdag ng komento