์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[12์›” 22์ผ] ์ทจ์•ฝ์  ๊ณต๊ฒฉํ•˜๊ธฐ

ljm 2025. 12. 22. 12:08

๐Ÿ”’ ์ทจ์•ฝ์  ๋ถ„์„ ๋ณด๊ณ ์„œ: A04 – ์•”ํ˜ธํ™” ๊ฒฐํ•จ

OWASP Top 10 ๋ถ„๋ฅ˜:

A04:2025 – Cryptographic Failures (์•”ํ˜ธํ™” ๊ฒฐํ•จ)

์ทจ์•ฝ์  ๊ฐœ์š”: ๋Œ€์ƒ ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ณผ์ •์—์„œ ๋ฏผ๊ฐ ์ •๋ณด(๋น„๋ฐ€๋ฒˆํ˜ธ)๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ์•”ํ˜ธํ™” ์กฐ์น˜๊ฐ€ ์ „ ๊ตฌ๊ฐ„(์ „์†ก ๋ฐ ์ €์žฅ)์—์„œ ๋ˆ„๋ฝ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ๊ฐ€๋กœ์ฑ„๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ–ˆ์„ ๋•Œ ์ฆ‰๊ฐ์ ์ธ ๊ณ„์ • ํƒˆ์ทจ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๊ฒฐํ•จ์ž…๋‹ˆ๋‹ค.


1. ์ทจ์•ฝ์  ๋ถ„์„ ๊ฒฐ๊ณผ

๊ฐ€. ๋ณด์•ˆ๋˜์ง€ ์•Š์€ ํ”„๋กœํ† ์ฝœ ๋ฐ ํ‰๋ฌธ ์ „์†ก (Insecure Transmission)

  • ํ˜„์ƒ: ์ „์†ก ๊ณ„์ธต ์•”ํ˜ธํ™”(SSL/TLS)๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์€ HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋…ธ์ถœ: Burp Suite๋ฅผ ์ด์šฉํ•œ ํŒจํ‚ท ๋ถ„์„ ๊ฒฐ๊ณผ, POST /auth/login.php ์š”์ฒญ ์‹œ Body ๋ฐ์ดํ„ฐ์˜ pw ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์ด **admin**๊ณผ ๊ฐ™์ด ํ‰๋ฌธ์œผ๋กœ ์ „์†ก๋จ์„ ํ™•์ธํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์œ„ํ—˜์„ฑ: ์Šค๋‹ˆํ•‘(Sniffing) ๊ณต๊ฒฉ์„ ํ†ตํ•ด ์ œ3์ž๊ฐ€ ๋„คํŠธ์›Œํฌ์ƒ์—์„œ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฆ‰์‹œ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ๋น„๋ฐ€๋ฒˆํ˜ธ ํ‰๋ฌธ ์ €์žฅ (Insecure Storage)

  • ํ˜„์ƒ: ์„œ๋ฒ„ ์ธก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB)๋ฅผ ํ™•์ธํ•œ ๊ฒฐ๊ณผ, ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ•ด์‹œ(Hash) ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ ์›๋ฌธ ๊ทธ๋Œ€๋กœ ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์œ„ํ—˜์„ฑ: SQL Injection ๋“ฑ์˜ ๊ณต๊ฒฉ์œผ๋กœ DB๊ฐ€ ์œ ์ถœ๋  ๊ฒฝ์šฐ, ๋ณ„๋„์˜ ๋ณตํ˜ธํ™” ๊ณผ์ • ์—†์ด ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ฆ‰์‹œ ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํƒ€ ์‚ฌ์ดํŠธ์˜ ๊ณ„์ •๊นŒ์ง€ ์œ„ํ˜‘ํ•˜๋Š” 'ํฌ๋ฆฌ๋ด์…œ ์Šคํ„ฐํ•‘' ๊ณต๊ฒฉ์˜ ์›์ธ์ด ๋ฉ๋‹ˆ๋‹ค.

2. ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค (Attack Scenario)

  1. ์‚ฌ์ „ ์กฐ์‚ฌ: ๊ณต๊ฒฉ์ž๋Š” ๋Œ€์ƒ ์›น์‚ฌ์ดํŠธ๊ฐ€ https://๊ฐ€ ์•„๋‹Œ http:// ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ํŒจํ‚ท ๊ฐ€๋กœ์ฑ„๊ธฐ: ๋™์ผ ๋„คํŠธ์›Œํฌ(์˜ˆ: ๊ณต์šฉ Wi-Fi) ๋‚ด์—์„œ ํ”„๋ก์‹œ ๋„๊ตฌ(Burp Suite)๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํฌ์ƒ์ž์˜ ๋กœ๊ทธ์ธ ์š”์ฒญ ํŒจํ‚ท์„ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ •๋ณด ํš๋“: ์บก์ฒ˜๋œ ํŒจํ‚ท ๋‚ด id=admin&pw=admin ๋ฌธ์ž์—ด์„ ํ†ตํ•ด ๊ด€๋ฆฌ์ž ๊ณ„์ • ์ •๋ณด๋ฅผ ํ‰๋ฌธ์œผ๋กœ ํš๋“ํ•ฉ๋‹ˆ๋‹ค.
  4. 2์ฐจ ๊ณต๊ฒฉ: ํ™•๋ณดํ•œ ํ‰๋ฌธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์— ๋ฌด๋‹จ ์ ‘์†ํ•˜๊ฑฐ๋‚˜, ์œ ์ถœ๋œ DB ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ „์ˆ˜ ์กฐ์‚ฌ๋ฅผ ์‹ค์‹œํ•˜์—ฌ ์ „์ฒด ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ํƒˆ์ทจํ•ฉ๋‹ˆ๋‹ค.

3. ๋ณด์•ˆ ๋Œ€์ฑ… (Countermeasures)

  • HTTPS ํ”„๋กœํ† ์ฝœ ์˜๋ฌดํ™”: ์ „ ๊ตฌ๊ฐ„ ์•”ํ˜ธํ™” ํ†ต์‹ ์„ ์œ„ํ•ด SSL/TLS ์ธ์ฆ์„œ๋ฅผ ๋„์ž…ํ•˜๊ณ , HTTP ์ ‘์† ์‹œ HTTPS๋กœ ๊ฐ•์ œ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ(HSTS) ์„ค์ •์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์•ˆ์ „ํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ์šฉ: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ ์‹œ ๋ฐ˜๋“œ์‹œ ๋ณตํ˜ธํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ **๋‹จ๋ฐฉํ–ฅ ํ•ด์‹œ ํ•จ์ˆ˜(Argon2, bcrypt, scrypt ๋“ฑ)**๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์†”ํŒ…(Salting) ๊ธฐ์ˆ  ๋„์ž…: ํ•ด์‹œ ์ฒ˜๋ฆฌ ์‹œ ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๊ณ ์œ ์˜ ๋žœ๋ค ๊ฐ’(Salt)์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ”(Rainbow Table) ๊ณต๊ฒฉ์„ ๋ฌด๋ ฅํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.