์ฒจ๋ถํ์ผ๋ ๋งํฌ๋ ์๋์๋ค — Zimbra ์น๋ฉ์ผ์์ '์ด์ด๋ณธ ๋ฉ์ผ'์ด ์ฝ๋๋ฅผ ์คํ์ํค๋ ์๋ฆฌ์ ์ฐจ๋จ๋ฒ
์ฌ๋ด ๋ฉ์ผ ๊ด๋ฆฌ์ ์ ์ฅ์์ ๊ฐ์ฅ ๋ฑ๊ณจ์ด ์๋ํ ๋ฌธ์ฅ์ด ํ๋ ์์. "์ฌ์ฉ์๊ฐ ์๋ฌด๊ฒ๋ ๋๋ฅด์ง ์์๋๋ฐ ๊ณ์ ์ด ์ด์ํ๊ฒ ์์ง์๋ค." ์ด๋ฒ Zimbra ์ฌ์์ด ๋ฑ ๊ทธ ์ ํ์. ์ ์ฑ ์ฒจ๋ถํ์ผ์ ์คํํ ๊ฒ๋, ๋์ ๋งํฌ๋ฅผ ํด๋ฆญํ ๊ฒ๋ ์๋๊ณ , ๊ทธ๋ฅ ๋ฐ์ ๋ฉ์ผ ํ ํต์ ์น๋ฉ์ผ ํ๋ฉด์์ ์ด์ด๋ดค์ ๋ฟ์ธ๋ฐ ๊ณต๊ฒฉ์๊ฐ ์ฌ์ด๋ ์คํฌ๋ฆฝํธ๊ฐ ํผํด์์ ๋ก๊ทธ์ธ ์ธ์ ์์์ ๊ทธ๋๋ก ์คํ๋ผ๋ฒ๋ฆฌ๋ ๊ตฌ์กฐ๋ผ ๊ทธ๋ผ.
- ๊ณต๊ฒฉ์๊ฐ ํน์ํ๊ฒ ์กฐ์ํ ๋ฉ์ผ์ ๋ณด๋ด๋ฉด, ํผํด์๊ฐ ๊ทธ ๋ฉ์ผ์ ์น๋ฉ์ผ์์ ์ด๋ํ๋ ์๊ฐ ์คํฌ๋ฆฝํธ๊ฐ ํผํด์ ๊ถํ์ผ๋ก ์คํ๋๋ ์ ์ฅํ XSS ๊ณ์ด ๊ฒฐํจ์.
- ์ธ์ ์ฟ ํค·๋ฉ์ผ ๋ด์ฉ ํ์ทจ, ์๋ ์ ๋ฌ ๊ท์น ์ฝ์ , ๋์ ๋ฉ์ผ ๋ฐ์ก ๊ฐ์ ์ธ์ ๊ธฐ๋ฐ ์กฐ์์ด ๊ฐ๋ฅํด ๊ณ์ ํ๋๊ฐ ์กฐ์ง ์ ์ฒด๋ก ๋ฒ์ง ์ ์์.
- ๋ฐฉ์ด์ ํต์ฌ์ ๋ฒค๋ ํจ์น ์ ์ฉ + HTML ๋ฉ์ผ ๋ ๋๋ง ์ ์ฑ ·CSP ๊ฐํ + ๋น์ ์ ์ ๋ฌ๊ท์น·๋ก๊ทธ์ธ ์ด์์งํ ํ์ง ์ธ ๊ฐ๋์.
๋ฌด์์ด ๋ฌธ์ ์ธ๊ฐ — '๋ด์ฉ'์ด '์ฝ๋'๋ก ๋๊ฐํ๋ ์ง์
์น๋ฉ์ผ์ ๊ฒฐ๊ตญ ๋ธ๋ผ์ฐ์ ์์์ ๋๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์. ๋ฐ์ ๋ฉ์ผ์ ์ ๋ชฉ·๋ณธ๋ฌธ·๋ฐ์ ์ ์ด๋ฆ·์ฌ์ง์ด ์บ๋ฆฐ๋ ์ด๋(ICS) ๊ฐ์ ๋ถ๊ฐ ๋ฐ์ดํฐ๊น์ง ์ ๋ถ ํ๋ฉด์ ๊ทธ๋ ค์ฃผ๋ ค๋ฉด, ๊ทธ ๊ฐ๋ค์ HTML๋ก ๋ณํํด ๋ ๋๋งํ๋ ๊ณผ์ ์ ๊ฑฐ์นจ. ์ด ๊ณผ์ ์์ '์ฌ์ฉ์๊ฐ ๋ณด๋ผ๊ณ ๋ง๋ ํ ์คํธ'์ '๋ธ๋ผ์ฐ์ ๊ฐ ์คํํ๋ ์ฝ๋'์ ๊ฒฝ๊ณ๋ฅผ ์ ๋๋ก ์งํค์ง ๋ชปํ๋ฉด ๋ฌธ์ ๊ฐ ํฐ์ง.
๊ณต๊ฒฉ์๋ ๋ฉ์ผ์ ํน์ ํ๋์ ์ ์ ๋ฌธ์์ด์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค์ ๋ก๋ ์คํฌ๋ฆฝํธ๋ก ํด์๋๋ ์กฐ๊ฐ์ ๋ผ์๋ฃ์. ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ด ๊ฐ์ ํ๋ฉด์ ์ถ๋ ฅํ ๋ ์ด์ค์ผ์ดํ(๋ฌดํดํ) ์์ด ๊ทธ๋๋ก HTML์ ์ฝ์ ํ๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ๊ทธ๊ฑธ '๊ทธ๋ฅ ๊ธ์'๊ฐ ์๋๋ผ '์คํํ ๋ช ๋ น'์ผ๋ก ๋ฐ์๋ค์. ์ด๊ฒ ์ ์ฅํ XSS(Stored Cross-Site Scripting)์ ์ ํ์ด๊ณ , ์ด๋ฒ Zimbra ๊ฑด๋ ๊ฐ์ ๊ณ์ด๋ก ๋ณด๋ฉด ๋จ.
์ ์ธ์ ์์์ ์คํ๋๋ ๊ฒ ์น๋ช ์ ์ธ๊ฐ
์ฌ๊ธฐ์ ์ค์ํ ๊ฑด '๋๊ตฌ์ ๊ถํ์ผ๋ก ๋๋๊ฐ'์. ์ด ์คํฌ๋ฆฝํธ๋ ์ธ๋ถ ์๋ฒ๊ฐ ์๋๋ผ ์ด๋ฏธ ๋ก๊ทธ์ธํด ์๋ ํผํด์์ ๋ธ๋ผ์ฐ์ ·์ธ์ ๋ฌธ๋งฅ ์์์ ์คํ๋จ. ๊ทธ๋์ ํผํด์๊ฐ ๊ฐ์ง ๊ถํ์ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์. ๊ฐ๋ ์์ค์์ ๋ฒ์ด์ง ์ ์๋ ์ผ์ ์ ๋ฆฌํ๋ฉด ๋๋ต ์ด๋ผ.
- ์ธ์ ์ฟ ํค·ํ ํฐ์ ๋นผ๋ด ๊ณต๊ฒฉ์ ๋ธ๋ผ์ฐ์ ์์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ๊ทธ๋๋ก ์ฌํ(์ธ์ ํ์ทจ)
- ๋ฐ์ํธ์งํจ ๋ด์ฉ์ ์กฐ์ฉํ ๊ธ์ด ์ธ๋ถ๋ก ์ ์ก
- ๋ฉ์ผ ์๋ ์ ๋ฌ ๊ท์น์ ๋ชฐ๋ ์ถ๊ฐํด, ์์ผ๋ก ์ค๋ ๋ฉ์ผ์ ์ง์์ ์ผ๋ก ๋ณต์ฌ
- ํผํด์ ์ด๋ฆ์ผ๋ก ์กฐ์ง ๋ด๋ถ์ ๋ค์ ์ ์ฑ ๋ฉ์ผ์ ๋ฟ๋ ค ํ์ฐ(์ ํํ๋ก ๋ฒ์ง ์ ์์)
๊ตฌ์ฒด์ ์ธ ํ์ด๋ก๋๋ฅผ ์ฌ๊ธฐ์ ์ฌํํ ์๊ฐ์ ์์. ๋ฐฉ์ด์์๊ฒ ํ์ํ ๊ฑด '์ด๋ค ์ฝ๋๋ฅผ ๋ฃ๋๋'๊ฐ ์๋๋ผ '๋ด์ฉ์ด ์ฝ๋๋ก ๋ฐ๋๋ ํต๋ก๊ฐ ์ด๋์ ์ด๋ ค ์๊ณ , ๊ทธ๊ฑธ ์ด๋์ ๋๋๋'๋๊น.
๋ฐฉ์ด์๊ฐ ์ง๊ธ ์๋ด์ผ ํ ๊ฒ — ํ์ง์ ์ํ
๊ฐ์ธ์ ์ผ๋ก๋ ์๋ ์์๋๋ก ์ ๊ฒํ๊ธธ ์ถ์ฒํจ. ํ๋๋ง์ผ๋ก ๋๋ด์ง ๋ง๊ณ ๊ฒน๊ฒน์ด ์๋ ๊ฒ ํฌ์ธํธ์.
- ๋ฒค๋ ํจ์น๊ฐ ์ต์ฐ์ . ์ด๋ฐ ๋ ๋๋ง ๊ณ์ด ๊ฒฐํจ์ ๊ทผ๋ณธ์ ์ผ๋ก ์๋ฒ·ํด๋ผ์ด์ธํธ ์ฝ๋ ์์ ์ผ๋ก ๋งํ. Zimbra๊ฐ ๋ฐฐํฌํ ๋ณด์ ์ ๋ฐ์ดํธ๋ฅผ ํ์ธํด ์ง์ฐ ์์ด ์ ์ฉํ๊ณ , ์ ๋ฐ์ดํธ๊ฐ ์ด๋ ค์ด ๊ตฌ๋ฒ์ ์ด๋ผ๋ฉด ๋ ธ์ถ ์์ฒด๋ฅผ ์ค์ด๋ ์กฐ์น๋ฅผ ๋ณํํด์ผ ํจ.
- HTML ๋ ๋๋ง·CSP ์ ์ฑ ๊ฐํ. ์น๋ฉ์ผ ์๋ฒ ์๋จ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ค์ ์์ ์ฝํ ์ธ ๋ณด์ ์ ์ฑ (Content-Security-Policy)์ ๊ฑธ์ด ์ธ๋ผ์ธ ์คํฌ๋ฆฝํธ ์คํ์ ๋ง์ผ๋ฉด, ์ค๋ น ๋ฌดํดํ๊ฐ ๋ซ๋ ค๋ ์ค์ ์คํ ๋จ๊ณ์์ ํ ๋ฒ ๋ ๊ฑธ๋ฌ์ง. ์ธ๋ผ์ธ ์ด๋ฏธ์ง·์ธ๋ถ ๋ฆฌ์์ค ๋ก๋ ์ ์ฑ ๋ ํจ๊ป ์กฐ์ฌ๋๋ฉด ์ข์.
- ์ด์ ์ ๋ฌ๊ท์น ํ์ง. ๊ณ์ ๋ณ ์๋์ ๋ฌ·ํํฐ ๊ท์น์ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐ์ฌํด์, ์ฌ์ฉ์๊ฐ ๋ง๋ ์ ์๋ ์ธ๋ถ ์ ๋ฌ ๊ท์น์ด ์๊ฒผ๋์ง ํ์ธํจ. ๊ณต๊ฒฉ ์ฑ๊ณต ํ ์ง์์ฑ ํ๋ณด์ ๋จ๊ณจ ์๋ฒ์ด๋ผ ์ฌ๊ธฐ๊ฐ ์กฐ๊ธฐ ํ์ง์ ๊ธ๋งฅ์.
- ์ธ์ ·๋ก๊ทธ์ธ ์ด์์งํ ๋ชจ๋ํฐ๋ง. ๋์ผ ๊ณ์ ์ด ์งง์ ์๊ฐ์ ๋ฏ์ IP·์ง์ญ์์ ๋ถ๊ฑฐ๋, ๋๋ ์ด๋·๋๋ ๋ฐ์ก์ด ํ๋์ง ๋ก๊ทธ๋ก ์ก์. ์ธ์ ํ์ทจ๊ฐ ์ฑ๊ณตํ๋ฉด ํ์ ์ด ์ฌ๊ธฐ ๋จ์.
- ์ฌ์ฉ์ ์ธก ํ๋ฉด ์ถ์. ์กฐ์ง ํน์ฑ์ ๊ฐ๋ฅํ๋ค๋ฉด ์ ๋ขฐ๋์ง ์์ ์ธ๋ถ ๋ฉ์ผ์ HTML์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ฌธ์ผ๋ก ๋ณด๊ฒ ํ๊ฑฐ๋ ์๊ฒฉ ์ฝํ ์ธ ๋ก๋๋ฅผ ๋ง๋ ์ ์ฑ ๋ ๊ณต๊ฒฉ ํ๋ฉด์ ๋์ ๋๊ฒ ์ค์ฌ์ค.
์ ๋ฆฌํ๋ฉฐ
์ด๋ฒ ์ฌ์์ด ์ฃผ๋ ๊ตํ์ ๊ฒฐ๊ตญ ์ค๋๋ ์น๋ณด์ ์์น ํ๋๋ก ์๋ ดํจ. ์ด๋ค ๊ฐ์ด๋ ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ ์ ์ ๊ทธ๊ฒ์ '๋ฐ์ดํฐ'๋ก ๋ค๋ฃฐ์ง '์ฝ๋'๋ก ๋ค๋ฃฐ์ง๋ ๊ฐ๋ฐ์·์ด์์๊ฐ ๋ช ์์ ์ผ๋ก ์ ํด์ผ ํ๋ค๋ ๊ฒ. ์น๋ฉ์ผ์ ๋งค์ผ ์๋ง์ ๋ฏ์ ์ ๋ ฅ์ด ๋ฐ๋ ค๋๋ ์ฐฝ๊ตฌ๋ผ ์ด ๊ฒฝ๊ณ๊ฐ ํนํ ์์. ์๊ธฐ ์กฐ์ง์ด Zimbra๋ฅผ ์ฐ๊ณ ์๋ค๋ฉด ์ค๋ ์์ ํจ์น ์ํ๋ถํฐ ํ์ธํ๊ณ , ์ ๋ฌ๊ท์น ๊ฐ์ฌ์ CSP ์ ๊ฒ์ ํ๋์ฉ ๋ถ์ฌ๋ณด๊ธธ ๊ถํจ. ํน์ ์ด๋ฏธ ์ด์ ์ ๋ฌ๊ท์น์ด๋ ๋ฏ์ ์ธ์ ์ ๋ฐ๊ฒฌํ ๊ฒฝํ์ด ์๋ค๋ฉด ์ด๋ป๊ฒ ์ก์๋์ง ๋๊ธ๋ก ๋๋ ์ฃผ๋ฉด ์๋ก ๋ฐฐ์ธ ๊ฒ ๋ง์ ๊ฒ ๊ฐ์. ๊ฐ์ด ์ด์ดํ๊ฒ ๋ง์๋ณด์์.