ʻO ka Vulnerability i nā CPU AMD e hiki ai iā ʻoe ke kāpae i ka mīkini pale SEV (Secure Encrypted Virtualization)

Ua paʻi ka poʻe noiʻi ma ka Helmholtz Center for Information Security (CISPA) i kahi ala hoʻouka CacheWarp hou e hoʻololi i ka mīkini palekana AMD SEV (Secure Encrypted Virtualization) i hoʻohana ʻia i nā ʻōnaehana virtualization e pale i nā mīkini virtual mai ke keakea ʻana e ka hypervisor a i ʻole ka luna hoʻonohonoho host. ʻO ke ala i manaʻo ʻia e ʻae i ka mea hoʻouka me ke komo ʻana i ka hypervisor e hoʻokō i nā code ʻaoʻao ʻekolu a hoʻonui i nā pono i loko o kahi mīkini virtual i pale ʻia me ka AMD SEV.

Hoʻokumu ʻia ka hoʻouka ʻana ma ka hoʻohana ʻana i kahi nāwaliwali (CVE-2023-20592) ma muli o ka hana hewa ʻole o ka cache i ka wā o ka hoʻokō ʻana i ka ʻōlelo aʻoaʻo INVD processor, me ke kōkua e hiki ai ke hoʻokō i kahi mismatch data i ka hoʻomanaʻo a me ka cache. , a me ka hoʻokae ʻana i nā mīkini no ka mālama ʻana i ka pono o ka hoʻomanaʻo ʻana o ka mīkini virtual, i hoʻokō ʻia ma muli o nā hoʻonui SEV-ES a me SEV-SNP. Hoʻopilikia ka nāwaliwali i nā kaʻina hana AMD EPYC mai ka mua a hiki i ke kolu o ka hanauna.

No ke kolu o ka hanauna AMD EPYC processors (Zen 3), ua hoʻoholo ʻia ka pilikia ma ka hoʻoponopono microcode ʻo Nowemapa i hoʻokuʻu ʻia i nehinei e AMD (ʻaʻole i hopena ka hoʻoponopono i ka hōʻino o ka hana). No nā hanauna mua a me ka lua o AMD EPYC (Zen 1 a me Zen 2), ʻaʻole i hāʻawi ʻia ka palekana, no ka mea ʻaʻole kākoʻo kēia mau CPU i ka hoʻonui SEV-SNP, e hāʻawi ana i ka mana kūpaʻa no nā mīkini virtual. ʻO ka hā o ka hanauna o AMD AMD EPYC "Genoa" kaʻina hana i hoʻokumu ʻia ma ka microarchitecture "Zen 4" ʻaʻole palupalu.

Hoʻohana ʻia ka ʻenehana AMD SEV no ka hoʻokaʻawale ʻana i ka mīkini virtual e nā mea hāʻawi kapua e like me Amazon Web Services (AWS), Google Cloud, Microsoft Azure a me Oracle Compute Infrastructure (OCI). Hoʻokō ʻia ka pale ʻana o AMD SEV ma o ka hoʻopili ʻana i ka pae ʻenehana o ka hoʻomanaʻo mīkini virtual. Hoʻohui, mālama ka SEV-ES (Encrypted State) i nā papa inoa CPU. ʻO ka ʻōnaehana malihini i kēia manawa ke komo i ka ʻikepili decrypted, a i ka wā e hoʻāʻo ai nā mīkini virtual ʻē aʻe a me ka hypervisor e komo i kēia hoʻomanaʻo, loaʻa iā lākou kahi ʻikepili i hoʻopili ʻia.

ʻO ke kolu o ka hanauna o nā kaʻina hana AMD EPYC i hoʻolauna i kahi hoʻonui hou, SEV-SNP (Secure Nested Paging), e hōʻoiaʻiʻo ana i ka hana palekana o nā papa ʻaoʻao hoʻomanaʻo nested. Ma waho aʻe o ka hoʻopunipuni hoʻomanaʻo maʻamau a hoʻopaʻa inoa i kahi kaʻawale, hoʻokō ʻo SEV-SNP i nā hana hou e pale ai i ka pono hoʻomanaʻo ma o ka pale ʻana i nā loli i ka VM e ka hypervisor. Mālama ʻia nā kī hoʻopunipuni ma ka ʻaoʻao o kahi kaʻina PSP (Platform Security Processor) i kūkulu ʻia i loko o ka chip, i hoʻokō ʻia ma ke kumu o ka hoʻolālā ARM.

ʻO ke kumu o ke ʻano hoʻouka kaua i manaʻo ʻia e hoʻohana i ka ʻōlelo aʻoaʻo INVD e hōʻole i nā poloka (laina) i loko o ka cache o nā ʻaoʻao lepo me ka ʻole o ka hoʻolei ʻana i ka ʻikepili i hōʻiliʻili ʻia i loko o ka cache i ka hoʻomanaʻo (kākau-hoʻi). No laila, ʻae ke ala iā ʻoe e kipaku i ka ʻikepili i hoʻololi ʻia mai ka cache me ka ʻole e hoʻololi i ke kūlana hoʻomanaʻo. No ka hoʻokō ʻana i kahi hoʻouka kaua, ua manaʻo ʻia e hoʻohana i nā ʻokoʻa polokalamu (fault injection) e hoʻopau i ka hana o ka mīkini virtual ma nā wahi ʻelua: ma kahi mua, kāhea ka mea hoʻouka i ka ʻōlelo aʻoaʻo "wbnoinvd" e hoʻonohonoho hou i nā hana kākau hoʻomanaʻo a pau i hōʻiliʻili ʻia i loko. ka huna huna, a ma ka lua o ka wahi e kapa aku i ka "invd" aʻo i ka hoʻihoʻi 'ana kākau hana 'aʻole i hōʻike 'ia ma ka hoomanao ana i ka moku'āina kahiko.

No ka nānā ʻana i kāu mau ʻōnaehana no nā nāwaliwali, ua paʻi ʻia kahi prototype exploit e hiki ai iā ʻoe ke hoʻokomo i kahi ʻokoʻa i loko o kahi mīkini virtual i pale ʻia ma AMD SEV a hoʻololi i nā loli i ka VM ʻaʻole i hoʻonohonoho hou ʻia i ka hoʻomanaʻo. Hiki ke hoʻohana ʻia ka hoʻihoʻi hou ʻana o kahi hoʻololi no ka hoʻololi ʻana i ke kahe o kahi papahana ma ka hoʻihoʻi ʻana i kahi helu hoʻihoʻi kahiko ma ka waihona, a i ʻole e hoʻohana i nā ʻāpana komo o kahi kau kahiko i hōʻoia mua ʻia ma ka hoʻihoʻi ʻana i kahi waiwai hōʻoia.

No ka laʻana, ua hōʻike nā mea noiʻi i ka hiki ke hoʻohana i ke ʻano CacheWarp e hoʻokō i kahi hoʻouka Bellcore i ka hoʻokō ʻana i ka algorithm RSA-CRT i loko o ka waihona ipp-crypto, i hiki ai ke hoʻihoʻi i ke kī pilikino ma o ka hoʻololi hewa ʻana i ka helu ʻana i kahi kikohoʻe. pūlima. Hōʻike pū ia pehea e hiki ai iā ʻoe ke hoʻololi i nā ʻāpana hōʻoia hālāwai i OpenSSH i ka wā e hoʻopili mamao aku ai i kahi ʻōnaehana malihini, a laila hoʻololi i ka mokuʻāina hōʻoia i ka wā e holo ana i ka pono sudo e loaʻa nā kuleana kumu ma Ubuntu 20.04. Ua hoʻāʻo ʻia ka hana ma nā ʻōnaehana me AMD EPYC 7252, 7313P a me 7443 kaʻina hana.

Source: opennet.ru

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