Retbleed o se osofaʻiga fou i le faʻataʻitaʻiga o le faʻaogaina o le Intel ma le AMD CPUs

O se vaega o tagata suʻesuʻe mai le ETH Zurich ua faʻaalia se osofaʻiga fou i luga o le faiga o le faʻataunuʻuina o le faʻaogaina o suiga le tuusaʻo i totonu o le PPU, lea e mafai ai ona aveese faʻamatalaga mai le fatu fatu poʻo le faʻatulagaina o se osofaʻiga i luga o le host system mai masini masini. O faʻafitauli e faʻaigoaina Retbleed (CVE-2022-29900, CVE-2022-29901) ma e latalata i le natura i osofaʻiga a Specter-v2. O le eseesega e oʻo mai i lalo i le faʻatulagaina o le faʻataunuʻuina o le faʻaogaina o tulafono faʻapitoa pe a faʻagasolo le faʻatonuga "ret" (toe foʻi), lea e aumai ai le tuatusi e oso mai le faaputuga, nai lo le oso faʻafuaseʻi e faʻaaoga ai le "jmp" faatonuga, utaina le tuatusi mai. manatua po'o se tusi resitala CPU.

E mafai e se tagata osofa'i ona faia ni tulaga mo le le sa'o o le suiga o le va'aiga ma fa'atulaga se suiga fa'atatau i se poloka fa'ailoga e le'o tu'uina atu e le fa'atinoga o le polokalame. Mulimuli ane, o le a faʻamaonia e le faʻagasologa e leʻo faʻamaonia le vavalo o le lala ma o le a toe faʻafoʻi le taʻaloga i lona tulaga muamua, ae o faʻamaumauga na faʻagasolo i le taimi o le faʻataunuʻuina o le a faʻauʻu i totonu o le cache ma microarchitectural buffers. Afai o se poloka na fa'aogaina sese e maua le manatua, o lona fa'alavelave fa'afuase'i o le a ta'ita'ia ai fa'amaumauga faitau mai manatua e teuina i le fa'asoa fa'asoa.

Ina ia fuafuaina faʻamaumauga o loʻo totoe i totonu o le faʻaoga pe a maeʻa gaioiga faʻapitoa, e mafai e le tagata osofaʻi ona faʻaogaina auala faʻaogaina i le itu e fuafua ai faʻamaumauga o totoe, e pei o le suʻesuʻeina o suiga i taimi avanoa i faʻamaumauga faʻapipiʻi ma le le faʻaogaina. Ina ia maua mai ma le faʻamoemoeina faʻamatalaga mai vaega i se isi tulaga faʻapitoa (mo se faʻataʻitaʻiga, mai le kernel memory), "meamea" e faʻaaogaina - faʻasologa o poloaiga o loʻo i totonu o le fatu e talafeagai mo le faitauina faʻapitoa o faʻamatalaga mai le mafaufau e faʻatatau i tulaga i fafo e mafai ona aʻafia ai. le osofa'i.

Ina ia puipuia mai osofaʻiga masani a le vasega Specter e faʻaaoga ai faʻatonuga faʻapitoa ma le le tuusaʻo, o le tele o faiga faʻaogaina e faʻaaogaina le "retpoline", lea e faʻavae i luga o le suitulaga o le oso faʻafuaseʻi ma le faʻatonuga "ret", lea e faʻaaogaina ai e le au faʻapipiʻi se vaʻaiga vaʻaia o le setete. .e le o faaaogaina se poloka vavalo lala. Ina ua faʻafeiloaʻi le retpoline i le 2018, na talitonuina o le faʻaogaina o tuatusi e pei o Specter e le aoga mo le faʻaogaina o le lala e faʻaaoga ai le "ret" faatonuga.

O le au suʻesuʻe na atiaʻe le Retbleed osofaʻiga auala na faʻaalia ai le mafai ona fatuina tulaga microarchitectural mo le amataina o se suiga faʻapitoa e faʻaaoga ai le faʻatonuga "ret" ma faʻasalalau meafaigaluega ua saunia mo le faʻamalamalamaina o faʻasologa o faatonuga (meamea) talafeagai mo le faʻaogaina o le vaivai i le fatu Linux, lea e aliali mai ai ia tulaga.

I le taimi o le suʻesuʻega, na saunia ai se faʻaoga galue e mafai ai, i luga o faiga faʻatasi ma Intel CPUs, e faʻapipiʻi faʻamaumauga mai le fatu fatu mai se faʻaogaina le faʻaogaina i avanoa faʻaoga i le saoasaoa o le 219 bytes i le sekone ma le 98% saʻo. I luga o le AMD processors, e sili atu le maualuga o le faʻaogaina o le faʻaogaina-o le leak rate o le 3.9 KB i le sekone. Mo se faʻataʻitaʻiga faʻapitoa, matou te faʻaalia pe faʻapefea ona faʻaogaina le faʻaogaina o le faʻaogaina e fuafua ai mea o loʻo i totonu o le faila /etc/shadow. I luga o faiga faʻatasi ma Intel CPUs, o le osofaʻiga e fuafua ai le aʻa faʻaoga upu faʻaoga hash na faia i le 28 minute, ma luga o faiga faʻatasi ma AMD CPUs - i le 6 minute.

O le osofaʻiga ua faʻamaonia mo augatupulaga 6-8 o Intel processors na faʻasaʻolotoina aʻo leʻi oʻo i le Q3 2019 (e aofia ai Skylake), ma AMD processors faʻavae i luga o le Zen 1, Zen 1+, ma le Zen 2 microarchitectures na faʻatuina i luma ole Q2021 3. I faʻataʻitaʻiga fou e pei o le AMD ZenXNUMX ma le Intel Alder Lake, faʻapea foʻi ma le ARM processors, o le faʻafitauli o loʻo poloka e le puipuiga o loʻo iai. Mo se faʻataʻitaʻiga, o le faʻaaogaina o le IBRS (Indirect Branch Restricted Speculation) e fesoasoani e puipuia mai osofaʻiga.

O se seti o suiga ua saunia mo le Linux kernel ma le Xen hypervisor, lea o le a poloka ai le faʻafitauli i le polokalama i luga o PPU tuai. O le patch fuafuaina mo le fatu Linux e suia 68 faila, faaopoopo 1783 laina, ma tape laina 387. O le mea e leaga ai, o le puipuiga e oʻo atu ai i le tele o tau - i tusitusiga o loʻo faia i AMD ma Intel processors, o le faʻaitiitia o le faʻatinoga e faʻatatau mai le 14% i le 39%. E sili atu le faʻaogaina o le puipuiga e faʻavae i luga o faʻatonuga IBRS, avanoa i augatupulaga fou o Intel CPUs ma lagolagoina e amata ile Linux kernel 4.19.

I luga o Intel processors, o le suitulaga o le sui mo se oso faʻafuaseʻi faʻafuaseʻi e faia faʻafetai i se faʻaaliga e aliali mai pe a tupu se tafega i le pito i lalo (lalo) i le Return Stack Buffer. A tupu ia tulaga, o le "ret" faatonuga e amata ona faʻaogaina le faʻaogaina o le tuatusi e tutusa ma le faʻaaogaina mo oso masani masani. E sili atu ma le afe nofoaga na maua i le fatu Linux lea e fatuina ai tulaga mo le amataina o sea toe tafe ma e mafai ona maua e ala i telefoni feaveaʻi.

I luga o le AMD processors, o le faʻatinoina o le faʻatonuga o le "ret" o loʻo faia e aunoa ma se faʻamatalaga i se faʻapipiʻi faʻapitoa (Return Address Stack) ma o le vaega o faʻamatalaga a le paranesi e manatu o le "ret" faatonuga e le o se faʻatonuga toe faafoi, ae o se lala le tuusao. , ma, e tusa ai, faʻaaogaina faʻamaumauga mo le vavalo o suiga le tuusao. I lalo o nei tulaga, toetoe lava o so'o se "ret" fa'agaioiga e mafai ona maua e ala i le telefoni feavea'i e mafai ona fa'aogaina.

E le gata i lea, o le isi mataupu ua faʻaalia foi i le AMD CPUs (CVE-2022-23825, Branch Type Confusion) e fesoʻotaʻi ma le faʻatinoina o lala faʻapitoa - o tulaga mo le vavalo o lala e mafai ona tupu e tusa lava pe leai ni faʻatonuga a le paranesi, lea e mafai ai ona aʻafia le paʻu vavalo lala. e aunoa ma le faatonuga "ret". O lenei vaega e matua faʻalavelaveina ai le faʻatinoina o le puipuiga ma e manaʻomia ai le faʻamamaina atili o le paʻu vavalo lala. O le faʻaopoopoina o le puipuiga atoatoa i le fatu e faʻamoemoe e faʻateleina le maualuga i le 209%.

puna: opennet.ru

Faaopoopo i ai se faamatalaga