๐Ÿฆฅ ๋ณธ๋ฌธ

Into

PDP : Programmable Data Plane

PDP๋ฅผ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘. ๊ธฐ์กด์—๋Š” PDP์— ๊ฒฐ์ • ํŠธ๋ฆฌ๋‚˜ ML์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ ํƒ์ง€

  • ๋ฌธ์ œ์ 
    1. ํ”Œ๋กœ์šฐ ํŠน์„ฑ์— ๋Œ€ํ•œ ์ข…ํ•ฉ์ ์ธ ๊ณ ๋ ค ๋ถ€์กฑ
      • Mousika : ์ด์ง„ ๊ฒฐ์ • ํŠธ๋ฆฌ๋กœ ๊ตฌํ˜„. ํ”Œ๋กœ์šฐ์˜ ๋™์  ๋ณ€ํ™”๋ฅผ ๊ณ ๋ ค X. ๋‹จ์ผ ํŒจํ‚ท์˜ ํŠน์ง•๋งŒ ์ถ”์ถœ
      • pForest : ํ”Œ๋กœ์šฐ ํŠน์ง• ์ฒ˜๋ฆฌ, ์‹ค์‹œ๊ฐ„ ๋ถ„๋ฅ˜ ๊ฐ€๋Šฅ. RF ๋ชจ๋ธ์˜ ๊นŠ์ด์™€ ์ •ํ™•๋„๊ฐ€ ๋ฆฌ์†Œ์Šค๋กœ ์ธํ•ด ์ œํ•œ๋จ.
    2. ์„ฑ๋Šฅ ๋ฐ ํ•˜๋“œ์›จ์–ด ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ
      • NetBeacon, llsy, Planter ํ”„๋ ˆ์ž„์›Œํฌ : ๋„ˆ๋ฌด ๋งŽ์€ ํŠน์ง•์„ ์š”๊ตฌํ•˜์—ฌ ์Šค์œ„์น˜์˜ ์—”ํŠธ๋ฆฌ๋ฅผ ๋Œ€๋Ÿ‰ ์†Œ๋น„. ๊ณ ์ •๋ฐ€ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ” ์—”ํŠธ๋ฆฌ๊ฐ€ ํ•„์š”
      • Soter : PDP์—์„œ 1์ฐจ ํƒ์ง€ ํ›„ ์˜์‹ฌ์Šค๋Ÿฌ์šด ํŠธ๋ž˜ํ”ฝ์„ CPU๋กœ ๋ณด๋‚ด ์ •๋ฐ€ ํƒ์ง€ โ†’ ๋†’์€ ๋ถ€ํ•˜ ์ƒํ™ฉ์—์„œ ๋ณ‘๋ชฉ ํ˜„์ƒ์— ์ง๋ฉด
    3. ์‘์šฉ ๊ณ„์ธต DDoS ๊ณต๊ฒฉ์— ํšจ๊ณผ์ ์ธ ์ „๋žต ๋ถ€์กฑ
      • Poseidon, Jaqen : ํ”„๋กœํ† ์ฝœ ์œ ํ˜• ํŒ๋‹จ์— ์˜์กด
    4. ์Šค์œ„์น˜ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์—ฐ๋™ ๋ณดํ˜ธ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์Œ

      ๊ธฐ์กด ๋ฐฉ๋ฒ•์€ ์•Œ๋ฆฌ๋ฐ”๋ฐ”์˜ Sailfish ํด๋ผ์šฐ๋“œ ๊ฒŒ์ดํŠธ์›จ์ด๋‚˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ๋Œ€๊ทœ๋ชจ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์Šค์œ„์น˜์˜ ๋ฐฐ์น˜๋ฅผ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ

๋ชฉํ‘œ : ๊ณ ์ •๋ฐ€ ํƒ์ง€, ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค ์ ์œ  ์ค„์ž„. ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ฐธ์—ฌ๋ฅผ ๊ฐ€๋Šฅํ•œ ๋ฐฐ์ œ. ๊ณต๊ฒฉ์ด ํƒ์ง€๋˜๋ฉด ๋‹ค๋ฅธ ์Šค์œ„์น˜์— ๊ณต๊ฒฉ์ž์˜ ์ •๋ณด๋ฅผ ์•Œ๋ ค ํ˜‘๋ ฅ ๋ฐฉ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์•ผ ํ•จ

SISTAR

์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ๋‚ฎ์€ ํŒจํ‚ท ๋ ˆ๋ฒจ ๋ฐ ํ”Œ๋กœ์šฐ ๋ ˆ๋ฒจ ํŠน์ง•์„ ๊ฒฐํ•ฉ.

๋ฆฌ์†Œ์Šค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด threshold pruning์„ ํ†ตํ•ด ML ์ตœ์ ํ™”. feature encoding์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์Šค์œ„์น˜์— ๋ถ„์‚ฐ ๋ฐฐ์น˜

๊ณต๊ฒฉ ์ค‘์— ์ •ํ™•ํ•˜๊ฒŒ ํƒ์ง€ํ•˜๊ณ  pushback ์ž‘์—…์„ ์ˆ˜ํ–‰

Contribution

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์Šค์œ„์น˜์— ํšจ์œจ์ ์œผ๋กœ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” DDoS ํƒ์ง€/์™„ํ™” ํ”„๋ ˆ์ž„์›Œํฌ ๋„์ž…. ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™”. ์ง€๋Šฅํ˜• ํƒ์ง€.
  • ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ž„๊ณ„๊ฐ’์„ 70%๊นŒ์ง€ ์ค„์ด๋Š” DT-CTS(Decision Tree-constrained Treshold segmentaion). ์„ค๊ณ„. ๊ธฐ์กด ์‚ฌ์ „ ๊ฐ€์ง€์น˜๊ธฐ๋‚˜ ์‚ฌํ›„ ๊ฐ€์ง€์น˜๊ธฐ ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ ํŠธ๋ฆฌ ๊ตฌ์ถ• ๋‹จ๊ณ„์—์„œ ๊ฒฐ์ • ์ž„๊ณ„๊ฐ’์„ ์ œ์•ฝํ•˜์—ฌ ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๋งค์น˜-์•ก์…˜ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์™€ ์ผ์น˜์‹œ์ผœ P4 ์Šค์œ„์น˜ ํ•˜๋“œ์›จ์–ด ํŠน์„ฑ์— ๋งž๊ฒŒ ์„ค๊ณ„
  • DT-CTS๋ฅผ ์‚ฌ์šฉํ•œ ํ•™์Šต์„ ์œ„ํ•ด feature๋ฅผ ์‚ฌ์šฉ. 3๊ฐœ์˜ feature๋งŒ์œผ๋กœ ๋†’์€ F1 score. ๋ฆฌ์†Œ์Šค
  • ๊ฒฝ๊ณ  ์ •๋ณด์™€ pushback ๋ฐฉ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์Šค์œ„์น˜์— ๊ฑธ์นœ ๋ถ„์‚ฐ ๋ชจ๋ธ ๋ฐฐ์น˜๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์Šค์œ„์น˜ ํด๋Ÿฌ์Šคํ„ฐ ๋ณดํ˜ธ ์กฐ์น˜.
    • ํƒ์ง€/์™„ํ™”๋ฅผ edge๋กœ ๋ฐ€์–ด๋‚ด ๋ฆฌ์†Œ์Šค ์ตœ์†Œํ™”.

Background

DDoS Attacks Solutions

๊ณต๊ฒฉ ๊ทœ๋ชจ์˜ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์ธ ์ฆ๊ฐ€, HTTP ๋ฐ DNS์™€ ๊ฐ™์€ ์‘์šฉ ๊ณ„์ธต์„ ๊ฒจ๋ƒฅํ•œ ์ „๋žต์˜ ๋‹ค์–‘ํ™” โ†’ ๋ฆฌ์†Œ์Šค ๊ณ ๊ฐˆ

  1. ๋ฐฉํ™”๋ฒฝ ๋ฐ ์นจ์ž… ํƒ์ง€ ์‹œ์Šคํ…œ (IDS) : ํ•„ํ„ฐ๋ง. ์ •์  ๊ทœ์น™
    • ์ ์‘๋ ฅ ๋ถ€์กฑ
    • ์—…๋ฐ์ดํŠธ ์œ ์ง€ ๊ด€๋ฆฌ ์–ด๋ ค์›€ โ†’ ๋ณต์žกํ•œ ๊ณต๊ฒฉ์— ์‹ ์†ํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์›€
  2. ์ค‘์•™ ์ง‘์ค‘์‹ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•œ ML, DL : ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์ œ์•ฝ
  3. Pushback : ํŠธ๋ž˜ํ”ฝ ์ œ์–ด ๋ฐ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ๊ณต๊ฒฉ๋ฐ›๋Š” ๋Œ€์ƒ์„œ๋ฒ„์—์„œ ๋„คํŠธ์›Œํฌ์˜ ์—…์ŠคํŠธ๋ฆผ ๋…ธ๋“œ๋กœ ๋ฐ€์–ด๋‚ด๋Š” ๊ฒƒ. ๊ณต๊ฒฉ ๊ทผ์›์ง€์— ๋” ๊ฐ€๊นŒ์šด ์—…์ŠคํŠธ๋ฆผ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ์—์„œ ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ์„ ํ•„ํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ์ œํ•œํ•˜์—ฌ ๋Œ€์ƒ ์„œ๋ฒ„์˜ ๋ถ€๋‹ด์„ ์ค„์—ฌ์คŒ.
    • ๋น„์ •์ƒ์ ์ธ ํŠธ๋ž˜ํ”ฝ ํŒจํ„ด์„ ํƒ์ง€ ๋ฐ ์‹๋ณ„ํ•˜๊ณ  ์—…์ŠคํŠธ๋ฆผ ๋ผ์šฐํ„ฐ๋‚˜ ์Šค์œ„์น˜์— ํ•„ํ„ฐ๋ง ๊ทœ์น™์„ ์„ค์น˜ํ•จ์œผ๋กœ์จ ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ์˜ ํ™•์‚ฐ์„ ์ฐจ๋‹จํ•˜๊ฑฐ๋‚˜ ์ œํ•œ

    โ†’ ๊ณต๊ฒฉ ํŠธ๋ž˜ํ”ฝ์ด ๋Œ€์ƒ ์„œ๋ฒ„์— ๋„๋‹ฌX. ํŠธ๋ž˜ํ”ฝ ํ•„ํ„ฐ๋ง ๋ถ€๋‹ด์„ ๋ถ„์‚ฐ์‹œํ‚ค๊ณ  ์ „์ฒด ๋„คํŠธ์›Œํฌ์˜ ๋ฐฉ์–ด ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ

DT on PDP

image.png

PDP๋Š” Parsing, match-action, forwarding ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ํŒจํ‚ท ์ฒ˜๋ฆฌ๋ฅผ ์žฌ์ •์˜.

  1. Parsing : ํŒจํ‚ท ํ•ด๋”๊ฐ€ ์ถ”์ถœ๋˜์–ด ์ด๋”๋„ท, IP, TCP/UDP์™€ ๊ฐ™์€ ํ•„๋“œ
  2. Match-Action : TCAM์ด๋‚˜ SRAM์„ ์‚ฌ์šฉํ•˜์—ฌ ํšจ์œจ์ ์ธ ๊ทœ์น™ ๋งค์นญ. ALU๋ฅผ ํ†ตํ•ด ํ—ค๋” ์ˆ˜์ •์ด๋‚˜ ํ†ต๊ณ„ ์—…๋ฐ์ดํŠธ์™€ ๊ฐ™์€ ์ •์˜๋œ ์ž‘์—… ์ˆ˜ํ–‰
  3. deparsed
    • ํ•œ๊ณ„
    1. Tofino1 : ์•„ํ‚คํ…์ฒ˜๋Š” ๊ณ ์ •๋œ 12๊ฐœ์˜ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„๋งŒ์„ ์ง€์›. ๋ณต์žกํ•œ ์—ฐ์‚ฐ์€ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์— ๊ฑธ์ณ ์ˆ˜ํ–‰. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด ๋น„ํŠธ ํญ ์ธก๋ฉด์—์„œ ์ œํ•œ์ . 32๋น„ํŠธ ํญ์„ ์ดˆ๊ณผํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Š” ์ง€์› X
    2. ๋ฆฌ์†Œ์Šค ์ œ์•ฝ
    3. ์‹ ๊ฒฝ๋ง์€ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค ์ œํ•œ

๊ฒฐ์ • ํŠธ๋ฆฌ (DT) : feature ๊ธฐ๋ฐ˜์œผ๋กœ ์˜์‚ฌ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š” ML. ๊ฐ ๋…ธ๋“œ๋Š” ํŠน์ • feature ํŠน์„ฑ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ„๊ธฐ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ์˜์‚ฌ ๊ฒฐ์ • ๊ทœ์น™์„ ๋‚˜ํƒ€๋ƒ„. ๋ชจ๋ธ์˜ ๊ณ„์ธต์ ์ธ ์˜์‚ฌ ๊ฒฐ์ • ๊ตฌ์กฐ๊ฐ€ match-action ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋งค์šฐ ์ž˜ ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— PDP์— ์ ํ•ฉ.

DT์˜ ์กฐ๊ฑด ํ™•์ธ์„ ์Šค์œ„์น˜์˜ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„์— ๋งคํ•‘ํ•˜์—ฌ ํŒจํ‚ท ํ•ด๋” ์ •๋ณด ์ฒ˜๋ฆฌ์— ๋”ฐ๋ฅธ ๋‹ค์Œ ๋™์ž‘์„ ๊ฒฐ์ •.

๊ทธ๋ž˜์„œ ๋งŽ์€ ํŠธ๋ž˜ํ”ฝ ๋ถ„๋ฅ˜ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ DT ๋ชจ๋ธ์„ ์ฑ„ํƒ

image.png

IIsy : ๋น„์ง€๋„/์ง€๋„ ํ•™์Šต ๋ชจ๋‘ match-action ํŒŒ์ดํ”„๋ผ์ธ์— ๋„์ž…. ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ ์ €์žฅ์„ ์œ„ํ•ด lookup table ์‚ฌ์šฉ. ์ฒซ ์‚ฌ๋ก€

SwitchTree : ๋žœ๋คํฌ๋ ˆ์ŠคํŠธ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์Šค์œ„์น˜์— ๋งคํ•‘. ํ•ด์‹œ ๋งคํ•‘์„ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ๊ณต๊ฒฉ ํƒ์ง€๋ฅผ ์œ„ํ•œ ๋ณต์žกํ•œ ํŠน์ง•๋“ค์„ ์ถ”์ •.

Planter : ์•™์ƒ๋ธ” ๋ชจ๋ธ์„ PDP์— ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ œ์•ˆ. match-action table์—์„œ ํŠธ๋ฆฌ๋ฅผ ์ค‘์ฒฉ์‹œํ‚ด์œผ๋กœ์จ ๋„คํŠธ์›Œํฌ ์žฅ์น˜์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋ฆฌ์˜ ์ˆ˜๋ฅผ ๋Š˜๋ฆผ.

โ†’ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค ์ œ์•ฝ์€ ๊ณผ์ œ๋กœ ๋‚จ์•„์žˆ์Œ.

Approach Overview

Motivation

ํ˜„์žฌ 2๊ฐ€์ง€

  • ์ผ๋ฐ˜ ๋ชฉ์ ์˜ in-network ๋ถ„๋ฅ˜ ํ”„๋ ˆ์ž„์›Œํฌ
    • Mousika๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์žฌ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋ชจ๋ธ์˜ ์ง€์‹์„ ์ด์ง„ ๊ฒฐ์ • ํŠธ๋ฆฌ๋กœ ์ „๋‹ฌ. ํŒจํ‚ท ๋ ˆ๋ฒจ์˜ ํŠน์ง•๋งŒ๊ณ ๋ คํ•˜์—ฌ ์‹ฌ์ธต์ ์ธ ๋ถ„์„์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ
    • NetBeacon์€ ๋ชจ๋ธ ์ •ํ™•๋„์™€ ๋ฐฐ์น˜ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ. ๊ธด ํ”Œ๋กœ์šฐ์™€ ์งง์€ ํ”Œ๋กœ์šฐ๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ํ”Œ๋กœ์šฐ ๊ธธ์ด ์ถ”์ • โ†’ ์ €์žฅ ํšจ์œจ์„ฑ์—์˜ํ–ฅ
    • IIsy : ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ชจ๋ธ์˜ ๋ฐฐ์น˜๋ฅผ์ง€์›. ๋นˆ๋ฒˆํ•œ ์Šค์œ„์น˜์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ์ธํ•ด ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€. ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์— ํŠน์ • ํ•œ๊ณ„ ์กด์žฌ
    • Soter : ์Šค์œ„์น˜ CPU์— ์‹คํ–‰๋˜๋Š” BCN์ด๋ผ๋Š” ๊ฒฝ๋Ÿ‰ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง ์ฑ„ํƒ โ†’ ๋ฆฌ์†Œ์Šค ์†Œ๋ชจ์™€ ์ง€์—ฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€
  • DDoS ํƒ์ง€์— ํŠนํ™”๋œ ํ”„๋ ˆ์ž„์›Œํฌ
    • ML์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ์ƒˆ๋กญ๊ฑฐ๋‚˜ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๊ณต๊ฒฉ์— ์ทจ์•ฝ

    โ†’ ๋Œ€๊ทœ๋ชจ ๋ฐฐ์น˜์— ์ ํ•ฉํ•˜๋ฉด์„œ๋„ ๋ฐฉ์–ด ์ „๋žต์˜ ์‹ ์†ํ•œ ๋ฐฐ์น˜์™€ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์ ˆ์‹คํ•œ ํ•„์š”์„ฑ ์กด์žฌ

Challenge

  1. ํƒ์ง€ ์ •ํ™•๋„์™€ ๋ฆฌ์†Œ์Šค ์†Œ๋น„ ๊ฐ„์˜ ๊ท ํ˜• : ๋งŽ์€ ํŠน์ง•์˜ ์ˆ˜์™€ ๋ชจ๋ธ์˜ ์ •ํ™•๋„ ์‚ฌ์ด์—์„œ ์ตœ์ ์˜ ๊ท ํ˜•. model deployment ๊ณผ์ •์—์„œ ์ƒํ™ฉ์—์„œ ์ƒ๋‹นํ•œ ๋ฆฌ์†Œ์Šค ์†Œ๋น„. ์ˆ˜๋งŽ์€ ์—”ํŠธ๋ฆฌ๊ฐ€ ๊ณผ๋„ํ•œ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜์—ฌ ์šด์˜ ํšจ์œจ์„ฑ์— ์˜ํ–ฅ
  2. ์Šค์œ„์น˜ ๊ฐ„ ํ˜‘๋ ฅ ์ฒ˜๋ฆฌ ๋งค์ปค๋‹ˆ์ฆ˜ ๋ถ€์กฑ : ๋‹จ์ผ ์žฅ์น˜๋กœ ์™„ํ™”ํ•˜๊ธฐ๋Š” ํž˜๋“ฆ. DDoS ํƒ์ง€ ํ›„ ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ ๊ฐ„์— ์ •๋ณด๋ฅผ ์‹ ์†ํ•˜๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ์ „๋‹ฌ. ๊ณต๊ฒฉ์˜ ์˜ํ–ฅ์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ–‰๋™์„ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์— ๊ฒฐํ•จ ์กด์žฌ.

System Overview

image.png

ํ•™์Šต ๋‹จ๊ณ„ : C1์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒ๋œ ํ”ผ์ฒ˜ ์„ธํŠธ์™€ DT-CTS ๋ชจ๋ธ ์‚ฌ์šฉ.

  • ์ •ํ™•๋„ ์œ ์ง€, ๋ชจ๋ธ ๋ณต์žก์„ฑ๊ณผ ๋ฆฌ์†Œ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ํฌ๊ฒŒ ์ค„์ด๊ธฐ ์œ„ํ•ด ํ”ผ์ฒ˜ ์ตœ์ ํ™”.
  • ์ƒˆ๋กœ์šด ๊ณต๊ฒฉ ๋ฐœ๊ฒฌ ์‹œ ์‹ ์†ํ•˜๊ฒŒ ์žฌํ•™์Šต ์‹œํ‚ค๊ณ  deploy ํ•จ

deploy ๋‹จ๊ณ„ : ํ•™์Šต๋œ ๋ชจ๋ธ๋“ค์€ ์—ฌ๋Ÿฌ ์Šค์œ„์น˜์— ๋ถ„์‚ฐ๋˜์–ด ๋ฐฐ์น˜. ๊ฐ ์Šค์œ„์น˜๋Š” ๋ฆฌ์†Œ์Šค ํ™œ์šฉ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ž์‹ ์˜ ์—ญํ• ๊ณผ ๋„คํŠธ์›Œํฌ ์œ„์น˜์— ๋”ฐ๋ผ ๋งž์ถคํ™”๋œ ๋ฒ„์ „์˜ ๋ชจ๋ธ ๋ฐฐ์น˜ . ๋ชจ๋ธ ์ž„๊ณ„๊ฐ’์„ ์กฐ์ •ํ•˜์—ฌ P์Šค์œ„์น˜ใ…‡์„œ ํšจ์œจ์ ์ธ ์šด์˜ ๋ณด์žฅ. ddos ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ์ „์ฒด ๋„คํŠธ์›Œํฌ์˜ ๋Œ€์‘ ์†๋„์™€ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ ํ–ฅ์ƒ

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

Feature Engineering

Feature Extraction

image.png

ํŒจํ‚ท ํŠน์ง•: ๊ฐœ๋ณ„ ํŒจํ‚ท ํ—ค๋”์—์„œ ์ถ”์ถœ, ์„ ํƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋”ฐ๋ผ ๋‹ฌ๋ผ์ง

ํ”Œ๋กœ์šฐ ํŠน์ง• : ํƒ์ง€ ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒ, ํ”Œ๋กœ์šฐ ์ƒํƒœ ์œ ์ง€๋ฅผ ์œ„ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค ํ•„์š”.

  • ํŠน์ง• ์ค‘์š”๋„ ๊ณ„์‚ฐ ํ›„ ๊ด€๋ จ ํŠน์ง•

    image.png

    • ์ค‘์š”๋„ ๊ณ„์‚ฐ : RF ์˜ˆ์ธก ๋ชจ๋ธ m, ๋ฐ์ดํ„ฐ์…‹ D๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ฐธ์กฐ ์ ์ˆ˜ s๋ฅผ ๊ณ„์‚ฐ

      \[i_{j}=s-\frac{1}{K}\sum_{k=1}^{K}s_{k,j}\]
      • ํŠน์ง• fj์˜ ์ค‘์š”๋„ ij ๊ณ„์‚ฐ
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜

      1~K๊นŒ์ง€์˜ k์— ๋Œ€ํ•ด : D์˜ j ๋ฒˆ์งธ ์—ด์— ์žˆ๋Š” ๊ฐ’๋“ค์„ ๋ฌด์ž‘์œ„๋กœ ์„ž์Œ. ๋ฌด์ž‘์œ„๋กœ ์„ž์ธ ๋ฐ์ดํ„ฐ์…‹์€ ํ‹ธ๋“œ D๋กœ ํ‘œ์‹œ. s{k,j}๋Š” ํ‹ธ๋“œ D{k, j}์— ๋ชจ๋ธ ์ฐธ์กฐ ์ ์ˆ˜

    • ๊ณ ์ •๋ฐ€ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ณ„ ํŒจํ‚ท๊ณผ ํ”Œ๋กœ์šฐ ๋ ˆ๋ฒจ ํ†ต๊ณ„ ๋ชจ๋‘์—์„œ ํŠน์ง• ์„ ํƒ. ํ”Œ๋กœ์šฐ ํŠน์ง•์ด ๋” ๋ฆฌ์†Œ์Šค๋ฅผ์†Œ๋น„ํ•˜์ง€๋งŒ ํ—ˆ์šฉ ๋ฒ”์œ„ ์•ˆ
    • ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ์‹คํ—˜

      image.png

      • ๊นŠ์ด๊ฐ€ 3,4,5,6,7์ธ 9๊ฐœ์˜ ํŠธ๋ฆฌ ์‚ฌ์šฉ
      • ๋‘๋ฒˆ์งธ ์‹คํ—˜์€ ๊ธธ์ด๋ฅผ 7๊ฐœ๋กœ ๊ณ ์ €ใ…‡ํ•˜๊ณ  ํŠธ๋ฆฌ ๊ฐœ์ˆ˜๋ฅผ 1,3,5,7,9๋กœ ์„ค์ •
      • ๋ชจ๋ธ ํ”ผ์ฒ˜ ์ˆ˜๊ฐ€ ์ ์„ ๋Œ€์—๋Š” ํŠธ๋ฆฌ ๊นŠ์ด๊ฐ€ ๊ฐœ์ˆ˜๋ณด๋‹ค ์ •ํ™•๋„์— ํฐ ์˜ํ–ฅ

DT-CTS Training

ํŠธ๋ฆฌ๊ฐ€ ์Šค์œ„์น˜์˜ match-action ๋™์ž‘์— ์ž˜ ๋ถ€ํ•ฉํ•˜๋„๋ก ๋งŒ๋“ค๊ณ  ํŠน์ง•๊ฐ’์— ๋Œ€ํ•œ ์Šค์œ„์น˜์˜ ํŒ๋‹จ ํšŸ์ˆ˜๋ฅผ ์ตœ๋Œ€ํ•œ ์ค„์ž„

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ํ•™์Šต ๋ฐ์ดํ„ฐ์…‹์€ ํŠน์ง• ํ–‰๋ ฌ X์™€ ํƒ€๊ฒŸ ๋ฒกํ„ฐ y๋กœ ๊ตฌ์„ฑ $X \in \mathbb{R}^{m \times k}$. m์€ ์ƒ˜ํ”Œ ์ˆ˜ k๋Š” ํŠน์ง• ์ˆ˜

    • ๋ชฉํ‘œ : ๋ฐ์ดํ„ฐ์…‹์„ ๊ณ ์œ ํ•œ ํด๋ž˜์Šค ๋ ˆ์ด๋ธ”์„ ๊ฐ€์ง„ ๋ฆฌํ”„ ๋…ธ๋“œ๋“ค๋กœ ๋ถ„ํ• ํ•˜๋Š” ์ตœ์ ํ™”๋œ ๊ฒฐ์ • ํŠธ๋ฆฌ ์ƒ์„ฑ.
      1. ์ž„๊ณ„๊ฐ’์˜ ์ˆ˜๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด threshold_count ๋”•์…”๋„ˆ๋ฆฌ ์ดˆ๊ธฐํ™”.
      2. ํŠน์ง• f์— ๋Œ€ํ•ด ์ตœ์ ์˜ ๋ถ„ํ•  ์ž„๊ณ„๊ฐ’ t*์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด BestSplit ํ•จ์ˆ˜ ํ˜ธ์ถœ
      3. BestSplit ๋‚ด์—์„œ ํŠน์ง• f์˜ ๋ชจ๋“  ๊ณ ์œ ๊ฐ’ t๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์ง€๋‹ˆ๋ถˆ์ˆœ๋„ G(t)๋ฅผ ๊ณ„์‚ฐ. C๋Š” ํด๋ž˜์Šค์˜ ์ˆ˜ pi๋Š” ํด๋ž˜์Šค i์˜ ํ™•๋ฅ 
      4. G(t)๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์ž„๊ณ„๊ฐ’์„ ์ตœ์ ์˜ ๋ถ„ํ•  ์ง€์ ์œผ๋กœ ์„ ํƒ
      5. ํŠน์ง•์˜ ์ž„๊ณ„๊ฐ’ ์ˆ˜๊ฐ€ ์ตœ๋Œ€ ์ œํ•œ์น˜ T์— ๋„๋‹ฌํ•˜๋ฉด ๋ถ„ํ• ์„ ์ˆ˜ํ–‰ x
      6. t*๊ฐ€ ๊ฒฐ์ •๋˜๋ฉด ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋„๋ก threshold_count ์—…๋ฐ์ดํŠธ

image.png

์žฅ์ ์€ ์ค‘๋ณต๋œ ์˜์‚ฌ ๊ฒฐ์ • ๋…ธ๋“œ๋ฅผ ์ค„์ด๋Š” ๊ฒƒ. ๋ถ„ํ•  ์ž„๊ณ„๊ฐ’์˜ ์ˆ˜๋ฅผ ์ œํ•œํ•˜์—ฌ ๊ฒฐ์ • ํŠธ๋ฆฌ๊ฐ€ ๊ฐ„๊ฒฐํ™”. ์Šค์œ„์น˜์— ๋งคํ•‘๋  ๋•Œ, ๊ณ„์‚ฐ ๋ฐ ์ €์žฅ ์šฉ๋Ÿ‰ ์š”๊ตฌ์น˜๋ฅผ ํฌ๊ฒŒ ์ค„์—ฌ์คŒ. ์˜์‚ฌ ๊ฒฐ์ • ๋…ธ๋“œ๊ฐ€ ์ ๋‹ค๋Š” ๊ฒƒ์€ ์Šค์œ„์น˜๊ฐ€ ๋น„๊ตํ•ด์•ผํ•  ์ž„๊ณ„๊ฐ’์ด ์ ๊ณ  ์ €์žฅํ•ด์•ผ ํ•  ๊ทœ์น™์ด ์ ์Œ โ†’ ๋ฆฌ์†Œ์Šค ๊ฐ์†Œ, ์†๋„ ํ–ฅ์ƒ

IIsy ๊ฐ™์€ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ DT๋ฅผ ์ธ์ฝ”๋”ฉํ•  ๋•Œ ์ธ์ฝ”๋”ฉ ๋น„ํŠธ์˜ ์ˆ˜๊ฐ€ ๊ณ ์ • โ†’ ๋„ˆ๋ฌด ๋งŽ์€ ํŠน์ง•์— ๋Œ€ํ•ด ๋งŽ์€ ์ž„๊ณ„๊ฐ’์„ ๊ฐ€์ง€๋ฉด ๋น„ํŠธ ๊ธธ์ด ๋ถ€์กฑ (ํŠน์ง• ์ˆ˜๋Š” ์ ์ง€๋งŒ ํŠธ๋ฆฌ ๊นŠ์ด๊ฐ€ ๊นŠ์„ ๋•Œ ๋ฐœ์ƒ). ๋น„ํŠธ ๊ธธ์ด๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์€ ํ…Œ์ด๋ธ” ์—”ํŠธ๋ฆฌ ์†Œ๋ชจ๋ฅผ ํฌ๊ฒŒ ์ฆ๊ฐ€

โ†’ ๋‹จ์ผ ํŠน์ง•์— ๋Œ€ํ•œ ์ž„๊ณ„๊ฐ’ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ํ•„์š”ํ•œ ๋น„ํŠธ ๊ธธ์ด๋„ ๋Š˜์–ด๋‚˜๊ณ  ์ƒ์„ฑ๋œ ํŠธ๋ฆฌ์˜ ์ž„๊ณ„๊ฐ’ ์ˆ˜๋ฅผ ์ œํ•œํ•˜์ง€ ์•Š๊ณ ์„œ๋Š” ์ธ์ฝ”๋”ฉ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์–ด๋ ค์›Œ์ง

Feature Encode

์ค‘๋ณต์„ฑ์„ ์ค„์ธ ํ›„ ์Šค์œ„์น˜์— ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฝ”๋”ฉ. ํŠธ๋ฆฌ ๊นŠ์ด์™€ ๋ฌด๊ด€ํ•˜๊ณ  ํ”ผ์ฒ˜์™€ ๊ด€๋ จ

๋™์ผํ•œ ํŠน์ง•์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ž„๊ณ„๊ฐ’์„ ๊ตฌ๋ณ„ํ•˜์—ฌ ๋‹จ์ผ ๋‹จ๊ณ„์—์„œ ์™„๋ฃŒ.

๋ฃจํŠธ์—์„œ ๋ฆฌํ”„ ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋ฉฐ, ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ์ˆ˜์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ์ธ์ฝ”๋”ฉ ์ˆ˜๊ฐ€ ๊ฒฐ์ •.

image.png

๋‹จ์ผ DT-CTS์˜ ์˜ˆ์‹œ. ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ํ”ผ์ฒ˜ ์ž„๊ณ„๊ฐ’์„ ๋น„๊ตํ•จ์œผ๋กœ์จ ์„œ๋กœ ๋‹ค๋ฅธ ๊ตฌ๊ฐ„์œผ๋กœ ์„ธ๋ถ„ํ™”๋˜๊ณ  ๊ฐ ๊ตฌ๊ฐ„์€ ์ธ์ฝ”๋”ฉ.

ํŠน์ง• x์— ๋Œ€ํ•ด ํŠน์ง• ์ž„๊ณ„๊ฐ’์ด t1,t2๋ผ๊ณ  ๊ฐ€์ •. x < t1์ด๋ฉด 00. t1 < x < t2์ด๋ฉด 01, t2 < x < t3์ด๋ฉด 10, t3 < x์ด๋ฉด 11

DT-CTS์—์„œ ๊ฐ ๋…ธ๋“œ๋Š” ํŠน์ง• ์ž„๊ณ„๊ฐ’ a1, a2, a3, b ๊ธฐ์ค€์œผ๋กœ ๋ถ„ํ• . ๋ฆฌํ”„์—์„œ ํŠน์ง• ์ƒ์„ฑ

๋ฆฌํ”„ 2์—์„œ ํŠน์ง• A์˜ ๊ฐ’์ด a1๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ 00 ํŠน์ง• B๋Š” b๋ณด๋‹ค ํฌ๋ฏ€๋กœ 01๋กœ ์ธ์ฝ”๋”ฉ.

๋ฆฌํ”„ ๋…ธ๋“œ ์ง‘ํ•ฉ์„ L์ด๋ผ๊ณ  ๊ฐ€์ •, ์ธ์ฝ”๋”ฉ ์ง‘ํ•ฉ El์— ๋Œ€์‘.

์‚ผ์ง„ ๋งค์นญ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋“ค์— ๋งค์นญ ํšจ์œจ์„ ์ตœ์ ํ™”

ํŠน์ง• ์ธ์ฝ”๋”ฉ์€ ํ…Œ์ด๋ธ”๋กœ ๋งคํ•‘. ํ‚ค๋Š” ํŠน์ง• ์ธ์ฝ”๋”ฉ. ๋งˆ์Šคํฌ๋Š” ์ค‘์š”ํ•œ ๋น„ํŠธ ์ง€์ •

๋งˆ์Šคํฌ๋Š” donโ€™t care ๋น„ํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ„

Distributed Deployment

๋ถ„์‚ฐํ˜•. ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์Šค์œ„์น˜์— DT-CTS ๋ฐ RF-CTS์™€ ๊ฐ™์€ ์ด๊ธฐ์ข… ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๋ฐฐ์น˜. ๋ถ„์‚ฐ ๋ฐฐ์น˜๋Š” ํƒ์ง€ ๋ฐ ๋Œ€์‘์˜ ์œ ์—ฐ์„ฑ์„ ๋†’์ž„. ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์Šค์œ„์น˜์˜ ํ˜‘๋ ฅ ์šด์˜.

๋„คํŠธ์›Œํฌ ์œ„์น˜์™€ ๋ฆฌ์†Œ์Šค ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ ๊ฐ ์Šค์œ„์น˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ๋ฐฐ์น˜. ์ฝ”์–ด ๊ทผ์ฒ˜๋Š” ํฌ๊ด„์ ์ธ ๋ชจ๋ธ. ๊ฒŒ์ดํŠธ์›จ์ด ๊ทผ์ฒ˜์˜ ์Šค์œ„์น˜์—๋Š” ์‹ ์†ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฝ๋Ÿ‰ ๋ชจ๋ธ ๋ฐฐ์น˜

pushback ๋ฉ”์ปค๋‹ˆ์ฆ˜

Updated:

Leave a comment