티스토리 뷰

Security

Suricata-ids

이성권 2014. 12. 18. 16:37

[review중] 수정가능

Suricata

Suricata는 고성능 네트워크 IDS, IPS와 네트워크 시큐리티 모니터링 엔진(Network Security Monitoring engine)이다.오픈 소스이고 커뮤니티에 의해 소유되며, 비영리 단체인 OISF(Open Information Security Foundation)이다. Suricata는 OISF와 이를 지원하는 벤더에 의해 개발되었다. 

Suricata를 사용해야 하는 3가지 이유:

1. 높은 확장성(Highly Scalable)

Suricata는 멀티 쓰레드를 지원한다. 이는 하나의 인스턴스를 돌리고, Suricata 센서의 모든 프로세서에 거쳐 프로세싱 로드를 밸런스 할 수 있다는 것을 의미한다. 이는 통상적인 하드웨어에서 룰셋 커버리지의 희생없이 실제 상황 트래픽상에서 10 기가비트 스피드를 달성할 수 있다는 것을 의미한다.

2. 프로토콜 식별(Protocol Identification)

대부분의 일반적인 프로토콜은 스트림이 시작될 때, 자동으로 Suricata에 의해 인식된다. 이로 인해, 룰 작성자는 프로토콜에 대해 룰을 작성하게 되고, 포트에 대해서는 무관하게 할 수 있게 되는 것이다. 이는 다른 것과는 달리 Suricata를 Malware Command와 Control Channel hunter로 만들었다. C&C를 잡을 수 있다는 얘기다. 

 Off port HTTP CnC channels, which normally slide right by most IDS systems, are child’s play for Suricata! 게다가, 적절한 키워드에 감사하는데, 프로토콜 필드를 매칭할 때, http URI에서 SSL 인증서 식별자까지 매치할 수 있다.

3. File Identification, MD5 Checksums, and File Extraction

Suricata는 당신의 네트워크를 가로 지르는 수천개의 파일 타입을 식별할 수 있다.  식별만 할 수 있는게 아니라, 당신이 자세히 쳐다 보기 위해, 추출을 위해 태그를 할 수 있고, 추출된 파일은 디스크에 수집된 상황과 플로우를 서술하는 메타 데이터 파일과 저장될 수 있도록 할 수 있다. 파일의 MD5 체크섬이 계산되며, 그래서 MD5 해쉬값의 리스트를 가지게 되고, 이를 보존할 수 있고, Suricata가 발견하게 할 수 있다.

Suricata는 많은 훌륭한 특장점(great features)을 갖는다.  그리고, 우리는 이것을 실행하기를 기대한다 자유롭고, 빠르고, 긴 시간 동안 갈 것이다.!

All features

Complete list of Suricata Features

Engine

  • Network Intrusion Detection System (NIDS) engine
  • Network Intrusion Prevention System (NIPS) engine
  • Network Security Monitoring (NSM) engine
  • Off line analysis of PCAP files
  • Traffic recording using pcap logger
  • Unix socket mode for automated PCAP file processing
  • Advanced integration with Linux Netfilter firewalling

Operating System Support

  • Linux
  • FreeBSD
  • OpenBSD
  • Mac OS X
  • Windows

Configuration

  • YAML config file — human and machine readable
  • well commented and documented
  • support for including other files

TCP/IP engines

  • Scalable flow engine
  • Full IPv6 support
  • Tunnel decoding
    • Teredo
    • IP-IP
    • IP6-IP4
    • IP4-IP6
    • GRE
  • TCP stream engine
    • tracking sessions
    • stream reassembly
    • target based stream reassembly
  • IP Defrag engine
    • target based reassembly

Protocol parsers

  • Support for packet decoding of
    • IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE
    • Ethernet, PPP, PPPoE, Raw, SLL, VLAN, QINQ
  • App layer decoding of:
    • HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP, SSH, DNS

HTTP engine

  • Stateful HTTP parser built on libhtp
  • HTTP request logger
  • File identification, extraction and logging
  • Per server settings — limits, personality, etc
  • Keywords to match on (normalized) buffers:
    • uri and raw uri
    • headers and raw headers
    • cookie
    • user-agent
    • request body and response body
    • method, status and status code
    • host

Detection engine

  • Protocol keywords
  • PCRE support
  • fast_pattern
  • Rule profiling
  • File matching
    • file magic
    • file size
    • file name and extension
    • file MD5 checksum — scales up to millions of checksums
  • multiple pattern matcher algorithms that can be selected
  • extensive tuning options
  • live rule reloads — use new rules w/o restarting Suricata
  • delayed rules initialization
  • CUDA GPU acceleration for pattern matching
  • Lua scripting

Outputs

  • Eve log, all JSON alert and event output
  • HTTP request logging
  • TLS handshake logging
  • Unified2 output — compatible with Barnyard2
  • Alert fast log
  • Alert debug log — for rule writers
  • Traffic recording using pcap logger
  • Pcap info — for integration into wireshark via suriwire
  • Prelude support
  • drop log — netfilter style log of dropped packets in IPS mode
  • syslog — alert to syslog
  • stats — engine stats at fixed intervals
  • File logging including MD5 checksum in JSON format
  • Extracted file storing to disk
  • DNS request/reply logger, including TXT data
  • Signal based Log rotatation
  • Flow logging (beta)

Alert/Event filtering

  • per rule alert filtering and thresholding
  • global alert filtering and thresholding
  • per host/subnet thresholding and rate limiting settings

Packet acquisition

  • High performance capture
    • AF_PACKET
    • PF_RING
  • Standard capture
    • PCAP
    • NFLOG (netfilter integration)
  • IPS mode
    • Netfilter based on Linux (nfqueue)
      • fail open support
    • ipfw based on FreeBSD and NetBSD
    • AF_PACKET based on Linux
  • Capture cards and specialized devices
    • Endace
    • Napatech
    • Tilera

Multi Threading

  • fully configurable threading — from single thread to dozens of threads
  • precooked “runmodes”
  • optional CPU affinity settings
  • Use of fine grained locking and atomic operations for optimal performance
  • Optional lock profiling

IP Reputation

  • loading of large amounts host based reputation data
  • matching on reputation data in the rule language using the “iprep” keyword
  • live reload support


'Security' 카테고리의 다른 글

Snort vs Suricata vs Bro  (0) 2014.12.17
Bro  (0) 2014.12.17
21 Popular Computer Forensics Tools  (0) 2014.11.29
Digital Forensics Framework  (0) 2014.11.29
[Tip] Open Source Digital Forensics  (0) 2014.11.29