CISPA(Helmholtz Center for Information Security)์ ์ฐ๊ตฌ์๋ค์ ํ์ดํผ๋ฐ์ด์ ๋๋ ํธ์คํธ ์์คํ ๊ด๋ฆฌ์์ ๊ฐ์ญ์ผ๋ก๋ถํฐ ๊ฐ์ ๋จธ์ ์ ๋ณดํธํ๊ธฐ ์ํด ๊ฐ์ํ ์์คํ ์์ ์ฌ์ฉ๋๋ AMD SEV(Secure Encrypted Virtualization) ๋ณด์ ๋ฉ์ปค๋์ฆ์ ์์์ํค๋ ์๋ก์ด CacheWarp ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ๋ฐํํ์ต๋๋ค. ์ ์๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ํ์ดํผ๋ฐ์ด์ ์ ์ก์ธ์คํ ์ ์๋ ๊ณต๊ฒฉ์๊ฐ AMD SEV๋ฅผ ์ฌ์ฉํ์ฌ ๋ณดํธ๋๋ ๊ฐ์ ๋จธ์ ์์ ํ์ฌ ์ฝ๋๋ฅผ ์คํํ๊ณ ๊ถํ์ ์์น์ํฌ ์ ์์ต๋๋ค.
์ด ๊ณต๊ฒฉ์ INVD ํ๋ก์ธ์ ๋ช ๋ น์ ์คํํ๋ ๋์ ์บ์์ ์๋ชป๋ ์๋์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์ทจ์ฝ์ (CVE-2023-20592)์ ์ ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์บ์์ ๋ฐ์ดํฐ ๋ถ์ผ์น๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ๊ธฐ๋ฐ์ ๋๊ณ ์์ต๋๋ค. ๋ฐ SEV-ES ๋ฐ SEV-SNP ํ์ฅ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ ๊ฐ์ ๋จธ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ๋ฐ์ดํจ์ค ๋ฉ์ปค๋์ฆ์ด ์์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ XNUMX์ธ๋๋ถํฐ XNUMX์ธ๋๊น์ง AMD EPYC ํ๋ก์ธ์์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
3์ธ๋ AMD EPYC ํ๋ก์ธ์(Zen 1)์ ๊ฒฝ์ฐ AMD๊ฐ ์ด์ ๋ฐํํ 2์ ๋ง์ดํฌ๋ก์ฝ๋ ์ ๋ฐ์ดํธ์์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค(์์ ์ผ๋ก ์ธํด ์ฑ๋ฅ์ด ์ ํ๋์ง๋ ์์). 4์ธ๋ ๋ฐ XNUMX์ธ๋ AMD EPYC(Zen XNUMX ๋ฐ Zen XNUMX)์ ๊ฒฝ์ฐ ์ด๋ฌํ CPU๊ฐ ๊ฐ์ ๋จธ์ ์ ๋ํ ๋ฌด๊ฒฐ์ฑ ์ ์ด๋ฅผ ์ ๊ณตํ๋ SEV-SNP ํ์ฅ์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ณดํธ๊ฐ ์ ๊ณต๋์ง ์์ต๋๋ค. "Zen XNUMX" ๋ง์ดํฌ๋ก์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ XNUMX์ธ๋ AMD AMD EPYC "Genoa" ํ๋ก์ธ์๋ ์ทจ์ฝํ์ง ์์ต๋๋ค.
AMD SEV ๊ธฐ์ ์ Amazon Web Services(AWS), Google Cloud, Microsoft Azure ๋ฐ Oracle Compute Infrastructure(OCI)์ ๊ฐ์ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์ ๊ฐ์ ๋จธ์ ๊ฒฉ๋ฆฌ์ ์ฌ์ฉ๋ฉ๋๋ค. AMD SEV ๋ณดํธ๋ ๊ฐ์ ๋จธ์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋์จ์ด ์์ค ์ํธํ๋ฅผ ํตํด ๊ตฌํ๋ฉ๋๋ค. ๋ํ SEV-ES(์ํธํ๋ ์ํ) ํ์ฅ์ CPU ๋ ์ง์คํฐ๋ฅผ ๋ณดํธํฉ๋๋ค. ํ์ฌ ๊ฒ์คํธ ์์คํ ๋ง์ด ํด๋ ๋ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ, ๋ค๋ฅธ ๊ฐ์ ๋จธ์ ๊ณผ ํ์ดํผ๋ฐ์ด์ ๊ฐ ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์คํ๋ ค๊ณ ํ๋ฉด ์ํธํ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์ ํฉ๋๋ค.
XNUMX์ธ๋ AMD EPYC ํ๋ก์ธ์์๋ ์ค์ฒฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ํ ์ด๋ธ์ ์์ ํ ์๋์ ๋ณด์ฅํ๋ ์ถ๊ฐ ํ์ฅ์ธ SEV-SNP(Secure Nested Paging)๊ฐ ๋์ ๋์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ํธํ ๋ฐ ๋ ์ง์คํฐ ๊ฒฉ๋ฆฌ ์ธ์๋ SEV-SNP๋ ํ์ดํผ๋ฐ์ด์ ์ ์ํ VM ๋ณ๊ฒฝ์ ๋ฐฉ์งํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ฌด๊ฒฐ์ฑ์ ๋ณดํธํ๊ธฐ ์ํ ์ถ๊ฐ ์กฐ์น๋ฅผ ๊ตฌํํฉ๋๋ค. ์ํธํ ํค๋ ARM ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ ์นฉ์ ๋ด์ฅ๋ ๋ณ๋์ PSP(ํ๋ซํผ ๋ณด์ ํ๋ก์ธ์) ํ๋ก์ธ์ ์ธก๋ฉด์์ ๊ด๋ฆฌ๋ฉ๋๋ค.
์ ์๋ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ํต์ฌ์ INVD ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์บ์์ ์ถ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋คํ(write-back)ํ์ง ์๊ณ ๋ํฐ ํ์ด์ง ์บ์์ ๋ธ๋ก(๋ผ์ธ)์ ๋ฌดํจํํ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ํ๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์บ์์์ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๊ณต๊ฒฉ์ ์ํํ๋ ค๋ฉด ์ํํธ์จ์ด ์์ธ(์ค๋ฅ ์ฃผ์ )๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๊ณณ์์ ๊ฐ์ ๋จธ์ ์ ์๋์ ์ค๋จํ๋ ๊ฒ์ด ์ ์๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ๋ก ๊ณต๊ฒฉ์๋ "wbnoinvd" ๋ช ๋ น์ด๋ฅผ ํธ์ถํ์ฌ ๊ฐ์ ๋จธ์ ์ ๋์ ๋ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ฐ๊ธฐ ์์ ์ ์ฌ์ค์ ํฉ๋๋ค. ๋ ๋ฒ์งธ๋ก "invd" ๋ช ๋ น์ ํธ์ถํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์๋์ง ์์ ์ฐ๊ธฐ ์์ ์ ์ด์ ์ํ๋ก ๋๋๋ฆฝ๋๋ค.
์์คํ ์ ์ทจ์ฝ์ ์ ํ์ธํ๊ธฐ ์ํด AMD SEV๋ฅผ ํตํด ๋ณดํธ๋๋ ๊ฐ์ ๋จธ์ ์ ์์ธ๋ฅผ ์ฝ์ ํ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ์ค์ ๋์ง ์์ VM์ ๋ณ๊ฒฝ ์ฌํญ์ ๋กค๋ฐฑํ ์ ์๋ ์ต์คํ๋ก์ ํ๋กํ ํ์ ์ด ๊ฒ์๋์์ต๋๋ค. ๋ณ๊ฒฝ ์ฌํญ ๋กค๋ฐฑ์ ์คํ์ ์ด์ ๋ฐํ ์ฃผ์๋ฅผ ๋ฐํํ์ฌ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ณ๊ฒฝํ๊ฑฐ๋, ์ธ์ฆ ์์ฑ ๊ฐ์ ๋ฐํํ์ฌ ์ด์ ์ ์ธ์ฆ๋ ์ด์ ์ธ์ ์ ๋ก๊ทธ์ธ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฐ๊ตฌ์๋ค์ CacheWarp ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ipp-crypto ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ RSA-CRT ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ์ ๋ํ Bellcore ๊ณต๊ฒฉ์ ์ํํ ๊ฐ๋ฅ์ฑ์ ์์ฐํ์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๋์งํธ ๊ณ์ฐ ์ ์ค๋ฅ ๋์ฒด๋ฅผ ํตํด ๊ฐ์ธ ํค๋ฅผ ๋ณต๊ตฌํ ์ ์์์ต๋๋ค. ์๋ช
. ๋ํ ๊ฒ์คํธ ์์คํ
์ ์๊ฒฉ์ผ๋ก ์ฐ๊ฒฐํ ๋ ์ธ์
ํ์ธ ๋งค๊ฐ๋ณ์๋ฅผ OpenSSH๋ก ๋ณ๊ฒฝํ ๋ค์ Ubuntu 20.04์์ ๋ฃจํธ ๊ถํ์ ์ป๊ธฐ ์ํด sudo ์ ํธ๋ฆฌํฐ๋ฅผ ์คํํ ๋ ํ์ธ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ด ์ต์คํ๋ก์์ AMD EPYC 7252, 7313P ๋ฐ 7443 ํ๋ก์ธ์๊ฐ ํ์ฌ๋ ์์คํ
์์ ํ
์คํธ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru