ʻO ka hoʻouka hou ʻana i nā hale microarchitectural o nā kaʻina hana Intel a me AMD

Ua hōʻike kekahi pūʻulu o nā mea noiʻi mai ke Kulanui o Virginia a me ke Kulanui o Kaleponi i kahi ʻano hoʻouka hou ʻana i ka microarchitectural structures o Intel a me AMD processors, i ʻike ʻia i ka wā o ka hoʻohuli ʻana i nā mana CPU undocumented. ʻO ke ʻano hoʻouka kaua i manaʻo ʻia e pili ana i ka hoʻohana ʻana i kahi cache micro-op intermediate i nā kaʻina hana, hiki ke hoʻohana ʻia e kiʻi i ka ʻike i hōʻiliʻili ʻia i ka wā o ka hoʻokō ʻana i nā kuhikuhi.

No ka manaʻo optimization, hoʻomaka ka mea hana e hoʻokō i kekahi mau ʻōlelo aʻoaʻo ma ke ʻano speculative, me ke kali ʻole no ka hoʻopau ʻana i nā helu mua, a inā e hoʻoholo ʻo ia ʻaʻole i ʻāpono ʻia ka wānana, e hoʻihoʻi ia i ka hana i kona kūlana mua, akā ʻo ka ʻikepili i hoʻopaʻa ʻia i ka wā. waiho ʻia ka hoʻokō speculative i loko o kahi huna, hiki ke hoʻoholo ʻia nā mea i loko.

Hoʻomaopopo ʻia ʻoi aku ka maikaʻi o ke ʻano hou i ka hoʻouka ʻana o Spectre v1, paʻakikī ke ʻike ʻia ka hoʻouka ʻana a ʻaʻole paʻa ʻia e nā ʻano o ka pale ʻana i nā ʻaoʻao ʻaoʻao i hoʻolālā ʻia e pale i nā nāwaliwali i hoʻokumu ʻia e ka hoʻokō speculative o nā kuhikuhi (no ka laʻana, ka hoʻohana ʻana. ʻO nā poloka aʻo LFENCE e lele i nā pae hope o ka hoʻokō speculative, akā ʻaʻole pale i ka leakage ma o nā hale microarchitectural).

Hoʻopili ke ʻano i nā hiʻohiʻona Intel a me AMD i hoʻokuʻu ʻia mai 2011, me ka Intel Skylake a me AMD Zen series. Hoʻokaʻawale nā ​​CPU o kēia manawa i nā ʻōlelo aʻoaʻo paʻakikī i loko o nā micro-operations like me RISC maʻalahi, i hūnā ʻia i kahi huna huna. He ʻokoʻa loa kēia huna huna mai nā huna kiʻekiʻe kiʻekiʻe, ʻaʻole hiki ke loaʻa pololei a hana ma ke ʻano he kahawai wai no ke komo wikiwiki ʻana i nā hopena o ka hoʻololi ʻana i nā ʻōlelo aʻoaʻo CISC i nā microinstructions RISC. Eia nō naʻe, ua loaʻa i nā mea noiʻi kahi ala e hana ai i nā kūlana e kū mai i ka wā e komo ai ka cache i nā paio a ʻae i kekahi e hoʻoponopono i nā ʻike o ka cache micro-operation ma o ka nānā ʻana i nā ʻokoʻa i ka manawa hoʻokō o kekahi mau hana.

ʻO ka hoʻouka hou ʻana i nā hale microarchitectural o nā kaʻina hana Intel a me AMD

Hoʻokaʻawale ʻia ka cache micro-operation i nā kaʻina hana Intel e pili ana i nā kaula CPU (Hyper-Threading), ʻoiai nā mea hana AMD Zen e hoʻohana i kahi huna huna, e hana ana i nā kūlana no ka leakage ʻikepili ʻaʻole wale i loko o hoʻokahi kaula hoʻokō, akā ma waena o nā kaula like ʻole ma SMT (hiki i ka leakage ʻikepili ma waena o nā code e holo ana ma nā cores CPU logical like ʻole).

Ua noi ka poʻe noiʻi i kahi ala maʻamau no ka ʻike ʻana i nā loli i ka cache micro-operation a me nā hiʻohiʻona hoʻouka kaua e ʻae ai i ka hana ʻana i nā ala hoʻoili ʻikepili huna a me ka hoʻohana ʻana i nā code vulnerable e hoʻokahe i ka ʻikepili huna, ʻelua i loko o kahi kaʻina hana hoʻokahi (e laʻa, e hoʻokahe i ka ʻikepili i ka wā e hoʻokō ai. code ʻaoʻao ʻekolu i nā ʻenekini me JIT a me nā mīkini virtual), a ma waena o ka kernel a me nā kaʻina hana ma kahi o ka mea hoʻohana.

I ka hoʻonohonoho ʻana i kahi ʻano like ʻole o ka hoʻouka ʻana o Specter me ka hoʻohana ʻana i kahi cache micro-operation, ua hiki i nā mea noiʻi ke hoʻokō i ka hana o 965.59 Kbps me ka helu hapa o 0.22% a me 785.56 Kbps i ka wā e hoʻohana ai i ka hoʻoponopono hewa, i ka hihia o ka hoʻonohonoho ʻana i kahi leak i loko o ka helu like. wahi a me ka pae pono. Me ka leak e pili ana i nā pae pono like ʻole (ma waena o ka kernel a me ka mea hoʻohana), ʻo 85.2 Kbps ka hana me ka hoʻoponopono hewa i hoʻohui ʻia a me 110.96 Kbps me ka helu hapa o 4%. I ka hoʻouka ʻana i nā kaʻina hana AMD Zen, e hana ana i kahi leak ma waena o nā cores CPU logical ʻē aʻe, ʻo 250 Kbps ka hana me ka helu hapa o 5.59% a me 168.58 Kbps me ka hoʻoponopono hewa. Hoʻohālikelike ʻia i ke ʻano Specter v1 maʻamau, ʻo ka hoʻouka kaua hou he 2.6 mau manawa wikiwiki.

Manaʻo ʻia ʻo ka pale ʻana i ka hoʻouka ʻana i kahi micro-op cache e koi ai i nā loli e hōʻemi i ka hana ma mua o ka hoʻohana ʻana i ka pale kaua Specter. Ma ke ʻano he kuʻikahi maikaʻi loa, ua manaʻo ʻia e pale i kēlā mau hoʻouka ʻana ʻaʻole ma ka hoʻopau ʻana i ka caching, akā ma ke kiʻekiʻe o ka nānā ʻana i nā anomalies a me ka ʻike ʻana i nā mokuʻāina cache i maʻamau no ka hoʻouka ʻana.

E like me ka hoʻouka ʻana o Specter, ʻo ka hoʻonohonoho ʻana i kahi leaka mai ka kernel a i ʻole nā ​​​​kaʻina hana ʻē aʻe e koi ai i ka hoʻokō ʻana i kekahi ʻano o nā kauoha (nā gadget) ma ka ʻaoʻao o nā kaʻina hana, e alakaʻi ana i ka hoʻokō speculative o nā kuhikuhi. Ma kahi o 100 mau hāmeʻa like i loaʻa i loko o ka Linux kernel, e wehe ʻia, akā loaʻa nā workarounds no kā lākou hanauna i kēlā me kēia manawa, no ka laʻana, pili i ka holo ʻana i nā papahana BPF i hoʻolālā ʻia i ka kernel.

Source: opennet.ru

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