์›น

Web Log & Packet Analysis

์›น ๋กœ๊ทธ ๋ถ„์„์„ ํ†ตํ•ด ํ•ดํ‚น ๊ณต๊ฒฉ ํƒ์ง€ ์ œ๊ณต

  • ์›น ํƒ์ง€ ๋กœ๊ทธ ๋ถ„์„ ์‹œ ์š”์ฒญ ๋ฐ ์‘๋‹ต ๋ณธ๋ฌธ ์ •๋ณด ํฌํ•จ (์„ธ๊ณ„ ํŠนํ—ˆ ๊ธฐ์ˆ )

  • OWASP TOP 10 ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ํ•„ํ„ฐ ๋ฐฉ์‹ ์ œ๊ณต

  • ์ฃผ์š” ๋กœ๊ทธ ์ •๋ณด๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์ œ๊ณต

  • ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๊ณต๊ฒฉ์—๋„ ๋Œ€์‘ ๊ฐ€๋Šฅ

๋กœ๊ทธ ๋ถ„์„ ์ƒ์„ธ ๋‚ด์šฉ

1. ๋กœ๊ทธ ์ƒ์„ธ ๋‚ด์šฉ


OWASP ํƒญ: OWASP TOP 10์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋กœ๊ทธ ๋ถ„์„. ์ฝ”๋“œ, ๋ถ„๋ฅ˜, ๊ณต๊ฒฉ ์ฝ”๋“œ, ํ•„ํ„ฐ๋ช… ์ œ๊ณต

  • ์ฝ”๋“œ: OWASP TOP 10 (A1~A10) ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜(U1)๋กœ ๊ตฌ์„ฑ

  • ์œ ์ถœ์ •๋ณด: ์›น ์„œ๋ฒ„์˜ ์‘๋‹ต ๋ณธ๋ฌธ์—์„œ ํƒ์ง€๋œ ๋ฐ์ดํ„ฐ ์ œ๊ณต (๊ธฐ๋ฐ€์ •๋ณด, ์‚ฌ์šฉ์ž ์ •๋ณด ๋“ฑ)

  • ์ƒํƒœ๊ฐ’: ์›น ์„œ๋ฒ„์˜ ์‘๋‹ต ์ƒํƒœ ์˜ˆ) 200(์ •์ƒ), 404(ํŽ˜์ด์ง€ ์—†์Œ), 500(์„œ๋ฒ„ ์—๋Ÿฌ)

  • ์‘๋‹ต: ์›น ์„œ๋ฒ„ ์‘๋‹ต ํฌ๊ธฐ(Byte) ์ œ๊ณต, ํฌ๊ธฐ๊ฐ€ ํด ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์œ ์ถœ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ

  • ๋ฉ”์†Œ๋“œ: RFC ํ‘œ์ค€ ๊ธฐ๋ฐ˜ 9๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ (GET, POST, PUT ๋“ฑ), ๋น„ํ‘œ์ค€ ๊ฐ’์€ noneRFC๋กœ ํ‘œ์‹œ

    • GET, POST, CONNECT, DELETE, HEAD, OPTIONS, PATCH, PUT, TRACE

  • ์š”์ฒญ ๋ณธ๋ฌธ: ์š”์ฒญ์ž์˜ Request-body (Post-body) ์ •๋ณด ์ œ๊ณต

  • ์›น ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ ๋˜๋Š” ํŒจํ‚ท์—์„œ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„ ๊ฒฐ๊ณผ ์ œ๊ณต (์„ธ๊ณ„ ํŠนํ—ˆ ๊ธฐ์ˆ )


OWASP ํƒญ ํ•˜๋‹จ ๋ฉ”๋‰ด ์•ˆ๋‚ด

  • ์žฌ์ „์†ก ๊ณต๊ฒฉ ๋ฒ„ํŠผ: ์กฐ๊ฑด ์ถฉ์กฑ ์‹œ์—๋งŒ ๋…ธ์ถœ, ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ œ๊ณต

    • ๊ธฐ๋ณธ https : 443, http : 80, ์‚ฌ์šฉ์ž ์ •์˜ ํฌํŠธ ์„ค์ • ๊ฐ€๋Šฅ

  • https๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, http:80 ์„ ํƒ ๋ฐ 8080 ๋“ฑ์˜ ์‚ฌ์šฉ์ž ์ž„์˜ ํฌํŠธ ๋ณ€๊ฒฝ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • ์„ค์ •๋œ ๊ฐ’์€ ์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋จ

  • curl:// ๋ฒ„ํŠผ: ๊ณต๊ฒฉ ์ฝ”๋“œ ๋ณต์‚ฌ ๊ธฐ๋Šฅ ์ œ๊ณต, ๋ช…๋ น์ฐฝ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅ

  • curl ๋ณต์‚ฌ ๊ธฐ๋Šฅ ์˜ˆ์‹œ

curl -v --data-binary @log-172.16.1.0-2024-01-03-15_37_09.978.txt
 -X "POST"
 --user-agent "Apache-HttpClient/4.5.12 (Java/1.8.0_391)"
 --header "Content-Type: application/x-www-form-urlencoded; charset=UTF-8"
 "http://172.16.0.2:80/wordpress/wp-login.php"
  • '@log-172.16.1.0-2024-01-03-15_37_09.978.txt' ๋ณ„๋„ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ์ œ๊ณต

  • ๊ด€๋ฆฌ > ์—ฐ๋™ > ํ‹ฐ์ผ“: ์—ฐ๋™ํ•œ ์‹œ์Šคํ…œ์œผ๋กœ ๋กœ๊ทธ ์ „์†ก

  • ์—ฐ๋™ ์ง€์› ์‹œ์Šคํ…œ: Jira, MantisBT, Redmine

  • ๋ณต์‚ฌ: ๋กœ๊ทธ ์ƒ์„ธ ์ •๋ณด ๋ณต์‚ฌ ๊ธฐ๋Šฅ

2. ๋ฐ์ดํ„ฐ ์œ ์ถœ ์ •๋ณด ํ™•์ธ

  • ์œ ์ถœ์ •๋ณด ํƒญ: ์‘๋‹ต ๋ณธ๋ฌธ์„ ๋ถ„์„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์œ ์ถœ ์—ฌ๋ถ€ ๋ฐ ์ƒ์„ธ ์ •๋ณด ์ œ๊ณต

  • ์›น ํ•„ํ„ฐ ํƒ์ง€: ๋ฐ์ดํ„ฐ ์œ ์ถœ ๋ฐœ์ƒ ์‹œ ์œ ์ถœ ํ•ญ๋ชฉ ํ‘œ์‹œ

3. ๋กœ๊ทธ์ƒ์„ธ ์›๋ณธ๋กœ๊ทธ ๋‚ด์šฉ

  • ๋กœ๊ทธ ์ƒ์„ธ ํƒญ: ์›น ๋กœ๊ทธ ๋ฐ ํŒจํ‚ท์—์„œ ์ˆ˜์ง‘๋œ ์›๋ณธ ๋กœ๊ทธ๋ฅผ json ํ˜•ํƒœ๋กœ ์ œ๊ณต

    • ํ‚ค ๊ฐ’์€ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•˜๊ฒŒ ํ‘œ์‹œ

    • ์˜ˆ์‹œ: 'Resp-body1'์€ ๋ฐ์ดํ„ฐ ์œ ์ถœ ํƒ์ง€ ํ•„ํ„ฐ์— ์˜ํ•ด ํƒ์ง€๋œ ๋กœ๊ทธ ์›๋ณธ

4. ์ปดํ”Œ๋ผ์ด์–ธ์Šค

  • ์ปดํ”Œ๋ผ์ด์–ธ์Šค ํƒญ: ๊ด€๋ฆฌ > ์—ฐ๋™ ๋ฉ”๋‰ด์—์„œ ์„ ํƒํ•œ ์ปดํ”Œ๋ผ์ด์–ธ์Šค ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํƒ์ง€๋œ ์ •๋ณด ์ œ๊ณต


5. ์ „์ฒด ๋กœ๊ทธ ์ด๋™ ๋ฐ ์šฐํด๋ฆญ ์˜ต์…˜

  • ์šฐํด๋ฆญ ์˜ต์…˜: ๋กœ๊ทธ๋ณ„ ์ปฌ๋Ÿผ์—์„œ ์šฐํด๋ฆญํ•˜๋ฉด ์ „์ฒด ๋กœ๊ทธ ํŽ˜์ด์ง€๋กœ ์ด๋™ ๊ฐ€๋Šฅ

  • ํ‹ฐ์ผ“ ๋ฐœํ–‰, IP์ฃผ์†Œ ํƒœ๊ทธ ์ž…๋ ฅ, ์‹œ์Šคํ…œ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋กœ ์ด๋™

์„ ํƒ ์กฐ๊ฑด์˜๋ฏธ

์ „์ฒด๋กœ๊ทธ(=)

'๋™์ผ' ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(ยฑ1s)

'1์ดˆ' ์ „ํ›„ ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(ยฑ2s)

'2์ดˆ' ์ „ํ›„ ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(ยฑ3s)

'3์ดˆ' ์ „ํ›„ ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(ยฑ5s)

'5์ดˆ' ์ „ํ›„ ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(ยฑ10s)

'10์ดˆ' ์ „ํ›„ ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(ยฑ30s)

'30์ดˆ' ์ „ํ›„ ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(ยฑ60s)

'60์ดˆ' ์ „ํ›„ ์‹œ๊ฐ„๋Œ€์˜ ์ „์ฒด๋กœ๊ทธ

์ „์ฒด๋กœ๊ทธ(=) ๊ณต๊ฒฉ์ž

'๋™์ผ' ๊ณต๊ฒฉ์ž(IP)์˜ ์ „์ฒด๋กœ๊ทธ


๊ฒ€์ƒ‰ ํ•˜๋‹จ ๋ฉ”๋‰ด ์„ค๋ช…

6. ์ •๋ ฌ

  • ์ƒ์„ฑ์ผ ๊ธฐ์ค€: ์ตœ์‹ ์ˆœ, ๊ณผ๊ฑฐ์ˆœ, ์š”์ฒญ ํฌ๊ธฐ, ๋™์ผ ๋กœ๊ทธ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ ์ œ๊ณต

    • ๊ธฐ๋ณธ๊ฐ’์€ ์ตœ์‹ ์ˆœ

7. ํŽ˜์ด์ง€๋‹น ๋กœ๊ทธ ๋ผ์ธ ์ˆ˜ ์„ค์ •

  • 20 ~ 100 ๋ผ์ธ๊นŒ์ง€ ์„ ํƒ ๊ฐ€๋Šฅ

8. ๋‚ ์งœ/์‹œ๊ฐ„ ์„ ํƒ

  • ๊ธฐ๋ณธ๊ฐ’์€ ๋‹น์ผ ๋ฐœ์ƒ ๋กœ๊ทธ, ์‹œ๊ฐ„ ์„ค์ •์„ ํ†ตํ•ด ํŠน์ • ๋กœ๊ทธ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ

  • ๊ณผ๊ฑฐ ๋กœ๊ทธ ๊ฒ€์ƒ‰: ์ „๋‚ , 1์ฃผ, 1๊ฐœ์›” ๋“ฑ ๊ธฐ๊ฐ„ ์„ ํƒ ๊ฐ€๋Šฅ

9. ๊ทธ๋ฃน ์„ ํƒ

  • ๊ทธ๋ฃน๋ณ„ ๋กœ๊ทธ ์ •๋ ฌ ์ œ๊ณต

10. ์šด์˜์ฒด์ œ ์„ ํƒ

  • ์šด์˜์ฒด์ œ๋ณ„ ๋กœ๊ทธ ์ •๋ ฌ ์ œ๊ณต

11. ํ˜ธ์ŠคํŠธ ์„ ํƒ

  • ํŠน์ • ํ˜ธ์ŠคํŠธ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋กœ๊ทธ ์ •๋ ฌ

12. ํ˜ธ์ŠคํŠธ(๋„๋ฉ”์ธ) ์„ ํƒ

  • ํŠน์ • ํ˜ธ์ŠคํŠธ(๋„๋ฉ”์ธ)์„ ์„ ํƒํ•˜์—ฌ ๋กœ๊ทธ ์ •๋ ฌ

13. ๋ถ„๋ฅ˜ ์„ ํƒ

  • ํƒ์ง€ ๋ถ„๋ฅ˜๋ณ„ ์„ ํƒ ์ •๋ ฌ ์ œ๊ณต

14. ์ฝ”๋“œ ์„ ํƒ

  • OWASP TOP 10 ์ฝ”๋“œ(A1~A10) ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์ฝ”๋“œ(U1)๋ณ„ ์ •๋ ฌ ์ œ๊ณต

15. ์œ„ํ—˜๋„ ์„ ํƒ

  • ํƒ์ง€ ํ•„ํ„ฐ์˜ ์œ„ํ—˜๋„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ

16. ์ƒํƒœ๊ฐ’ ์„ ํƒ

  • ์›น ์„œ๋ฒ„ ์‘๋‹ต ๊ฐ’์— ๋”ฐ๋ฅธ ์ •๋ ฌ (์˜ˆ: 200, 404, 500)

17. ๋ฉ”์†Œ๋“œ ์„ ํƒ

  • ์š”์ฒญ ํ—ค๋” ์ •๋ณด์— ๋”ฐ๋ฅธ ์ •๋ ฌ (GET, POST ๋“ฑ)

    • RFC ์ •์˜: GET, POST, CONNECT, DELETE, HEAD, OPTIONS, PATCH, PUT, TRACE

    • RFC ์ •์˜๋˜์ง€ ์•Š์€ ๊ฐ’์ด ์žˆ์„ ๊ฒฝ์šฐ: noneRFC๋กœ ํ‘œ์‹œ

18. ์œ ํ˜• ์„ ํƒ

  • OWASP ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ํ•„ํ„ฐ ๊ธฐ์ค€ ์ •๋ ฌ

19. ์œ ์ถœ์ •๋ณด ์„ ํƒ

  • ๋ฐ์ดํ„ฐ ์œ ์ถœ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋กœ๊ทธ ์ •๋ ฌ

Last updated