Ua ʻike ʻia kekahi mea nāwaliwali i nā kaʻina hana AMD e hiki ai i ka hoʻouka ʻana o Meltdown

Ua hōʻike kahi hui o nā mea noiʻi mai ke Kulanui ʻOihana o Graz (Austria) a me ka Helmholtz Center for Information Security (CISPA) i ka ʻike e pili ana i kahi nāwaliwali (CVE-2021-26318) i nā mea hana AMD āpau e hiki ai ke hoʻokō i ka Meltdown-class ʻaoʻao-channel attacks (i ka wā mua i manaʻo ʻia ʻaʻole i hoʻopilikia ʻia nā kaʻina hana AMD e ka nāwaliwali o Meltdown). Ma nā ʻōlelo kūpono, hiki ke hoʻohana ʻia ka hoʻouka ʻana e hoʻokumu i nā kaila kamaʻilio huna, nānā i ka hana i loko o ka kernel, a i ʻole e loaʻa i ka ʻike e pili ana i nā ʻōlelo i loko o ka hoʻomanaʻo kernel e kāpae i ka pale KASLR ʻoiai e hoʻohana ana i nā nāwaliwali o ka kernel.

Manaʻo ʻo AMD he mea kūpono ʻole e hana i nā hana kūikawā e pale ai i ka pilikia, no ka mea, ʻo ka nāwaliwali, e like me kahi hoʻouka like i ʻike ʻia ma ʻAukake, he mea liʻiliʻi loa ia i nā kūlana maoli, ua kaupalena ʻia e nā palena o ke kaʻina hana a koi i ke alo o kekahi. nā kaʻina kuhikuhi i hoʻomākaukau ʻia (nā gadget) i loko o ka kernel. No ka hōʻike ʻana i ka hoʻouka ʻana, ua hoʻouka nā mea noiʻi i kā lākou kernel module me kahi hāmeʻa i hoʻohui ʻia. I nā kūlana maoli, hiki i nā mea hoʻouka ke hoʻohana, no ka laʻana, e hoʻopuka pinepine i nā nāwaliwali i ka subsystem eBPF e hoʻololi i nā kaʻina pono.

No ka pale ʻana i kēia ʻano hoʻouka kaua hou, ua ʻōlelo ʻo AMD e hoʻohana i nā ʻenehana coding paʻa e kōkua i ka pale ʻana i nā hoʻouka ʻana o Meltdown, e like me ka hoʻohana ʻana i nā ʻōlelo aʻoaʻo LFENCE. Manaʻo nā mea noiʻi i ʻike i ka pilikia e hoʻokaʻawale i ka papa hoʻomanaʻo ʻaoʻao (KPTI), i hoʻohana mua ʻia no nā kaʻina hana Intel.

I ka wā o ka hoʻokolohua, ua hiki i nā mea noiʻi ke hoʻokuʻu i ka ʻike mai ka kernel i kahi kaʻina hana ma kahi o ka mea hoʻohana i ka wikiwiki o 52 bytes i kēlā me kēia kekona, hāʻawi ʻia i ke alo o kahi hāmeʻa i loko o ka kernel e hana ana i ka hana "inā (offset <data_len) tmp = LUT[ʻikepili[offset] * 4096];” . Ua noi ʻia kekahi mau ʻano hana no ka hoʻihoʻi ʻana i ka ʻike ma nā ala ʻaoʻao e pau ana i loko o ka cache i ka wā o ka hoʻokō speculative. Hoʻokumu ʻia ke ʻano mua ma ka nānā ʻana i nā deviations i ka manawa hoʻokō o ka ʻōlelo aʻoaʻo "PREFETCH" (Prefetch+Time), a ʻo ka lua ma ka hoʻololi ʻana i ka hoʻololi ʻana i ka hoʻohana ʻana i ka ikehu i ka wā e hoʻokō ai i ka "PREFETCH" (Prefetch+Power).

E hoʻomanaʻo e pili ana ka vulnerability Meltdown maʻamau i ka wā o ka hoʻokō speculative o nā ʻōlelo aʻo, hiki i ka mea hana ke komo i kahi wahi ʻikepili pilikino a laila hoʻolei i ka hopena, no ka mea, ua pāpā nā kuleana i hoʻonohonoho ʻia mai ke kaʻina hana hoʻohana. I loko o ka papahana, ua hoʻokaʻawale ʻia ka poloka i hoʻokō ʻia mai ke code nui e kahi lālā kūlana, i ke ʻano maoli ke ahi mau, akā ma muli o ka hoʻohana ʻana o ka ʻōlelo conditional i kahi waiwai helu i ʻike ʻole ʻia e ka mea hana i ka wā o ka preemptive execution o ke code, lawe ʻia nā koho lālā āpau me ka speculatively.

Ma muli o ka hoʻohana ʻana o nā hana speculatively i ka cache like e like me nā ʻōlelo kuhikuhi maʻamau, hiki i ka wā o ka hoʻokō speculative ke hoʻonohonoho i nā māka i loko o ka cache e hōʻike ana i nā ʻike o kēlā me kēia bits i kahi wahi hoʻomanaʻo pilikino, a laila ma ke code maʻamau e hoʻoholo ai i ko lākou waiwai ma o ka manawa. hiki ke kālailai i ka ʻikepili i hūnā ʻia a me ka ʻikepili ʻole.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka