[2026-07-03] Detection Methods of Slow Read DoS Using Full Packet Capture Data

Background

Slow Read

  1. TCP handshake : ์ •์ƒ ํŠธ๋ž˜ํ”ฝ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•จ
  2. ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ
  3. Receive Window Size๋ฅผ ์ž‘์€ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ๋งค์šฐ ๋А๋ฆฐ ์†๋„๋กœ ์ˆ˜์‹ .
    • 0์œผ๋กœ ์„ค์ •ํ•  ๊ฒฝ์šฐ ์—ฐ๊ฒฐ์€ ์œ ์ง€ํ•˜๋˜, TCP ํŽ˜์ด๋กœ๋“œ ๋ฐ์ดํ„ฐ๋Š” ๋ณด๋‚ด์ง€ ์•Š์Œ
    • sender๋Š” receiver๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ค€๋น„๊ฐ€ ๋๋Š”์ง€, ์ฃผ๊ธฐ์ ์œผ๋กœ probe
    • receiver๋Š” TCP window๋Š” 0์œผ๋กœ advertiseํ•˜๊ณ , probe์—๋Š” ์‘๋‹ตํ•˜์—ฌ sender์˜ ์ž์›์„ ์†Œ๋น„

Collection and Analysis Tools

Full Packet Capture (FPC) : ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ง•๋“ค์„ ๋ณด์œ ํ•œ ์ „์ฒด ํŒจํ‚ท (PCAP)

  • ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํŒจํ‚ท์— ๋Œ€ํ•œ ์™„์ „ํ•œ ๊ธฐ๋ก์„ ์ œ๊ณต
  • ๋„๊ตฌ
    • TShark : ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด๋‚˜ ์ €์žฅ๋œ ํŒจํ‚ท ๋ฐ์ดํ„ฐ์…‹์„ ์บก์ฒ˜ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ๋ถ„์„๊ธฐ
    • Tcpdump : ์ปดํ“จํ„ฐ๊ฐ€ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๊ฑฐ๋‚˜ ์ˆ˜์‹ ๋˜๋Š” TCP/IP ๋ฐ ๊ธฐํƒ€ ํŒจํ‚ท์„ ์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ
    • Libpcap : ๋„คํŠธ์›Œํฌ ์นด๋“œ์—์„œ ํŒจํ‚ท์„ ์ง์ ‘ ๊ฐ€๋กœ์ฑ„ ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก API๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ๋ฐ‘๋‹จ์˜ ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • Dumpcap : ํ™”๋ฉด ์ถœ๋ ฅ์ด๋‚˜ ๋ฌด๊ฑฐ์šด ๋ถ„์„ ๊ธฐ๋Šฅ ์—†์ด, ์˜ค์ง ํŒจํ‚ท์„ ๋น ๋ฅด๊ฒŒ ์บก์ฒ˜ํ•ด์„œ ๋””์Šคํฌ์— ํŒŒ์ผ(PCAP-NG)๋กœ ์ €์žฅ

Attack Tool

SlowHTTPTest : Slowloris, Slow HTTP POST, ๊ทธ๋ฆฌ๊ณ  Slow Read์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต DoS ๊ณต๊ฒฉ์„ ์‹คํ–‰

Experiment

Data Collection Process

  • Environment : ์บ ํผ์Šค ๋„คํŠธ์›Œํฌ. ๊ฐ•์˜์‹ค, ์‹ค์Šต์‹ค ๋ฐ ์‚ฌ๋ฌด์‹ค์˜ ํ˜ธ์ŠคํŠธ๋กœ ๊ตฌ์„ฑ
    • ์Šค์œ„์น˜, ์„œ๋ฒ„ ๋ฐ ๋ผ์šฐํ„ฐ, Cisco ๋ฐฉํ™”๋ฒฝ
    • ํ•™์ƒ ๋ฆฌ์†Œ์Šค ํฌํ„ธ : Apache ์›น ์„œ๋ฒ„, Linux CentOS ์šด์˜์ฒด์ œ, Intel 3.30GHz ํ”„๋กœ์„ธ์„œ ๋ฐ 32GB ๋ฉ”๋ชจ๋ฆฌ
  • Tool
    • ์บก์ฒ˜ ๋„๊ตฌ : Dumpcap
    • ๊ณต๊ฒฉ ๋„๊ตฌ : SlowHTTPTest
  • ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค
    1. ์€๋ฐ€ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค : 1์ดˆ์—์„œ 5์ดˆ ์‚ฌ์ด์˜ ๋ฌด์ž‘์œ„ ์—ฐ๊ฒฐ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  500๊ฐœ์˜ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์ผ ๊ณต๊ฒฉ ํ˜ธ์ŠคํŠธ
    2. ์ค‘๊ฐ„ ์ˆ˜์ค€์˜ ๊ณต๊ฒฉ : 1์ดˆ์—์„œ 5์ดˆ ์‚ฌ์ด์˜ ๋™์ผํ•œ ๋ฌด์ž‘์œ„ ์—ฐ๊ฒฐ ๊ฐ„๊ฒฉ์œผ๋กœ 1,000๊ฐœ์˜ ์—ฐ๊ฒฐ
    3. ๊ฐ€์žฅ ์€๋ฐ€ํ•˜์ง€ ์•Š์€ ๊ณต๊ฒฉ : 1,500๊ฐœ์˜ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๊ณ  1์ดˆ์—์„œ 5์ดˆ ์‚ฌ์ด์˜ ๋ฌด์ž‘์œ„ ์—ฐ๊ฒฐ ๊ฐ„๊ฒฉ ์„ค์ •
      • ๊ณต๊ฒฉ์ด ์‹œ์ž‘๋˜๋Š” ์‹œ์ ๊ณผ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์ ์˜ ๊ณ ์œ ํ•œ ํŠธ๋ž˜ํ”ฝ ๋™์ž‘์„ ์บก์ฒ˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ณต๊ฒฉ ์ „ํ›„๋กœ ์œ ํœด ํŠธ๋ž˜ํ”ฝ์„ ํ™•๋ณด
  • ๋ฐ์ดํ„ฐ ๋ผ๋ฒจ๋ง
    • ๊ณต๊ฒฉ : ๊ณต๊ฒฉ์ž PC์˜ ๊ณ ์ • IP ์ฃผ์†Œ์—์„œ ์˜จ ํŠธ๋ž˜ํ”ฝ
    • ์ •์ƒ : ์ด์™ธ์˜ ์‚ฌ์šฉ์ž๋“ค์ด ๋ณด๋‚ธ ํŠธ๋ž˜ํ”ฝ

Machine Learning Algorithms

์ž๋ฐ”(Java JDK 8u91) ๊ธฐ๋ฐ˜์˜ ๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์ธ Weka(v3.6.14) API๋ฅผ ์‚ฌ์šฉ

  • Algorithm
    • parametric model : MLP, SVM, NB
    • non-parametric model : C4.5 ์˜์‚ฌ๊ฒฐ์ • ํŠธ๋ฆฌ์˜ ๋‘ ๊ฐ€์ง€ ๋ณ€ํ˜•(C4.5N, C4.5D), RF, 5NN, JRip
  • Sampling : 50:50 Random under-sampling
    • DDoS ํŠน์„ฑ ์ƒ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์ด ๋ฐœ์ƒํ•˜์—ฌ ML์ด ํŽธํ–ฅ๋  ์ˆ˜ ์žˆ์Œ

Metrics

  • ๋ชจ๋ธ test ๋ฐฉ๋ฒ•
    • Stratified 5-fold cross-validation : ๋ฐ์ดํ„ฐ๋ฅผ 5 ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด 4์กฐ๊ฐ์œผ๋กœ ํ•™์Šตํ•˜๊ณ  1์กฐ๊ฐ์œผ๋กœ test
      • Stratified : ๊ฐ ์กฐ๊ฐ์„ ๋‚˜๋ˆŒ ๋•Œ ๊ณต๊ฒฉ/์ •์ƒ ๋น„์œจ์„ ์›๋ณธ ๋น„์œจ๊ณผ ๋งž์ถค
      • ๋…ผ๋ฌธ์—์„œ๋Š” ํ•ด๋‹น ์‚ฌ์ดํด์„ 4๋ฒˆ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ฒฐ๊ณผ์˜ ์‹ ๋ขฐ๋„๋ฅผ ๋†’์ž„
  • Metric
    • AUC : ๋ชจ๋ธ์˜ TPR๊ณผ FPR์„ ๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋ƒ„. AUC ๊ฐ’์ด ํด ์ˆ˜๋ก TPR์€ ๋†’๊ณ  FPR์€ ๋‚ฎ์€ ๊ฒƒ
    • F-score : ์ •๋ฐ€๋„(Precision)์™€ ์žฌํ˜„์œจ(Recall)์˜ ๊ฐ€์ค‘ ์กฐํ™” ํ‰๊ท 
  • ํ†ต๊ณ„ ๊ฒ€์ฆ
    • ANOVA : ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ฐ„์˜ AUC ํ‰๊ท  ์ฐจ์ด ๋ถ„์„
    • Tukey์˜ HSD ์‚ฌํ›„ ๊ฒ€์ • : ANOVA ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๊ณ  ๋˜๋ฉด ์–ด๋–ค ๋ชจ๋ธ๊ณผ ์–ด๋–ค ๋ชจ๋ธ์ด ์œ ์˜๋ฏธํ•˜๊ฒŒ ์ฐจ์ด ๋‚˜๋Š” ์ง€ 1:1๋กœ ๋น„๊ตํ•˜๋Š” ๊ฒ€์‚ฌ
    • ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ๋ชจ๋ธ์—๊ฒŒ Group A๋กœ ๋ฐฐ์ •

Feature Selection

  • Feature

image.png

๊ณผ์ ํ•ฉ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด Feature Selection ์ง„ํ–‰

  • Subset Evaluation : ํŠน์ง•๋“ค์ด ๊ทธ๋ฃน์œผ๋กœ ๋ญ‰์ณค์„ ๋•Œ ์–ผ๋งˆ๋‚˜ ์‹œ๋„ˆ์ง€๋ฅผ ๋‚ด๋Š”์ง€ ํ‰๊ฐ€
    • CfsSubsetEval, ConsistencySubsetEval
  • Single-Attribute Evaluation : ํŠน์ง• ํ•˜๋‚˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ์˜ํ–ฅ๋ ฅ ์žˆ๋Š” ์ง€ ํ‰๊ฐ€
    • ์นด์ด ์ œ๊ณฑ, ์ •๋ณด ํš๋“ ๋น„, ์ •๋ณด ํš๋“๋Ÿ‰, ๋Œ€์นญ ๋ถˆํ™•์‹ค์„ฑ ๋“ฑ์œผ๋กœ ํ‰๊ฐ€
  • ์นด์ด ์ œ๊ณฑ ํ†ต๊ณ„๊ฐ’ ๋“ฑ์„ ํ†ตํ•ด ์ˆœ์œ„๋ฅผ ๋งค๊ธด ํ›„์— Ranker ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ•˜์œ„ ํŠน์ง•๋“ค์„ ๋ฒ„๋ฆผ

Result

image.png

  • C4.5N์—์„œ ํŠธ๋ฆฌ์˜ ๋ฃจํŠธ ๋…ธ๋“œ๋Š” CWS (๊ณ„์‚ฐ๋œ ์œˆ๋„์šฐ ํฌ๊ธฐ)
    • TTL : ๋‹จ์ผ ๋…ธ๋“œ์—์„œ ๋ณด๋ƒˆ๊ธฐ ๋•Œ๋ฌธ์— TTL์ด ์œ ์‚ฌ
    • TSFF : Time Since First Frame. ์ฒซ ์ ‘์† ์ดํ›„ ํ†ต์‹ ์ด ์ง€์†๋˜๋Š” ์‹œ๊ฐ„.
      • ์ง€์†์ ์œผ๋กœ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Slow Read์—์„œ ๋†’๊ฒŒ ๋‚˜ํƒ€๋‚จ
    • TSPF : ์ด์ „ ํŒจํ‚ท ์ดํ›„ ๊ฒฝ๊ณผํ•œ ์‹œ๊ฐ„
      • ์„œ๋ฒ„๊ฐ€ ๋Š๊ธธ๋งŒ ํ•  ๋•Œ Probe๋ฅผ ๋ณด๋‚ด๊ณ  ๊ณต๊ฒฉ์ž๋Š” ACK๋ฅผ ๋ณด๋‚ด๋Š” ํŒจํ„ด์ด ๋“œ๋Ÿฌ๋‚จ
  • ANOVA

    image.png

    • F-value : ๋ชจ๋ธ๋“ค ๊ฐ„์˜ ํ‰๊ท  ์ ์ˆ˜ ์ฐจ์ด๊ฐ€ ๊ฐ ๋ชจ๋ธ์ด ํ…Œ์ŠคํŠธ๋งˆ๋‹ค ๋ณด์ธ ์ ์ˆ˜์˜ ์˜ค์ฐจ๋ณด๋‹ค ์–ผ๋งˆ๋‚˜ ํฐ ์ง€ ๋ณด์—ฌ์คŒ. 1192๋กœ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ๊ฒฉ์ฐจ๊ฐ€ ๋šœ๋ ทํ•จ
    • p-value : ํ•ด๋‹น ์‹คํ—˜ ๊ฒฐ๊ณผ๊ฐ€ ์šฐ์—ฐํžˆ ์ผ์–ด๋‚ฌ์„ ํ™•๋ฅ . ๋งค์šฐ ์ž‘์Œ

FPC Feature Selection Results

image.png

  • Feature : FrameLen, TCPHL, TTL, WSV, CWS, WSSF, TSFF, TSPF
  • ์„ฑ๋Šฅ์ด ์•ฝ๊ฐ„ ๋‚ฎ์•„์กŒ์ง€๋งŒ ์ด๋Š” ๊ณผ์ ํ•ฉ ๋ฐฉ์ง€ ๋ฐ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ๊ฐ์†Œ
  • GSF ๋ฐฉ์‹๊ณผ RSGR ๋ฐฉ์‹์„ ์กฐํ•ฉํ•œ CFS ๊ธฐ๋ฒ•์„ ํ†ตํ•ด Feature๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์ด ์ข‹์•˜์Œ

Conclusion

Contribution

  1. ML์„ ํ†ตํ•œ Slow Read Detection model ๊ตฌ์ถ•
    • Full Packet capture ํŠน์ง• ์‚ฌ์šฉ
  2. ๋ฐ์ดํ„ฐ integrity : ์‹ค์ œ ํ™˜๊ฒฝ์˜ ํŠธ๋ž˜ํ”ฝ ์บก์ฒ˜

Future Work

๋„คํŠธ์›Œํฌ ํ๋ฆ„ ๋ฐ์ดํ„ฐ์ธ Netflow ๊ธฐ๋ฐ˜ ํŠน์ง•๊ณผ FPC๋ฅผ ๋น„๊ตํ•  ์˜ˆ์ •์ž„

์ฝ์€ ์ด์œ  ๋ฐ ์–ป์–ด๊ฐˆ ์ 

  • ์ฝ์€ ์ด์œ  : ์‹คํ—˜ ๊ณผ์ •์ด ๊ถ๊ธˆํ–ˆ๊ณ  ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ง€, ์–ด๋–ค feature๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ง€๊ฐ€ ๊ถ๊ธˆํ–ˆ์Œ
  • ์–ป์–ด๊ฐˆ ์ 
    • ANOVA์™€ ์‚ฌํ›„ ๊ฒ€์ • ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๊ฐ.
    • ๋ฐ์ดํ„ฐ์…‹ ๋งŒ๋“ค ๋•Œ SlowHTTPTest๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๋“ฏ

์˜๋ฌธ ๋ฐ ์ƒ๊ฐํ•  ์ 

  • Slow Read๋ผ๊ณ  ํ•  ์ง€๋ผ๋„ probe ํŒจํ‚ท์ด ์••๋„์ ์œผ๋กœ ๋งŽ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜๋„ ์ •์ƒ ํŒจํ‚ท์ด ํ›จ์”ฌ ๋งŽ์„ ๊ฑฐ ๊ฐ™์€๋ฐ
  • TTL์— ๋Œ€ํ•œ ํ‰๊ฐ€ : ํ•ด๋‹น TTL ๊ฐ’์€ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ ๋งˆ๋‹ค, ๋ˆ„๊ฐ€ ๊ณต๊ฒฉํ•˜๋Š” ์ง€์— ๋”ฐ๋ผ, ๋‹จ์ผ์ด๋ƒ ๋‹ค์ค‘์ด๋ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ๋ณ„๋กœ ์ข‹์€ ๊ฐ’์€ ์•„๋‹Œ ๊ฑฐ ๊ฐ™์Œ

Categories:

Updated:

Leave a comment