网络入侵检测系统之Snort(三)--优劣势与性能指标

117 阅读3分钟

Advantages

  1. Snort插件
  • Snort采用了模块化设计,其主要特点就是利用插件,这样有几个好处,一是用户可以自主选择使用哪些功能,并支持热插拔;二是依据设计需求对Snort扩展,即根据template.c设计第三方插件
  • 目前插件按功能分成三类,数据流预处理插件,检测功能插件,输出日志信息插件;插件的管理统一采用链表指针的方式

2. 跨平台性

  • Snort支持Linux,OpenBSD,FreeBSD,Solaris,HP-UX ,MacOS,Windows等

3 . 规则语言简单

  • 发现新攻击后,可以很快找到特征码,写出新的规则文件,迅速建立规则表
  1. 轻量级,在部署方面具有高度灵活性,使其成为网络安全体系的有机组成部分。

  2. 具有实时流量分析和记录IP网络数据包的能力

Disadvantages

  1. 编写新规则后无法即时生效,需要重启Snort
  2. 吞吐量不高约为100Mbps,因为数据抓包方式仅采用libpcap
  3. 规则组织采用链表,匹配时会沿着链表一一匹配,效率低。

System Indicators

  1. 吞吐量及内存消耗(Snort VS Snort+Hyperscan)
  • Snort原始性能由于严重依赖操作系统的libpcap,所以性能瓶颈在100Mbps左右,集成Hyperscan后性能约为500Mbps,但离商用的20Gbps仍有距离
  • Snort作为轻量级快部署的入侵检测系统,内存消耗方面表现优秀,约为60MB,集成Hyperscan后可降低为5.5MB

  1. 可扩展性
    • 可自定义开发集成插件(snortsam),即检测算法替换或扩展,报文预处理,日志显示等,插件替换灵活,支持热插拔
    • 可集成**Hyperscan**;
    • daq模块可集成DPDKgithub.com/NachtZ/daq_…),性能可达到10.00Gbps,但只能针对单向流量,无法处理类似tcp协议的双向流量
    • 准确率及误报率与规则配置文件强相关,而且当网络流量高于100Mbps时,误报率会急剧上升

Product Comparison

项目SnortSuricata
开发公司Sourcefire,Inc。开放信息安全基金会(OISF)
可用性自1998年以来自2009年以来
编程语言CC
操作系统跨平台跨平台
稳定版本3.0(2018年8月29)4.05(2018年7月18日)
线程多线程多线程
IPv6支持支持支持
Snort(VRT)规则支持支持支持
新兴威胁规则支持支持支持
记录格式Unified2Unified2
Aanval兼容性支持支持
抓包方式PF_RING,netmap等仅为libpcap

TestCase评测,详见:www.aldeid.com/wiki/Surica…

Test GroupPriority# of testsSuricata scoreSnort score
测试规则支持3868
网络拥塞情况2411
分片数据包2213
多次失败登录3110
绕过技巧2152129
恶意软件&病毒31497
Shellcodes311127
拒绝服务(DoS)3333
客户端攻击3257127157
性能3021
内生安全能力 Inline/Prevention capabilities2011
TOTAL (unweighted sum)315184217
TOTAL (weighted sum)315528617