[2025-09-29] Lemon
๐ฆฅ ๋ณธ๋ฌธ
Existing System
DownStream ํ์ง ๋ฐฉ์
ํ์ฌ๋ ๋ค์ด์คํธ๋ฆผ ์๋ฒ๋ ์ค์์น์ DDoS ํ์ง ์์คํ ์ด ๋ฐฐ์น๋์ด ํผํด์ ๊ทผ์ฒ์ ํ์ง ๋ฐฉ์
- ๋ฌธ์ ์ : ๊ณต๊ฒฉ ํธ๋ํฝ์ด ํ์ง๊ธฐ์ ๋๋ฌํ๊ธฐ ์ ์ ๋์ํ์ง ๋ชปํ๊ณ ํผํด์์๊ฒ ๊ฐ๋ ๋ผ์ฐํ ๋ฆฌ์์ค ๋ญ๋น
Upstream ํ์ง ๋ฐฉ์
ISP ๊ฐ์ ์ ์คํธ๋ฆผ์์ ๋คํธ์ํฌ์ ์ ๋ฐ์ ์ธ ์ํ๋ฅผ ๋ณด๋ ๊ฒ์ด ์ด์์ .
๋ชจ๋ ํจํท์ ๊ธฐ๋กํ๋ ์์ธํ ๊ธฐ๋กํ๋ ๊ฒ ๋์ ์์ถ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํตํ ์ค์ผ์น ๊ธฐ๋ฐ์ ์ธก์ ๋ฐฉ์.
๊ธฐ๋กํ ์ํ ํ๋ก์ฐ๋ ๊ณต๊ฐ ํจ์จ์ ์ธ ๋นํธ๋งต์ ํฐ ํ๋ก์ฐ๋ HyperLogLog ์ ๋์ ๊ธฐ๋ก.
-
๋ฌธ์ ์

- Packet over-counting :ํ๋์ ํจํท์ด ์ฌ๋ฌ ์ธก์ ๊ฒฝ๋ก๋ฅผ ์ง๋๋ค๋ ์ธก์ ์ง์ ์ ์ฌ๋ฌ ๋ฒ ๊ธฐ๋ก. ์ค๋ณต ๊ณ์ฐ์ผ๋ก ์๋์ ํ๋ก์ฐ๋ณด๋ค ๋ ํฐ ํ๋ก์ฐ๋ก ์คํํ๊ฒ ๋จ.
- Stage mis-allocating : ๊ฐ๊ฐ ์ธก์ ์ง์ ์ ํธ๋ํฝ์ ๋ถ์ฐ๋ ์ผ๋ถ๋ง ๊ด์ฐฐํ๊ฒ ๋๊ณ ํฐ ํ๋ก์ฐ๋ฅผ ์์ ํ๋ก์ฐ๋ก ์ฐฉ๊ฐํ์ฌ ์์ ํ๋ก์ฐ์ฒ๋ผ ์ฒ๋ฆฌํ ์ ์์. ๋ํ ํด๋น ์ธก์ ์ง์ ์์ ์๊ณ์ ์ด ๋ฎ์์ ํ์ง๋ฅผ ๋ชปํ ์ ์์.
โ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋คํธ์ํฌ ํ ํด๋ก์ง์ ๋ผ์ฐํ ์ ๋ํ ์ฌ์ ์ง์์ด ํ์ํ์ง๋ง ๋ผ์ฐํ ์ ๋์ ์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ค์ ํ๋ฆ
-
๋ชฉํ
-
๋ผ์ฐํ ๊ตฌ์ ๋ฐ์ง ์๋ ์ธก์
์ค๋ณต ๊ณ์ฐ๊ณผ ์ค๋ฐฐ์น ๋ฌธ์ ๊ทน๋ณต
-
์์ ํจ์จ์
์ธก์ ์ง์ ๋ค์ ์ ํ๋ ํ๋์จ์ด ์์์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ํ์
-
๋์ ํ์ฅ์ฑ
์์คํ ์ ์ธก์ ์์ ๊ณผ ๋ค์ํ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฐํ๊ฒ ์ ๊ณตํด์ผ ํจ.
-
Lemon

๊ฐ ์ธก์ ์ง์ ์์ ๋ฐ์ดํฐ ์์ญ ๋ด์ ์ค์ผ์น๊ฐ ์๊ณ ํจํท๊ณผ ํ๋ก์ฐ๋ค์ ๊ธฐ๋ก. ์ ์ด ์์ญ์์๋ ๊ฐ ์ธก์ ์ง์ ์์ ์ค์ผ์น๋ค์ ๋ชจ์์ ์ ์ญ Lemon ์ค์ผ์น๋ก ํตํฉํ๋ ๋ฐฉ์
Lemon Data Plane
ํ๋ก์ฐ ์๋ณ์๋ฅผ ํตํด ํ๋ก์ฐ์ ๋ณผ๋ฅจ์ ์ป์ ์ ์์. ์ ์ญ์ ์ธ ์ผ๊ด๋ ์ ๋ฐ์ดํธ ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ ๋ผ์ฐํ ์ ๊ตฌ์ ๋ฐ์ง ์์
Lemon Sketch Design

-
3๊ฐ์ ํด์ ํจ์
Hd๋ ์ ๋ฐ์ดํธ ๋ ๋ ์ด์ด๋ฅผ ์ ํ. Hs๋ ์ ๋ฐ์ดํธ ๋ ์ ๋์ ์ ํ. Hb๋ ์ ๋ ๋ด์ ๋นํธ๋งต ๋นํธ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ฐ ์ฌ์ฉ
-
์ ์ญ์ ์ผ๋ก ์ผ๊ด๋ ์ ๋ฐ์ดํธ
๋ชจ๋ ์ธก์ ์ง์ ์ด ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ ํจํท ์ค๋ณต ๊ณ์ฐ ๋ฌธ์ ํด๊ฒฐ. ๊ฐ์ ํด์ ํจ์์ ๋์ผํ ์ข ๋ฅ์ ํค ์ฌ์ฉ
- ๋์ ํ๋ฆ
- ํจํท ๊ณ ์ ํค๋ฅผ Hd ํด์ ํจ์์ ๋ฃ๊ณ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ ์ด์ด๋ฅผ ์ ํ
- ์ด ๋ ๊ฐ ๋ ์ด์ด์ ์๊ณ๊ฐ์ ๋ค์๊ณผ ์กฐ๊ฑด์ ๋ง์กฑ
๋ฎ์ ๊ณ์ธต์ผ ์๋ก ๋ฒ์๊ฐ ๋ ํผ
- ์ ํด์ง ๋ ์ด์ด์์ ํ๋ก์ฐ ํค๋ฅผ Hs ํด์ ํจ์์ ๋ฃ๊ณ ํด์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ์๋ก ๋๋จธ์ง ์ฐ์ฐํ์ฌ ์ ๋์ ๊ฒฐ์
- ์ ํด์ง ์ ๋์์ Hb ํด์ ํจ์์ ํจํท ๊ณ ์ ํค๋ฅผ ๋ฃ์ด์ ๋นํธ๋งต์์ ์ฌ์ํ๋ ๋นํธ๋ฅผ ์ ๋ฐ์ดํธ
- ํจํท ๊ณ ์ ํค๋ฅผ Hd ํด์ ํจ์์ ๋ฃ๊ณ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ ์ด์ด๋ฅผ ์ ํ
-
์๊ณ ๋ฆฌ์ฆ
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 end1~3๋ฒ์งธ ์ค๊น์ง ํด์ฑ์ ๋ค ํด๋์
4~5๋ฒ์งธ ์ค์์ ๋ ์ด์ด๋ฅผ ์ฐพ์
6๋ฒ์งธ ์ค์์ ํด๋น ์ ๋์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ๊ณ
7๋ฒ์งธ ์ค์์ ํด๋น ๋นํธ๋งต์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์. ๋ง์ฝ ํด๋น ๋นํธ๋งต์ ๋นํธ๊ฐ 0์ด๋ฉด 1๋ก ๋ณ๊ฒฝํจ.
๋ง์ฝ์ ๋ ์ด์ด๋ฅผ ๊ฒฐ์ ํ๋ ํด์ฑ ๊ฐ์ด ํน์ ์๊ณ๊ฐ๋ณด๋ค ์๋ค๋ฉด Heavy ๋ ์ด์ด๋ก ๊ฐ์ ํด๋น ํ๋ก์ฐ ํค๋ฅผ ๋ฃ์
์ ์ํ ์ธก์ ๊ธฐ ์ฌ๊ตฌ์ฑ

์ฃผ์ด์ง ํ๋ก์ฐ์ ๋ํด ์ต์ ์ ๋ ์ด์ด๋ฅผ ์ฐพ์์ ํ๋ก์ฐ์ ์ถ์ ๋ ์์ ๊ณ์ฐํ๋ ๊ณผ์ . ๋จ๊ณ ์ค๋ฐฐ์น ๋ฌธ์ ๋ฅผ ํด๊ฒฐ.
- ๋์ ํ๋ฆ
- ๋ชจ๋ ๋ ์ด์ด์์ ํ๋ก์ฐํค์ ํด๋นํ๋ ์ ๋์ ๊ฒ์ํ๊ณ ๋นํธ๋งต์ ์์ง
- ๋ฐํ ์ ๋ฐฉ์์ผ๋ก ๋นํธ๋งต์ 0์ ์๋ฅผ ์ฒดํฌ. 0์ ๊ฐฏ์๋ฅผ Zi๋ผ๊ณ ํ๊ณ ์๊ณ๊ฐ์ Tz๋ผ๊ณ ํ ๋, ๋ค์ ๊ณต์์ ์ถฉ์กฑํ๋ ์ฒซ๋ฒ์งธ ๋นํธ๋งต์ ์ฐพ์๋
์ฆ, 0์ด ์ถฉ๋ถํ ๋ง์ ๋นํธ๋งต์ด ํฌํ๋์ง ์์ ์ ๋ขฐ์ฑ์๊ฒ ์ถ์ ํ ์ ์๋ ๋นํธ๋งต์ ์ฐพ์๋
- ํ๋ก์ฐ ์ถ์ ์์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ
ํด๋น ๋นํธ๋งต์ ๋ ์ด์ด๋ฅผ ์ถ์ ๋ ์ด์ด, ํด๋น ์ํ๋ง ๋น์จ์ ์ต์ ์ํ๋ง ๋น์จ์ด๋ผ๊ณ ํจ
๋ง์กฑํ๋ ๋นํธ๋งต์ด ๋ฐ๊ฒฌ๋์ง ์์ผ๋ฉด, ์ต๋ ์ถ์ ๋ฒ์๋ฅผ ๋์ด์ ๊ฒ. ๋ ์์ ์ํ๋ง ๋น์จ์ ์ค์ ํ๊ฑฐ๋ ๋ ํฐ ๋นํธ๋งต ํฌ๊ธฐ๋ฅผ ์ค์ ํ์ฌ ํผํ ์ ์์
-
์๊ณ ๋ฆฌ์ฆ
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 layern1~9๋ฒ์ฌ ์ค์ ํ๋ก์ฐ ํค๋ฅผ ํตํด์ ์ ๋์ ์ป์.
10ํ์ ์๋ ๊ณ์ธต ๋ถํฐ ๋ฐํ ์
11ํ์ ๊ฐ ๋นํธ๋งต์ 0์ ๊ฐฏ์ Zi๋ฅผ ๊ตฌํจ
12ํ์ ๋ง์ฝ Zi โฅTz x S(b-i)์ ๋ง์กฑํ๋ฉด ํ๋ก์ฐ ์ถ์ ๋์ ๊ณ์ฐํ๊ณ ํด๋น ๋ ์ด์ด์ ์ถ์ ๋์ ๋ฆฌํด
๋ง์ฝ ์กฐ๊ฑด์ ๋นํธ๋งต์ ๋ฐ๊ฒฌํ์ง ์๋๋ค๋ฉด overflow๋ฅผ ๋ฆฌํด
์ถฉ๋ ์ ๊ฑฐ

๋ฎ์ ๋ ์ด์ด์์๋ ์ฌ๋ฌ ๊ฐ์ ์ ๋์ด ๋์ ๋ ์ด์ด์์๋ ๊ฐ์ ์ ๋์ผ๋ก ์ ๋ฐ์ดํธ ๋ ์ ์์ด ์ถฉ๋์ด ๋ฐ์.
- ๋์ ํ๋ฆ
- i-1์์๋ ๋ค๋ฅธ ์ ๋์ด i์์๋ ๊ฐ์ ์ ๋์ผ๋ก ์ถฉ๋.
- ์๋ก ๋ค๋ฅธ ์ต์ ์ํ๋ง ๋น์จ์ ๊ฐ์ง๋ฉด ์ ๊ฑฐ ๊ฐ๋ฅ
- ์์์๋ f1์ด ๋ ํฐ ํ๋ก์ฐ๋ผ๊ณ ๊ฐ์ ํ๊ณ layer i์์ ์ต์ ์ํ๋ง ๋น์จ์ ๊ฐ์ง๋ค๊ณ ๊ฐ์ ํ๊ณ f2๋ layer i-2์์ ์ต์ ์ํ๋ง ๋น์จ์ ๊ฐ์ง
- f1์ ์ถ์ ๊ฐ์ f1๊ณผ f2์ ํฉ. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ f1์์ f2๋ฅผ ๋บ ๊ฐ์ ํตํด ์ค๋ฅ๋ฅผ ์ ๊ฑฐ. ์ถ์ ๊ณ์ธต์ด ๊ฐ์ผ๋ฉด ์ถ์ ๋ถ๊ฐํ์ง๋ง ๊ทธ๋ด ์ผ์ ๊ฑฐ์ ์์
-
์ถฉ๋ ๋ณด์ ์๊ณ ๋ฆฌ์ฆ

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์์ ์ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์๋ ๋ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํจ
- ํด๋น ๊ณ์ธต์ด ์ถฉ๋ถํ ๋น์ด ์์ด์ผ ํจ
- 0์ด ๋ง์์ผ ํจ.
- ๋ ์ด์ด i์ ๋ํด ํด๋น ๋นํธ๋งต์์ Ni ๋ฒ ์ ๋ฐ์ดํธ ๋ ํ(์ฆ Ni๋ ์ํ๋ง๋ ํจํท์ ์) x ๋ฒ์งธ ๋นํธ๊ฐ 0์ผ ํ๋ฅ
- ๋นํธ๋งต 0์ ๊ฐ์. ์ดํญ ๋ถํฌ
-
ํ์ ๋ ์ด์ด๊ฐ ์ต์ ์ ์ํ๋ง ๋น์จ์ด ์๋์ด์ผ ํจ.
\[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์ธ๊ฒฝ์ฐ
- ํด๋น ๊ณ์ธต์ด ์ถฉ๋ถํ ๋น์ด ์์ด์ผ ํจ
-
์ฌ๋ก ์ฐ๊ตฌ

๋ ์ด์ด๋ฅผ 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

- ๋์ ํ๋ฆ
- ๊ฐ ๋ฐ์ดํฐ ์์ญ์ผ๋ก๋ถํฐ Lemon Sketch๋ค์ ๋ชจ์
- ๊ฐ์ ๋ ์ด์ด์ ๊ฐ์ ์ ๋๋ผ๋ฆฌ ๋นํธ๋งต์ OR ์ฐ์ฐ์ ํ๊ณ global Lemon Sketch์ ๋ฐฐ์นํจ
- Heavy ํด์ ํ ์ด๋ธ์ ์ ์ฅ๋ ํ๋ก์ฐ ํค์ ๋ํด์๋ ์ ์ญ ์ค์ผ์น์ ๊ทธ๋๋ก ์ ์ฅ.
๋ง์ฝ ์ธก์ ์ง์ ๋ง๋ค ํ๋ก์ฐ ํค๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ๊ฐ ์ธก์ ์ง์ ์์ ์ถ์ ๋ ๊ฐ์ด ๋ ํฐ ํ๋ก์ฐ ํค๋ฅผ ํตํฉ
Measurement Tasks configuration

์ ์ด ์์ญ์์ ๋ง์คํน ๊ฐ์ ์์ ํ์ฌ ํ๋ก์ฐ ํค์ ํจํท ๊ณ ์ ํค์ ์ ์๋ฅผ ์ปค์คํ ํ ์ ์์
โ ์ํฉ์ ๋ง๊ฒ ์ ์ฐํ๊ฒ ์ ๊ณตํ์ฌ ๋์ ํ์ฅ์ฑ์ ์ง๋
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 ์ด๊ณผ)

-
๊ณต๊ฒฉ ๋ณผ๋ฅจ์ ๋ํ ์ฑ๋ฅ(๋๋์ค ๋ณผ๋ฅจ 0~0.1)

-
๊ณต๊ฒฉ ๋ณผ๋ฅจ ์ถ์ ์ฑ๋ฅ

-
- Address Spoofing ๋ฐฉ์ด : ์นด๋๋๋ฆฌํฐ ๊ธฐ๋ฐ๊ณผ ์ํธ๋กํผ ๊ธฐ๋ฐ ๊ฐ์ ๋ค์ค ํ์ง ๋ฐฉ๋ฒ์ ํตํฉํ์ฌ ๋ฐฉ์ด
-
source spoofing : ๊ณต๊ฒฉ src๋ฅผ ์์ ํ๋ spoofing

100๊ฐ ์ดํ๋ ์นด๋๋๋ฆฌํฐ๊ฐ ํฌ๊ฒ ๋ณํ์ง ์์ ํ์ง๋ฅผ ๋ชปํ์ง๋ง 1000๊ฐ๋ฅผ ์ด๊ณผํ๋ฉด ์ฑ๋ฅ์ด ์ข์.
์ํธ๋กํผ๋ ํน์ ํผํด์๋ฅผ ์๋ณํ์ง ์๊ณ ์ ์ฒด ์ํ๋ฅผ ๋ฐ์ํ์ฌ ์์ฅ๋ IP ์ฃผ์์ ์๊ฐ ์ฆ๊ฐํ๋ฉด ์ํธ๋กํผ๊ฐ ์์นํ์ฌ ํ์ง
-
destination spoofing : ๊ณต๊ฒฉ๋์์ ๋จ์ผ IP ๋์ ์๋ธ๋ท์ ์ํ ์๋ง์ IP ์ฃผ์๋ก ํธ๋ํฝ์ ๋ถ์ฐํ์ฌ ์ ์ก

ํ๋ก์ฐ ํค๋ฅผ ๋์ฐฉ์ง IP๊ฐ ์๋ ๋์ฐฉ์ง ์๋ธ๋ท์ผ๋ก ๋ณ๊ฒฝํ์ฌ ๋์. ์๋ธ๋ท์ด ํ์ฅ๋ ์๋ก ๋ชจ๋ ๋ฐฉ๋ฒ์ ์ ํ๋๊ฐ ๊ฐ์ํ์ง๋ง LEMON์ด ์ฐ์ํจ
-
-
ํ๋ก์ฐ ๋ณ ๋ณผ๋ฅจ ์ถ์
๋ณต์กํ ํ๋ก์ฐ ํค์ ๋ค์ํ ํ๋ก์ฐ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๊ณ ์ถฉ๋์ด ์ฆ๊ฐํจ

- ํ๋ก์ฐ ํค ๋ณต์ก์ฑ์ ๋ฐ๋ฅธ ์ ํ๋

(a) ๋ณต์กํ ํ๋ก์ฐ ํค : five-tuple๊ฐ์ด ํ๋ก์ฐ๊ฐ ๋ณต์กํด์ง๋ฉด, ๋คํธ์ํฌ ๋ด ๊ณ ์ ํ๋ก์ฐ ์ ์ฆ๊ฐ โ ์ถฉ๋ ์ฆ๊ฐ โ ์ค์ฐจ(WAPE) ๋ฐ์
Lemon์ ์ถฉ๋์ด ์ฆ๊ฐํด๋ ์ ๊ทธ๋ฆผ์ฒ๋ผ ๋ฎ์ ์ค์ฐจ๋ฅผ ๋ณด์ฌ์ค.
(b) ํธ๋ํฝ ์๊ณก๋ : ํ๋ก์ฐ์ ๊ฐ์๊ฐ 250๋ง๊ฐ. ํฌ๊ธฐ ๋ถํฌ๊ฐ ํธํฅ(์์์ ๋ํ ํ๋ก์ฐ์ ๋ค์์ ์ํ ํ๋ก์ฐ) โ ์ค๋ฐฐ์น ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋์. ๋ ๋ชฌ์ ๊ฐ์ฅ ๋ฎ์ ์ค์ฐจ๋ฅผ ๋ณด์ฌ์ค. ์๊ณก๋ 2.5์์๋ ์ฑ๋ฅ์ ์ ์ง
-
ํ๋ก์ฐ ํฌ๊ธฐ ๋ณ ์ ํ๋ : ์๋ก ๋ค๋ฅธ ํ๋ก์ฐ ํค ์ค์ ํ์ ํ๋ก์ฐ ํฌ๊ธฐ๋ณ ์ถ์ ์ค์ฐจ. ์ค๊ฐ ํฌ๊ธฐ ์์ couper ๋๋น ํ์ ํ ์ฐ์

-
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ฐ๋ฅธ ์ ํ๋ (a) ๋ฐ ๋คํธ์ํฌ ํฌ๊ธฐ ๋ณ ์ ํ๋ (b~d) : ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๋ณํ. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์์ ๋, ์ ๋์ ๋ถ์กฑ์ผ๋ก WAPE๊ฐ ์ต๋์. ๊ทธ๋๋ ์ง์์ ์ผ๋ก ๋ ๋์

-
๊ณ์ธต๋ณ ์์ ๋ถํ: ํ์ ๊ณ์ธต์์ ๋ง์ ์ถฉ๋. (๊ณ์ธต ์ด์์์์ ํ๋ก์ฐ ์/์ ๋์)์์ ๊ณ์ธต์์๋ ์ต์ํ์ ์ถฉ๋๋ก ๋ ํฐ ํ๋ก์ฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌ. ๋ฐฐํฌ์์๋ ํ์ ๊ณ์ธต์ ๋ง์ ์ ๋์ ์ถ๊ฐํด์ผ ํจ

-
์์ ํจ์จ์ฑ : ์ต์ํ์ ์์ ์๋น๋ง์ผ๋ก ์์ ์ ์ฝ ์กฐ๊ฑด ์ถฉ์กฑ

ํ๋์จ์ด ์์ ์ ์ฝ ์ถฉ์กฑ. ๋ค๋ฅธ ๋คํธ์ํฌ ๊ธฐ๋ฅ๋ค์ ์ํ ์ถฉ๋ถํ ์์์ด ๋จ์์์
Discussion
-
์ค๋ณต ํจํท ํ์ง : ๊ณต๊ฒฉ์๊ฐ ๋์ผํ ํจํท ์๋ณ์๋ฅผ ๊ฐ์ง ์ค๋ณต ํจํท์ ์์ด์ ํํผํ๋ ๊ฒฝ์ฐ CM ์ค์ผ์น๋ฅผ ์์ด์ ํ๋ก์ฐ๋ณ ํจํท ๊ณ์๋ฅผ ์ํด ๋ฐฐํฌ. ์์ ์ฌ์ฉ๋์ ๊ณ ๋ คํ ๋ ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐฐํฌ ๊ฐ๋ฅํจ.
โ ์ต์ข ์ถ์ ์
์ด ํจํท ์ / ๊ณ ์ ํจํท์ = ํ๊ท ์ ์ผ๋ก ๋ช ๋ฒ ๋ณต์ ๋๋ ์ง์ ๋ํ ๋น์จ. ๊ทธ๋ฆฌ๊ณ ํ๊ท
\[E'_{net} = \frac{E_{net}}{n} \cdot \sum_{i=1}^{n} \frac{C_i}{E_i}\] -
๊ธฐ์กด ๋งค์ปค๋์ฆ ๊ฐํ
- Patronum : ์ํธ๋กํผ ๋ณํ(๋ด๋ท์ผ๋ก๋ถํฐ ๊ณต๊ฒฉ ํ์ง)์ ๋ณผ๋ฅจ ๋ณํ(๋ํ ๊ณต๊ฒฉ์ ํ์ง) ์ธก์ .
- ๋จธ์ ๋ฌ๋ ๋๋ LLM์ ํตํ ํ์ง : ํ๋ก์ฐ ๋ณ ํน์ง ์์ง
Conclusion
๋คํธ์ํฌ ์ ๋ฐ์ ๋๋์ค ํ์ง๋ ์๋ฅ์์ ํ์งํ๊ณ ์ํ๋ฅผ ํ์ฌ ์ข์. ๊ธฐ์กด ๋ฐฉ์์ ํจํท ์ค๋ณต ๊ณ์ฐ๊ณผ ์ฒ๋ฆฌ๋จ๊ณ ์ค๋ฐฐ์น ๋ฌธ์ ๋ฐ์ํ์ง๋ง Lemon์ ๋ผ์ฐํ ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ์์ ํจ์จ์ ์ด๋ฉฐ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ ๋๋์ค ํ์ง ์ ์. ์ ํํ ํ๋ก์ฐ ๋ณ ์ธก์ ๋ ๊ฐ๋ฅ .
Leave a comment