kaiyun官方注册
您所在的位置: 首页> 通信与网络> 设计应用> 基于网络行为历史的入侵检测系统
基于网络行为历史的入侵检测系统
王 辉1, 王 婷2, 雷公武2
1. 武汉市外贸学校信息中心(430022), 2. 武汉大学计算机学院(430072)
摘要:分析了蠕虫的繁殖原理和网络行为特征,在此基础上提出了基于网络行为历史的入侵检测系统,描述了系统采用的算法,讨论了系统的优缺点。
Abstract:
Key words :

摘 要:分析了蠕虫的繁殖原理和网络行为特征,在此基础上提出了基于网络行为历史的入侵检测系统,描述了系统采用的算法,讨论了系统的优缺点。
关键词:蠕虫 网络行为 入侵检测 检测算法

  近年来,蠕虫凭借其强大的繁衍能力,已对互联网的安全构成了很大的威胁。蠕虫不仅大量占用主机内存,而且会向外发送硬盘上的数据。并且蠕虫在繁衍过程中会向网络发送大量的数据包,引起网络堵塞。入侵检测系统(Intrusion Detection System,IDS)作为一种安全工具,目前被用于检测各种网络攻击。而正是1988年的Morris蠕虫攻击事件导致了IDS系统的正式开发。蠕虫有别于其他的网络攻击,如何利用蠕虫的网络行为特点构建有效的IDS,是一个值得研究的重要课题。
1 蠕虫的网络行为分析
1.1 蠕虫的繁衍原理
  当蠕虫进入有特定漏洞的主机系统后,会以一定方式产生IP地址列表,然后向列表中的主机发送侦察信息。当发现目的主机存在特定漏洞时,就会发送自身代码,目的主机被感染后,重复上述过程,进一步繁衍。
  以繁衍能力极强的RedCode2为例,该蠕虫利用微软IIS Web服务器的远程溢出漏洞进入主机,对于中文系统会产生600个线程探测其他主机,每个线程产生一个随机IP地址,并使用掩码生成要探测的主机IP地址。被探测的主机地址中有1/8是随机IP,3/8是在当前主机IP的B类地址范围内产生,1/2是在当前主机IP的A类地址范围内产生。当探测信息显示主机中存在相同漏洞时,蠕虫程序发送自身代码攻击该主机。由于与被感染主机在同一网段或相近网段的主机通常会使用相同的服务和系统,RedCode2采用这种繁衍机制使自身具有较高的繁衍速度。
1.2 蠕虫的网络行为特征
  蠕虫的自动繁衍机制使蠕虫能主动地传染其他系统,所以蠕虫在繁衍过程中的网络行为表现出以下特征:
  (1)网络行为具有相似性。蠕虫在繁衍中会利用同一网段内某些服务的相同的漏洞进行攻击。这种相似性表现为连接的目的端口是特定的,且特定数据段内容一致。(2)网络行为具有连续性。一个蠕虫节点在开始感染其他节点前,必须首先被感染。这种连续性是蠕虫攻击的一种迹象。(3)网络中存在不可达的连接。蠕虫通过请求随机IP上的特定服务来判定目的主机系统是否存在特定的漏洞。该IP不一定存在,而且,即使该IP存在,也不一定提供这种服务。
1.3 传统网络入侵检测系统的不足
  传统NIDS(Network Intrusion Detection System)通过被动地监视网络来查找入侵迹象。例如,NADIR[1](Network Anomaly Detection and Intrusion Reporter)和DIDS[2](Distributed Intrusion Detection System)通过收集一系列主机上的审计数据检测是否存在对主机的协同攻击,但是它们对网络中的活动模式并不进行实时分析。相比之下,GRIDS[3](Graph-based Intrusion Detection System)能更有效地检测蠕虫攻击。但是GRIDS的蠕虫检测是基于树型(tree-like)模式,所以它不能检测出按照其他模式[4]传播的蠕虫。
  本文提出一种基于网络行为历史的入侵检测系统(Intrusion Detection System Based on the History of Network Behavior,HNBIDS)。该系统将根据蠕虫的网络行为特征,综合考虑其相似性、连续性和网络中的不可达连接。当网段内有新连接时,进行实时分析,一旦发现有蠕虫攻击,立即采取相应措施,避免蠕虫的进一步传播。
2 基于网络行为历史的入侵检测算法
  基于网络行为历史的入侵检测算法采用异常检测方法,建立在一种组合模型之上,算法综合考虑蠕虫网络行为的3个特征,采用加权平均的方法,考虑各个连续性变量对整个系统的影响。
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)连接历史列表(Connection_history_list):保存目的地址为本机的所有连接。(2)无关事件列表(Ignore_list):保存与蠕虫攻击无关的正常事件。这些事件的连接不需要记录在连接历史表中。这样就可以减少连接历史表中的数据,减轻系统载荷。(3)连接陷阱列表(Connection_trap_list):保存所有终端是该主机的链的信息,以概括主机的连接历史信息。(4)蠕虫模式池(Worm_pattern_pool):保存具有蠕虫特点的链。当链的异常值(Anomalyvalue)大于给定阈值T时,则认为存在蠕虫攻击。
  如果某节点的一个外发连接匹配其连接陷阱表的任意元素,即该外发连接的端口号和内容与连接陷阱表的一个元素相似,则认为具有蠕虫攻击特点。匹配该模式的链就被插入到外发连接目的节点的蠕虫模式池中。
2.3 异常值计算模型
  蠕虫模式池中链的异常值可根据以下模型获得:
  anomalyvalue=repeatcount*rfactor+nehost*hfactoy+neservice*sfactor
其中,repeatcount是相似连接出现的次数。nehost是到不同的不可达主机的连接总数,其连接特征(目的端口、内容)必须已在当前评估的链中出现。neservice是请求网络中服务器上的不可达服务的连接总数,其连接特征也必须出现在当前评估的链中。rfactor、hfactory、sfactor是可以配置的权,分别根据repeatcount、nehost、neservice的重要程度来配置。一般来说,sfactor比较小,因为当网络负载较大时,有些服务也不能获得。
  注意,在算法中,只有以该不可达连接为终端的链被监控时才记录不可达连接。否则,将被视为正常连接,不累加到蠕虫模式池中链的异常值中。
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的预处理就传输给信息处理模块。
  主机1上的网络行为数据收集模块获得网段内的连接信息并用六元组C(ts,sa,sp,da,dp,data)表示如下:

  其中NS和NH分别表示不可达服务和不可达主机。
  这些连接信息可以用一个有向图表示,以直观地得到连接的连续性。网络行为历史的有向图如图3所示。


  图3中主机1请求不可达服务的连接并不记录,因为在此前没有目的主机为1的连接被监控。主机1到4的连接和主机2到4的连接被记录到主机4的连接历史表和陷阱表中,主机4到3的连接因内容与以前的连接(1到4或2到4)内容不同,所以不会被记录到主机3的蠕虫模式池中。主机3到2的连接不满足时间戳规律,所以不追加到终端为主机3的链内,但包括在主机2的陷阱表中。主机3有到NS的连接,主机5和主机2有到NH的连接。此外,主机4到3的连接,主机5到NH的连接和主机5到2的连接相似。取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本身攻击成功,则系统会失效。
参考文献
1 Jackson K,DuBois D.An Expert System Application for Network Intrusion Detection.In:Proceeding of the 14th Department of Energy Computer Security Group Conference,Seattle,1991
2 Snapp S.DIDS-motivation,Architecture and an Early Prototype.http://www.silicondefense.com/research/,1991
3 Chen S S,Cheng S.GrIDS-A Graph Based Intrusion Detection System For Large Networks.In:Proceedings of the 19th National Information Systems Security Conference,Baltimore,1996
4 Nazario J,Anderson J.The Future of Internet Worms. http://www.crimelabs.net/,2001
5 Toth T,Krugel C.Connection-history Based Anomaly Detection.In:Proceeding of the 2002 IEEE,NY,2002

此内容为AET网站原创,未经授权禁止转载。
Baidu
map