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

Advantages
- Snort 插件 
- Snort 采用了模块化设计,其主要特点就是利用插件,这样有几个好处,一是用户可以自主选择使用哪些功能,并支持热插拔;二是依据设计需求对 Snort 扩展,即根据 template.c 设计第三方插件 
- 目前插件按功能分成三类,数据流预处理插件,检测功能插件,输出日志信息插件;插件的管理统一采用链表指针的方式 
2. 跨平台性
- Snort 支持 Linux,OpenBSD,FreeBSD,Solaris,HP-UX ,MacOS,Windows 等 
3. 规则语言简单
- 发现新攻击后,可以很快找到特征码,写出新的规则文件,迅速建立规则表 
4. 轻量级,在部署方面具有高度灵活性,使其成为网络安全体系的有机组成部分。
5. 具有实时流量分析和记录 IP 网络数据包的能力
Disadvantages
- 编写新规则后无法即时生效,需要重启 Snort 
- 吞吐量不高约为 100Mbps,因为数据抓包方式仅采用 libpcap 
- 规则组织采用链表,匹配时会沿着链表一一匹配,效率低。 
- Snort2.x 版本重新优化了规则匹配的数据结构,对规则进行了再分类,匹配性能有一定提升,详见:Snort快速规则匹配模块剖析 
System Indicators
- 吞吐量及内存消耗(Snort VS Snort+Hyperscan) 
- Snort 原始性能由于严重依赖操作系统的 libpcap,所以性能瓶颈在 100Mbps 左右,集成 Hyperscan 后性能约为 500Mbps,但离商用的 20Gbps 仍有距离 
- Snort 作为轻量级快部署的入侵检测系统,内存消耗方面表现优秀,约为 60MB,集成 Hyperscan 后可降低为 5.5MB 
 
  
 2. 可扩展性
- 可自定义开发集成插件(snortsam),即检测算法替换或扩展,报文预处理,日志显示等,插件替换灵活,支持热插拔 
- 可集成Hyperscan; 
- daq 模块可集成 DPDK(https://github.com/NachtZ/daq_dpdk),性能可达到 10.00Gbps,但只能针对单向流量,无法处理类似 tcp 协议的双向流量 
- 准确率及误报率与规则配置文件强相关,而且当网络流量高于 100Mbps 时,误报率会急剧上升 
Product Comparison
 
 TestCase 评测,详见:https://www.aldeid.com/wiki/Suricata-vs-snort
 
 版权声明: 本文为 InfoQ 作者【于顾而言】的原创文章。
原文链接:【http://xie.infoq.cn/article/4ca1c811302d25d36fee016c4】。文章转载请联系作者。











 
    
评论