"๋ฑ๋กํ ๋ ๊ณต์ธ IP์๋๋ฐ์" — MLflow ์นํ ์ด ๋จ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋์ ์ฝ์ด์ค ์ฌ๊ฑด
CVE ๋ฒํธ๊ฐ ๋ฐฐ์ ๋๊ณ ๋ช ์๊ฐ ๋ง์ ์ ์ธ๊ณ ํ๋ํ ์ผ์์ ์ค์บ์ด ์กํ๋ค. ํ์ ์ ์ธํฐ๋ท์ ๊ทธ๋๋ก ์ด๋ ค ์๋ MLflow ํธ๋ํน ์๋ฒ์๊ณ , ๊ณต๊ฒฉ์๋ค์ด ๋ ธ๋ฆฐ ๊ฑด ๋ชจ๋ธ๋ ์คํ ๊ธฐ๋ก๋ ์๋์์. ๊ทธ ์๋ฒ๊ฐ ์ฌ๋ผํ ์๋ ํด๋ผ์ฐ๋ ์ธ์คํด์ค์ ์์ ์๊ฒฉ์ฆ๋ช ์ด์๋ค.
- MLflow ์นํ
ํ
์คํธ ์๋ํฌ์ธํธ(
POST /api/2.0/mlflow/webhooks/{id}/test)๊ฐ ์ธ์ฆ ์์ด ํธ์ถ ๊ฐ๋ฅํ๊ณ , ๋ฑ๋ก ๋ ๊ฒ์ฆํ ์ฃผ์๋ฅผ ๋ฆฌ๋ค์ด๋ ํธ ์ดํ ๋ค์ ํ์ธํ์ง ์์ ์ (ๅ จ)๋ด์ฉ ์ด๋ํ SSRF๊ฐ ์ฑ๋ฆฝํจ. CVSS 9.3. - 3.15.0 ๋ฏธ๋ง ์ ๋ฒ์ ์ด ์ํฅ๊ถ. 3.15.0์ ๊ฒ์ฆ๋ ์ฃผ์๋ฅผ ์ฐ๊ฒฐ ์์ ์ ๊ณ ์ ํ๋ ๋ฐฉ์์ผ๋ก ์์ ๋จ.
- ์ด๋ฏธ ์ค์ ์ ์ฉ ์ค์ด๋ฉฐ KEV ๋ชฉ๋ก์๋ ๋ฑ์ฌ๋จ. ํจ์น์ ํจ๊ป ์์๋ฐ์ด๋ ํต์ ·IMDSv2 ๊ฐ์ ๊ฐ ๊ฐ์ด ๊ฐ์ผ ํจ.
1. ์ด๋๊ฐ ์ด๋ ธ๋
MLflow์๋ ์คํ์ด๋ ๋ชจ๋ธ ๋ฑ๋ก ๊ฐ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ธ๋ถ URL๋ก ์๋ฆผ์ ์๋ ์นํ
๊ธฐ๋ฅ์ด ์์. ์ฌ์ฉ์๊ฐ URL์ ๋ฑ๋กํ๋ฉด _validate_webhook_url์ด ๊ทธ ์ฃผ์๋ฅผ ๊ฒ์ฌํด์ ์ฌ์ค ๋์ญ์ด๋ ๋ฃจํ๋ฐฑ์ผ๋ก ํฅํ์ง ์๋์ง ํ์ธํจ. ์ฌ๊ธฐ๊น์ง๋ ๊ต๊ณผ์์ ์ธ SSRF ๋ฐฉ์ด์.
๋ฌธ์ ๋ ๊ทธ ๋ค์. ์นํ ์ด ์ค์ ๋ก ๋ฐ์ฌ๋ ๋ HTTP ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ๊ทธ๋ฅ ๋ฐ๋ผ๊ฐ. ๋ฑ๋ก ์์ ์ ๋ฉ์ฉกํ ๊ณต์ธ IP๋ฅผ ๋ฐํํ๋ ์๋ฒ๊ฐ, ํธ์ถ ์์ ์ 302๋ก ๋ด๋ถ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋ฉด ๊ฒ์ฆ์ ์ด๋ฏธ ์ง๋๊ฐ ๋ค๋ผ ์๋ฌด๋ ๋ง์ง ์์. ์ ํ์ ์ธ TOCTOU(๊ฒ์ฌ ์์ ๊ณผ ์ฌ์ฉ ์์ ์ ๋ถ์ผ์น) ๊ตฌ์กฐ์. ๊ฐ์ ์๋ฆฌ๋ก DNS ๋ฆฌ๋ฐ์ธ๋ฉ — ์งง์ TTL๋ก ๊ฐ์ ๋๋ฉ์ธ์ ์๋ต์ ๊ณต์ธ IP์์ ์ฌ์ค IP๋ก ๋ฐ๊ฟ์น๊ธฐํ๋ ๋ฐฉ์ — ๋ ํตํจ.
๊ฒฐ์ ํ๋ ์ ๊ทผ ํต์ . ์นํ ์ ํ ์คํธํ๋ ์๋ํฌ์ธํธ๊ฐ ์ธ์ฆ์ ์๊ตฌํ์ง ์์์, ์๋ฒ ์ฃผ์๋ง ์๋ฉด ๋๊ตฌ๋ "์ด ์นํ ํ๋ฒ ์ด๋ด"๋ฅผ ์ํฌ ์ ์์์. ๊ฒ๋ค๊ฐ ์๋ต ๋ณธ๋ฌธ์ด ํธ์ถ์์๊ฒ ๋๋์์ค๋ full-read SSRF๋ผ, ๋ด๋ถ ์๋น์ค๋ฅผ ๋๋๋ฆฌ๋ ๋ฐ์ ๋๋์ง ์๊ณ ์ฝ์ด๋ธ ๋ด์ฉ๊น์ง ํ์๋จ.
2. ๊ณต๊ฒฉ์๊ฐ ์ค์ ๋ก ๊ฐ์ ธ๊ฐ ๊ฒ
๊ตฌ์ฒด์ ์ธ ์์ฒญ ํํ๋ ๊ตณ์ด ์ ์ง ์๊ฒ ์. ๋ฐฉ์ด์ ์ ์ฅ์์ ์ค์ํ ๊ฑด ๋์ฐฉ์ง์. ํด๋ผ์ฐ๋ ์ธ์คํด์ค๋ ๋๋ถ๋ถ ๋งํฌ๋ก์ปฌ ์ฃผ์์ ๋ฉํ๋ฐ์ดํฐ ์๋น์ค๋ฅผ ํตํด ์๊ธฐ ์ญํ (role) ์๊ฒฉ์ฆ๋ช ์ ๋ฐ์์ค๋๋ฐ, SSRF๋ก ๊ทธ ๊ฒฝ๋ก๋ฅผ ๋์ ์ฝ๊ฒ ๋ง๋ค๋ฉด AWS IAM ์์ ํ ํฐ, GCP ์๋น์ค ๊ณ์ ํค, Azure ๊ด๋ฆฌ ID ํ ํฐ์ด ํต์งธ๋ก ๋ ธ์ถ๋จ.
์ด ์๊ฒฉ์ฆ๋ช ์ด ์ ๋ฌด์์ด๊ฐ ํ๋ฉด, ๊ทธ ๋ค๋ถํฐ๋ ์ทจ์ฝ์ ์ด ํ์ ์์ด์ง๊ธฐ ๋๋ฌธ์. ์ ์์ ์ธ API ํธ์ถ๋ก ์คํ ๋ฆฌ์ง ๋ฒํท์ ํ๊ณ , ์ํฌ๋ฆฟ ๋งค๋์ ๋ฅผ ์ด๊ณ , ๋ค๋ฅธ ์ธ์คํด์ค๋ก ์๊ฑธ์์งํ๋ ๋จ๊ณ๋ก ๋์ด๊ฐ. ์ค์ ๋ก ์ด๊ธฐ ์นจํฌ ๋ธ๋ก์ปค๋ค์ด ์๋ํ ์ค์บ๋๋ก ๋ ธ์ถ ์๋ฒ๋ฅผ ๊ธ์ด ์๊ฒฉ์ฆ๋ช ์ ์์งํ๊ณ ์๋ค๋ ๊ด์ธก์ด ์ฌ๋ฌ ๊ณณ์์ ๋์์.
3. ํ์ง — ๋ก๊ทธ ์ด๋๋ฅผ ๋ณผ ๊ฒ์ธ๊ฐ
- ์ ํ๋ฆฌ์ผ์ด์
๋ก๊ทธ:
/api/2.0/mlflow/webhooks๊ฒฝ๋ก์ ๋ํ ๋ฑ๋ก ์์ฒญ๊ณผ, ๊ทธ ์งํ ์ด์ด์ง๋/testํธ์ถ. ์ฌ๋์ด ์ฐ๋ ํจํด์ด๋ฉด ๋๋ฌธ๋๋ฌธ์ด์ง๋ง ์ค์บ๋๋ ์ด ๋จ์๋ก ๋ฐ๋ณตํจ. - ์์๋ฐ์ด๋ ํธ๋ํฝ: MLflow ์๋ฒ์์ 169.254.169.254, metadata ๊ด๋ จ ๋ด๋ถ ํธ์คํธ๋ช , 127.0.0.1, RFC1918 ์ฌ์ค ๋์ญ์ผ๋ก ๋๊ฐ๋ HTTP ์์ฒญ. ์ ์ ์ด์์์๋ ์นํ ์ด ๋ด๋ถ๋ฅผ ํฅํ ์ด์ ๊ฐ ๊ฑฐ์ ์์.
- ๋ฆฌ๋ค์ด๋ ํธ ์ฒด์ธ: 3xx ์๋ต์ ๋ฐ์ ์งํ ๋ชฉ์ ์ง๊ฐ ๊ณต์ธ IP์์ ์ฌ์ค IP๋ก ๋ฐ๋๋ ํ๋ฆ. ํ๋ก์ ๋ก๊ทธ๊ฐ ์์ผ๋ฉด ์ฌ๊ธฐ๊ฐ ์ ์ผ ์ ๋ช ํจ.
- DNS: ๋์ผ ๋๋ฉ์ธ์ด ์งง์ ๊ฐ๊ฒฉ์ผ๋ก ๊ณต์ธ → ์ฌ์ค IP๋ก ์๋ต์ ๋ฐ๊พธ๋ ๋ฆฌ์กธ๋ธ. ๋ฆฌ๋ฐ์ธ๋ฉ์ ์ง๋ฌธ ๊ฐ์ ๊ฒ์.
- ํด๋ผ์ฐ๋ ๊ฐ์ฌ ๋ก๊ทธ: ์ธ์คํด์ค ์ญํ ์๊ฒฉ์ฆ๋ช ์ด ํด๋น ์ธ์คํด์ค๊ฐ ์๋ IP์์ ์ฌ์ฉ๋ ํ์ . AWS๋ผ๋ฉด GuardDuty์ ์๊ฒฉ์ฆ๋ช ์ธ๋ถ ์ ์ถ ๊ณ์ด ํ์ง๊ฐ ์ฌ๊ธฐ์ ๊ฑธ๋ฆผ. ์นจํด ํ์ธ์ฉ์ผ๋ก๋ ์ด๊ฒ ๊ฐ์ฅ ํ์คํ ์ ํธ์.
4. ์ํ — ์์๋๋ก
- 3.15.0 ์ด์์ผ๋ก ์ฌ๋ฆฐ๋ค. ๊ฒ์ฆํ ์ฃผ์๋ฅผ ์ฐ๊ฒฐ ์์ ์ ๊ณ ์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ๋์์. KEV ๋ฑ์ฌ ํญ๋ชฉ์ด๋ผ ๊ณต๊ณต๊ธฐ๊ด์ ๊ธฐํ๊น์ง ๋ถ์ด ์๊ณ , ๋ฏผ๊ฐ๋ ๊ทธ ๊ธฐ์ค์ ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๋ ๊ฒ ์์ ํจ.
- ํธ๋ํน ์๋ฒ๋ฅผ ์ธํฐ๋ท์์ ๋ด๋ฆฐ๋ค. MLflow๋ ์๋ ์ธ์ฆ์ด ์์ ๋๊ตฌ์. ๋ฆฌ๋ฒ์ค ํ๋ก์์ ์ธ์ฆ์ ๊ฑธ๊ฑฐ๋, VPN·์ฌ์ค๋ง ๋ค๋ก ๋ฃ๋ ๊ฒ ์ ์์.
- egress ๊ธฐ๋ณธ ์ฐจ๋จ. ์นํ ์ด ๋๊ฐ ๊ณณ์ด ์ ํด์ ธ ์๋ค๋ฉด allowlist๋ก ๋ฌถ์ด๋๋ฉด ๋จ. SSRF๋ ๋๊ฐ๋ ๊ธธ์ด ๋งํ๋ฉด ์๋น ๋ถ๋ถ ๋ฌด๋ ฅํ๋จ.
- IMDSv2 ๊ฐ์ + hop limit 1. ํ ํฐ ๊ธฐ๋ฐ ์์ฒญ๋ง ๋ฐ๊ฒ ํ๊ณ ํ ์๋ฅผ ์ ํํ๋ฉด, ๋จ์ GETํ SSRF๋ก๋ ๋ฉํ๋ฐ์ดํฐ์ ๋ฟ์ง ๋ชปํจ. ๊ฐ์ธ์ ์ผ๋ก๋ ํจ์น๋ณด๋ค ์ด์ชฝ์ ๋จผ์ ํ์ธํด๋ณด๊ธธ ์ถ์ฒํจ — ๋ค์๋ฒ SSRF๊น์ง ๊ฐ์ด ๋ง์์ฃผ๋ ์ค์ ์ด๋ผ์.
- ๊ถํ ์ต์ํ์ ํ์ . ์ธ์คํด์ค ์ญํ ์ ๋ถ์ ์ ์ฑ ์ด ๋์ผ๋ฉด SSRF ํ๋๊ฐ ๊ณ์ ์ฅ์ ์ผ๋ก ๋ฒ์ง. ๋ ธ์ถ ์ ํฉ์ด ์์ผ๋ฉด ์๊ฒฉ์ฆ๋ช ํ์ ์ ์ ํ์ด ์๋๋ผ ํ์์.
5. ๋จ๋ ์ด์ผ๊ธฐ
์ด๋ฒ ๊ฑด์ ๋ณด๋ฉด์ ๊ณ์ ๊ฑธ๋ ธ๋ ๊ฑด, ๋ฐฉ์ด ์ฝ๋๊ฐ ์์ด์ ๋ซ๋ฆฐ ๊ฒ ์๋๋ผ ์๋ ๋ฐฉ์ด ์ฝ๋๊ฐ ํ ๋ฐ์ ์ผ์ฐ ์คํ๋ผ์ ๋ซ๋ ธ๋ค๋ ์ ์ด์๋ค. ๊ฒ์ฆ์ ๋ถ๋ช ํ ํ๋๋ฐ, ๊ฒ์ฆํ ๊ฐ๊ณผ ์ค์ ๋ก ์ฐ๊ฒฐํ ๊ฐ์ด ๋ฌ๋๋ ๊ฑฐ์ฃ . URL ํํฐ๋ง์ SSRF ๋ฐฉ์ด์ ์ ๋ฐ๋ฐ์ ์ ๋๊ณ , ๋๋จธ์ง ์ ๋ฐ์ "์ค์ ๋ก ์ฐ๊ฒฐํ๋ ๊ทธ ์๊ฐ"์ ๊ฑธ์ด์ผ ํ๋ค๋ ๊ฒ ์ด CVE๊ฐ ๋จ๊ธด ๊ตํ์ธ ๊ฒ ๊ฐ๋ค.
MLOps ์คํ์ ์คํ ํธ์๋ฅผ ์ํด ๋ง๋ค์ด์ง ๋๊ตฌ๊ฐ ์ด๋์ ํ๋ก๋์ ๊ฒฝ๊ณ์ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๋ณด๋, ์ด๋ฐ ๊ตฌ๋ฉ์ด ์ ๋ํ ํฌ๊ฒ ๋ฒ์ง. ์ฌ๋ด์ MLflow๋ฅผ ๊ตด๋ฆฌ๊ณ ๊ณ์ ๋ค๋ฉด ์ค๋์ ๋ฒ์ ํ์ธ์ด๋ ์ธ๋ถ ๋ ธ์ถ ์ฌ๋ถ, ์ด ๋ ๊ฐ์ง๋ง์ด๋ผ๋ ๊ฐ์ด ์ ๊ฒํด๋ณด์์. ํ์ธํด๋ณด๊ณ ์ ๋งคํ ๋ถ๋ถ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์, ๊ฐ์ด ์ฐพ์๋ด ์๋ค.
# ๋๊ธ