Anomaly Detection in Network Traffic with K-means

Anomaly Detection

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

K-Means

K-Means ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ K๊ฐœ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜๋Š” ML ๋ชจ๋ธ์ด๋‹ค. K ๊ฐ’์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•˜๋Š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์ค‘์‹ฌ์„ centroid๋ผ๊ณ  ํ•˜๋Š”๋ฐ ํด๋Ÿฌ์Šคํ„ฐ์— ์†ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์‚ฐ์ˆ ํ‰๊ท ์œผ๋กœ ๊ตฌํ•œ๋‹ค. ๊ทธ๋ž˜์„œ K-Means๋ผ๊ณ  ํ•œ๋‹ค. K-Means ๋ชจ๋ธ์€ ๊ฐ€์žฅ ์ข‹์€ K๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.

Network Anomaly Detection

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

Anomaly Detection in Network Traffic with K-means

  • Spark ์„ค์น˜ํ•œ๋‹ค.

  • Spark Session ์„ค์ •ํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ ๋กœ๋“œํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ ํƒ์ƒ‰ํ•œ๋‹ค.

    • ๊ฒฐ์ธก์น˜, ์ˆ˜์น˜ํ˜•, ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ, ๋ ˆ์ด๋ธ” ๊ณ ์œ ๊ฐ’ ์ ๊ฒ€ํ•œ๋‹ค.

  • ๋ชจ๋ธ๋งํ•œ๋‹ค.

    • StringIndexer์™€ OneHotEncoder๋กœ ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์น˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

    • VectorAssembler๋กœ feature vector๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

    • StandardScaler๋กœ feature๋ฅผ Standard Score๋กœ ๋ฐ”๊พธ์–ด ์ •๊ทœํ™”ํ•œ๋‹ค.

    • K-Means ๋ชจ๋ธ ์ƒ์„ฑํ•œ๋‹ค.

    • Pipeline์œผ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค.

  • ๋‹ค์–‘ํ•œ K ๊ฐ’์œผ๋กœ ๋ชจ๋ธ์„ ํ•™์Šตํ•œ๋‹ค.

    • K ๊ฐ’์ด ์ปค์งˆ ์ˆ˜๋ก ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ์ดํ„ฐ๊ฐ€ Centroid์™€ ๊ฐ€๊นŒ์›Œ์•ผ ํ•œ๋‹ค.

    • K ๊ฐ’์ด ํฐ๋ฐ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€ ๊ฒฝ์šฐ Local Optimum์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ํ•™์Šต์„ ์ข…๋ฃŒํ–ˆ์„ ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ๋Š˜๋ ค์„œ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ๋‹ค.

    • K ๊ฐ’์ด ์ฆ๊ฐ€ํ•ด๋„ ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ํฌ๊ฒŒ ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ์ง€์ (Elbow)์ด ์ ๋‹นํ•œ K ๊ฐ’ ์ผ ์ˆ˜ ์žˆ๋‹ค.

Anomaly Detection

์ด์ƒ ํƒ์ง€๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ตฐ์ง‘ ์ค‘์‹ฌ๊ณผ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค. ๊ฑฐ๋ฆฌ๊ฐ€ ์ •์˜ํ•œ Threshold ๊ฐ’์„ ๋„˜์–ด์„œ๋ฉด ์ด์ƒํ•œ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ

9๊ฐ€์ง€ ์‚ฌ๋ก€๋กœ ์ตํžˆ๋Š” ๊ณ ๊ธ‰ ์ŠคํŒŒํฌ ๋ถ„์„(2ํŒ) ๋„์„œ (ํ•œ๋น›๋ฏธ๋””์–ด)

Last updated

Was this helpful?