Suricata 5.0 ๊ณต๊ฒฉ ํƒ์ง€ ์‹œ์Šคํ…œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์กฐ์ง OISF(๊ฐœ๋ฐฉํ˜•์ •๋ณด๋ณดํ˜ธ์žฌ๋‹จ) ะพะฟัƒะฑะปะธะบะพะฒะฐะปะฐ ๋„คํŠธ์›Œํฌ ์นจ์ž…ํƒ์ง€ ๋ฐ ์˜ˆ๋ฐฉ์‹œ์Šคํ…œ ์ถœ์‹œ ๋ฏธ์–ด์บฃ 5.0, ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ํŠธ๋ž˜ํ”ฝ์„ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Suricata ๊ตฌ์„ฑ์—์„œ๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ช… ๋ฐ์ดํ„ฐ๋ฒ ์ด์ŠคSnort ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ ๊ทœ์น™ ์„ธํŠธ์™€ ์ƒˆ๋กœ์šด ์œ„ํ˜‘ ะธ ์ƒˆ๋กœ์šด ์œ„ํ˜‘ ํ”„๋กœ. ํ”„๋กœ์ ํŠธ ์†Œ์Šค ํ™•์‚ฐ GPLv2์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ :

  • ํ”„๋กœํ† ์ฝœ ๊ตฌ๋ฌธ ๋ถ„์„ ๋ฐ ๋กœ๊น…์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    Rust๋กœ ์ž‘์„ฑ๋œ RDP, SNMP ๋ฐ SIP. EVE ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋กœ๊ทธํ•˜๋Š” ๊ธฐ๋Šฅ์ด FTP ๊ตฌ๋ฌธ ๋ถ„์„ ๋ชจ๋“ˆ์— ์ถ”๊ฐ€๋˜์–ด JSON ํ˜•์‹์œผ๋กœ ์ด๋ฒคํŠธ ์ถœ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์ง€๋‚œ ๋ฆด๋ฆฌ์Šค์— ๋“ฑ์žฅํ•œ JA3 TLS ํด๋ผ์ด์–ธํŠธ ์‹๋ณ„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์› ์™ธ์—๋„ JA3S, ํ—ˆ์šฉ ์—ฐ๊ฒฐ ํ˜‘์ƒ์˜ ํŠน์„ฑ๊ณผ ์ง€์ •๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: Tor ๋ฐ ๊ธฐํƒ€ ํ‘œ์ค€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์‚ฌ์šฉ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). JA3์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ณ , JA3S์—์„œ๋Š” ์„œ๋ฒ„๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ์ • ๊ฒฐ๊ณผ๋Š” ๊ทœ์น™ ์„ค์ • ์–ธ์–ด ๋ฐ ๋กœ๊ทธ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ์ž‘์—…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ƒ˜ํ”Œ์„ ์ผ์น˜์‹œํ‚ค๋Š” ์‹คํ—˜ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์„ธํŠธ์™€ ๋ฐ์ดํ„ฐ๋ ™. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ๊ธฐ๋Šฅ์€ ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํ•ญ๋ชฉ์ด ํฌํ•จ๋œ ๋Œ€๊ทœ๋ชจ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์—์„œ ๋งˆ์Šคํฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • HTTP ๊ฒ€์‚ฌ ๋ชจ๋“œ๋Š” ํ…Œ์ŠคํŠธ ๋ชจ์Œ์— ์„ค๋ช…๋œ ๋ชจ๋“  ์ƒํ™ฉ์„ ์™„๋ฒฝํ•˜๊ฒŒ ํฌ๊ด„ํ•ฉ๋‹ˆ๋‹ค. HTTP ํšŒํ”ผ๊ธฐ (์˜ˆ: ํŠธ๋ž˜ํ”ฝ์—์„œ ์•…์˜์ ์ธ ํ™œ๋™์„ ์ˆจ๊ธฐ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ํฌํ•จ)
  • Rust ์–ธ์–ด๋กœ ๋ชจ๋“ˆ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ์˜ต์…˜์—์„œ ํ•„์ˆ˜ ํ‘œ์ค€ ๊ธฐ๋Šฅ์œผ๋กœ ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๋ฒ ์ด์Šค์—์„œ Rust์˜ ์‚ฌ์šฉ์„ ํ™•๋Œ€ํ•˜๊ณ  ์ ์ง„์ ์œผ๋กœ Rust์—์„œ ๊ฐœ๋ฐœ๋œ ์œ ์‚ฌ ๋ชจ๋“ˆ๋กœ ๋ชจ๋“ˆ์„ ๊ต์ฒดํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
  • ์ •ํ™•์„ฑ์„ ๋†’์ด๊ณ  ๋น„๋™๊ธฐ ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœํ† ์ฝœ ์ •์˜ ์—”์ง„์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํŒจํ‚ท์„ ๋””์ฝ”๋”ฉํ•  ๋•Œ ๊ฐ์ง€๋œ ๋น„์ •ํ˜• ์ด๋ฒคํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ์ƒˆ๋กœ์šด "์ด์ƒ" ํ•ญ๋ชฉ ์œ ํ˜•์— ๋Œ€ํ•œ ์ง€์›์ด EVE ๋กœ๊ทธ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. EVE๋Š” ๋˜ํ•œ VLAN ๋ฐ ํŠธ๋ž˜ํ”ฝ ์บก์ฒ˜ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ •๋ณด ํ‘œ์‹œ๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. EVE http ๋กœ๊ทธ ํ•ญ๋ชฉ์— ๋ชจ๋“  HTTP ํ—ค๋”๋ฅผ ์ €์žฅํ•˜๋Š” ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • eBPF ๊ธฐ๋ฐ˜ ํ•ธ๋“ค๋Ÿฌ๋Š” ํŒจํ‚ท ์บก์ฒ˜๋ฅผ ๊ฐ€์†ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์€ ํ˜„์žฌ Netronome ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ๋กœ ์ œํ•œ๋˜์–ด ์žˆ์ง€๋งŒ ๊ณง ๋‹ค๋ฅธ ์žฅ๋น„์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • Netmap ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ์บก์ฒ˜ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒ ์Šค์œ„์น˜์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ Netmap ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. VALE;
  • ์ถ”๊ฐ€๋จ ๊ณ ์ • ๋ฒ„ํผ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํ‚ค์›Œ๋“œ ์ •์˜ ์ฒด๊ณ„๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ฒด๊ณ„๋Š” "protocol.buffer" ํ˜•์‹์œผ๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด URI๋ฅผ ๊ฒ€์‚ฌํ•  ๋•Œ ํ‚ค์›Œ๋“œ๋Š” "http_uri" ๋Œ€์‹  "http.uri" ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ๋œ ๋ชจ๋“  Python ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณค์Šต๋‹ˆ๋‹ค.
    ํŒŒ์ด์ฌ 3;

  • Tilera ์•„ํ‚คํ…์ฒ˜, ํ…์ŠคํŠธ ๋กœ๊ทธ dns.log ๋ฐ ์ด์ „ ๋กœ๊ทธ files-json.log์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜๋ฆฌ์นดํƒ€์˜ ํŠน์ง•:

  • ํ†ตํ•ฉ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šค์บ” ๊ฒฐ๊ณผ ํ‘œ์‹œ ํ†ตํ•ฉ2, Snort ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์‚ฌ์šฉ๋˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ‘œ์ค€ ๋ถ„์„ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž๋งˆ๋‹น2. BASE, Snorby, Sguil ๋ฐ SQueRT ์ œํ’ˆ๊ณผ์˜ ํ†ตํ•ฉ ๊ฐ€๋Šฅ์„ฑ. PCAP ์ถœ๋ ฅ ์ง€์›;
  • ํ”„๋กœํ† ์ฝœ(IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB ๋“ฑ) ์ž๋™ ๊ฐ์ง€ ์ง€์›์„ ํ†ตํ•ด ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ณ (์˜ˆ: HTTP ์ฐจ๋‹จ) ํ”„๋กœํ† ์ฝœ ์œ ํ˜•๋ณ„๋กœ๋งŒ ๊ทœ์น™์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„ํ‘œ์ค€ ํฌํŠธ์˜ ํŠธ๋ž˜ํ”ฝ). HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP ๋ฐ SSH ํ”„๋กœํ† ์ฝœ์šฉ ๋””์ฝ”๋” ๊ฐ€์šฉ์„ฑ
  • Mod_Security ํ”„๋กœ์ ํŠธ ์ž‘์„ฑ์ž๊ฐ€ ๋งŒ๋“  ํŠน์ˆ˜ HTP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTTP ํŠธ๋ž˜ํ”ฝ์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ์ •๊ทœํ™”ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ HTTP ํŠธ๋ž˜ํ”ฝ ๋ถ„์„ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ „์†ก HTTP ์ „์†ก์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋กœ๊ทธ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋กœ๊ทธ๋Š” ํ‘œ์ค€ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
    ์•„ํŒŒ์น˜. HTTP๋ฅผ ํ†ตํ•ด ์ „์†ก๋œ ํŒŒ์ผ ๊ฒ€์ƒ‰ ๋ฐ ํ™•์ธ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์••์ถ•๋œ ์ฝ˜ํ…์ธ  ๊ตฌ๋ฌธ ๋ถ„์„์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. URI, ์ฟ ํ‚ค, ํ—ค๋”, ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ, ์š”์ฒญ/์‘๋‹ต ๋ณธ๋ฌธ์œผ๋กœ ์‹๋ณ„ํ•˜๋Š” ๊ธฐ๋Šฅ

  • NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING์„ ํฌํ•จํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ ์ฐจ๋‹จ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. PCAP ํ˜•์‹์œผ๋กœ ์ด๋ฏธ ์ €์žฅ๋œ ํŒŒ์ผ์„ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์„ฑ๋Šฅ, ๊ธฐ์กด ์žฅ๋น„์—์„œ ์ตœ๋Œ€ 10๊ธฐ๊ฐ€๋น„ํŠธ/์ดˆ์˜ ํ๋ฆ„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋Šฅ๋ ฅ.
  • ๋Œ€๊ทœ๋ชจ IP ์ฃผ์†Œ ์„ธํŠธ์— ๋Œ€ํ•œ ๊ณ ์„ฑ๋Šฅ ๋งˆ์Šคํฌ ์ผ์น˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋งˆ์Šคํฌ ๋ฐ ์ •๊ทœ์‹์œผ๋กœ ์ฝ˜ํ…์ธ  ์„ ํƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„, ์œ ํ˜• ๋˜๋Š” MD5 ์ฒดํฌ์„ฌ์— ๋”ฐ๋ฅธ ์‹๋ณ„์„ ํฌํ•จํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์—์„œ ํŒŒ์ผ์„ ๊ฒฉ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทœ์น™์—์„œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ: ์ŠคํŠธ๋ฆผ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ๋‚˜์ค‘์— ๋‹ค๋ฅธ ๊ทœ์น™์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ ํŒŒ์ผ์— YAML ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ช…ํ™•์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๊ธฐ๊ณ„ ์ฒ˜๋ฆฌ๊ฐ€ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.
  • ์™„์ „ํ•œ IPv6 ์ง€์›;
  • ํŒจํ‚ท์˜ ์ž๋™ ์กฐ๊ฐ ๋ชจ์Œ ๋ฐ ์žฌ์กฐ๋ฆฝ์„ ์œ„ํ•œ ๋‚ด์žฅ ์—”์ง„์œผ๋กœ, ํŒจํ‚ท์ด ๋„์ฐฉํ•˜๋Š” ์ˆœ์„œ์— ๊ด€๊ณ„์—†์ด ์ŠคํŠธ๋ฆผ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ„ฐ๋„๋ง ํ”„๋กœํ† ์ฝœ ์ง€์›: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
  • ํŒจํ‚ท ๋””์ฝ”๋”ฉ ์ง€์›: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, ์ด๋”๋„ท, PPP, PPPoE, Raw, SLL, VLAN;
  • TLS/SSL ์—ฐ๊ฒฐ ๋‚ด์— ๋‚˜ํƒ€๋‚˜๋Š” ํ‚ค ๋ฐ ์ธ์ฆ์„œ ๋กœ๊น… ๋ชจ๋“œ.
  • ๊ณ ๊ธ‰ ๋ถ„์„์„ ์ œ๊ณตํ•˜๊ณ  ํ‘œ์ค€ ๊ทœ์น™์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ํŠธ๋ž˜ํ”ฝ ์œ ํ˜•์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด Lua์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ.
  • ์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€