(1)IDS有时会出现误报(主机系统本身并不存在某种漏洞,而IDS报告系统存在该漏洞)
造成这种现象的原因是当IDS检测系统是否受到基于某种漏洞的攻击时,没有考虑主机的脆弱性信息。以针对Windows操作系统的RPC攻击为例,当网络中存在RPC攻击时,即使该网络中只有基于Linux的机器,IDS也会产生告警,这就是一种误报现象。为了解决这个问题,需要给IDS提供一种基于主机信息的报警机制。因此新一代IDS产品利用被动指纹识别技术构造一个主机信息库,该技术通过对TCP、IP报头中相关字段进行识别来确定操作系统(OS)类型。
(2)被动指纹识别技术的工作原理
被动指纹识别技术的实质是匹配分析法。匹配双方一个是来自源主机数据流中的 TCP、IP报头信息,另一个是特征数据库中的目标主机信息,通过将两者做匹配来识别源主机发送的数据流中是否含有恶意信息。通常比较的报头信息包括窗口大小(Windowsize)、数据报存活期(TTL)、DF(don'tfragment)标志以及数据报长(Totallength)。
窗口大小(wsize)指输入数据缓冲区大小,它在TCP会话的初始阶段由OS设定。多数UNIX操作系统在TCP会话期间不改变它的值,而在Windows操作系统中有可能改变。
数据报存活期指数据报在被丢弃前经过的跳数(hop);不同的TTL值代表不同的OS,TTL=64,OS=UNIX;TTL=12,OS=Windows。
DF字段通常设为默认值,而OpenBSD不对它进行设置。
数据报长是IP报头和负载(Payload)长度之和。在SYN和SYNACK数据报中,不同的数据报长代表不同的操作系统,60代表Linux、44代表Solaris、48代表Windows2000。
IDS 将上述参数合理组合作为主机特征库中的特征(称为指纹)来识别不同的操作系统。如TTL=64,初步判断OS=Linux/OpenBSD;如果再给定 wsize的值就可以区分是Linux还是OpenBSD。因此,(TTL,wsize)就可以作为特征库中的一个特征信息。
(3)被动指纹识别技术工作流程
具有指纹识别技术的IDS系统通过收集目标主机信息,判断主机是否易受到针对某种漏洞的攻击,从而降低误报率。它的工作流程如图1所示。
<1>指纹识别引擎检查SYN报头,提取特定标识符;
<2>从特征库中提取目标主机上的操作系统信息;
<3>更新主机信息表;
<4>传感器检测到带有恶意信息的数据报,在发出警告前先与主机信息表中的内容进行比较;
<5>传感器发现该恶意数据报是针对Windows服务器的,而目标主机是Linux服务器,所以IDS将抑制该告警的产生。
图1 被动指纹识别技术工作流程
共3页: 上一页 [1] 2 [3] 下一页
|