[2025-09-29] Lemon

๐Ÿฆฅ ๋ณธ๋ฌธ

Existing System

DownStream ํƒ์ง€ ๋ฐฉ์‹

ํ˜„์žฌ๋Š” ๋‹ค์šด์ŠคํŠธ๋ฆผ ์„œ๋ฒ„๋‚˜ ์Šค์œ„์น˜์— DDoS ํƒ์ง€ ์‹œ์Šคํ…œ์ด ๋ฐฐ์น˜๋˜์–ด ํ”ผํ•ด์ž ๊ทผ์ฒ˜์˜ ํƒ์ง€ ๋ฐฉ์‹

  • ๋ฌธ์ œ์  : ๊ณต๊ฒฉ ํŠธ๋ž˜ํ”ฝ์ด ํƒ์ง€๊ธฐ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ๋Œ€์‘ํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ”ผํ•ด์ž์—๊ฒŒ ๊ฐ€๋Š” ๋ผ์šฐํŒ… ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„

Upstream ํƒ์ง€ ๋ฐฉ์‹

ISP ๊ฐ™์€ ์—…์ŠคํŠธ๋ฆผ์—์„œ ๋„คํŠธ์›Œํฌ์˜ ์ „๋ฐ˜์ ์ธ ์ƒํƒœ๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด ์ด์ƒ์ .

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

๊ธฐ๋กํ•œ ์†Œํ˜• ํ”Œ๋กœ์šฐ๋Š” ๊ณต๊ฐ„ ํšจ์œจ์ ์ธ ๋น„ํŠธ๋งต์— ํฐ ํ”Œ๋กœ์šฐ๋Š” HyperLogLog ์œ ๋‹›์— ๊ธฐ๋ก.

  • ๋ฌธ์ œ์ 

    image.png

    • Packet over-counting :ํ•˜๋‚˜์˜ ํŒจํ‚ท์ด ์—ฌ๋Ÿฌ ์ธก์ • ๊ฒฝ๋กœ๋ฅผ ์ง€๋‚˜๋‹ค๋…€ ์ธก์ • ์ง€์ ์— ์—ฌ๋Ÿฌ ๋ฒˆ ๊ธฐ๋ก. ์ค‘๋ณต ๊ณ„์‚ฐ์œผ๋กœ ์›๋ž˜์˜ ํ”Œ๋กœ์šฐ๋ณด๋‹ค ๋” ํฐ ํ”Œ๋กœ์šฐ๋กœ ์˜คํƒํ•˜๊ฒŒ ๋จ.
    • Stage mis-allocating : ๊ฐ๊ฐ ์ธก์ • ์ง€์ ์€ ํŠธ๋ž˜ํ”ฝ์˜ ๋ถ„์‚ฐ๋œ ์ผ๋ถ€๋งŒ ๊ด€์ฐฐํ•˜๊ฒŒ ๋˜๊ณ  ํฐ ํ”Œ๋กœ์šฐ๋ฅผ ์ž‘์€ ํ”Œ๋กœ์šฐ๋กœ ์ฐฉ๊ฐํ•˜์—ฌ ์ž‘์€ ํ”Œ๋กœ์šฐ์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ. ๋˜ํ•œ ํ•ด๋‹น ์ธก์ • ์ง€์ ์—์„œ ์ž„๊ณ„์ ์ด ๋‚ฎ์•„์„œ ํƒ์ง€๋ฅผ ๋ชปํ•  ์ˆ˜ ์žˆ์Œ.

    โ†’ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€์™€ ๋ผ์šฐํŒ…์— ๋Œ€ํ•œ ์‚ฌ์ „ ์ง€์‹์ด ํ•„์š”ํ•˜์ง€๋งŒ ๋ผ์šฐํŒ…์€ ๋™์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ ํž˜๋“ฆ

  • ๋ชฉํ‘œ

    1. ๋ผ์šฐํŒ… ๊ตฌ์•  ๋ฐ›์ง€ ์•Š๋Š” ์ธก์ •

      ์ค‘๋ณต ๊ณ„์‚ฐ๊ณผ ์˜ค๋ฐฐ์น˜ ๋ฌธ์ œ ๊ทน๋ณต

    2. ์ž์› ํšจ์œจ์ 

      ์ธก์ • ์ง€์ ๋“ค์€ ์ œํ•œ๋œ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ํ•„์š”

    3. ๋†’์€ ํ™•์žฅ์„ฑ

      ์‹œ์Šคํ…œ์€ ์ธก์ • ์ž‘์—…๊ณผ ๋‹ค์–‘ํ•œ ๊ฐ์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์œ ์—ฐํ•˜๊ฒŒ ์ œ๊ณตํ•ด์•ผ ํ•จ.

Lemon

image.png

๊ฐ ์ธก์ • ์ง€์ ์—์„œ ๋ฐ์ดํ„ฐ ์˜์—ญ ๋‚ด์— ์Šค์ผ€์น˜๊ฐ€ ์žˆ๊ณ  ํŒจํ‚ท๊ณผ ํ”Œ๋กœ์šฐ๋“ค์„ ๊ธฐ๋ก. ์ œ์–ด ์˜์—ญ์—์„œ๋Š” ๊ฐ ์ธก์ • ์ง€์ ์—์„œ ์Šค์ผ€์น˜๋“ค์„ ๋ชจ์•„์„œ ์ „์—ญ Lemon ์Šค์ผ€์น˜๋กœ ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ์‹

Lemon Data Plane

ํ”Œ๋กœ์šฐ ์‹๋ณ„์ž๋ฅผ ํ†ตํ•ด ํ”Œ๋กœ์šฐ์˜ ๋ณผ๋ฅจ์„ ์–ป์„ ์ˆ˜ ์žˆ์Œ. ์ „์—ญ์ ์ธ ์ผ๊ด€๋œ ์—…๋ฐ์ดํŠธ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์šฐํŒ…์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š์Œ

Lemon Sketch Design

image.png

  • 3๊ฐœ์˜ ํ•ด์‹œ ํ•จ์ˆ˜

    Hd๋Š” ์—…๋ฐ์ดํŠธ ๋  ๋ ˆ์ด์–ด๋ฅผ ์„ ํƒ. Hs๋Š” ์—…๋ฐ์ดํŠธ ๋  ์œ ๋‹›์„ ์„ ํƒ. Hb๋Š” ์œ ๋‹› ๋‚ด์˜ ๋น„ํŠธ๋งต ๋น„ํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

  • ์ „์—ญ์ ์œผ๋กœ ์ผ๊ด€๋œ ์—…๋ฐ์ดํŠธ

    ๋ชจ๋“  ์ธก์ • ์ง€์ ์ด ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ํŒจํ‚ท ์ค‘๋ณต ๊ณ„์‚ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ. ๊ฐ™์€ ํ•ด์‹œ ํ•จ์ˆ˜์™€ ๋™์ผํ•œ ์ข…๋ฅ˜์˜ ํ‚ค ์‚ฌ์šฉ

  • ๋™์ž‘ ํ๋ฆ„
    1. ํŒจํ‚ท ๊ณ ์œ ํ‚ค๋ฅผ Hd ํ•ด์‹œ ํ•จ์ˆ˜์— ๋„ฃ๊ณ  ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ ˆ์ด์–ด๋ฅผ ์„ ํƒ
      • ์ด ๋•Œ ๊ฐ ๋ ˆ์ด์–ด์˜ ์ž„๊ณ„๊ฐ’์€ ๋‹ค์Œ๊ณผ ์กฐ๊ฑด์„ ๋งŒ์กฑ
      \[T_{i-1} > T_{i} \\T_{i-2} - T_{i-1} > T_{i-1} - T_{i}\]

      ๋‚ฎ์€ ๊ณ„์ธต์ผ ์ˆ˜๋ก ๋ฒ”์œ„๊ฐ€ ๋” ํผ

    2. ์ •ํ•ด์ง„ ๋ ˆ์ด์–ด์—์„œ ํ”Œ๋กœ์šฐ ํ‚ค๋ฅผ Hs ํ•ด์‹œ ํ•จ์ˆ˜์— ๋„ฃ๊ณ  ํ•ด์‹œ ๊ฒฐ๊ณผ๋ฅผ ์œ ๋‹› ์ˆ˜๋กœ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐํ•˜์—ฌ ์œ ๋‹›์„ ๊ฒฐ์ •
    3. ์ •ํ•ด์ง„ ์œ ๋‹›์—์„œ Hb ํ•ด์‹œ ํ•จ์ˆ˜์— ํŒจํ‚ท ๊ณ ์œ ํ‚ค๋ฅผ ๋„ฃ์–ด์„œ ๋น„ํŠธ๋งต์—์„œ ์‚ฌ์‘ํ•˜๋Š” ๋น„ํŠธ๋ฅผ ์—…๋ฐ์ดํŠธ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜

      Input: Packet with flow key key f low and packet key keypkg
      Output: Updated Lemon sketch
      1 hslot โ† Hs(key flow)
      2 hlayer โ† Hd(keypkg)
      3 hbitmap โ† Hb(keypkg)
      4 for each layer of Lemon sketch layeri do
      5   if hlayer โˆˆ [Ti,Tiโˆ’1) then
      6     indexslot โ† hslot % S(s-i)
      7     indexbitmap โ† hbitmap % S(b-i)
      8     bitmap โ† layeri[index slot]
      9     if bitmap[indexbitmap] == 0 then
      10      bitmap[indexbitmap] โ† 1
      11    end
      12   end
      13 end
      14 if hlayer โ‰ค Th then
      15   index(h-slot) โ† hslot % Heavy.size
      16   Heavy[index(h-slot)] โ† key f low
      17 end
    

    1~3๋ฒˆ์งธ ์ค„๊นŒ์ง€ ํ•ด์‹ฑ์„ ๋‹ค ํ•ด๋†“์Œ

    4~5๋ฒˆ์งธ ์ค„์—์„œ ๋ ˆ์ด์–ด๋ฅผ ์ฐพ์Œ

    6๋ฒˆ์งธ ์ค„์—์„œ ํ•ด๋‹น ์œ ๋‹›์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๊ณ 

    7๋ฒˆ์งธ ์ค„์—์„œ ํ•ด๋‹น ๋น„ํŠธ๋งต์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์Œ. ๋งŒ์•ฝ ํ•ด๋‹น ๋น„ํŠธ๋งต์˜ ๋น„ํŠธ๊ฐ€ 0์ด๋ฉด 1๋กœ ๋ณ€๊ฒฝํ•จ.

    ๋งŒ์•ฝ์— ๋ ˆ์ด์–ด๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ•ด์‹ฑ ๊ฐ’์ด ํŠน์ • ์ž„๊ณ„๊ฐ’๋ณด๋‹ค ์ž‘๋‹ค๋ฉด Heavy ๋ ˆ์ด์–ด๋กœ ๊ฐ€์„œ ํ•ด๋‹น ํ”Œ๋กœ์šฐ ํ‚ค๋ฅผ ๋„ฃ์Œ

์ ์‘ํ˜• ์ธก์ •๊ธฐ ์žฌ๊ตฌ์„ฑ

image.png

์ฃผ์–ด์ง„ ํ”Œ๋กœ์šฐ์— ๋Œ€ํ•ด ์ตœ์ ์˜ ๋ ˆ์ด์–ด๋ฅผ ์ฐพ์•„์„œ ํ”Œ๋กœ์šฐ์˜ ์ถ”์ •๋œ ์–‘์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •. ๋‹จ๊ณ„ ์˜ค๋ฐฐ์น˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ.

  • ๋™์ž‘ ํ๋ฆ„
    1. ๋ชจ๋“  ๋ ˆ์ด์–ด์—์„œ ํ”Œ๋กœ์šฐํ‚ค์™€ ํ•ด๋‹นํ•˜๋Š” ์œ ๋‹›์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋น„ํŠธ๋งต์„ ์ˆ˜์ง‘
    2. ๋ฐ”ํ…€์—… ๋ฐฉ์‹์œผ๋กœ ๋น„ํŠธ๋งต์˜ 0์˜ ์ˆ˜๋ฅผ ์ฒดํฌ. 0์˜ ๊ฐฏ์ˆ˜๋ฅผ Zi๋ผ๊ณ ํ•˜๊ณ  ์ž„๊ณ„๊ฐ’์„ Tz๋ผ๊ณ  ํ•  ๋•Œ, ๋‹ค์Œ ๊ณต์‹์„ ์ถฉ์กฑํ•˜๋Š” ์ฒซ๋ฒˆ์งธ ๋น„ํŠธ๋งต์„ ์ฐพ์•„๋ƒ„
    \[Z_{i} \ge T_{z} \cdot S_{i}^{b}\]

    ์ฆ‰, 0์ด ์ถฉ๋ถ„ํžˆ ๋งŽ์•„ ๋น„ํŠธ๋งต์ด ํฌํ™”๋˜์ง€ ์•Š์•„ ์‹ ๋ขฐ์„ฑ์žˆ๊ฒŒ ์ถ”์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋น„ํŠธ๋งต์„ ์ฐพ์•„๋ƒ„

  1. ํ”Œ๋กœ์šฐ ์ถ”์ • ์–‘์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ
\[E = -S_i^b \cdot ln(Z_i/S_i^b) \cdot \frac{H_{d.max}()}{T_{i-1} - T_i}\]

ํ•ด๋‹น ๋น„ํŠธ๋งต์˜ ๋ ˆ์ด์–ด๋ฅผ ์ถ”์ • ๋ ˆ์ด์–ด, ํ•ด๋‹น ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ์ตœ์  ์ƒ˜ํ”Œ๋ง ๋น„์œจ์ด๋ผ๊ณ  ํ•จ

๋งŒ์กฑํ•˜๋Š” ๋น„ํŠธ๋งต์ด ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์œผ๋ฉด, ์ตœ๋Œ€ ์ถ”์ • ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„  ๊ฒƒ. ๋” ์ž‘์€ ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๋” ํฐ ๋น„ํŠธ๋งต ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜์—ฌ ํ”ผํ•  ์ˆ˜ ์žˆ์Œ

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

      Input: Flow identifier key flow
      Output: Estimated flow size E and allocated layer L
      1 hslot โ† Hs(key flow)
      2 bitmaps โ† nlayer size empty list
      3 Tbitmap โ† pre-defined threshold
      4 for each layer of Lemon sketch layeri do
      5   if hlayer โˆˆ [Ti,Tiโˆ’1) then
      6     indexslot โ† hslot % S(s-i)
      7     bitmaps[i] โ† layeri[indexslot ]
      8   end
      9 end
      10 for i = 1 : nlayer do
      11   Zi โ† bitmaps[i].Count_0()
      12   if Zi โ‰ฅ Tz ยท S(b-i) then
      13     E โ† โˆ’S(b-i)ยทln(Zi/S(b-i)
      14     E โ† E ยท Hd .max()/(Tiโˆ’1โˆ’Ti)
      15     L โ† i
      16     return E, L
      17   end
      18 end
      19 return overflow
      20 # avoiding by setting large enough bitmap for layern
    

    1~9๋ฒˆ์žฌ ์ค„์€ ํ”Œ๋กœ์šฐ ํ‚ค๋ฅผ ํ†ตํ•ด์„œ ์œ ๋‹›์„ ์–ป์Œ.

    10ํ–‰์€ ์•„๋ž˜ ๊ณ„์ธต ๋ถ€ํ„ฐ ๋ฐ”ํ…€์—…

    11ํ–‰์€ ๊ฐ ๋น„ํŠธ๋งต์˜ 0์˜ ๊ฐฏ์ˆ˜ Zi๋ฅผ ๊ตฌํ•จ

    12ํ–‰์€ ๋งŒ์•ฝ Zi โ‰ฅTz x S(b-i)์„ ๋งŒ์กฑํ•˜๋ฉด ํ”Œ๋กœ์šฐ ์ถ”์ •๋Ÿ‰์„ ๊ณ„์‚ฐํ•˜๊ณ  ํ•ด๋‹น ๋ ˆ์ด์–ด์™€ ์ถ”์ •๋Ÿ‰์„ ๋ฆฌํ„ด

    ๋งŒ์•ฝ ์กฐ๊ฑด์— ๋น„ํŠธ๋งต์„ ๋ฐœ๊ฒฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด overflow๋ฅผ ๋ฆฌํ„ด

์ถฉ๋Œ ์ œ๊ฑฐ

image.png

๋‚ฎ์€ ๋ ˆ์ด์–ด์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์œ ๋‹›์ด ๋†’์€ ๋ ˆ์ด์–ด์—์„œ๋Š” ๊ฐ™์€ ์œ ๋‹›์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋  ์ˆ˜ ์žˆ์–ด ์ถฉ๋Œ์ด ๋ฐœ์ƒ.

  • ๋™์ž‘ ํ๋ฆ„
    1. i-1์—์„œ๋Š” ๋‹ค๋ฅธ ์œ ๋‹›์ด i์—์„œ๋Š” ๊ฐ™์€ ์œ ๋‹›์œผ๋กœ ์ถฉ๋Œ.
    • ์„œ๋กœ ๋‹ค๋ฅธ ์ตœ์  ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ๊ฐ€์ง€๋ฉด ์ œ๊ฑฐ ๊ฐ€๋Šฅ
    • ์œ„์—์„œ๋Š” f1์ด ๋” ํฐ ํ”Œ๋กœ์šฐ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  layer i์—์„œ ์ตœ์  ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ๊ฐ€์ง„๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  f2๋Š” layer i-2์—์„œ ์ตœ์  ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ๊ฐ€์ง
      1. f1์˜ ์ถ”์ •๊ฐ’์€ f1๊ณผ f2์˜ ํ•ฉ. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— f1์—์„œ f2๋ฅผ ๋บ€ ๊ฐ’์„ ํ†ตํ•ด ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐ. ์ถ”์ • ๊ณ„์ธต์ด ๊ฐ™์œผ๋ฉด ์ถ”์ • ๋ถˆ๊ฐ€ํ•˜์ง€๋งŒ ๊ทธ๋Ÿด ์ผ์€ ๊ฑฐ์˜ ์—†์Œ
  • ์ถฉ๋Œ ๋ณด์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜

    image.png

    1~2 : ์ถ”์ •๋œ ์–‘๊ณผ ํ• ๋‹น๋œ ๊ณ„์ธต์„ ์–ป์Œ. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ์œ ๋‹›์„ ์–ป์Œ

    3 : f1์— ์˜ํ–ฅ์„ ๋ฏธ์ณค์„ ํ•˜์œ„ ๊ณ„์ธต์„ ํƒ์ƒ‰

    4 : ํ•˜์œ„ ๊ณ„์ธต์— ์žˆ๋Š” ์ž ์žฌ์  ์ถฉ๋Œ ์œ ๋‹›์˜ ์ธ๋ฑ์Šค ๊ณ„์‚ฐ

    5~7 : ๋งŒ์•ฝ ํ•˜์œ„ ๊ณ„์ธต์—์„œ๋„ ๊ฐ™์€ ์œ ๋‹›์ด๋ฉด ํŒจ์Šค

    8~9 : ์ž ์žฌ์  ์ถฉ๋Œ ์œ ๋‹›์˜ ๋น„ํŠธ๋งต์„ ๊ฐ€์ ธ์˜ค๊ณ  0์˜ ๊ฐฏ์ˆ˜๋ฅผ ์…ˆ

    10 : ๋น„ํŠธ๋งต์ด ์ถฉ๋ถ„ํžˆ ๋น„์–ด ์žˆ์œผ๋ฉด(์ถ”์ • ๊ฐ€๋Šฅํ•œ ์ƒํƒœ)

    11 : ์˜ค์ฐจ ๊ณ„์‚ฐ

    12 : ์›๋ž˜ ํ•ฉ์—์„œ ์˜ค์ฐจ๋ฅผ ๋บŒ

๋ถ„์„

  • ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ํ™•๋ฅ 

    ํ”Œ๋กœ์šฐ์—์„œ ๋ ˆ์ด์–ด i์—์„œ ์ตœ์  ์ถ”์ • ๋น„์œจ์„ ์–ป์„ ํ™•๋ฅ 

    \[Pr_i = \left(1 - \sum_{j=0}^{i-1} Pr_j\right) \cdot \left(1 - \sum_{j=0}^{T_z \cdot S_i^b} \binom{j}{S_i^b} B^j \cdot (1-B)^{S_i^b - j}\right)\] \[B = \left(1 - \frac{1}{S_i^b}\right)^{N \cdot \frac{T_{i-1} - T_i}{H_{d.max}()}}\]

    ํ”Œ๋กœ์šฐ๊ฐ€ ๋ ˆ์ด์–ด i์—์„œ ์ถ”์ • ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‘ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•จ

    1. ํ•ด๋‹น ๊ณ„์ธต์ด ์ถฉ๋ถ„ํžˆ ๋น„์–ด ์žˆ์–ด์•ผ ํ•จ
      • 0์ด ๋งŽ์•„์•ผ ํ•จ.
      • ๋ ˆ์ด์–ด i์— ๋Œ€ํ•ด ํ•ด๋‹น ๋น„ํŠธ๋งต์—์„œ Ni ๋ฒˆ ์—…๋ฐ์ดํŠธ ๋œ ํ›„(์ฆ‰ Ni๋Š” ์ƒ˜ํ”Œ๋ง๋œ ํŒจํ‚ท์˜ ์ˆ˜) x ๋ฒˆ์งธ ๋น„ํŠธ๊ฐ€ 0์ผ ํ™•๋ฅ 
      \[B = Pr[bitmap[x] = 0] = \left(1 - \frac{1}{S_i^b}\right)^{N_i}\] \[N_i = {N \cdot \frac{T_{i-1} - T_i}{H_{d.max}()}}\]
      • ๋น„ํŠธ๋งต 0์˜ ๊ฐœ์ˆ˜. ์ดํ•ญ ๋ถ„ํฌ
      \[Pr[Z_i > T_z \cdot S_i^b]= \left( 1 -\sum_{j=0}^{\lfloor T_z \cdot S_i^b \rfloor}\binom{S_i^b}{j}B^j \cdot (1-B)^{S_i^b - j}\right)\]
    2. ํ•˜์œ„ ๋ ˆ์ด์–ด๊ฐ€ ์ตœ์ ์˜ ์ƒ˜ํ”Œ๋ง ๋น„์œจ์ด ์•„๋‹ˆ์–ด์•ผ ํ•จ.

      \[Pr[\text{not in lower layer}]= \left( 1 -\sum_{j=0}^{i-1} Pr_j\right)\]

    ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ํ™•๋ฅ 

    \[Pr[\text{collision in layer}_i]= 1 - \left( \frac{N_i}{S_i^s} + 1 \right)e^{-\frac{N_i}{S_i^s}}\]

    $N_i$๋Š” ๊ณ„์ธต i๋ณด๋‹ค ๋†’์€ ๊ณ„์ธต์— ์ถ”์ • ๊ณ„์ธต์ด ์žˆ๋Š” ํ”Œ๋กœ์šฐ์˜ ์ˆ˜. ํ•˜์œ„ ๊ณ„์ธต์—์„œ ์ถ”์ •๋œ ํ”Œ๋กœ์šฐ๋“ค์˜ ์˜ํ–ฅ์€ ๊ณ„์ธต i์—์„œ ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ์Œ. ์ ์ ˆํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ •ํ•˜์—, ์ถฉ๋Œ ๋น„์œจ์€ ๋‚ฎ์€ ์ˆ˜์ค€์œผ๋กœ ์œ ์ง€๋  ์ˆ˜ ์žˆ์Œ. $\frac{N_i}{S_i^s}$์ด 0.1์ธ๊ฒฝ์šฐ

  • ์‚ฌ๋ก€ ์—ฐ๊ตฌ

    image.png

    ๋ ˆ์ด์–ด๋ฅผ 5 ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ.

    ์ž„๊ณ„๊ฐ’ Ti 16,384, 4,096, 1,024, 256, 0

    ์œ ๋‹› ์ˆ˜ $S_i^s$๋Š” 524,288, 65,536, 8,192, 2,048, 1,024๊ฐœ

    ๋น„ํŠธ๋งต ํฌ๊ธฐ $S_i^b$์€ 8, 32, 32, 32, 512

    ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ํ”Œ๋กœ์šฐ๋“ค์ด ๊ฐ ๊ณ„์ธต์— ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„๋ฆฌ

    ์ถฉ๋Œ ํ™•๋ฅ ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ

    20๋งŒ๊ฐœ๊ฐ€ ๋„˜๋Š” ํ”Œ๋กœ์šฐ๋กœ ์‹คํ—˜

    ํฐ ๊ณ„์ธต์—์„œ ์ถ”์ •๋˜๋Š” ํ”Œ๋กœ์šฐ ์ˆ˜)๋Š” ์ˆœ์„œ๋Œ€๋กœ 222,470, 6,463, 360, 183, 99๊ฐœ์ž…๋‹ˆ๋‹ค.

    ๊ณ„์ธต์˜ ์ถฉ๋Œํ™•๋ฅ ์€ ๊ฐ ๊ณ„์ธต์˜ ์ถฉ๋Œ ํ™•์€ ์ˆœ์„œ๋Œ€๋กœ 7.2%, 0.55%, 0.29%, 0.86%, 0.44%์ž…๋‹ˆ๋‹ค.

    ๊ณ„์ธต 1์€ ์ž์ž˜ํ•œ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž…๊ตฌ ์—ญํ• ๋กœ ์ด ์ •๋„ ์ถฉ๋Œ์€ ํ—ˆ์šฉ ๊ฐ€๋Šฅ.

    ๊ณ„์ธต 1์„ ์ œ์™ธํ•˜๊ณ ๋Š” 1ํ”„๋กœ ๋ฏธ๋งŒ์ด๋ฏ€๋กœ ๋ฌด์‹œํ• ๋งŒํ•œ ์ˆ˜์ค€.

Lemon Control Plane

Results Collecting and Aggregation

image.png

  • ๋™์ž‘ ํ๋ฆ„
    1. ๊ฐ ๋ฐ์ดํ„ฐ ์˜์—ญ์œผ๋กœ๋ถ€ํ„ฐ Lemon Sketch๋“ค์„ ๋ชจ์Œ
    2. ๊ฐ™์€ ๋ ˆ์ด์–ด์™€ ๊ฐ™์€ ์œ ๋‹›๋ผ๋ฆฌ ๋น„ํŠธ๋งต์˜ OR ์—ฐ์‚ฐ์„ ํ•˜๊ณ  global Lemon Sketch์— ๋ฐฐ์น˜ํ•จ
    3. Heavy ํ•ด์‹œ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ํ”Œ๋กœ์šฐ ํ‚ค์— ๋Œ€ํ•ด์„œ๋Š” ์ „์—ญ ์Šค์ผ€์น˜์— ๊ทธ๋Œ€๋กœ ์ €์žฅ.

    ๋งŒ์•ฝ ์ธก์ • ์ง€์ ๋งˆ๋‹ค ํ”Œ๋กœ์šฐ ํ‚ค๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ๊ฐ ์ธก์ • ์ง€์ ์—์„œ ์ถ”์ •๋œ ๊ฐ’์ด ๋” ํฐ ํ”Œ๋กœ์šฐ ํ‚ค๋ฅผ ํ†ตํ•ฉ

Measurement Tasks configuration

image.png

์ œ์–ด ์˜์—ญ์—์„œ ๋งˆ์Šคํ‚น ๊ฐ’์„ ์ˆ˜์ •ํ•˜์—ฌ ํ”Œ๋กœ์šฐ ํ‚ค์™€ ํŒจํ‚ท ๊ณ ์œ  ํ‚ค์˜ ์ •์˜๋ฅผ ์ปค์Šคํ…€ํ•  ์ˆ˜ ์žˆ์Œ

โ†’ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์œ ์—ฐํ•˜๊ฒŒ ์ œ๊ณตํ•˜์—ฌ ๋†’์€ ํ™•์žฅ์„ฑ์„ ์ง€๋‹˜

DDoS Detection

Volume-based detection : ๋น„์ •์ƒ์ ์œผ๋กœ ๋†’์€ ํŒจํ‚ท ๋ณผ๋ฅจ์— ๋…ธ์ถœ๋œ DDoS ํ”ผํ•ด์ž๋ฅผ ์‹๋ณ„. ํ”Œ๋กœ์šฐ ํ‚ค๋ฅผ dest IP๋กœ ํŒจํ‚ท ํ‚ค๋ฅผ ํŒจํ‚ท ID๋กœ ์„ค์ •. ๋†’์€ ๋ณผ๋ฅจ์„ ๊ฐ€์ง„ ์ž ์žฌ์  ํ”ผํ•ด์ž๋ฅผ Heavy ํ…Œ์ด๋ธ”์— ์ €์žฅ

Cardinality-based detection : ๋™์ผํ•œ dest IP์— ์ปจํƒํ•˜๋ ค๋Š” ๊ณ ์œ ํ•œ src IP์˜ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ์ฆ๊ฐ€. Lemon์€ ํ”Œ๋กœ์šฐ ํ‚ค๋Š” dest IP๋กœ ํŒจํ‚ท ํ‚ค๋ฅผ src IP๋กœ , ์ž ์žฌ์  ํ”ผํ•ด์ž๋ฅผ Heavy ํ…Œ์ด๋ธ”์— ์ €์žฅ.

Entropy-based detection : src ์ฃผ์†Œ์˜ ์—”ํŠธ๋กœํ”ผ๊ฐ€ ์ฆ๊ฐ€. ํ”Œ๋กœ์šฐ ํ‚ค๋Š” src IP. ๊ฐ€๋Šฅํ•œ ์œ ๋‹›์„ ์ˆœํšŒ ํ›„ ํ›„์† ์กฐํšŒ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉ. ์ฃผ์†Œ ๋นˆ๋„ ๋ถ„ํฌ๋ฅผ ์–ป์–ด์„œ ์—”ํŠธ๋กœํ”ผ ๊ณ„์‚ฐ

์ด์™ธ์—๋„ ๊ธฐ์กด์˜ ๋งค์ปค๋‹ˆ์ฆ˜์„ ์œ ์—ฐํ•˜๊ฒŒ ์ง€์›

DDoS Mitigation

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

Evaluation

  • Setup

    ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ์Šค์œ„์น˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ํ†ตํ•ด Lemon ํ”„๋กœํ† ํƒ€์ž…์„ ๊ตฌ์ถ•. ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์–ด ์˜์—ญ ๊ตฌํ˜„

    background ํŠธ๋ž˜ํ”ฝ : ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํŠธ๋ž˜ํ”ฝ + ๋””๋„์Šค ๊ณต๊ฒฉ์„ ํ†ตํ•ด ์„ฑ๋Šฅ ํ‰๊ฐ€. ๋ฆฌ์–ผ ์›”๋“œ ISP ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ํŠธ๋ ˆ์ด์Šค๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ์‚ฌ์šฉ. ์—ํฌํฌ๋‹น 500๋งŒ๊ฐœ. 20๋งŒ ๊ฐœ์˜ ํ”Œ๋กœ์šฐ

    ๋””๋„์Šค ๊ณต๊ฒฉ : UDP flooding ๊ณต๊ฒฉ. ๋ณผ๋ฅจ์„ ๋‹ค์–‘ํ•˜๊ฒŒ ๋ณ€ํ™”(์ „์ฒด ํŠธ๋ž˜ํ”ฝ์˜ 0.1%์—์„œ 10%). ๋ฐฐ๊ฒฝ ํŠธ๋ž˜ํ”ฝ์—์„œ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ•œ ๋™์ผํ•œ ํ”ผํ•ด์ž ์ฃผ์†Œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ณต๊ฒฉ. ๊ณต๊ฒฉ ํŠธ๋ž˜ํ”ฝ์€ ๋ฌด์ž‘์œ„ ์†Œ์Šค.

    genericity ์‹คํ—˜์—์„œ๋Š” ์†Œ์Šค ์Šคํ‘ธํ•‘์ด ํ”ผํ•ด์ž ํƒ์ง€์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์กฐ์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๊ฒฉ ์ถœ๋ฐœ์ง€ ์ˆ˜๋ฅผ ์ˆ˜์ •. ๋ฐ์Šคํ‹ฐ๋„ค์ด์…˜ ์Šคํ‘ธํ•‘์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์ผ IP์—์„œ ์„œ๋ธŒ๋„ท์œผ๋กœ ์ˆ˜์ •

    ํ† ํด๋กœ์ง€์™€ ์ธก์ • ์ง€์  : ์ œ์–ด ์˜์—ญ์ด ๋ผ์šฐํŠธ๋ฅผ ๋ชจ๋ฆ„. ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์ธก์ • ์ง€์  ์—ญํ•  ์ˆ˜ํ–‰. ์ธก์ • ์‹œ์Šคํ…œ์ด ๋ผ์šฐํŒ… ์žฅ์น˜์™€ ํ†ตํ•ฉ๋˜๊ธฐ ๋•Œ๋ฌธ. ๋””๋„์Šค ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์›์ธ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ 4๊ฐœ์˜ ํ† ํด๋กœ์ง€์™€ ์‹ค์ œ ISP ํ† ํด๋กœ์ง€(Abilne and CANARIE)

    T1 : ๋‹จ์ผ ์ง€์ . ๋„คํŠธ์›Œํฌ์— ํ•˜๋‚˜์˜ ์ธก์ • ์ง€์ . ๋ชจ๋“  ํŒจํ‚ท์ด ๋”ฑ ํ•œ ๋ฒˆ ํ†ต๊ณผ

    T2 ์ง๋ ฌ ์ง€์  : ๋‘๊ฐœ๊ฐ€ ์ง๋ ฌ. ๋ชจ๋“  ํŒจํ‚ท์ด ๋‘ ์ง€์  ๋ชจ๋‘ ํ†ต๊ณผ (์ค‘๋ณต ๊ณ„์‚ฐ ๋ฌธ์ œ)

    T3 : ๋ณ‘๋ ฌ ์ง€์  : ๋‘๊ฐœ๊ฐ€ ๋ณ‘๋ ฌ. ๋ชจ๋“  ํŒจํ‚ท์ด ๊ท ๋“ฑํ•˜๊ฒŒ ํ†ต๊ณผ (ํŠธ๋ž˜ํ”ฝ์˜ ์ผ๋ถ€๋งŒ ๊ด€์ฐฐ)

    T4 : ๋ณ‘๋ ฌ + ์ง๋ ฌ์˜ 3์ง€์ 

    Abilne : 12๊ฐœ์˜ ์ธก์ • ์ง€์ . ์ง„์ž… ์ง€์ ์„ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ›„ ์ตœ๋Œ€ 5ํ™‰๊นŒ์ง€ ๋ฌด์ž‘์œ„ ์ „๋‹ฌ (์†Œ๊ทœ๋ชจ+ ๋ณต์žก )

    CANARIE : 28๊ฐœ ์ธก์ • ์ง€์ . ์ง„์ž… ์ง€์ . ์ง„์ž… ์ง€์  ๋ฌด์ž‘์œ„ ์„ ํƒ ํ›„ ์ตœ๋Œ€ 15ํ™‰๊นŒ์ง€ ๋ฌด์ž‘์œ„ ์ „๋‹ฌ(๋Œ€๊ทœ๋ชจ + ๋” ๋ณต์žก )

    ํ‰๊ฐ€ ์ง€ํ‘œ : ํƒ์ง€ ์„ฑ๋Šฅ์€ F1 ์ ์ˆ˜. ์ •ํ™•๋„๋Š” ์ƒ๋Œ€ ์˜ค์ฐจ ์‚ฌ์šฉ

    ํ”Œ๋กœ์šฐ ๋ณ„ ์ •ํ™•๋„๋Š” WAPE ์‚ฌ์šฉ. (์ƒ๋Œ€ ์˜ค์ฐจ๋Š” ์ „์ฒด ๋ณผ๋ฅจ)

    ๋น„๊ต๊ตฐ

    • Jaqen : UnivMon-based ๋””๋„์Šค ํƒ์ง€ ์‹œ์Šคํ…œ. ๋ณผ๋ฅจ ๋ฒ ์ด์Šค. Jaqen ์ธก์ • ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์‚ฐํ•ด์„œ ๋„คํŠธ์›Œํฌ ์ „๋ฐ˜ ์‹œ์•ผ๋ฅผ ํ™•์ธ
    • Couper : ํ”Œ๋กœ์šฐ๋ณ„ ์นด๋””๋„๋ฆฌํ‹ฐ ์ถ”์ •์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋‹ค๋‹จ๊ณ„ ์‹œ์Šคํ…œ. ์†Œํ˜• ํ”Œ๋กœ์šฐ๋Š” ๋น„ํŠธ๋งต์œผ๋กœ. ํฐ ํ”Œ๋กœ์šฐ๋Š” HyperLogLog๋กœ ์ฒ˜๋ฆฌ. ์‹คํ—˜์„ ์œ„ํ•ด Lemon๊ณผ ๊ฐ™์ด ๊ณ„์ธต 1~5๋กœ ์„ค์ •
    • Lemon : ์ž„๊ณ„๊ฐ’ 16,384, 4,096, 1,024, 256, and 0. ์œ ๋‹› ์ˆ˜ 524,288, 65,536, 8,192, 2,048, and 1,024. ๋น„ํŠธ๋งต ํฌ๊ธฐ 8, 32, 32, 32, and 512. ํ”Œ๋กœ์šฐ ํ‚ค๋Š” desti IP. ํŒจํ‚ท ํ‚ค๋Š” ์œ ๋‹ˆํฌ. ๋ณผ๋ฅจ ๊ธฐ๋ฐ˜.
  • ๋””๋„์Šค ํƒ์ง€ ๋ฐ ์ •ํ™•์„ฑ : ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์ง€ํ‘œ๋Š” F1 ์ ์ˆ˜๋ฅผ ์‚ฌ์šฉ. ์ •ํ™•์„ฑ์€ ์ƒ๋Œ€ ์˜ค์ฐจ ์‚ฌ์šฉ. Lemon์ด ํšจ๊ณผ์ ์œผ๋กœ ๋””๋„์Šค๋ฅผ ํƒ์ง€ํ•˜๊ณ  ์ •ํ™•ํ•œ ๊ณต๊ฒฉ ๋ณผ๋ฅจ ์ถ”์ •
    • ์ „์ฒด์ ์ธ ์„ฑ๋Šฅ(๋””๋„์Šค ๋ณผ๋ฅจ 0.5 ์ดˆ๊ณผ)

      image.png

    • ๊ณต๊ฒฉ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ(๋””๋„์Šค ๋ณผ๋ฅจ 0~0.1)

      image.png

    • ๊ณต๊ฒฉ ๋ณผ๋ฅจ ์ถ”์ • ์„ฑ๋Šฅ

      image.png

  • Address Spoofing ๋ฐฉ์–ด : ์นด๋””๋„๋ฆฌํ‹ฐ ๊ธฐ๋ฐ˜๊ณผ ์—”ํŠธ๋กœํ”ผ ๊ธฐ๋ฐ˜ ๊ฐ™์€ ๋‹ค์ค‘ ํƒ์ง€ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ฉํ•˜์—ฌ ๋ฐฉ์–ด
    • source spoofing : ๊ณต๊ฒฉ src๋ฅผ ์ˆ˜์ •ํ•˜๋Š” spoofing

      image.png

      100๊ฐœ ์ดํ•˜๋Š” ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ํฌ๊ฒŒ ๋ณ€ํ•˜์ง€ ์•Š์•„ ํƒ์ง€๋ฅผ ๋ชปํ•˜์ง€๋งŒ 1000๊ฐœ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ข‹์Œ.

      ์—”ํŠธ๋กœํ”ผ๋Š” ํŠน์ • ํ”ผํ•ด์ž๋ฅผ ์‹๋ณ„ํ•˜์ง€ ์•Š๊ณ  ์ „์ฒด ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ์œ„์žฅ๋œ IP ์ฃผ์†Œ์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ์—”ํŠธ๋กœํ”ผ๊ฐ€ ์ƒ์Šนํ•˜์—ฌ ํƒ์ง€

    • destination spoofing : ๊ณต๊ฒฉ๋Œ€์ƒ์„ ๋‹จ์ผ IP ๋Œ€์‹  ์„œ๋ธŒ๋„ท์— ์†ํ•œ ์ˆ˜๋งŽ์€ IP ์ฃผ์†Œ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•˜์—ฌ ์ „์†ก

      image.png

    ํ”Œ๋กœ์šฐ ํ‚ค๋ฅผ ๋„์ฐฉ์ง€ IP๊ฐ€ ์•„๋‹Œ ๋„์ฐฉ์ง€ ์„œ๋ธŒ๋„ท์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋Œ€์‘. ์„œ๋ธŒ๋„ท์ด ํ™•์žฅ๋  ์ˆ˜๋ก ๋ชจ๋“  ๋ฐฉ๋ฒ•์˜ ์ •ํ™•๋„๊ฐ€ ๊ฐ์†Œํ•˜์ง€๋งŒ LEMON์ด ์šฐ์ˆ˜ํ•จ

  • ํ”Œ๋กœ์šฐ ๋ณ„ ๋ณผ๋ฅจ ์ถ”์ •

    ๋ณต์žกํ•œ ํ”Œ๋กœ์šฐ ํ‚ค์™€ ๋‹ค์–‘ํ•œ ํ”Œ๋กœ์šฐ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์ถฉ๋Œ์ด ์ฆ๊ฐ€ํ•จ

    image.png

    • ํ”Œ๋กœ์šฐ ํ‚ค ๋ณต์žก์„ฑ์— ๋”ฐ๋ฅธ ์ •ํ™•๋„

    image.png

    (a) ๋ณต์žกํ•œ ํ”Œ๋กœ์šฐ ํ‚ค : five-tuple๊ฐ™์ด ํ”Œ๋กœ์šฐ๊ฐ€ ๋ณต์žกํ•ด์ง€๋ฉด, ๋„คํŠธ์›Œํฌ ๋‚ด ๊ณ ์œ  ํ”Œ๋กœ์šฐ ์ˆ˜ ์ฆ๊ฐ€ โ†’ ์ถฉ๋Œ ์ฆ๊ฐ€ โ†’ ์˜ค์ฐจ(WAPE) ๋ฐœ์ƒ

    Lemon์€ ์ถฉ๋Œ์ด ์ฆ๊ฐ€ํ•ด๋„ ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋‚ฎ์€ ์˜ค์ฐจ๋ฅผ ๋ณด์—ฌ์คŒ.

    (b) ํŠธ๋ž˜ํ”ฝ ์™œ๊ณก๋„ : ํ”Œ๋กœ์šฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ 250๋งŒ๊ฐœ. ํฌ๊ธฐ ๋ถ„ํฌ๊ฐ€ ํŽธํ–ฅ(์†Œ์ˆ˜์˜ ๋Œ€ํ˜• ํ”Œ๋กœ์šฐ์™€ ๋‹ค์ˆ˜์˜ ์†Œํ˜• ํ”Œ๋กœ์šฐ) โ†’ ์˜ค๋ฐฐ์น˜ ๋ฌธ์ œ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ. ๋ ˆ๋ชฌ์€ ๊ฐ€์žฅ ๋‚ฎ์€ ์˜ค์ฐจ๋ฅผ ๋ณด์—ฌ์คŒ. ์™œ๊ณก๋„ 2.5์—์„œ๋„ ์„ฑ๋Šฅ์„ ์œ ์ง€

    • ํ”Œ๋กœ์šฐ ํฌ๊ธฐ ๋ณ„ ์ •ํ™•๋„ : ์„œ๋กœ ๋‹ค๋ฅธ ํ”Œ๋กœ์šฐ ํ‚ค ์„ค์ •ํ•˜์— ํ”Œ๋กœ์šฐ ํฌ๊ธฐ๋ณ„ ์ถ”์ • ์˜ค์ฐจ. ์ค‘๊ฐ„ ํฌ๊ธฐ ์—์„œ couper ๋Œ€๋น„ ํ˜„์ €ํ•œ ์šฐ์œ„

      image.png

    • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์— ๋”ฐ๋ฅธ ์ •ํ™•๋„ (a) ๋ฐ ๋„คํŠธ์›Œํฌ ํฌ๊ธฐ ๋ณ„ ์ •ํ™•๋„ (b~d) : ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ๋ณ€ํ™”. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ž‘์„ ๋•Œ, ์œ ๋‹›์ˆ˜ ๋ถ€์กฑ์œผ๋กœ WAPE๊ฐ€ ์ตœ๋Œ€์ž„. ๊ทธ๋ž˜๋„ ์ง€์†์ ์œผ๋กœ ๋” ๋‚˜์Œ

      S

    • ๊ณ„์ธต๋ณ„ ์ž‘์—… ๋ถ€ํ•˜: ํ•˜์œ„ ๊ณ„์ธต์—์„œ ๋งŽ์€ ์ถฉ๋Œ. (๊ณ„์ธต ์ด์ƒ์—์„œ์˜ ํ”Œ๋กœ์šฐ ์ˆ˜/์œ ๋‹›์ˆ˜)์ƒ์œ„ ๊ณ„์ธต์—์„œ๋Š” ์ตœ์†Œํ•œ์˜ ์ถฉ๋Œ๋กœ ๋” ํฐ ํ”Œ๋กœ์šฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌ. ๋ฐฐํฌ์‹œ์—๋Š” ํ•˜์œ„ ๊ณ„์ธต์— ๋งŽ์€ ์œ ๋‹›์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•จ

    image.png

  • ์ž์› ํšจ์œจ์„ฑ : ์ตœ์†Œํ•œ์˜ ์ž์› ์†Œ๋น„๋งŒ์œผ๋กœ ์ž์› ์ œ์•ฝ ์กฐ๊ฑด ์ถฉ์กฑ

    image.png

    ํ•˜๋“œ์›จ์–ด ์ž์› ์ œ์•ฝ ์ถฉ์กฑ. ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ๋“ค์„ ์œ„ํ•œ ์ถฉ๋ถ„ํ•œ ์ž์›์ด ๋‚จ์•„์žˆ์Œ

Discussion

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

    โ†’ ์ตœ์ข… ์ถ”์ • ์‹

    ์ด ํŒจํ‚ท ์ˆ˜ / ๊ณ ์œ  ํŒจํ‚ท์ˆ˜ = ํ‰๊ท ์ ์œผ๋กœ ๋ช‡ ๋ฒˆ ๋ณต์ œ ๋๋Š” ์ง€์— ๋Œ€ํ•œ ๋น„์œจ. ๊ทธ๋ฆฌ๊ณ  ํ‰๊ท 

    \[E'_{net} = \frac{E_{net}}{n} \cdot \sum_{i=1}^{n} \frac{C_i}{E_i}\]
  • ๊ธฐ์กด ๋งค์ปค๋‹ˆ์ฆ˜ ๊ฐ•ํ™”

    • Patronum : ์—”ํŠธ๋กœํ”ผ ๋ณ€ํ™”(๋ด‡๋„ท์œผ๋กœ๋ถ€ํ„ฐ ๊ณต๊ฒฉ ํƒ์ง€)์™€ ๋ณผ๋ฅจ ๋ณ€ํ™”(๋Œ€ํ˜• ๊ณต๊ฒฉ์ž ํƒ์ง€) ์ธก์ •.
    • ๋จธ์‹ ๋Ÿฌ๋‹ ๋˜๋Š” LLM์„ ํ†ตํ•œ ํƒ์ง€ : ํ”Œ๋กœ์šฐ ๋ณ„ ํŠน์ง• ์ˆ˜์ง‘

Conclusion

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

Categories:

Updated:

Leave a comment