์๊ฐ๋น 8์ฒ ๊ฑด์ SSH ๊ณต๊ฒฉ์ ์ฐจ๋จํ๋ Hybrid AI ๋ณด์ ์์ด์ ํธ ์ค๊ณ
๐ง Wie ich eine selbstlernende KI gebaut habe, die รผber 8.000 SSHโAngriffe pro Stunde blockiert (und wie sie skaliert
AI ์์ฝ
Context
์ ํต์ ์ธ SSH Brute-Force ์ฐจ๋จ ๋ฐฉ์์ ๊ฒฝ์ง์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํ ์์จํ ๋ณด์ ์์ด์ ํธ ํ์์ฑ ๋๋. ๋จ์ ๊ท์น ๊ธฐ๋ฐ ์ฐจ๋จ์ผ๋ก๋ ์งํํ๋ ๊ณต๊ฒฉ ํจํด ๋์์ ํ๊ณ๊ฐ ์กด์ฌํจ.
Technical Solution
- Overfitting ๋ฐฉ์ง๋ฅผ ์ํด hour, attack_count, new_ips, new_usernames์ 4๊ฐ์ง ํต์ฌ Feature๋ง ์ถ์ถํ๋ Minimalist Feature Engineering ์ ์ฉ
- TensorFlow ๊ธฐ๋ฐ์ ๊ฒฝ๋ Feed-Forward Network๋ฅผ ํตํ ์ค์๊ฐ Anomaly Probability ์ฐ์ถ
- AI ๋ชจ๋ธ์ ํ๋ฅ ๊ฐ(>0.7)๊ณผ Deterministic Rule์ ๊ฒฐํฉํ Hybrid Decision Layer ์ค๊ณ๋ฅผ ํตํ False Positive ์ต์ํ
- nftables๋ฅผ ์ด์ฉํ OS ๋ ๋ฒจ์ ์ฆ๊ฐ์ ์ธ ํจํท ์ฐจ๋จ ๋ฉ์ปค๋์ฆ ๊ตฌํ
- SQLite ๊ธฐ๋ฐ์ Centralized Global Blacklist ์ด์์ผ๋ก ์ ๊ท ์๋ฒ ๋ฐฐํฌ ์ ์ฆ๊ฐ์ ์ธ ๋ณด์ ์ปจํ ์คํธ ์ ํ
- 30์ด ์ฃผ๊ธฐ ๋ก๊ทธ ๋ถ์ ํ๋ก์ธ์ค๋ฅผ ํตํ ์ค์๊ฐ ํ์ง ๋ฐ ๋์ ๋ฃจํ ๊ตฌ์ถ
Impact
- ์๊ฐ๋น ์ต๋ 8,386๊ฑด์ ๊ณต๊ฒฉ ๋ถ์ ๋ฐ ์ฐจ๋จ ์ํ
- 99.48%์ ๋ชจ๋ธ ์์ธก ์ ํ๋ ๋ฌ์ฑ
- 61,762๊ฑด์ ๊ณต๊ฒฉ ๋ถ์ ๋ฐ 375๊ฐ ์ด์์ ๊ณต๊ฒฉ IP Global Blacklist ํ๋ณด
Key Takeaway
ML ๋ชจ๋ธ์ ๋ถํ์ค์ฑ์ ๋ณด์ํ๊ธฐ ์ํด ๊ฒฐ์ ๋ก ์ ๊ท์น(Deterministic Rules)์ ๊ฒฐํฉํ ํ์ด๋ธ๋ฆฌ๋ ๊ตฌ์กฐ๊ฐ ๋ณด์ ์์คํ ์ ์ ๋ขฐ์ฑ์ ๋์ด๋ ํต์ฌ ์ค๊ณ ์์น์.
์ค์ฒ ํฌ์ธํธ
1. ML ๋์ ์ Overfitting ๋ฐฉ์ง๋ฅผ ์ํด ๋๋ฉ์ธ ์ง์ ๊ธฐ๋ฐ์ ์ต์ Feature ์ ์ ๋จผ์ ์ ์ํ๋๊ฐ
2. ๋ชจ๋ธ์ ์คํ์ผ๋ก ์ธํ ์๋น์ค ๊ฐ์ฉ์ฑ ์ ํ๋ฅผ ๋ง์ Guardrail(๊ฒฐ์ ๋ก ์ ๊ท์น)์ด ์ค๊ณ๋์ด ์๋๊ฐ
3. ๊ฐ๋ณ ๋ ธ๋์ ์ฐจ๋จ ์ ๋ณด๋ฅผ ์ ์ญ์ ์ผ๋ก ๊ณต์ ํ ์ ์๋ Centralized State ์ ์ฅ์๊ฐ ์กด์ฌํ๋๊ฐ