【摘要】针对传统分布式入侵检测系统的缺陷,文章提出了一种适用于无线网络通信环境的新型分布式入侵检测系统模型,详细介绍了其组成部分:逻辑检测域、中心分析器、全局数据库和用户接口。新模型提高了系统的整体检测效率,有效地避免了中心分析器单点失效的问题。
【关键词】入侵检测 LDD 分布式攻击 中心分析器 自举
1 引言
随着计算机技术的发展,入侵检测系统(IDS,Intrusion Detection System)已经作为网络安全系统中的一个重要组成而受到业内关注。现有IDS系统的缺陷有三:一是IDS系统检测能力局限在单一网络架构,与其他IDS系统的协作能力低;二是检测手段和数据的来源单一;三是无法检测大规模分布式攻击。分布式入侵检测系统(DIDS,Distributed Intrusion Detection System)[1]由此应运而生。
DIDS主要检测信息的协同处理与入侵攻击的全局信息提取。AAFID[2]是一种分布式入侵检测系统的高效框架,与早期的DIDS相比,它解决了负载平衡问题,且采用分层结构,不同层次处理抽象程度不同的数据,使得在系统各代理间通讯的数据量显著减少。但AAFID也有其缺陷,如层次结构复杂,控制较繁琐,且没有解决结构上的单点失效问题,尤其是如果处于较上层的节点失效,整个系统就会瘫痪;另外,处于下层的节点不能对入侵做出独立的反应。对此,本文提出了一种新型的DIDS系统模型结构,新模型可以检测跨越多子网的入侵行为和分布式攻击,避免了中心分析器单点失效的问题,系统整体的检测效率很高,更适用于无线网络环境。
2 新型分布式入侵检测系统结构
新系统由逻辑检测域(LDD)[3]、中心分析器、用户接口、全局数据库[4]组成,如图1所示。LDD是本地的入侵检测系统,负责监视系统本身的网段,并能对一般的入侵行为进行检测,而后根据预先定义的配置给出反应措施。
另外为了解决单点失效问题,NIDS设计有多个中心分析器,但最多只有一个处于活动状态,其余中心分析器则作为冗余备份;一旦活动的中心分析器失效,其余中心分析器就通过自举策略竞争使用权。用户接口用来查询LDD和中心分析器的检测结果,修改它们的检测策略,给系统管理员一个可视化的图形接口。全局数据库主要用来存放检测策略和结果。
2.1 逻辑检测域
每个LDD负责监视各自管辖的网段,且均能对主机和网络进行入侵检测。它们通过数据采集模块从网络和主机上获取数据包,并通过分析模块进行分析,如果检测出入侵行为,则立刻做出反应;对于可疑行为,则提交给中心分析器,由中心分析器根据从各个网段收集的信息来最终判断是否有入侵行为。其模块组成如图2所示,模块组符合通用的入侵检测框架规范[3]。
(1)数据采集模块
解析和捕获信道中传送的数据包并将其格式化为事件,这是由系统中的NIDS数据采集模块来实现的。在新系统中,检测节点可获取自身和相邻部分节点的数据包,节点处理的数据量相对较小,可保证极低的丢包率并能加快分析模块的处理速度,缩短系统响应攻击的时间。新系统采用这种获取相邻部分节点数据包的冗余设计,弥补了由于单个节点遭受攻击而无法检测到攻击信息的缺陷。
(2)分析模块
NIDS分析模块使用模式匹配、统计分析等技术来识别攻击行为。它以网络数据包作为分析数据源,在不丢包的情况下对包进行分析,将入侵行为的特征码归结为协议的不同字段的特征值,将其与特征库的特征码进行模式匹配。如果匹配成功,则表示检测到了攻击行为,反应模块就做出适当的响应。
协议分析方法按照网络协议的层次结构进行分析,首先分解各协议的首部并与协议树按次序匹配,然后用数据报文的数据部分来匹配协议的入侵特征,用来与入侵规则匹配的报文比源报文的字节数要少。协议分析方法与模式匹配的原理是一致的,采取二者相结合的入侵检测方式可以有效提高检测效率。
HIDS分析模块用于分析日志事件,对重点监视的主机资源建立特征库并通过模式匹配方法即时分析日志事件来检测入侵信息。
(3)管理模块
管理模块有四个方面的功能:
◆ 获取分析模块送来的报警信息,并将其发送到反应模块进行处理;
◆ 把整个逻辑域内检测到的无法确定的可疑事件,提交给中心分析器来处理;
◆ 把入侵信息通过反应模块发送到本地数据库服务器进行保存;
◆ 通过通信模块从用户接口获取LDD的配置信息。
(4)反应模块
反应模块按照预先配置的响应行为来执行反应动作:
◆ 对可能的入侵行为预警并通知系统管理员;
◆ 把入侵的信息记录到本地数据库;
◆ 对入侵行为进行具体处理。为了避免误判产生的负面影响,根据入侵行为的危害程度,可将具体的入侵处理分为结束对应的入侵任务、断开连接、锁定帐号、限制允许登陆范围等级别。
(5)通信模块
通信模块是系统的重要组成部分。该模块负责LDD跟活动中心分析器以及用户接口之间的通信。通信的内容为一个五元组[5]:
〈通信内容〉∷=(发送者,接收者,时间,数据长度,数据)
对于内容较短的信息交互采用UDP协议包的形式,对于成块的信息交互则采用TCP协议包的形式。
2.2 中心分析器
(1)功能
中心分析器负责从多个LAN收集数据,并根据这些数据分析跨子网的分布式攻击。一个单一的LAN可以根据地理位置和其他因素而分成多个子网,并且每个子网都有各自的安全需求。子网上的LDD通过本地特征库监视着其上的数据信息,如果该LDD鉴别出入侵行为,则给出告警信息并写入日志。
(2)自举
为了解决单点失效的缺陷,新模型通过控制台来制定多个中心分析器,每个中心分析器都有其优先级数。优先级数最大的中心分析器处于活动状态,其余处于空闲状态。若LDD无法找到一个当前活动的中心分析器,就会向所有的中心分析器发布一个无法找到活动中心分析器的消息。当各中心分析器接收到消息后,空闲的中心分析器会自举一个出来,使其成为活动的中心分析器(以下简称CA)。
CA执行竞争协调者算法进行自举,过程如下:
◆CAi向所有优先级数高于自己的CA发送要做协调者的消息。它将面临两种情况:一是在规定时间内无回复,那么CAi将自己作为协调者的消息发送给LDD和控制台。二是CAi在规定时间内收到反对回复,则继续等待一个时间T,如果没收到消息,则认为回复错误,CAi重新开始执行竞争协调者算法;如果收到消息“CAj是新的协调者”,CAi记下当前的活动CA是CAj。
◆如果CAi接到一个优先级比它低的CA竞争协调者的消息,则给对方一个适当的回复,自己开始执行竞争协调者算法。
◆当一个拥有较高优先级的CA排除故障恢复运行时,它可以重新执行竞争协调者算法,剥夺较低优先级CA的协调者资格。
2.3 用户接口
控制台提供了一个友好的人机交互界面,让系统管理员能方便地管理系统。用户接口的功能包括四个方面:
(1)指定各LDD和中心分析器的配置库;
(2)从LDD和中心分析器获得检测日志;
(3)指定系统中活动的中心分析器;
(4)显示告警信息和图形化的分析报告。
2.4 全局数据库
全局数据库保存各LDD和中心分析器的配置信息以及运行中产生的日志。
3 结束语
本文提出了一种基于逻辑检测域的入侵检测系统模型。新模型的LDD分布在各受保护的子网段上,能通过分析模块对本地主机和网络进行入侵检测,并能独立做出处理。对于一些分布在各个子网上的分布式攻击,新系统中的每个单独的LDD只能检测整个入侵行为的一部分,这时各个LDD会将其检测到的可疑事件提交给中心分析器处理,中心分析器将会正确地判断是否存在入侵行为。新模型中存在多个中心分析器,中心分析器通过自举算法竞争成为协调者,避免了单个中心分析器带来的单点失效问题,提高了整个系统的容错性,能够更有效地检测多种入侵攻击,更适于无线网络通信环境。
参考文献
[1]薛静锋,宁宇鹏,阎慧. 入侵检测技术[M]. 北京: 机械工业出版社,2004.
[2]Eugene H Spafford, Diego Zamboni. Intrusion Detection Using Autonomous Agents[J]. Computer Networks, 2000(34): 547-570.
[3]Porras P, Schnackenberg D, Staniford Chen S, et al. The Common Intrusion Detection Framework Architecture[EB/OL]. 2005. http://www.isi.edu/gost/cidf/drafts/architecture.txt.25(15): 1374-1391.
[4]Peng Ning, Sushil Jajodia, Xiaoyang Sean Wang. Design and Implementation of Decentralized Prototype System for Detecting Distributed Attacks[J]. Computer Communications,2002.
[5]P Ning, X S Wang, S Jajodia. Modeling Requests Among Cooperating Intrusion Detection Systems[J]. Computer Communications, 2000,23(17): 1702-1715.
[6]林昭文,赵毅德,马严. 基于Agent的分布式协作入侵检测系统[J]. 计算机工程,2008,34(5): 150-152.★
【作者简介】
钟再淳:硕士毕业于中山大学电子学系无线电物理专业。现任职于中国电子科技集团公司第七研究所,曾从事信道编码及嵌入式硬件的研发工作,目前从事网络信息安全管理及研究工作。