๐ Contents
- ๋์นญํค์ ๋น๋์นญํค ์ฐจ์ด
- ํจ์ค์๋ ์ํธํ ๋ฐฉ๋ฒ
- SQL Injection ๊ณต๊ฒฉ
- CSRF ๊ณต๊ฒฉ
- XSS ๊ณต๊ฒฉ
- ๋์นญํค ์ํธํ ๋ฐฉ์ (๋น๋ฐํค ์ํธํ ๋ฐฉ์)
- ๊ฐ๋
- ํ๋์ ๋น๋ฐํค๋ฅผ ์ด์ฉํ ์ํธํ ๋ฐฉ์
- ๋น๋์นญํค ์ํธํ ๋ฐฉ์ (๊ณต๊ฐํค ์ํธํ ๋ฐฉ์)
-
๊ฐ๋
- ๊ณต๊ฐํค(public)์ ๊ฐ์ธํค(private)๋ฅผ ์ด์ฉํ ์ํธํ ๋ฐฉ์
-
์ข ๋ฅ
- ๊ณต๊ฐํค๋ก ์ํธํ
- ์ํธ๋ก์ ํจ์ฉ์ฑ
- ๊ฐ์ธํค๋ก ์ํธํ
- ๊ณต์ธ์ธ์ฆ์ฒด๊ณ์ ์ฌ์ฉํ๋ ์ ์์๋ช ๋ฒ
- ๊ณต๊ฐํค๋ก ์ํธํ
- ๋จ์ ํ ์คํธ(plain text)
- ๋จ๋ฐฉํฅ ํด์ ํจ์(one-way hash function)์ ๋ค์ด์ ์คํธ(digest)
- ์ํ์ ์ธ ์ฐ์ฐ์ ํตํด ์๋ณธ ๋ฉ์์ง๋ฅผ ๋ณํํ์ฌ ์ํธํ๋ ๋ฉ์์ง์ธ ๋ค์ด์ ์คํธ๋ฅผ ์์ฑํ๋ค.
- ์๋ณธ ๋ฉ์์ง๋ฅผ ์๋ฉด ์ํธํ๋ ๋ฉ์์ง๋ฅผ ๊ตฌํ๊ธฐ๋ ์ฝ์ง๋ง ์ํธํ๋ ๋ฉ์์ง๋ก๋ ์๋ณธ ๋ฉ์์ง๋ฅผ ๊ตฌํ ์ ์์ด์ผ ํ๋ฉฐ ์ด๋ฅผ '๋จ๋ฐฉํฅ์ฑ'์ด๋ผ๊ณ ํ๋ค.
- ํจ์ค์๋๊ฐ "hunter2"๋ผ๋ฉด ์ด ๋ฌธ์์ด์ ํํ ์ฌ์ฉํ๋ ํด์ ์๊ณ ๋ฆฌ์ฆ์ธ "SHA-256"์ผ๋ก ์ธ์ฝ๋ฉ
- avalanche ํจ๊ณผ
- ๋๋ถ๋ถ์ ํด์ ํจ์๋ ์ ๋ ฅ ๊ฐ์ ์ผ๋ถ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ๋ค์ด์ ์คํธ๊ฐ ์์ ํ ๋ฌ๋ผ์ง๋๋ก ์ค๊ณ๋์ด ์๋ค.
- "hunter3"๋ผ๋ ๊ฐ์ SHA-256 ๋ค์ด์ ์คํธ๋ ์๋์ ๊ฐ์ผ๋ฉฐ ์์ "hunter2"์๋ ์์ ํ ๋ฌ๋ผ์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ๋จ๋ฐฉํฅ ํด์ ํจ์์ ๋ฌธ์ ์
-
- ์ธ์ ๊ฐ๋ฅ์ฑ(recognizability)
- "๋ ์ธ๋ณด์ฐ ๊ณต๊ฒฉ(rainbow attack)"
- ๊ณต๊ฒฉ์๊ฐ ์ ์ฒ๋ฆฌ(pre-computing)๋ ๋ค์ด์ ์คํธ๋ฅผ ๊ฐ๋ฅํ ํ ๋ง์ด ํ๋ณดํ ๋ค์ ์ด๋ฅผ ํ์ทจํ ๋ค์ด์ ์คํธ์ ๋น๊ตํด ์๋ณธ ๋ฉ์์ง๋ฅผ ์ฐพ์๋ด๊ฑฐ๋ ๋์ผํ ํจ๊ณผ์ ๋ฉ์์ง๋ฅผ ์ฐพ์ ์ ์๋ค.
-
- ์๋(speed)
- ํด์ ํจ์๋ ์งง์ ์๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ค๊ณ๋ ๊ฒ
- ํด์ ํจ์์ ๋น ๋ฅธ ์ฒ๋ฆฌ ์๋๋ก ์ธํด ๊ณต๊ฒฉ์๋ ๋งค์ฐ ๋น ๋ฅธ ์๋๋ก ์์์ ๋ฌธ์์ด์ ๋ค์ด์ ์คํธ์ ํดํนํ ๋์์ ๋ค์ด์ ์คํธ๋ฅผ ๋น๊ตํ ์ ์๋ค
-
- ์ํ
(salting)
- ์ํธ(salt)
- ๋จ๋ฐฉํฅ ํด์ ํจ์์์ ๋ค์ด์ ์คํธ๋ฅผ ์์ฑํ ๋ ์ถ๊ฐ๋๋ ๋ฐ์ดํธ ๋จ์์ ์์์ ๋ฌธ์์ด
- ์ํ
(salting)
- ์ด ์๋ณธ ๋ฉ์์ง์ ๋ฌธ์์ด์ ์ถ๊ฐํ์ฌ ๋ค์ด์ ์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ
- ์ํธ + ์๋ณธ ๋ฉ์์ง(ํจ์ค์๋) = ๋ค์ด์ ์คํธ
- ์ฌ์ฉ์๋ณ๋ก ๋ค๋ฅธ ์ํธ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๋์ผํ ํจ์ค์๋๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์์ ๋ค์ด์ ์คํธ๊ฐ ๋ค๋ฅด๊ฒ ์์ฑ๋์ด ์ธ์ ๊ฐ๋ฅ์ฑ ๋ฌธ์ ๊ฐ ํฌ๊ฒ ๊ฐ์ ๋๋ค.
- ์ํธ์ ํจ์ค์๋์ ๋ค์ด์ ์คํธ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ณ , ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ ๋ ์ ๋ ฅํ ํจ์ค์๋๋ฅผ ํด์ํ์ฌ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค.
- ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋์๋ ๋ชจ๋ ํจ์ค์๋๊ฐ ๊ณ ์ ์ ์ํธ๋ฅผ ๊ฐ๊ณ ์ํธ์ ๊ธธ์ด๋ 32๋ฐ์ดํธ ์ด์์ด์ด์ผ ์ํธ์ ๋ค์ด์ ์คํธ๋ฅผ ์ถ์ธกํ๊ธฐ ์ด๋ ต๋ค.
- ์ํธ(salt)
- ํค ์คํธ๋ ์นญ(key stretching)
- ์ฌ๋ฌ ๋จ๊ณ์ ํด์ ํจ์๋ฅผ ์ ์ฉํ์ฌ ๋ค์ด์ ์คํธ๋ฅผ ์์ฑํ๋ ๊ณผ์
- ์ ์ค๊ณ๋ ํจ์ค์๋ ์ ์ฅ ์์คํ
์์๋ ํ๋์ ๋ค์ด์ ์คํธ๋ฅผ ์์ฑํ ๋ ์ด๋ ์ ๋(์ผ๋ฐ์ ์ธ ์ฅ๋น์์ 0.2์ด ์ด์)์ ์๊ฐ์ด ์์๋๊ฒ ์ค์ ํ๋ค.
- "์ต์ง ๊ธฐ๋ฒ ๊ณต๊ฒฉ(brute-force attack)"์ผ๋ก ํจ์ค์๋๋ฅผ ์ถ์ธกํ๋ ๋ฐ ๋ง์ ์๊ฐ์ด ์์๋๋๋ก ํ๊ธฐ ์ํ ๊ฒ
- ์ํ ๊ณผ ํค ์คํธ๋ ์นญ์ผ๋ก ๊ตฌ์ฑ๋ ์ํธํ ์์คํ ์ ๊ตฌํํ๋ ค๊ณ ํ๋ค๋ฉด ์ด๋ฏธ ๊ฒ์ฆ๋ ์ํธํ ์์คํ ์ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅํ๋ค.
- ๊ฐ๋
- SQL ์ฝ์ ๊ณต๊ฒฉ์ ์น์ํ๋ฆฌ์ผ์ด์ ์ ๋ํด์ ๊ฐํด์ง๋ ๊ฐ์ฅ ํํ ๊ณต๊ฒฉ ๊ธฐ๋ฒ ์ค์ ํ๋๋ก ์ํ๋ฆฌ์ผ์ด์ ์ ํ์ ์ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋น์ ์์ ์ผ๋ก ์กฐ์ํ๋ ๊ธฐ๋ฒ
- ๋ฐฉ์ด ๋ฐฉ๋ฒ
- mysql_real_escape_string์ ์ฌ์ฉํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ง์ ๊ณต๊ฒฉ์ ์ฐจ๋จํ ์ ์๋ค.
- ๊ฐ๋
- Cross-site request forgery, CSRF, XSRF, ์ฌ์ดํธ ๊ฐ ์์ฒญ ์์กฐ
- ์ผ๋จ ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ๋ก๊ทธ์ธํ ์ํ์์ ์ฌ์ดํธ ๊ฐ ์์ฒญ ์์กฐ ๊ณต๊ฒฉ ์ฝ๋๊ฐ ์ฝ์ ๋ ํ์ด์ง๋ฅผ ์ด๋ฉด, ๊ณต๊ฒฉ ๋์์ด ๋๋ ์น์ฌ์ดํธ๋ ์์กฐ๋ ๊ณต๊ฒฉ ๋ช ๋ น์ด ๋ฏฟ์ ์ ์๋ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ก๋ ๊ฒ์ผ๋ก ํ๋จํ๊ฒ ๋์ด ๊ณต๊ฒฉ์ ๋ ธ์ถ๋๋ค.
- ๋ฐฉ์ด ๋ฐฉ๋ฒ
- XSS์ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ ๋ ฅ ํํฐ๋ง์ ์ค์ํ ๋ฌธ์ ์ ๋๋ค.
- ๋ชจ๋ ๋ฏผ๊ฐํ ๋์์ ํ์๋ก ์๊ตฌ๋๋ ํ์ธ ์ ์ฐจ๊ฐ ํญ์ ์ํ๋๋๋ก ํฉ๋๋ค.
- ๋ฏผ๊ฐํ ๋์์ ์ฌ์ฉ๋๋ ์ฟ ํค๋ ์งง์ ์๋ช ๋ง ๊ฐ๋๋ก ํฉ๋๋ค.
- [์ฐธ๊ณ ] XSS vs CSRF
- ์ฌ์ดํธ ๊ฐ ์คํฌ๋ฆฝํ (XSS)์ ์ด์ฉํ ๊ณต๊ฒฉ์ด ์ฌ์ฉ์๊ฐ ํน์ ์น์ฌ์ดํธ๋ฅผ ์ ์ฉํ๋ ์ ์ ๋ ธ๋ฆฐ ๊ฒ์ด๋ผ๋ฉด,
- ์ฌ์ดํธ๊ฐ ์์ฒญ ์์กฐ(CSRF)๋ ํน์ ์น์ฌ์ดํธ๊ฐ ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ์ฉํ๋ ์ํ๋ฅผ ๋ ธ๋ฆฐ ๊ฒ์ด๋ค.
- ๊ฐ๋
- Cross-site ์คํฌ๋ฆฝํ ๊ณต๊ฒฉ, ์ฌ์ดํธ ๊ฐ ์คํฌ๋ฆฝํ ๊ณต๊ฒฉ
- ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ ๋ ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋๋๋ก ํ๋ ๊ณต๊ฒฉ๊ธฐ๋ฒ
- ์น์ฌ์ดํธ ๊ด๋ฆฌ์๊ฐ ์๋ ์ด๊ฐ ์น ํ์ด์ง์ ์ ์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ ์ ์๋ ์ทจ์ฝ์ ์ด๋ค.
- ์ด ์ทจ์ฝ์ ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ ๋ฐ์ ๊ฐ์ ์ ๋๋ก ๊ฒ์ฌํ์ง ์๊ณ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ํ๋๋ค.
- ์ด ์ทจ์ฝ์ ์ผ๋ก ํด์ปค๊ฐ ์ฌ์ฉ์์ ์ ๋ณด(์ฟ ํค, ์ธ์
๋ฑ)๋ฅผ ํ์ทจํ๊ฑฐ๋, ์๋์ผ๋ก ๋น์ ์์ ์ธ ๊ธฐ๋ฅ์ ์ํํ๊ฒ ํ ์ ์๋ค.
- ๋๊ตฐ๊ฐ๊ฐ ์ค๊ฐ์์ ์ฌ์ฉ์์ ์ธ์ ์์ด๋๋ฅผ ํ์น๋ค๋ฉด ๊ทธ ์ฌ์ฉ์์ฒ๋ผ ๋ก๊ทธ์ธํ ์ ์๊ฒ ๋๋ค.
- ๋ฐฉ์ด ๋ฐฉ๋ฒ
- htmlspecialchars ์ฌ์ฉ
- ์ด ํจ์๋ html ์ฝ๋๋ฅผ ํด์ํ์ง ์๊ณ ํ๋ฉด์ ๊ทธ๋๋ก ์ถ๋ ฅํ๋๋ก ๋ณํ
- ์ฟ ํค๋ XSS ๊ณต๊ฒฉ๊ณผ CSRF ๊ณต๊ฒฉ ๋ฑ์ ์ทจ์ฝํ๊ธฐ ๋๋ฌธ์
- ์ฟ ํค ์์ฑ HttpOnly ์ต์
์ ํ์ฑํํ๋ค.
- HttpOnly: true๋ฅผ ์ฃผ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด์ ์ฟ ํค ๊ฐ์ ์ ๊ทผํ ์ ์๋ค.
- XSS ๊ณต๊ฒฉ ๋ฐฉ์ง
- ์ธ์
์ต์
Secure์ ํ์ฑํ
- HTTPS์์๋ง ์ฟ ํค๊ฐ ์ ์ก๋๋ค. (์ฆ, HTTPS์์๋ง ์ธ์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.)
- XSS ๊ณต๊ฒฉ ๋ฐฉ์ง
- ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ์์ฒญ์ ์๋ฒ ๋จ์์ ๊ฒ์ฆํ๋ ๋ก์ง์ ๊ผญ ๋ง๋ จํด๋๋ ๊ฒ์ด ์ข๋ค.
- HTTPS๋ฅผ ์ด์ฉํด์ ํต์ ํ๋ ๊ฒ์ด ์ข๋ค.
- ์ฟ ํค ์์ฑ HttpOnly ์ต์
์ ํ์ฑํํ๋ค.
- htmlspecialchars ์ฌ์ฉ