์๋ ํ์ธ์ ๊ตฌ๋ ์๋, ์ต์ DevOps ์์์ ์ ๋ฆฌํด์ ๊ณต์ ํด๋๋ฆฌ๋ DevOps ์ฌํ์ ์ํ ์์์ง์ ๋๋ค.
์ด๋ฒ ์์์ง์์ 2024๋ 1์ ๋ง, ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ ์คํํ๋ ์ญํ ์ ํ๋ runc์์ ๋ฐ๊ฒฌ๋ ๋ณด์ ์ทจ์ฝ์ CVE-2024-21626์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
runc๋ Docker์ Kubernetes์์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๋น๋ ๋ฐ ์คํ์ ์ฌ์ฉ๋๋ ์ปจํ ์ด๋ ์์ง์ผ๋ก, ์ด๋ฏธ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ ํด์ด๋ฏ๋ก ํด๋น ๋ณด์ ์ทจ์ฝ์ ์ ์ํฅ๋ ฅ์ ํด ์๋ฐ์ ์๋๋ฐ์. ์ด๋ฒ ๋ณด์ ์ทจ์ฝ์ ์ ์ด๋ค ๊ฒ์ด๋ฉฐ, ์ด๋ป๊ฒ ๋์ฒํด์ผ ํ๋์ง ๊ฐ์ด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
โผ๋ด๊ฐ ์ฌ์ฉํ๋ ์ปจํ ์ด๋ ํด์ ๋ณด์ ์ทจ์ฝ์ ์ด?
์ต๊ทผ ๋ณด๊ณ ๋ ๋ฐ์ ๋ฐ๋ฅด๋ฉด, runc๋ฅผ ์ด์ฉํ์ฌ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ฑฐ๋ ์คํํ๋ ํน์ ์์ ์ ํธ์คํธ ๋ด ํ์ผ์ ์ ๊ทผ ๊ฐ๋ฅํ ํต๋ก๊ฐ ๋จ๊ฒ๋๋ ๋ณด์ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์๋ค๊ณ ํ๋๋ฐ์. ํ์ฌ runc์ Docker, containerd ๋ฑ์ ์ปจํ ์ด๋ ํด์์ ์ด๋ฏธ ํด๋น ๋ณด์ ์ทจ์ฝ์ ์ ๋ํ ํจ์น๋ฅผ ๋ฆด๋ฆฌ์ฆํ์์ต๋๋ค.
์ ์ทจ์ฝ์ ์ CVE-2024-21626๋ผ๋ ์ผ๋ จ๋ฒํธ๋ก ๋ฑ๋ก ๋ฐ ๊ณต๊ฐ๋์๋๋ฐ์. ์ปจํ ์ด๋ ํ๊ฒฝ์์ ํธ์คํธ(Host)๋ก์ ๋นํ๊ฐ ์ ๊ทผ ์ํ์ด ์๋ค๋ ๊ฒ์ด ์ด๋ฒ ์ทจ์ฝ์ ์ ์์ง์ ๋๋ค. (๊ด๋ จ ๋ณด์ ๋ณด๊ณ ์ ๋งํฌ)
์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์, ์๋ฒ ์ปดํจํฐ์ ํ๊ฒฝ(ํธ์คํธ) ๋ด์์ ๋ณ๋์ ๊ฒฉ๋ฆฌ ๋ฐ ๋ ๋ฆฝ๋ ํ๊ฒฝ์ ๊ตฌ์ฑํ์ฌ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๊ฒ์ธ๋ฐ์. ์ฐ๋ฆฌ๊ฐ ์ปจํ ์ด๋ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์๋์ ๊ฐ์ ๊ฒ์ ๋๋ค.
- ์ปจํ ์ด๋ ์ด๋ฏธ์ง ์์์ ๋์ํ๋ ํ๋ก๊ทธ๋จ์ ์ด๋ค ํธ์คํธ ํ๊ฒฝ์์ ๊ตฌ๋ํ๋ ์ง ์๊ด ์์ด ๋์์ ์์ํ ์ ์๋ค.
- ์๋ฒ์ ๋ฆฌ์์ค ์กฐ๊ฑด์ ๋ฐ๋ผ ํ ํธ์คํธ ํ๊ฒฝ์ ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์คํํ ์ ์์ผ๋ฏ๋ก ์๋ฒ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
ํ์ง๋ง ์ ์ทจ์ฝ์ ์ ์ ์ฉํ ๊ณต๊ฒฉ์๊ฐ ์ฌ๋ฌ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๊ฐ ๊ตฌ๋ ์ค์ธ ์ด๋ค ์ ์ฒด์ ํธ์คํธ ํ๊ฒฝ์ ์ ๊ทผํ๊ฒ ๋๋ค๋ฉด, ๋ค๋ฅธ ์ปจํ ์ด๋ ์ธ์คํด์ค๋ก ์ธํด ํธ์คํธ์ ์ ์ฅ๋์ด์๋ ๊ณ ๊ฐ์ ๋ฏผ๊ฐํ ์ ๋ณด, ๋๋ ๊ทธ ์ ์ฒด๊ฐ ํธ์คํธ์ ์ ์ฅํด๋ ๊ณ์ ์ ๋ณด๋ฅผ ํ๋ํ ์ ์๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
๊ฒ๋ค๊ฐ ๊ณต๊ฒฉ์๊ฐ ํธ์คํธ ์์คํ ์ ์ ๊ทผ ํ ๋ค๋ฅธ ์ถ๊ฐ ๊ณต๊ฒฉ์ ํ๊ฒ ๋ ์๋ ์์ฃ .
๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ ์ทจ์ฝ์ ์ ์ฐ๋ฆฌ๋ ์ด๋ป๊ฒ ๋์ฒํ ์ ์์๊น์?
๊ฐ์ฅ ํ์คํ ๋์ฒ ๋ฐฉ๋ฒ์ ํ์ฌ ์ฌ์ฉ ์ค์ธ ์ปจํ ์ด๋ ํด ๋ฒ์ ์ ํด๋น ์ทจ์ฝ์ ์ ๋ํด ๋ณด์๋ ๋ฒ์ ์ผ๋ก ์ต์ ์ ๋ฐ์ดํธ๋ฅผ ํ๋ ๊ฒ์ ๋๋ค. ํ์ฌ runc๋ฅผ ํฌํจํด ๋ํ์ ์ธ ์ปจํ ์ด๋ ํด์ ํด๋น ์ทจ์ฝ์ ๋ณด์ ์ ๋ฐ์ดํธ ํํฉ์ ์๋์ ๊ฐ์ต๋๋ค. (๊ด๋ จ ๋งํฌ)
๋ง์ฝ ์ฌ์ฉ ์ค์ธ ์ปจํ ์ด๋ ํด์ ๋ฐ๋ก ์ ๋ฐ์ดํธํ๊ธฐ ์ด๋ ค์ด ์ํฉ์ด๋ผ๋ฉด... ์ ๋ฐ์ดํธํ๊ธฐ ์ ๊น์ง๋ ์ ๋ขฐํ ์ ์๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ง ์ฌ์ฉํ๊ณ , ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๋น๋ ์์๋ ์ ๋ขฐํ ์ ์๋ Dockerfile ๋๋ ์ ๋ขฐํ ์ ์๋ Base Image๋ง ์ฌ์ฉํด์ผ ํ ๊ฒ์ ๋๋ค.
๐งพ๋ณด์์ทจ์ฝ์ , CVE๋?
์์์ ๊ฐ์ด ์ดํด๋ดค๋ CVE-2024-21626๋ผ๋ ์ด๋ฆ์ ๋ณด์ ์ทจ์ฝ์ ์ ํน์ ํ๋ ID์ธ๋ฐ์. CVE๋ Common Vulnerabilities and Exposures(๊ณตํต ์ทจ์ฝ์ ๋ฐ ์ต์คํฌ์ )์ ์ค์๋ง์ด๋ฉฐ, ์ ๋ณด ๋ณด์ ์ทจ์ฝ์ ํ์ค ์ฝ๋๋ฅผ ์๋ฏธํฉ๋๋ค.
์ด๋ฏธ ์๋ ค์ง ์ปดํจํฐ ๋ณด์ ์ทจ์ฝ์ ๊ณผ ์์คํ ๊ฒฐํจ์ ์ผ๋ จ๋ฒํธ๋ฅผ ๋ถ์ฌ ๋ฐ ์ ๋ฆฌํ์ฌ ๋์ค์ ๊ณต๊ฐํ ๊ฒ์ด CVE์ธ ๊ฒ์ด์ฃ .
CVE๋ ๊ณ ์ ํ ์ผ๋ จ ID ๋ฒํธ์ ์์ฝ ์ค๋ช , ๊ณต๊ฐ๋ ๊ด๋ จ ์ฐธ์กฐ ๋งํฌ๋ก ๊ตฌ์ฑ๋๋๋ฐ์. ์ด๋ ๊ฒ ์ ์๋ CVE๋ CVE ์น์ฌ์ดํธ(๋งํฌ)์์๋ ํ์ธํ ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด CVE๋ ์ ํ์ํ ๊น์?
๋จผ์ , ๊ณต๊ฐ๋ CVE๋ก ์ธํด ๋ฑ๋ก๋ ๋ณด์ ์ทจ์ฝ์ ์ ๊ฐ ์กฐ์ง ๋ฐ ๊ธฐ์ ์ด ์ธ์งํ๊ณ ์กฐ์ฌ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์กฐ์ง์ ๋ณด์์ฑ์ ๊ฐํํ ์ ์๋ค๋ ๊ธ์ ์ ์ธ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
๋ํ ๋ณด์ ๋ฌธ์ ์ ๋ํด ๋ ผ์ํ ๋์๋ CVE ID๋ฅผ ํ์ฉํ๋ฉด ๋ณด๋ค ํจ์จ์ ์ธ ์ํต๋ ๊ฐ๋ฅํ์ฃ .
CVE ID๋ ํ์ฌ ๊ธฐ์ ๊ณผ ๋ณด์ ์กฐ์ง ๋ฑ์์ ๋๋ฆฌ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํ์ฉํ๋ฉด ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ๋ณด๋ค ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ฐพ์ ์ ์๋ค๋ ์ฅ์ ๋ ์์ต๋๋ค.
CVE ๋ฑ๋ก์ ์ํํธ์จ์ด ๊ธฐ์ ์ด ์์ฒด์ ์ผ๋ก CVE ๋ฐ๊ธ๊ธฐ๊ด์ ์ฐ๋ฝํด์ CVE ๊ฐ์ ํ ๋น๋ฐ๋ ๋ฐฉ์๊ณผ, MITRE์ฌ์ ์ง์ ๋ณด์ ์ทจ์ฝ์ ์ ์์ฒญํด์ ํด๋น ์ทจ์ฝ์ ์ CVE ํ๋ณด๋ก ๋ฑ๋กํ๋ ๋ฐฉ์์ด ์กด์ฌํฉ๋๋ค.
๐ญ๋ง์น๋ฉฐ...
์ด๋ฒ ์์์ง์์ ์ปจํ ์ด๋ ๊ธฐ์ ๊ณผ ๊ด๋ จ๋ ์ต์ ๋ณด์ ์ทจ์ฝ์ ์ ๋ํด ๊ณต์ ๋๋ ธ๋๋ฐ์. ์ด๋ฏธ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ปจํ ์ด๋ ์์ง์์ ๋ฐ๊ฒฌ๋ ์ทจ์ฝ์ ์ธ ๋งํผ, ํ์ฌ ์์์ ์ธ๊ธํ ๊ฒ ์ธ์๋ runc ๊ธฐ๋ฐ์ ๋ค๋ฅธ ์ปจํ ์ด๋ ํด์ ์ง์ ํ์ฉํ์ฌ ์์คํ ์ ์ด์ํ์๋ ๋ถ๋ค์ด๋ผ๋ฉด ํ๋ฒ ์ฒดํฌํด๋ณด๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
ํน์ ์ด๋ฒ ๋ด์ฉ ๊ด๋ จํด์ ๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ์๋ ๋ฉ์ผ๋ฆฌ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.๐
๊ทธ๋ผ, ๋ค์ ์์์ง์์ ๋ณด๋ค ์์ฐจ๊ณ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ผ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ๐บ
๐References
Leaky Vessels: Docker and runc container breakout vulnerabilities (January 2024)
Docker Security Advisory: Multiple Vulnerabilities in runc, BuildKit, and Moby
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์