网络入侵检测系统研究
Internet进入二十一世纪后发展速度越来越快,深深地影响了我们的社会生成和日常生活。Internet已经成为整个社会基础设施中最重要的部分之一。但是在我们越来越依赖于网络时,信息的安全问题也面临着越来越严峻的考验。网络本身并不安全:Internet设计之初便忽略了安全性,同时Internet的开放性和安全性本身也是一对矛盾。网络在新世纪变得更加不安全:由于社会各个阶层的人员都融入到网络中,入侵网络的目的和动机越来越复杂;同时随着黑客软件的流行,入侵所需要的技术要求越来越低。网络的不安全因素对社会影响越来越大:网络渗透到金融、商务、国防等关键领域,信息安全保障能力成为国家综合国力、经济竞争实力和生存能力的重要组成部分。
网络;入侵检测系统;黑客软件
【作者简介】谭 卫(1984—)男,湖南涟源人,华南理工大学硕士毕业,中国民用航空中南地区空中交通管理局助理工程师。研究方向:电子信息化与网络安全。
1.入侵检测系统发展现状
A.入侵检测系统分类[1]
入侵检测系统有不同的分类方法:
按照采用技术不同,分为滥用检测系统和异常检测系统。
按照数据来源不同,分为基于主机的检测系统和基于网络的检测系统。
按照实现结构不同,分为单一、部分分布式以及完全分布式结构系统。
按照响应方式不同,分为被动响应和主动响应检测系统。
B.入侵检测系统面临的问题
检测性能方面:虚警和漏警问题从本质上讲难以避免,现有的入侵检测系统无法实现有效实现提高对新型攻击的检测率并降低虚警率的目标。
检测系统健壮性方面(鲁棒性):许多商用入侵检测系统会由于某些组件突然失败而导致整个检测系统功能丧失。
自适应方面:入侵检测系统面临的攻击是随着时间而变化的,因此入侵检测系统需要具有动态自适应性,能够既可以适应变化的入侵,而且能够容忍自身系统的变化。
2.基于免疫原理的入侵检测系统
A.免疫原理分析
免疫系统抵御外部入侵,使其机体免受病原侵害的应答反应叫做免疫。外部有害病原入侵机体并激活免疫细胞,诱导其发生反应的过程称为免疫应答。免疫应答分为固有免疫和获得性免疫。前者为机体先天获得,可对病原进行快速消除;后者为特异性识别并消除病原体,具有特异性、记忆、区分自我和非自我、多样性和自我调节等优良特性。诱导免疫系统产生免疫应答的物质称为抗原[2]。
在生物免疫系统中,最主要的机制就是区分自我和非自我。自我就是指自身的细胞;非自我是指病原体、毒性有机物和内源的突变细胞或衰老细胞。在此过程中,免疫细胞能对“非自我”产生免疫应答,来消除其对抗体的危害。但对“自我”则不产生应答,以保持体内环境动态稳定。免疫细胞通过自身的进化和相互作用实现了人类的免疫功能。免疫系统的工作过程总体上是由基因选择、负选择和克隆选择3阶段组成。在这3个阶段中,由于免疫系统不受其它器官的支配,也不需要预先了解特定信息,因此是自组织的。最后由于一个抗体可以识别多种抗原,因此是轻负荷的。
生物免疫系统的特点总结如下,这为构建健壮的计算机安全系统提供了重要基础。①分布性:数百万的淋巴细胞分布于整个生物系统,他们之间没有中央控制机制,是一种没有中心控制器的分布式自制系统,能有效处理问题的非线性自适应网络;②鲁棒性:生物免疫系统中各种组件是大量存在的,因此即使缺少这些组件的一小部分也不会对系统的功能有太大的影响;③自适应性:生物免疫系统是一个自组织的存贮器,且是动态地维持着。它能够适应外界环境的变化,通过学习对新的抗原做出识别和反应,并保留对这些抗原特征的记忆,以帮助下一次对抗原的反应。这些特征是完善的IDS系统所需具备的。因此人们希望通过应用生物免疫机理,构建更高效率的IDS系统,以改进目前IDS系统的性能。
B.基于免疫原理的网络安全研究现状
当前基于人工免疫的网络安全研究内容主要包括反病毒和抗入侵两个方面。当前较有代表性的工作有如下两个:其一是IBM公司的研究人员J.O.Kephart提出的用于反病毒的计算机免疫系统,其二是S.Forrest等人提出的可用于反病毒和抗入侵两个方面的非选择算法。
J.O.Kephart等人提出的计算机免疫系统:通过模拟生物免疫系统的各个功能部件以及对外来抗原的识别、分析和清除过程,IBM公司J.O.Kephart等研究人员设计了一种计算机免疫模型和系统,用于计算机病毒的识别和清除。对已知病毒,该系统依据已知病毒特征和相应的病毒清除程序来识别和消灭计算机病毒。对未知病毒,该系统主要是设计“饵”程序来捕获病毒样本,在“饵”程序受感染后对其进行自动分析并提取病毒特征,设计相应的病毒清除程序。当计算机发现并分析了未知病毒特征时,可将所产生的病毒特征和宿主程序恢复信息传播到网上邻近计算机中,从而使得网络上的其它计算机很快就具有了对付该病毒的能力。该原型系统可以是一个病毒自动分析系统,它是从结构和功能上来模拟生物免疫系统,而没有深入研究生物免疫系统完成这些功能的具体机制并建立和设计相应的模型和算法。
负选择算法:S.Forrest等人在分析T细胞产生和作用机制的基础上,提出了一个负选择算法。T细胞在成熟过程中必须经过阴性选择,使得可导致自身免疫反应的T细胞克隆死亡并被清除,这样,成熟的T细胞将不会识别“自我”,而与成熟T细胞匹配的抗原性异物则被识别并清除。负选择算法是一个变化检测算法,具有不少优点,但它不是一个自适应学习算法。负选择算法自提出后就受到众多研究人员的关注并对其进一步研究。目前,在负选择算法和免疫系统中的学习机制相结合方面已有了一定的进展。
其它:以上仅仅是两个较有影响的工作,此外还有其它很多具有相当影响的相关模型、算法和原型系统,如R.E.Marmelstein等人提出的用于反病毒的计算机病毒免疫分层模型和系统,D.Dasgupt等人提出的基于免疫自主体的入侵检测系统框架等。
C.基于免疫原理的入侵检测一般模型
检测环境的描述:U代表本地主机和网络系统中的所有模式的集合。U被分为两部分:self集合S和non-self集合N。S、N满足S∪N=U并且S∩N=U。
入侵检测问题的描述:s∈U,判断s∈S or s∈N。
人侵检测系统的描述:D代表入侵检测系统D=(f,M),其中M∈U代表D的检测规则集。f代表判定函数,f:U*€譛→{normal,anomalous),即
误报、漏报问题的描述:人侵检测系统可能产生的错误有两类,一类是虚警(False Positive),另一类是漏警(False Negative)。定义试验集Utest,UtestU。令Stest=S∩Utest,Ntest=N∩Utest,则由S∪N=U, S∩N=U可知Stest∪Ntest=Utest并且Stest∪Ntest= 。如果s∈Stest,且f(M,s)=anomalous,则称发生虚警错误,如果s∈Ntest,且f(M,s)=normal,则称发生漏警错误。
入侵检测问题从本质上来说是模式检测问题,以比较小的代价从海量数据中检测出异常数据。生物免疫正是具备这种高效的检测能力,其基因变异、免疫耐受、克隆选择和记忆细胞等原理能够保持机体动态平衡。
人工免疫系统的一般性工程框架[3]如下图1所示,分别为表示层、亲和力定义和免疫算法层。首先将工程中需要计算的对象正确表达出来,包括抗原与抗体的定义,接着定义抗原与抗体之间的亲和力,最后选择合适的免疫算法进行计算。