为了降低误警率、合理部署多级传感器、有效控制跨区域的传感器,下一代入侵检测产品需要包含以下关键技术。 1.智能关联 智能关联是将企业相关系统的信息(如主机特征信息)与网络IDS检测结构相融合,从而减少误警。如系统的脆弱性信息需要包括特定的操作系统(OS)以及主机上运行的服务。当IDS使用智能关联时,它可以参考目标主机上存在的、与脆弱性相关的所有告警信息。如果目标主机不存在某个攻击可以利用的漏洞,IDS将抑制告警的产生。 智能关联包括主动关联和被动关联。主动关联是通过扫描确定主机漏洞;被动关联是借助操作系统的指纹识别技术,即通过分析IP、TCP报头信息识别主机上的操作系统。下面将详细介绍指纹识别技术。 (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报头,提取特定标识符; 图1 被动指纹识别技术工作流程 因此,当IDS检测到攻击数据包时,首先查看主机信息表,判断目标主机是否存在该攻击可利用的漏洞;如果不存在该漏洞,IDS将抑制告警的产生,但要记录关于该漏洞的告警信息作为追究法律责任的证据。这种做法能够使安全管理员专心处理由于系统漏洞产生的告警。一些IDS经销商已经把OS指纹识别的概念扩展到应用程序指纹识别,甚至到更广泛的用途上。
四项下一代入侵检测关键技术分析
二、下一代IDS系统采用的技术
<2>从特征库中提取目标主机上的操作系统信息;
<3>更新主机信息表;
<4>传感器检测到带有恶意信息的数据报,在发出警告前先与主机信息表中的内容进行比较;
<5>传感器发现该恶意数据报是针对Windows服务器的,而目标主机是Linux服务器,所以IDS将抑制该告警的产生。