浅谈网络行为历史的入侵检测技术

时间:2011-08-28

  近年来,蠕虫凭借其强大的繁衍能力,已对互联网的安全构成了很大的威胁。蠕虫不仅大量占用主机内存,而且会向外发送硬盘上的数据。并且蠕虫在繁衍过程中会向网络发送大量的数据包,引起网络堵塞。入侵检测系统作为一种安全工具,目前被用于检测各种网络攻击。而正是1988年的Morris蠕虫攻击事件导致了IDS系统的正式开发。侵检测系统(简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。 IDS早出现在1980年4月。 1990年,IDS分化为基于网络的IDS和基于主机的IDS。后又出现分布式IDS。目前,IDS发展迅速,已有人宣称IDS可以完全取代防火墙。蠕虫有别于其他的网络攻击,如何利用蠕虫的网络行为特点构建有效的IDS,是一个值得研究的重要课题。

  1  蠕虫的网络行为分析

  1.1 蠕虫的繁衍原理

  蠕虫是一种能够自动通过网络进行自我传播的恶意程序。它不需要附着在其他程序上,而是独立存在的。当形成规模、传播速度过快时会极大地消耗网络资源导致大面积网络拥塞甚至瘫痪。指计算机病毒中的蠕虫病毒。蠕虫病毒是一种常见的计算机病毒。它的传染机理是利用网络进行复制和传播,传染途径是通过网络、电子邮件以及U盘、移动硬盘等移动存储设备。比如2006年以来危害极大的“熊猫烧香”病毒就是蠕虫病毒的一种。蠕虫程序主要利用系统漏洞进行传播。它通过网络、电子邮件和其它的传播方式,象生物蠕虫一样从一台计算机传染到另一台计算机。因为蠕虫使用多种方式进行传播,所以蠕虫程序的传播速度是非常大的。

  当蠕虫进入有特定漏洞的主机系统后,会以一定方式产生IP地址列表,然后向列表中的主机发送侦察信息。当发现目的主机存在特定漏洞时,就会发送自身代码,目的主机被感染后,重复上述过程,进一步繁衍。

  以繁衍能力极强的RedCode2为例,该蠕虫利用微软IIS Web服务器的远程溢出漏洞进入主机,对于中文系统会产生600个线程探测其他主机,每个线程产生一个随机IP地址,并使用掩码生成要探测的主机IP地址。被探测的主机地址中有1/8是随机IP,3/8是在当前主机IP的B类地址范围内产生,1/2是在当前主机IP的A类地址范围内产生。当探测信息显示主机中存在相同漏洞时,蠕虫程序发送自身代码攻击该主机。

  1.2 蠕虫的网络行为特征

  蠕虫的自动繁衍机制使蠕虫能主动地传染其他系统,所以蠕虫在繁衍过程中的网络行为表现出以下特征:

  (1)网络行为具有相似性。蠕虫在繁衍中会利用同一网段内某些服务的相同的漏洞进行攻击。这种相似性表现为连接的目的端口是特定的,且特定数据段内容一致。(2)网络行为具有连续性。一个蠕虫节点在开始感染其他节点前,必须首先被感染。这种连续性是蠕虫攻击的一种迹象。(3)蠕虫通过请求随机IP上的特定服务来判定目的主机系统是否存在特定的漏洞。该IP不一定存在,而且,即使该IP存在,也不一定提供这种服务。

  1.3 传统网络入侵检测系统的不足

  传统NIDS通过被动地监视网络来查找入侵迹象。NIDS是Network Intrusion Detection System的缩写,即网络入侵检测系统,主要用于检测Hacker或Cracker通过网络进行的入侵行为。NIDS的运行方式有两种,一种是在目标主机上运行以监测其本身的通信信息,另一种是在一台单独的机器上运行以监测所有网络设备的通信信息,比如Hub、路由器。   NIDS的功能:网管人员对网络运行状态进行实时监控,以便随时发现可能的入侵行为,并进行具体分析,及时、主动地进行干预,从而取得防患于未然的效果。 例如,NADIR和DIDS通过收集一系列主机上的审计数据检测是否存在对主机的协同攻击,但是它们对网络中的活动模式并不进行实时分析。相比之下,GRIDS能更有效地检测蠕虫攻击。但是GRIDS的蠕虫检测是基于树型模式,所以它不能检测出按照其他模式传播的蠕虫。

  本文提出一种基于网络行为历史的入侵检测系统。该系统将根据蠕虫的网络行为特征,综合考虑其相似性、连续性和网络中的不可达连接。当网段内有新连接时,进行实时分析,一旦发现有蠕虫攻击,立即采取相应措施,避免蠕虫的进一步传播。

  2  基于网络行为历史的入侵检测算法

  基于网络行为历史的入侵检测算法采用异常检测方法,建立在一种组合模型之上,算法综合考虑蠕虫网络行为的3个特征,采用加权平均的方法,考虑各个连续性变量对整个系统的影响。入侵检测技术(IDS)可以被定义为对计算机和网络资源的恶意使用行为进行识别和相应处理的系统。包括系统外部的入侵和内部用户的非授权行为,是为保证计算机系统的安全而设计与配置的一种能够及时发现并系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。

  2.1 相关定义

  定义1 连接(connection):用六元组C(ts,sa,sp,da,dp,data)表示源主机到目的主机的TCP会话。其中ts、sa、sp、da、dp、data分别代表连接开始时间戳、源地址、源端口、目的地址、目的端口号以及传送数据的前n个字节,其中n可以设定。

  定义2 连接集(connection set):一系列的连接,在连接集里根据连接发生的顺序为每个连接分配编号i(i为正整数)。

  定义3 链(chain):连接集的子集。对长度为l的链中所有的元素ci(1≤i≤l)必须满足2个条件:①ci的目的地址是ci+1的源地址。②ci的时间戳小于ci+p(p>0)的时间戳。

  定义4 链的终端(end):链中一个连接的目的地址。在长度为l的链中,end=cl.da。

  2.2 数据结构

  在分析连接历史数据时,为每个主机建立了以下数据结构。

  (1)连接历史列表:保存目的地址为本机的所有连接。(2)无关事件列表:保存与蠕虫攻击无关的正常事件。这些事件的连接不需要记录在连接历史表中。这样就可以减少连接历史表中的数据,减轻系统载荷。(3)连接陷阱列表:保存所有终端是该主机的链的信息,以概括主机的连接历史信息。(4)蠕虫模式(Worm_pattern_pool):保存具有蠕虫特点的链。当链的异常值大于给定阈值T时,则认为存在蠕虫攻击。

  如果某节点的一个外发连接匹配其连接陷阱表的任意元素,即该外发连接的端口号和内容与连接陷阱表的一个元素相似,则认为具有蠕虫攻击特点。匹配该模式的链就被插入到外发连接目的节点的蠕虫模式池中。

  2.3 异常值计算模型

  蠕虫模式池中链的异常值可根据以下模型获得:

  anomalyvalue=repeatcount*rfactor+nehost*hfactoy+neservice*sfactor

    其中,repeatcount是相似连接出现的次数。nehost是到不同的不可达主机的连接总数,其连接特征必须已在当前评估的链中出现。neservice是请求网络中服务器上的不可达服务的连接总数,其连接特征也必须出现在当前评估的链中。rfactor、hfactory、sfactor是可以配置的权,分别根据repeatcount、nehost、neservice的重要程度来配置。

  注意,在算法中,只有以该不可达连接为终端的链被监控时才记录不可达连接。否则,将被视为正常连接,不累加到蠕虫模式池中链的异常值中。

  2.4 检测算法流程

  一旦网络中有新的连接,入侵检测系统会分析该连接并更新相应列表。整个检测算法流程如图1所示。

  3  基于网络行为历史的入侵检测系统

  3.1 系统目标

  HNBIDS主要实现以下功能目标。

  (1)捕获网段中的连接数据包。(2)对数据包进行处理,实现基于网络行为历史的检测算法。(3)检测到有蠕虫攻击时自动实施相应对策。(4)向管理员提交检测结果。(5)接受管理员的配置和管理。

  3.2 系统设计

  为了实现以上功能,HNBIDS采用模块化体系结构,分为以下5大模块。

  (1)连接数据收集模块:记录近的所有网络数据流并进行连接数据过滤。连接数据在网络上的某台主机上进行采集。该主机的网卡被设置为混杂模式,这样可以截获同一个冲突域内的所有数据包,并且不会影响网络传输性能。

  (2)信息处理模块:对连接进行分析和预处理。当网络中有新的连接时,要更新连接历史列表和连接陷阱表,并试图发现连接中的相似数据来更新蠕虫模式池。

  (3)入侵判断模块:根据网络历史行为检测算法判断网络中是否存在蠕虫攻击。

  (4)反应模块:一旦断定有蠕虫攻击,就采取相应措施。通过广播通知每个主机系统所检测到的蠕虫的模式,修改未感染主机上的防火墙规则,防止被蠕虫感染。而且,经证实已感染的主机也要修改其防火墙过滤规则,以阻止该主机向具有同样漏洞的其他主机发送信息。

  (5)管理模块:管理员通过管理模块对其他模块进行监控和配置,并且可以获得告警信息。

  基于网络行为历史的入侵检测系统结构如图2所示。

  3.3 系统实现

  设在一个网段内有5个主机,每个主机都装有可以实时配置规则的防火墙。

  在网段内,主机1上安装网络行为数据收集模块,并把主机1的网卡设为混杂模式以接收该网段内的所有数据包。

  主机1上的网络行为数据收集模块获得网段内的连接信息并用六元组C(ts,sa,sp,da,dp,data)表示如下:

  其中NS和NH分别表示不可达服务和不可达主机。

  这些连接信息可以用一个有向图表示,以直观地得到连接的连续性。网络行为历史的有向图如图3所示。

  图3中主机1请求不可达服务的连接并不记录,因为在此前没有目的主机为1的连接被监控。主机1到4的连接和主机2到4的连接被记录到主机4的连接历史表和陷阱表中,主机4到3的连接因内容与以前的连接内容不同,所以不会被记录到主机3的蠕虫模式池中。主机3到2的连接不满足时间戳规律,所以不追加到终端为主机3的链内,但包括在主机2的陷阱表中。主机3有到NS的连接,主机5和主机2有到NH的连接。取rfactor=0.24,hfactor=0.16,sfactor=0.04,T=0.8。计算得到主机2的蠕虫模式池中链的差异值为:

  Anomalyvalue=3×0.20+2×0.10+1×0.04=0.84>T=0.8

  所以,系统判定该网段中存在蠕虫并得知蠕虫通过21和80端口繁衍。反应模块就立即通知网络中的所有主机上的防火墙关闭21和80端口,以免蠕虫进一步传播。

  3.4 系统的优点和不足

  基于网络历史行为的入侵检测系统有以下优点。

  (1)同时考虑了网络行为的相似性、连续性和不可达连接,可以避免只考虑单因素时产生的误报警,减少误报率。并且算法中的权值是根据网络行为的相似性、连续性的不可达连接的重要程度来设定的,所以该系统具有可配置性。(2)一旦检测出有蠕虫,会自动实施有效的对策。

  基于网络行为历史的入侵检测系统存在以下不足

  (1)IDS系统往往假设数据包采用明文形式,所以从内容上很难判断连接数据的相似性。(2)若蠕虫针对IDS本身攻击成功,则系统会失效。


  
上一篇:概念网络在文本分类中的应用
下一篇:解析单卡在线自助圈存系统的应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料