Ang pagtagas ng data sa pamamagitan ng Intel CPU ring bus

Ang isang pangkat ng mga mananaliksik mula sa Unibersidad ng Illinois ay nakabuo ng isang bagong side-channel attack technique na nagmamanipula sa pagtagas ng impormasyon sa pamamagitan ng Ring Interconnect ng mga processor ng Intel. Binibigyang-daan ka ng pag-atake na i-highlight ang impormasyon sa paggamit ng memorya sa isa pang application at subaybayan ang impormasyon ng timing ng keystroke. Ang mga mananaliksik ay nag-publish ng mga tool para sa pagsasagawa ng mga kaugnay na sukat at ilang prototype na pagsasamantala.

Tatlong pagsasamantala ang iminungkahi na magpapahintulot sa:

  • I-recover ang mga indibidwal na piraso ng encryption key kapag gumagamit ng RSA at EdDSA na mga pagpapatupad na mahina sa mga pag-atake sa side-channel (kung ang mga pagkaantala sa pagkalkula ay nakasalalay sa data na pinoproseso). Halimbawa, ang pagtagas ng mga indibidwal na bit na may impormasyon tungkol sa initialization vector (nonce) ng EdDSA ay sapat na para gumamit ng mga pag-atake upang sunud-sunod na mabawi ang buong pribadong key. Ang pag-atake ay mahirap ipatupad sa pagsasanay at maaaring isagawa sa isang malaking bilang ng mga reserbasyon. Halimbawa, ang matagumpay na operasyon ay ipinapakita kapag ang SMT (HyperThreading) ay hindi pinagana at ang LLC cache ay naka-segment sa pagitan ng mga core ng CPU.
  • Tukuyin ang mga parameter tungkol sa mga pagkaantala sa pagitan ng mga keystroke. Ang mga pagkaantala ay nakasalalay sa posisyon ng mga susi at pinapayagan, sa pamamagitan ng istatistikal na pagsusuri, na muling likhain ang data na ipinasok mula sa keyboard na may tiyak na posibilidad (halimbawa, karamihan sa mga tao ay karaniwang nagta-type ng "s" pagkatapos ng "a" na mas mabilis kaysa sa "g" pagkatapos "s").
  • Ayusin ang isang nakatagong channel ng komunikasyon upang maglipat ng data sa pagitan ng mga proseso sa bilis na humigit-kumulang 4 na megabit bawat segundo, na hindi gumagamit ng nakabahaging memorya, cache ng processor, at mga mapagkukunang partikular sa core ng CPU at mga istruktura ng processor. Napansin na ang iminungkahing paraan ng paglikha ng isang tago na channel ay napakahirap na harangan gamit ang mga umiiral na pamamaraan ng proteksyon laban sa mga pag-atake sa side-channel.

Ang mga pagsasamantala ay hindi nangangailangan ng mataas na mga pribilehiyo at maaaring gamitin ng mga ordinaryong user na walang pribilehiyo. Ito ay nabanggit na ang pag-atake ay maaaring potensyal na iakma upang ayusin ang pagtagas ng data sa pagitan ng mga virtual machine, ngunit ang isyung ito ay lampas sa saklaw ng pag-aaral at pagsubok ng mga sistema ng virtualization ay hindi natupad. Ang iminungkahing code ay sinubukan sa isang Intel i7-9700 na CPU sa Ubuntu 16.04. Sa pangkalahatan, nasubok ang paraan ng pag-atake sa mga desktop processor mula sa pamilya ng Intel Coffee Lake at Skylake, at posibleng naaangkop din sa mga processor ng Xeon server mula sa pamilyang Broadwell.

Lumitaw ang teknolohiya ng Ring Interconnect sa mga processor batay sa microarchitecture ng Sandy Bridge at binubuo ng ilang naka-loop na mga bus na ginagamit upang ikonekta ang mga computing at graphics core, isang server bridge at cache. Ang kakanyahan ng paraan ng pag-atake ay, dahil sa limitasyon ng bandwidth ng ring bus, ang mga operasyon ng memorya sa isang proseso ay naantala ang pag-access sa memorya ng isa pang proseso. Sa pamamagitan ng pagtukoy sa mga detalye ng pagpapatupad sa pamamagitan ng reverse engineering, maaaring makabuo ang isang attacker ng load na nagdudulot ng mga pagkaantala sa pag-access ng memory sa isa pang proseso at gamitin ang mga pagkaantala na ito bilang side channel para makakuha ng impormasyon.

Ang mga pag-atake sa panloob na mga bus ng CPU ay nahahadlangan ng kakulangan ng impormasyon tungkol sa arkitektura at mga pamamaraan ng pagpapatakbo ng bus, pati na rin ang mataas na antas ng ingay, na nagpapahirap sa paghiwalay ng kapaki-pakinabang na data. Posibleng maunawaan ang mga prinsipyo ng pagpapatakbo ng bus sa pamamagitan ng reverse engineering ng mga protocol na ginagamit kapag nagpapadala ng data sa pamamagitan ng bus. Ginamit ang isang modelo ng pag-uuri ng data batay sa mga pamamaraan ng machine learning para paghiwalayin ang kapaki-pakinabang na impormasyon mula sa ingay. Ang iminungkahing modelo ay naging posible upang ayusin ang pagsubaybay sa mga pagkaantala sa panahon ng mga kalkulasyon sa isang tiyak na proseso, sa mga kondisyon kapag ang ilang mga proseso ay sabay-sabay na nag-access ng memorya at ang isang tiyak na bahagi ng data ay ibinalik mula sa mga cache ng processor.

Bukod pa rito, mapapansin natin ang pagkakakilanlan ng mga bakas ng paggamit ng pagsasamantala para sa unang variant ng kahinaan ng Spectre (CVE-2017-5753) sa panahon ng mga pag-atake sa mga Linux system. Ang pagsasamantala ay gumagamit ng side-channel information leakage upang makahanap ng superblock sa memorya, matukoy ang inode ng /etc/shadow file, at kalkulahin ang address ng memory page upang makuha ang file mula sa disk cache.

Pinagmulan: opennet.ru

Magdagdag ng komento