์ง๋ฉ์ค ํ์ฌ
ํ์ดํผ๋ฐ์ด์ ๋ Linux ์ปค๋์ฉ ๋ชจ๋๋ก ๊ตฌํ๋๋ฉฐ ์ปค๋ ์์ค์์ ๊ฐ์ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฒ์คํธ ์์คํ ์ฉ ๊ตฌ์ฑ ์์๋ ๊ธฐ๋ณธ Linux ์ปค๋์ ์ด๋ฏธ ํฌํจ๋์ด ์์ต๋๋ค. ๊ฒฉ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ต์ CPU์์ ์ ๊ณตํ๋ ํ๋์จ์ด ๊ฐ์ํ ๋ฉ์ปค๋์ฆ์ด ์ฌ์ฉ๋ฉ๋๋ค. Jailhouse์ ํน์ง์ ๊ฐ๋ฒผ์ด ๊ตฌํ์ด๋ฉฐ ๊ฐ์ ๋จธ์ ์ ๊ณ ์ CPU, RAM ์์ญ ๋ฐ ํ๋์จ์ด ์ฅ์น์ ๋ฐ์ธ๋ฉํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํ๋์ ๋ฌผ๋ฆฌ์ ๋ค์ค ํ๋ก์ธ์ ์๋ฒ๊ฐ ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ ํ๊ฒฝ์ ์๋์ ์ง์ํ ์ ์์ผ๋ฉฐ ๊ฐ ํ๊ฒฝ์ ์์ฒด ํ๋ก์ธ์ ์ฝ์ด์ ํ ๋น๋ฉ๋๋ค.
CPU์ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋๋ฉด ๋ณต์กํ ๋ฆฌ์์ค ํ ๋น ์ค์ผ์ค๋ฌ๋ฅผ ์คํํ ํ์๊ฐ ์์ผ๋ฏ๋ก ํ์ดํผ๋ฐ์ด์ ์ ์ค๋ฒํค๋๊ฐ ์ต์ํ๋๊ณ ๊ตฌํ์ด ํฌ๊ฒ ๋จ์ํ๋ฉ๋๋ค. ๋ณ๋์ CPU ์ฝ์ด๋ฅผ ํ ๋นํ๋ฉด ์ด CPU์์ ๋ค๋ฅธ ์์ ์ด ์คํ๋์ง ์์ต๋๋ค. . ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฅ์ ์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ณด์ฅํ๊ณ ์ฑ๋ฅ์ ์์ธกํ ์ ์๋ค๋ ์ ์ ๋๋ค. ๋ฐ๋ผ์ Jailhouse๋ ์ค์๊ฐ์ผ๋ก ์ํ๋๋ ์์ ์ ์์ฑํ๋ ๋ฐ ์ ํฉํ ์๋ฃจ์ ์ ๋๋ค. ๋จ์ ์ CPU ์ฝ์ด ์์ ๋ฐ๋ผ ํ์ฅ์ฑ์ด ์ ํ๋๋ค๋ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ฉ์ด์์๋ ๊ฐ์ ํ๊ฒฝ์ "์นด๋ฉ๋ผ"(๊ต๋์ ๋งฅ๋ฝ์์๋ ์
)๋ผ๊ณ ํฉ๋๋ค. ์นด๋ฉ๋ผ ๋ด๋ถ์ ์์คํ
์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ ๋จ์ผ ํ๋ก์ธ์ ์๋ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
์ ๋ฆด๋ฆฌ์ค์์
- Raspberry Pi 4 Model B ๋ฐ Texas Instruments J721E-EVM ํ๋ซํผ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
-
์ฌ์์ ๋จ ivshmem ์ฅ์น๋ ์ ๊ฐ์ ์ํธ ์์ฉ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ก์ด ivshmem ์์ VIRTIO์ฉ ์ ์ก์ ๊ตฌํํ ์ ์์ต๋๋ค. - ์ทจ์ฝ์ ์ฐจ๋จ์ ์ํด ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง(hugepage) ์์ฑ์ ๋นํ์ฑํํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
CVE-2018-12207 Intel ํ๋ก์ธ์์์๋ ๊ถํ์ด ์๋ ๊ณต๊ฒฉ์๊ฐ ์๋น์ค ๊ฑฐ๋ถ๋ฅผ ์์ํ์ฌ "๋จธ์ ๊ฒ์ฌ ์ค๋ฅ" ์ํ์์ ์์คํ ์ด ์ ์ง๋๋๋ก ํ ์ ์์ต๋๋ค. - ARM64 ํ๋ก์ธ์๊ฐ ํ์ฌ๋ ์์คํ ์ ๊ฒฝ์ฐ SMMUv3(์์คํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น) ๋ฐ TI PVU(์ฃผ๋ณ ์ฅ์น ๊ฐ์ํ ์ฅ์น)์ ๋ํ ์ง์์ด ๊ตฌํ๋ฉ๋๋ค. ํ๋์จ์ด ์์์ ์คํ๋๋ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ(๋ฒ ์ด๋ฉํ)์ ๋ํ PCI ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ฃจํธ ์นด๋ฉ๋ผ์ฉ x86 ์์คํ ์์๋ Intel ํ๋ก์ธ์๊ฐ ์ ๊ณตํ๋ CR4.UMIP(์ฌ์ฉ์ ๋ชจ๋ ๋ช ๋ น์ด ๋ฐฉ์ง) ๋ชจ๋๋ฅผ ํ์ฑํํ์ฌ SGDT, SLDT, SIDT์ ๊ฐ์ ํน์ ๋ช ๋ น์ด์ ์ฌ์ฉ์ ๊ณต๊ฐ ์คํ์ ๊ธ์งํ ์ ์์ต๋๋ค. , ๊ณต๊ฒฉ์ ์ฌ์ฉ๋ ์ ์๋ SMSW ๋ฐ STR์ ์์คํ ์ ๊ถํ์ ๋์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ถ์ฒ : opennet.ru