Natukoy nila ang isang bagong uri ng pag-atake na nakakaapekto sa mga processor ng Intel at AMD

Bug Inside logo na Intel

Isang pangkat ng Ang mga mananaliksik mula sa University of Virginia at California ay nagpakita ng isang bagong uri ng pag-atake sa mga istrakturang microarchitecture ng mga nagpoproseso Intel at AMD.

Ang iminungkahing paraan ng pag-atake ay naiugnay sa paggamit ng isang intermediate cache ng mga micro-operasyon (micro-op cache) sa mga processor, na maaaring magamit upang makuha ang impormasyon na naayos sa kurso ng haka-haka na pagpapatupad ng mga tagubilin.

Naobserbahan na bagong pamamaraan makabuluhang lumaban sa Spectre atake v1 sa mga tuntunin ng pagganap, ginagawang mahirap na tuklasin ang pag-atake at hindi hinarangan ng mga umiiral na pamamaraan ng proteksyon laban sa mga pag-atake sa pamamagitan ng mga channel sa gilid na idinisenyo upang harangan ang mga kahinaan na sanhi ng haka-haka na pagpapatupad ng mga tagubilin.

Halimbawa, ang paggamit ng pahayag ng LFENS ay humahadlang sa pagtulo sa mga susunod na yugto ng haka-haka na pagpapatupad, ngunit hindi pinoprotektahan laban sa pagtagas sa pamamagitan ng mga istrukturang microarchitectural.

Ang pamamaraan ay nakakaapekto sa mga modelo ng Intel at AMD processor na inilabas mula noong 2011, kabilang ang serye ng Intel Skylake at AMD Zen. Pinaghiwalay ng mga modernong CPU ang mga kumplikadong tagubilin ng processor sa mas simpleng mga microoperation na tulad ng RISC, na naka-cache sa isang hiwalay na cache.

Ang cache na ito sa panimula ay naiiba mula sa mga nangungunang antas ng cache, ay hindi direktang mapupuntahan at gumaganap bilang isang buffer ng stream upang mabilis na ma-access ang mga resulta ng pagde-decode ng mga tagubilin sa CISC sa isang microinstruktura ng RISC.

Gayunpaman, ang mga mananaliksik ay nakakita ng isang paraan upang lumikha ng mga kundisyon na lumitaw sa panahon ng isang labanan sa pag-access sa cache at pinapayagan na hatulan ang nilalaman ng cache ng mga micro-operasyon sa pamamagitan ng pag-aaral ng mga pagkakaiba sa oras ng pagpapatupad ng ilang mga pagkilos.

Ang micro-op cache sa mga processor ng Intel ay nai-segment na kaugnay sa mga thread ng CPU (Hyper-Threading), habang ang mga nagpoproseso Gumamit ang AMD Zen ng isang nakabahaging cache, na lumilikha ng mga kundisyon para sa pagtagas ng data hindi lamang sa loob ng isang thread ng pagpapatupad, ngunit din sa pagitan ng iba't ibang mga thread sa SMT (posible ang pagtagas ng data sa pagitan ng pagpapatakbo ng code sa iba't ibang mga lohikal na core ng CPU).

Nagmungkahi ang mga mananaliksik ng isang pangunahing pamamaraan upang makita ang mga pagbabago sa cache ng mga micro-op at iba't ibang mga pangyayari sa pag-atake na nagbibigay-daan upang lumikha ng mga lihim na mga channel ng paghahatid ng data at gumamit ng mahina na code upang ma-filter ang kumpidensyal na data, kapwa sa loob ng isang proseso (halimbawa, upang ayusin ang isang proseso ng pagtulo ng data kapag tumatakbo ang pangatlo -party code sa mga JIT engine at virtual machine) at sa pagitan ng kernel at mga proseso sa puwang ng gumagamit.

Sa pamamagitan ng pagtatanghal ng isang variant ng pag-atake ng Spectre gamit ang micro-op cache, nakamit ng mga mananaliksik ang isang throughput na 965.59 Kbps na may rate ng error na 0.22% at 785.56 Kbps kapag gumagamit ng pagwawasto ng error, sa kaganapan ng isang tagas sa loob ng parehong memorya space. address. at antas ng pribilehiyo.

Sa isang pagtagas na sumasaklaw sa iba't ibang mga antas ng pribilehiyo (sa pagitan ng kernel at puwang ng gumagamit), ang throughput ay 85,2 Kbps na may idinagdag na pagwawasto ng error at 110,96 Kbps na may 4% rate ng error.

Kapag umaatake sa mga processor ng AMD Zen, lumilikha ng isang tagas sa pagitan ng iba't ibang mga lohikal na core ng CPU, ang throughput ay 250 Kbps na may rate ng error na 5,59% at 168,58 Kbps na may pagwawasto ng error. Kung ikukumpara sa klasikong pamamaraan ng Spectre v1, ang bagong pag-atake ay naging 2,6 beses na mas mabilis.

Ang pag-mitit ng isang pag-atake ng micro-op cache ay inaasahang mangangailangan ng mas maraming mga pagbabago na nakakabawas sa pagganap kaysa noong pinagana ang mga panlaban sa Spectre.

Bilang isang pinakamainam na kompromiso, iminungkahi na harangan ang mga naturang pag-atake hindi sa pamamagitan ng hindi pagpapagana ng cache, ngunit sa antas ng pagsubaybay sa anomalya at pagtukoy ng mga tipikal na estado ng cache ng mga pag-atake.

Tulad ng pag-atake ng Spectre, ang pag-aayos ng isang tagas ng kernel o iba pang mga proseso ay nangangailangan ng pagpapatupad ng isang tiyak na script (mga gadget) sa panig ng mga proseso ng biktima, na humahantong sa haka-haka na pagpapatupad ng mga tagubilin.

Halos 100 mga nasabing aparato ang natagpuan sa kernel ng Linux, na aalisin, ngunit pana-panahong matatagpuan ang mga solusyon upang makabuo ng mga ito, halimbawa, mga nauugnay sa paglulunsad ng mga espesyal na gumawa ng mga programa ng BPF sa kernel.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Ang nilalaman ng artikulo ay sumusunod sa aming mga prinsipyo ng etika ng editoryal. Upang mag-ulat ng isang pag-click sa error dito.

Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.