๋ผ์ฐํฐ๋ ์ '๋ด ๊ด๋ฆฌ์'์ ์์ฒญ์ ์์ฌํ์ง ์์์๊น — ์์ค์ฝ IOS CSRF(CVE-2008-4128)๊ฐ ๋จ๊ธด ๊ตํ
2008๋ , ์ฌ๋ฌด์ค ๊ตฌ์์์ ์กฐ์ฉํ ๋์๊ฐ๋ ์์ค์ฝ ๋ผ์ฐํฐ ์ด์ผ๊ธฐ๋ถํฐ ํด๋ด. ๋น์ ๋ง์ ์ฅ๋น๋ ๋ธ๋ผ์ฐ์ ๋ก ์ ์ํด ์ค์ ์ ๋ง์ง๋ ์น ๊ด๋ฆฌ ์ธํฐํ์ด์ค๋ฅผ ์ผ๋ ์ฑ ๋ฐฉ์น๋ผ ์์์. ๊ทธ๋ฐ๋ฐ ์ด ํธ๋ฆฌํ ์ฐฝ๊ตฌ๊ฐ, ๊ด๋ฆฌ์๊ฐ ์๋ชป๋ ์นํ์ด์ง ํ๋๋ฅผ ์ฌ๋ ์๊ฐ ๊ณต๊ฒฉ์์ ์๋ฐ์ด ๋์ด๋ฒ๋ฆด ์ ์๋ค๋ ์ฌ์ค์ด ๋๋ฌ๋ฌ์. ๊ทธ๊ฒ ๋ฐ๋ก CVE-2008-4128, ์์ค์ฝ IOS์ ํฌ๋ก์ค์ฌ์ดํธ ์์ฒญ์์กฐ(CSRF) ์ทจ์ฝ์ ์.
- ๋ก๊ทธ์ธ๋ ๊ด๋ฆฌ์์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์์ฌ, ๋ผ์ฐํฐ ์น ๊ด๋ฆฌ ์ธํฐํ์ด์ค๋ก ์์กฐ๋ ์ค์ ์์ฒญ์ ๋์ ๋ณด๋ด๊ฒ ๋ง๋๋ CSRF ๊ฒฐํจ.
- ๊ณต๊ฒฉ์ ์ทจ์ฝ์ ์ด ์๋๋ผ '๊ด๋ฆฌ์์ ์ ๋ขฐ๋ฐ๋ ์ธ์ '์ ๋น๋ ค ์ฐ๋ ๋ฐฉ์์ด๋ผ, ๋น๋ฐ๋ฒํธ๋ฅผ ๋ชฐ๋ผ๋ ์ฑ๋ฆฝํจ.
- ๊ฐ์ฅ ํ์คํ ์ํ๋ ์ ์ฐ๋ HTTP ๊ด๋ฆฌ ์๋ฒ๋ฅผ ๋๊ณ , ๊ผญ ์จ์ผ ํ๋ฉด ์ ๊ทผ์ IP·์ธ์ฆ์ผ๋ก ์ขํ๋ ๊ฒ.
CSRF๊ฐ ๋ฌด์์ด ์ง์ง ์ด์
CSRF๋ "๋ค๊ฐ ์ด๋ฏธ ๋ก๊ทธ์ธํด ๋์ผ๋, ๊ทธ ๊ถํ ์ข ๋น๋ฆฌ์"๋ ๊ณต๊ฒฉ์. ๋ผ์ฐํฐ ์ ์ฅ์์ ์์ฒญ์ด ๊ด๋ฆฌ์ ๋ธ๋ผ์ฐ์ ์์ ์ ์์ ์ผ๋ก ๋์ฐฉํ๋ฉด, ๊ทธ ์์ฒญ์ด ๊ด๋ฆฌ์ ๋ณธ์ธ์ ์๋์ธ์ง ์๋์ง๋ ๊ตฌ๋ถํ์ง ๋ชปํจ. ์ธ์ ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ ์ธ์ฆ์ ๋ณด๊ฐ ์๋์ผ๋ก ํจ๊ป ์ค๋ ค ๋๊ฐ๊ธฐ ๋๋ฌธ์. ๊ณต๊ฒฉ์๋ ๊ทธ์ ๊ด๋ฆฌ์๊ฐ ์ด์ด๋ณผ ๋งํ ํ์ด์ง์ ๋ผ์ฐํฐ ์ฃผ์๋ก ํฅํ๋ ์จ์ ์์ฒญ์ ์ฌ์ด๋๊ธฐ๋ง ํ๋ฉด ๋จ. ๊ด๋ฆฌ์๊ฐ ๊ทธ ํ์ด์ง๋ฅผ ์ฌ๋ ์๊ฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ์์์ ๋ผ์ฐํฐ์ '๊ด๋ฆฌ์ ๋ช ์์' ์ค์ ๋ณ๊ฒฝ ์์ฒญ์ ๋์ง๋ ๊ตฌ์กฐ์.
์ฌ๊ธฐ์ ํต์ฌ์, ๋น๋ฐ๋ฒํธ๋ฅผ ํ์น ํ์๊ฐ ์๋ค๋ ์ ์. ์ด๋ฏธ ์ธ์ฆ๋ ์ธ์ ์ ์์์ ๋ชฐ๋ ์ฐ๋ ๊ฑฐ๋ผ ๋ฌด์ฐจ๋ณ ๋์ ๋, ์ทจ์ฝํ ํฌ๋ฆฝํ ํด๋ ๋ ํ์ ์์. ๊ทธ๋์ ๊ฐ๋ ์ ๋จ์ํ๋ฐ ํ๊ธ์ ํผ. ๋ผ์ฐํฐ ์ค์ ์ด ๋ฐ๋๋ฉด ํธ๋ํฝ ์ฐํ, ๊ด๋ฆฌ ๊ณ์ ์ถ๊ฐ, ์ ๊ทผ์ ์ด ๋ฌด๋ ฅํ ๊ฐ์ ํ์ ํผํด๋ก ๋ฒ์ง ์ ์์ผ๋๊น.
๋ฐฉ์ด์·ํ์ต์ ๊ด์ ์์ ์ด๋ป๊ฒ ๋ง๋
์ด ์ทจ์ฝ์ ์ ํน์ ๋ฒ์ ํจ์น๋ก๋ง ๋๋๋ ๋ฌธ์ ๊ฐ ์๋๋ผ, ๊ด๋ฆฌ ์ธํฐํ์ด์ค๋ฅผ ์ผ๋ง๋ ์ข๊ฒ ์ฌ๋๊ฐ์ ๋ฌธ์ ์ด๊ธฐ๋ ํจ. ๊ทธ๋์ ์ค๋๋ CVE์ง๋ง ์ง๊ธ ์ฅ๋น ์ ๊ฒ์๋ ๊ทธ๋๋ก ํตํ๋ ์์น์ ์ ๋ฆฌํด๋ด.
- ์ ์ฐ๋ฉด ๋๋ค. ์น์ผ๋ก ๊ด๋ฆฌํ์ง ์๋๋ค๋ฉด HTTP·HTTPS ๊ด๋ฆฌ ์๋ฒ ์์ฒด๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ ๊ฐ์ฅ ๊น๋ํจ. ๊ณต๊ฒฉ ํ๋ฉด์ด ์์ ์ฌ๋ผ์ง.
- ๊ผญ ์จ์ผ ํ๋ฉด ์ ๊ทผ์ ์ขํ๋ค. ๊ด๋ฆฌ ์ธํฐํ์ด์ค๋ ์ด์์ IP ๋์ญ์์๋ง ๋ฟ๋๋ก ์ ๊ทผ์ ์ด ๋ชฉ๋ก(ACL)์ผ๋ก ๋ฌถ๊ณ , ์ธํฐ๋ท ๋ ธ์ถ์ ์์น์ ์ผ๋ก ๊ธ์ง.
- ์ธ์ฆ์ ๊ฐ์ ํ๋ค. ์ธ์ฆ ์๋ ๊ด๋ฆฌ ํ์ด์ง๋ CSRF์ ์ข์ ๋จน์๊ฐ์. ๋ณ๋ ์ธ์ฆ์ ๊ฑธ๊ณ , ๊ฐ๋ฅํ๋ฉด ๊ด๋ฆฌ ํธ๋ํฝ์ ์ํธํ ์ฑ๋๋ก๋ง ๋ฐ๊ฒ ํจ.
- ์ธ์ ์ ์ค๋ ์ด๋ ค๋์ง ์๋๋ค. ๊ด๋ฆฌ ์์ ์ด ๋๋๋ฉด ๋ก๊ทธ์์ํ๊ณ , ๊ด๋ฆฌ์์ฉ ๋ธ๋ผ์ฐ์ ๋ก๋ ์ธ๋ถ ์น์ํ์ ์์ง ์๋ ์ต๊ด์ด ์์ธ๋ก ํฐ ๋ฐฉ์ด์.
ํ์ง๋ '์ค์ ์ด ๋๋ ๋ชจ๋ฅด๊ฒ ๋ฐ๋์๋'์์ ์ถ๋ฐ
CSRF๋ ์ ์ ์ธ์ ์ ํ๋ด ๋ด๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ๋ง ๋ด์ ํฐ๊ฐ ์ ์ ๋จ. ๊ทธ๋์ ๋ฐฉ์ด์๋ ๊ฒฐ๊ณผ์ ์ด์์ ๋ถ์ก์์ผ ํจ. ๊ฐ์ธ์ ์ผ๋ก๋ ๋ค์ ์ธ ๊ฐ์ง๋ฅผ ๊ฐ์ด ๋ณด๊ธธ ์ถ์ฒํจ.
- ์ค์ ๋ณ๊ฒฝ ์ด๋ ฅ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ค๋ ์ท ๋ ์ ์น์ธ๋์ง ์์ ๋ณ๊ฒฝ์ด ์๋์ง ๋น๊ต. ๊ณ์ ์ถ๊ฐ, ACL ์์ , ๋ผ์ฐํ ๋ณ๊ฒฝ์ ํนํ ๋์ฌ๊ฒจ๋ด.
- ๊ด๋ฆฌ ์ธํฐํ์ด์ค๋ก ๋ค์ด์ค๋ ์์ฒญ ์ค, ์์ ๋ฐ์ ์ถ์ฒ๋ ์ด์ํ ์ฐธ์กฐ(Referer)๋ฅผ ๊ฐ์ง ์ ๊ทผ์ด ์๋์ง ์ ๊ฒ.
- ๊ด๋ฆฌ์ ๋จ๋ง๊ณผ ๋ผ์ฐํฐ ์ฌ์ด ํธ๋ํฝ์์, ์ฌ๋์ด ์ง์ ๋ง์ง์ง ์์๋๋ฐ ๋ฐ์ํ ์ค์ ์์ฒญ์ด ์๋์ง ์๊ด๋ถ์.
๊ณต๊ฒฉ ์ฌํ์ ๊ตณ์ด ์์ ์ฅ์ด๋ณผ ํ์๋ ์์. ์๋ฆฌ๋ง ์ดํดํ๋ฉด ๋จ. "๋ก๊ทธ์ธ๋ ๊ด๋ฆฌ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ณง ๋ผ์ฐํฐ์ ์ ๋ขฐ ํต๋ก๊ฐ ๋๋ค"๋ ๋ฌธ์ฅ ํ๋๊ฐ ์ด CVE์ ์ ๋ถ์ด๊ณ , ๊ทธ๊ฑธ ๋๋ ๊ฒ ๋ฐฉ์ด์ ํต์ฌ์. ์ค๋๋ ๋ฒํธ๋ผ๊ณ ๋๊ธฐ์ง ๋ง๊ณ , ์ค๋ ๊ด๋ฆฌํ๋ ์ฅ๋น์ ์น ๊ด๋ฆฌ ์๋ฒ๊ฐ ์ผ์ ธ ์๋์ง๋ถํฐ ๊ฐ์ด ํ์ธํด๋ณด์์. ์ฌ๋ฌ๋ถ ์ฅ๋น๋ ์ง๊ธ ์ด๋ IP ๋์ญ๊น์ง ๊ด๋ฆฌ ํ์ด์ง๋ฅผ ์ด์ด๋๊ณ ์๋์? ์ ๊ฒํ๊ณ ๋๋ฉด ๋๊ธ๋ก ํ๊ธฐ ๋จ๊ฒจ์ค๋ ์ข๊ฒ ์.
# ๋๊ธ