์ค๊ตญ ์ธ๋ฏผํด๋ฐฉ๊ตฐ ๊ตญ๋ฐฉ๊ณผํ๊ธฐ์ ๋ํ, ์ฑ๊ฐํฌ๋ฅด๊ตญ๋ฆฝ๋ํ, ์ทจ๋ฆฌํ์ฐ๋ฐฉ์ฐ๋ฐฉ๊ณต๊ณผ๋ํ ์ฐ๊ตฌ์๋ค์ด ๊ณ ๋ฆฝ๋ ์ธํ SGX(Software Guard eXtensions) ์ํด๋ ์ด๋ธ์ ๋ํ ์๋ก์ด ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ๊ฐ๋ฐํ๋ค. ์ด ๊ณต๊ฒฉ์ SmashEx๋ผ๊ณ ๋ถ๋ ธ์ผ๋ฉฐ Intel SGX์ฉ ๋ฐํ์ ๊ตฌ์ฑ ์์๊ฐ ์๋ํ๋ ๋์ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ์ฌ์ง์ ๋ฌธ์ ๋ก ์ธํด ๋ฐ์ํ์ต๋๋ค. ์ ์๋ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ์ด์ ์ฒด์ ์ ๋ํ ์ ์ด๊ฐ ์๋ ๊ฒฝ์ฐ ์ํด๋ ์ด๋ธ์ ์๋ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ฑฐ๋ ์ํด๋ ์ด๋ธ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ ์ ์ฝ๋๋ฅผ ๋ณต์ฌํ๊ณ ์คํํ๋ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
Intel SGX SDK(CVE-2021-0186) ๋ฐ Microsoft Open Enclave(CVE-2021-33767)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ฐํ์ ์ํด๋ ์ด๋ธ์ฉ ์ต์คํ๋ก์ ํ๋กํ ํ์ ์ด ์ค๋น๋์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ์๋ HTTPS๋ฅผ ์ํด ์น ์๋ฒ์์ ์ฌ์ฉ๋๋ RSA ํค๋ฅผ ์ถ์ถํ๋ ๊ธฐ๋ฅ์ ์์ฐํ์ผ๋ฉฐ, ๋ ๋ฒ์งธ ๊ฒฝ์ฐ์๋ enclave ๋ด๋ถ์์ ์คํ๋๋ cURL ์ ํธ๋ฆฌํฐ์์ ํ๋ํ ์ฝํ ์ธ ๋ฅผ ํ์ธํ ์ ์์์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ Intel SGX SDK 2.13 ๋ฐ Open Enclave 0.17.1 ๋ฆด๋ฆฌ์ค์์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ด๋ฏธ ์์ ๋์์ต๋๋ค. Intel SGX SDK ๋ฐ Microsoft Open Enclave ์ธ์๋ ์ด ์ทจ์ฝ์ฑ์ Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX ๋ฐ Veracruz์๋ ๋ํ๋ฉ๋๋ค.
SGX(Software Guard Extensions) ๊ธฐ์ ์ 0์ธ๋ Intel Core ํ๋ก์ธ์(Skylake)์ ๋ฑ์ฅํ์ผ๋ฉฐ ์ฌ์ฉ์ ์์ค ์์ฉ ํ๋ก๊ทธ๋จ์ด ํ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(์ํด๋ ์ด๋ธ์ ์ํด์๋ ๋ด์ฉ์ ์ฝ๊ณ ๋ณ๊ฒฝํ ์ ์๋ ์ํด๋ ์ด๋ธ)์ ํ ๋นํ ์ ์๋๋ก ํ๋ ์ผ๋ จ์ ์ง์นจ์ ์ ๊ณตํฉ๋๋ค. ringXNUMX, SMM ๋ฐ VMM ๋ชจ๋์์ ์คํ๋๋ ์ปค๋ ๋ฐ ์ฝ๋. ์ ํต์ ์ธ ์ ํ ๊ธฐ๋ฅ๊ณผ ๋ ์ง์คํฐ ๋ฐ ์คํ์ ์ฌ์ฉํ ์กฐ์์ ์ฌ์ฉํ์ฌ ์ํด๋ ์ด๋ธ์ ์ฝ๋๋ก ์ ์ด๋ฅผ ์ ์กํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ํน๋ณํ ์์ฑ๋ ์ ๋ช ๋ น์ด EENTER, EEXIT ๋ฐ ERESUME์ ์ธ์ฆ ๊ฒ์ฌ๋ฅผ ์ํํ๋ ์ํด๋ ์ด๋ธ์ ์ ์ด๋ฅผ ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ํด๋ ์ด๋ธ์ ๋ฐฐ์น๋ ์ฝ๋๋ ํด๋์ ํธ์ถ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ํด๋ ์ด๋ธ ๋ด๋ถ์ ํจ์๋ฅผ ํธ์ถํ๊ณ ์ธ๋ถ ํจ์๋ฅผ ํธ์ถํ๋ ํน์ ๋ช ๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Enclave ๋ฉ๋ชจ๋ฆฌ ์ํธํ๋ DRAM ์ฐ๊ฒฐ๊ณผ ๊ฐ์ ํ๋์จ์ด ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฌธ์ ๋ SGX ๊ธฐ์ ์ ํตํด ์ด์ ์ฒด์ ๊ฐ ํ๋์จ์ด ์์ธ๋ฅผ ๋ฐ์์์ผ enclave์ ์คํ์ ์ค๋จํ ์ ์์ผ๋ฉฐ enclave๋ ์ด๋ฌํ ์์ธ๋ฅผ ์์์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ ์ ๋๋ก ๊ตฌํํ์ง ๋ชปํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด์ ์ฒด์ ์ปค๋ ๋ฐ ์ผ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ๋ฌ๋ฆฌ ์ํด๋ ์ด๋ธ ๋ด๋ถ์ ์ฝ๋๋ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฐ์ํ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ ์์์ ์์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ํ๋ฆฌ๋ฏธํฐ๋ธ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ง์ ๋ ์์ ํ๋ฆฌ๋ฏธํฐ๋ธ๊ฐ ์์ผ๋ฉด enclave๋ ์๊ณ ์น์ ์ด enclave์์ ์คํ ์ค์ด๊ณ ์์ ํ์ง ์์ ์ํ(์: CPU ๋ ์ง์คํฐ๊ฐ ์ ์ฅ/๋ณต์๋์ง ์์ ๊ฒฝ์ฐ)์ธ ๊ฒฝ์ฐ์๋ ์ธ์ ๋ ์ง ์ค๋จ๋๊ณ ์คํ์ผ๋ก ๋ฐํ๋ ์ ์์ต๋๋ค. .
์ ์์ ์ธ ์๋์ ์ํด SGX ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ๊ตฌ์ฑ ๊ฐ๋ฅํ ํ๋์จ์ด ์์ธ๋ก ์ํด๋ ์ด๋ธ ์คํ์ ์ค๋จํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด enclave ๋ฐํ์์์ enclave ๋ด ์์ธ ์ฒ๋ฆฌ ๋๋ ์ ํธ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ ์ ์์ง๋ง ์ฌ์ง์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค. SmashEx ๊ณต๊ฒฉ์ ์์ธ ์ฒ๋ฆฌ๊ธฐ์ ์ฌํธ์ถ ์ํฉ์ด ์ ๋๋ก ์ฒ๋ฆฌ๋์ง ์๋ SDK์ ๊ฒฐํจ์ ์ ์ฉํ ๊ฒ์ด๋ค. ์ทจ์ฝ์ ์ ์ ์ฉํ๋ ค๋ฉด ๊ณต๊ฒฉ์๊ฐ enclave์ ์คํ์ ์ค๋จํ ์ ์์ด์ผ ํฉ๋๋ค. ์์คํ ํ๊ฒฝ์ ์๋์ ์ ์ดํด์ผ ํฉ๋๋ค.
์์ธ๋ฅผ ๋์ง ํ ๊ณต๊ฒฉ์๋ ์ ๋ ฅ ๋งค๊ฐ๋ณ์ ์กฐ์์ ํตํด ์คํ ํ๋ฆ์ ๊ฐ๋ก์ฑ ์ ์๋ ์์ ์๊ฐ ์ฐฝ์ ์ป์ต๋๋ค. ํนํ ์์คํ (enclave ์ธ๋ถ ํ๊ฒฝ)์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ์๋ ๊ฒฝ์ฐ enclave ์ง์ ๋ช ๋ น(EENTER)์ ์คํํ ์งํ์ ์๋ก์ด ์์ธ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ด๋ ์คํ ๊ตฌ์ฑ์ด ์๋ฃ๋๋ ๋จ๊ณ์์ ์์คํ ์ผ๋ก ์ ์ด๋ฅผ ๋ฐํํฉ๋๋ค. enclave๊ฐ ์์ง ์๋ฃ๋์ง ์์ ๊ฒฝ์ฐ ์ด ์ซ์๋ CPU ๋ ์ง์คํฐ์ ์ํ๋ฅผ ์ ์ฅํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์์คํ ์ ์ํด๋ ์ด๋ธ์ ๋ค์ ์ ์ด๊ถ์ ๋ฐํํ ์ ์์ง๋ง ์ํด๋ ์ด๋ธ ์คํ์ด ์ธํฐ๋ฝํธ ์์ ์ ๊ตฌ์ฑ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ํด๋ ์ด๋ธ๋ ROP๋ฅผ ์ ์ฉํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์์คํ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์คํ์ผ๋ก ์คํ๋ฉ๋๋ค. ) ๊ธฐ์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ). ROP ๊ธฐ์ ์ ์ฌ์ฉํ ๋ ๊ณต๊ฒฉ์๋ ์์ ์ ์ฝ๋๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐฐ์นํ๋ ค๊ณ ์๋ํ์ง ์๊ณ ๋ก๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ด๋ฏธ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ๊ณ ๋ช ๋ น์ด ์กฐ๊ฐ์ ๋ํด ์๋ํ์ฌ ์ ์ด ๋ฐํ ๋ช ๋ น์ด๋ก ๋๋ฉ๋๋ค(์ผ๋ฐ์ ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ ๋ถ๋ถ์ ๋๋ค). ๊ธฐ๋ฅ). ์ต์คํ๋ก์์ ์๋์ ์ํ๋ ๊ธฐ๋ฅ์ ์ป๊ธฐ ์ํด ์ ์ฌํ ๋ธ๋ก("๊ฐ์ ฏ")์ ๋ํ ํธ์ถ ์ฒด์ธ์ ๊ตฌ์ถํ๋ ๊ฒ์ ๋๋ค.
์ถ์ฒ : opennet.ru