入侵检测的研究可以追溯到JamesP.Anderson在1980年的工作,他首次提出了“威胁”等术语,这里所指的“威胁”与入侵的含义基本相同,将入侵尝试或威胁定义为:潜在的、有预谋的、未经授权的访问企图,致使系统不可靠或无法使用。1987年DorothyE. Denning首次给出一个入侵检测的抽象模型,并将入侵检测作为一个新的安全防御措施提出。1988年,Morris蠕虫事件加快了对入侵检测系统(IDS :Intrusion Detection System)的开发研究。
在过去的20年里,网络技术在不断发展,攻击者水平在不断提高,攻击工具与攻击手法日趋复杂多样,特别是以黑客为代表的攻击者对网络的威胁日益突出,他们正不遗余力地与所有安全产品进行着斗争。攻击技术和手段的不断发展促使IDS等网络安全产品不断更新换代,使得IDS产品从一个简单机械的产品发展成为智能化的产品。
一、目前IDS存在的缺陷
入侵检测系统作为网络安全防护的重要手段,有很多地方值得我们进一步深入研究。目前的IDS还存在很多问题,有待于我们进一步完善。
1.高误警(误报)率
误警的传统定义是将良性流量误认为恶性的。广义上讲,误警还包括对IDS用户不关心事件的告警。因此,导致IDS产品高误警率的原因是IDS检测精度过低以及用户对误警概念的拓展。
2.产品适应能力低
传统的IDS产品在开发时没有考虑特定网络环境的需求,千篇一律。网络技术在发展,网络设备变得复杂化、多样化,这就需要入侵检测产品能动态调整,以适应不同环境的需求。
3.大型网络的管理问题
很多企业规模在不断扩大,对IDS产品的部署从单点发展到跨区域全球部署,这就将公司对产品管理的问题提上日程。首先,要确保新的产品体系结构能够支持数以百计的IDS传感器;其次,要能够处理传感器产生的告警事件;此外,还要解决攻击特征库的建立,配置以及更新问题。
4.缺少防御功能
检测,作为一种被动且功能有限的技术,缺乏主动防御功能。因此,需要在下一代IDS产品中嵌入防御功能,才能变被动为主动。
5.评价IDS产品没有统一标准
对入侵检测系统的评价目前还没有客观的标准,标准的不统一使得入侵检测系统之间不易互联。随着技术的发展和对新攻击识别的增加,入侵检测系统需要不断升级才能保证网络的安全性。
6.处理速度上的瓶颈
随着高速网络技术如ATM、千兆以太网等的相继出现,如何实现高速网络下的实时入侵检测是急需解决的问题。目前的百兆、千兆IDS产品的性能指标与实际要求还存在很大的差距。
二、下一代IDS系统采用的技术
为了降低误警率、合理部署多级传感器、有效控制跨区域的传感器,下一代入侵检测产品需要包含以下关键技术。
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)就可以作为特征库中的一个特征信息。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。