Ua ʻike kahi hui o nā kānaka noiʻi mai ka Vrije Universiteit Amsterdam i kahi ʻano hoʻouka hou i kapa ʻia ʻo "Native BHI" (CVE-2024-2201) e hiki ai ke hoʻoholo ʻia ka ʻike hoʻomanaʻo kernel ma nā ʻōnaehana me nā kaʻina hana Intel. Linux I ka hoʻokō ʻana i kahi exploit ma kahi mea hoʻohana. Inā hoʻopili ʻia ka hoʻouka kaua i nā ʻōnaehana virtualization, hiki i kahi mea hoʻouka mai ka ʻōnaehana malihini ke hoʻoholo i nā ʻike hoʻomanaʻo o ke kaiapuni kikowaena a i ʻole nā ʻōnaehana malihini ʻē aʻe.
Hāʻawi ke ʻano BHI ʻōiwi i kahi ʻenehana ʻokoʻa no ka hoʻohana ʻana i ka nāwaliwali o BHI (Branch History Injection, CVE-2022-0001), ka mea e kāpae i nā hana pale i hoʻokō mua ʻia. ʻO ke ʻano hoʻouka kaua BHI i manaʻo ʻia i ka makahiki 2022 e pili ana i ka hoʻohana ʻana i kahi nāwaliwali i loko o kahi pae pono hoʻokahi, kahi i hoʻokumu ʻia ai ka hana ma ka hoʻokō ʻana i kahi papahana eBPF i hoʻouka ʻia e ka mea hoʻohana i ka kernel. No ka pale ʻana i ka nāwaliwali, ua lawa ia e kaupalena i ke komo ʻana i ka hoʻokō o ka code eBPF no nā mea hoʻohana maʻamau.
ʻAʻole koi ke ala BHI hou i ke komo ʻana i ka eBPF a ʻae i ka hoʻouka ʻana e kahi mea hoʻohana pono ʻole mai ka wahi hoʻohana. Hoʻokumu ʻia ke ʻano hana ma ka hoʻokō ʻana i nā hāmeʻa i loaʻa i ka code kernel - nā kaʻina o nā kauoha e alakaʻi i ka hoʻokō speculative o nā kuhikuhi. No ka ʻimi ʻana i nā hāmeʻa kūpono i loko o ka kernel, ua hoʻomohala ʻia kahi hāmeʻa kūikawā InSpectre Gadget, i ka wā e nānā ana i ka kernel 6.6-rc4, ʻike ʻia ʻo 1511 Specter gadgets a me 2105 auxiliary dispatch gadgets.

Ma muli o nā hāmeʻa i ʻike ʻia, ua hoʻomākaukau ka poʻe noiʻi i kahi hoʻohana e hiki ai ke unuhi mai ka kernel buffers i kahi kaula me ka hash o ka ʻōlelo huna a ka mea hoʻohana i hoʻouka ʻia mai ka faila /etc/shadow. ʻO ka wikiwiki o ka hoʻihoʻi ʻana i ka ʻikepili mai ka hoʻomanaʻo kernel ma kahi o 3.5 KB i kēlā me kēia kekona.

ʻO ke ala BHI kahi mana lōʻihi o ka hoʻouka ʻana o Specter-v2, kahi e pale aku ai i ka pale i hoʻohui ʻia (Intel eIBRS a me Arm CSV2) a hoʻoulu i ka leakage ʻikepili, hoʻohana ʻia ke pani waiwai i ka Branch History Buffer, hoʻohana ʻia i ka CPU e hoʻomaikaʻi i ka wānana. pololei ka lālā ma ka noʻonoʻo ʻana i ka mōʻaukala o nā hoʻololi i hala. I ka wā o ka hoʻouka ʻana, ma o ka manipulations me ka mōʻaukala o ka hoʻololi ʻana, ua hana ʻia nā kūlana no ka wānana hewa ʻole o ka hoʻololi ʻana a me ka hoʻokō speculative o nā ʻōlelo aʻoaʻo e pono ai, ʻo ka hopena e pau i ka cache.
ʻO nā ʻokoʻa mai ka hoʻouka ʻana o Specter-v2 e iho mai i ka hoʻohana ʻana i kahi Branch History Buffer ma kahi o kahi Branch Target Buffer. No ka unuhi ʻana i ka ʻikepili mai ka hoʻomanaʻo ʻana, pono e hana ka mea hoʻouka i nā kūlana ma lalo o ia, i ka wā e hana ai i kahi hana speculative, e lawe ʻia ka helu mai kahi e pono ai e hoʻoholo. Ma hope o ka hoʻokō ʻana i kahi lele lele ʻole, ʻo ka helu lele i heluhelu ʻia mai ka hoʻomanaʻo e noho mau i loko o ka cache, a laila hiki ke hoʻohana ʻia kekahi o nā ʻano no ka hoʻoholo ʻana i nā ʻike o ka cache e kiʻi hou iā ia ma muli o ka nānā ʻana o nā loli i ka manawa komo i cached a uncached. ʻikepili.
ʻAʻole pale ka hoʻohana ʻana i nā ʻōlelo kuhikuhi a Intel IBT (Indirect Branch Tracking) a me ka hoʻokō ʻana i loko o ka kernel i nā hoʻouka kaua Native BHI. Linux ʻO FineIBT, kahi ʻano hana pale kahe hoʻokō hybrid, hoʻohui i nā ʻōlelo kuhikuhi IBT lako a me ka pale polokalamu kCFI (kernel Control Flow Integrity) e pale aku i ka uhaki ʻana i ke kahe hoʻokō maʻamau (kahe kaohi). ʻAe ʻo FineIBT i ka hoʻokō ʻana ma o kahi lele pololei ʻole inā lele ka lele i ke kuhikuhi ENDBR, aia ma ka hoʻomaka loa o ka hana. Eia kekahi (like me ke ʻano kCFI), hana ʻia ka nānā ʻana i ka hash ma hope, e hōʻoia ana i ka paʻa ʻole o ka pointer.
No ka pale ʻana i kahi ʻano hou o ka hoʻouka kaua kernel Linux Ua hoʻohui ʻia kahi hoʻololi e hoʻokō i kahi ʻano pale hou e hoʻohana ana i ka pale lako i manaʻo ʻia e Intel (BHI_DIS_S) a i ʻole ka pale polokalamu ʻē aʻe i hoʻokō ʻia e pale i ka hypervisor. KVMUa hoʻokuʻu pū nā mea hoʻomohala hypervisor Xen i kahi hoʻoponopono e pili ana i ke ʻano BHI_DIS_S, ka mea e kaupalena ana i nā wānana e pili ana i ka mōʻaukala lālā. Loaʻa ke kākoʻo BHI_DIS_S i nā mea hana e hoʻomaka ana me Intel Alder Lake, a me nā CPU kikowaena e hoʻomaka ana me Intel Sapphire Rapids. Loaʻa pū kekahi ʻano palekana polokalamu e pili ana i ka hoʻohana ʻana i nā kaʻina e holoi i ka buffer mōʻaukala lālā, akā ʻoi aku ka ʻike ʻia o ka hoʻopaʻi hana.
Source: opennet.ru
