入侵检测系统如何降低误报率?

颓废 2019年5月19日09:46:47评论828 views字数 1970阅读6分34秒阅读模式
摘要

那么这种降低误报的方法就是在传统的基于输入的NIDS的基础上,增加:1、输入输出数据的关联分析。2、输出数据的异常检测。结构如下:

0x00 背景

入侵检测技术一般分为异常检测和特征/签名检测,这里主要讨论的是网络入侵检测系统(NIDS)。

异常检测 (Anomaly detection):假设入侵者活动异常于正常主体的活动。常用的方法有:关联规则、神经网络、SVM、邻近算法、隐含马尔可夫模型、Kalman过滤器、聚类算法、PCA、信息论等等。缺点是:需要训练样本、误报率(异常行为≠入侵行为)高。
特征/签名检测 (Misuse/Signature detection):假设入侵者活动可以用一种模式来表示,然后将观察对象与之进行比较,判别是否符合这些模式。常用的方法有:关联规则、神经网络、SVM、决策树、遗传算法、贝叶斯网络等等。缺点是:对新的入侵方法无能为力。
主流的入侵检测系统通常是采用异常检测+特征/签名检测。他们都存在的问题就是:

告警的基数大,即使只有1%的误报率,也会产生大量的误报告警。
误报率往往跟漏报率成反比,改进算法降低误报率可能会增加漏报率,降低系统的可靠性。
大量的告警需要人工审核,造成疲惫和不信任感。
0x01 基于输出数据(Outgoing data)

完整的数据流应该包括输入和输出两个部分,而大部分NIDS却只考虑了输入数据,没有使用输出数据。通常情况下,存在异常/恶意输入数据,并不意味着有成功的入侵行为。比如一个任意文件读取的HTTP请求,只有当它的响应体中包含那个文件的内容,才算是一个成功的入侵行为。所以降低误报率的一个方法就是对输入和输出数据进行关联分析。而输出的异常检测,就是另一种方法。

输出数据有以下几个问题:

不同程序/服务的输出数据不同,而且在使用的过程中,输出数据可能会一直变化。
不同程序/服务对于一种攻击类型做出的反应不同(比如一个SQL注入的HTTP请求,有些程序直接阻断,有些程序做了过滤,正常返回)。
如何把输入和输出数据关联起来?

那么这种降低误报的方法就是在传统的基于输入的NIDS的基础上,增加:1、输入输出数据的关联分析。2、输出数据的异常检测。结构如下:

入侵检测系统如何降低误报率?

一次成功的攻击行为一定会引起程序/服务的异常输出(输出数据、响应时间、其他行为等等)。当NIDS触发告警,关联引擎查看该告警对应的输出数据是否有异常,如果存在异常才认定为True positive。也可将攻击行为分类,关联分析输出数据是否符合该攻击行为的响应。当然,这也存在着许多缺点:1、每个程序/服务第一需要大量的样本训练。2、程序/服务的某些特征出现变动,需要重新训练样本。3、输出数据太多(比如我司http下行流量4GB/s),收集、训练成本太高。4、其他…

0x02 基于威胁模型(Thread Model)

NIDS的目的就是随时发现可能的入侵行为,并进行具体分析,及时、主动地进行干预(发送告警),从而取得防患于未然的效果,也就是说降低风险。在风险管理中,Risk = (probablity of the accident occuring) x (expected loss in case of accident)。其中(expected loss in case of accident)可以理解的攻击的类型,常见的有三类:

信息收集类(域名/IP/服务/端口扫描、漏洞扫描器等)
拒绝服务类(带宽、资源消耗)
程序/服务攻击(获取权限、数据库、Shell等等)
其中第三种类型的攻击造成的损失最大,而第一种类型的攻击并不会立马带来什么损失,所以针对不同类型的攻击,应当给予不同的分数(每种类型的攻击还可以细分)。同时,(probablity of the accident occuring)可以理解为攻击发生的概率,那么同一输入数据/类型攻击的告警数量越多是不是意味着攻击发生的概率大呢?结合这两点因素,组成一个评分系统,再评估出一个合理的阈值,认为所有小于阈值的告警都是误报。

0x03 改进算法/训练样本/模型

这一块任重而道远(比如:测试还在用DARPA1999, KDD99等样本、模型存在偏差样本性、缺乏实践等等问题),在此就不细谈了。下图是相关的研究:
入侵检测系统如何降低误报率?

0x04 参考资料

Damiano Bolzoni, Sandro Etalle. APHRODITE: an Anomaly-based Architecture for False Positive Reduction
http://www.symantec.com/connect/articles/strategies-reduce-false-positives-and-false-negatives-nids
Asieh Mokarian, Ahmad Faraahi, Arash Ghorbannia Delavar. False Positives Reduction Techniques in Intrusion Detection Systems-A Review
本文由 Mars 整理总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
颓废
  • 本文由 发表于 2019年5月19日09:46:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   入侵检测系统如何降低误报率?http://cn-sec.com/archives/68314.html

发表评论

匿名网友 填写信息