基于人工免疫的入侵检测系统研究与实现
2012-12-17上海市宝山区广播电视台技术部张玉龙
上海市宝山区广播电视台技术部 张玉龙
1.引言
随着网络的普及,人类社会已经进入了信息化时代。在这个时代,Internet对人们的工作和生活起到了越来越大的影响。在人们享受Internet方便快捷的同时,各种入侵事件与入侵手法层出不穷,于是引发了一系列的安全问题。
由于网络安全风险系数不断提高,曾经作为最主要网络安全防范手段的防火墙,已经不能满足人们对网络安全的需求。而作为对防火墙有益补充的入侵检测系统(IDS),能够帮助网络快速发现网络攻击的发生,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。IDS被认为是防火墙之后的第二道安全闸门,它能在不影响网络性能的情况下对网络进行监听,从而提供对网络攻击和网络入侵的实时保护。
2.入侵检测系统的起源
自1980年4月P.Anderson提出入侵检测概念以来,入侵检测系统经过20多年的发展,已呈现出百家争鸣的繁荣局面,国内国外的许多大学和研究机构都在对其进行研究。传统的入侵检测系统是基于Denning的入侵检测模型[1],在该模型中,将审计记录、系统日志以及其他可以监测的系统活动作为检测系统是否异常操作的依据,并将监测的数据与已知的入侵模式相比较或是与正常的系统状态相比较以确定是否发生入侵。因此传统的入侵检测系统多采用模式匹配、统计分析和完整性分析技术。随着网络技术的不断发展,这些技术已不能适应高速宽带网络发展的要求,存在检测速度慢,攻击特征规则库更新不及时以及出现虚警、漏警等缺点。当前入侵检测技术的发展主要集中在大规模分布式和智能化检测这两个方向。在智能化方面采用的技术主要有专家系统、神经网络、数据挖掘以及人工免疫等技术,SRI/CSL、普渡大学、加州大学戴维斯分校、洛斯阿拉莫斯国家实验室、哥伦比亚大学、新墨西哥大学等机构在这方面的研究代表了当前的最高水平[2]。其中有代表性的有Columbia University的Wenke Lee研究组与1998年开始的,采用数据挖掘技术的Intrusion Detection Evaluation研究,已经取得了较大进展[3][4];神经网络技术在入侵检测中研究的时间较长,并在不断发展,日本、美国、英国等许多国家都有专门的研究机构在进行这方面的研究,已有多篇论文发表[5][6];人工免疫方面,从1986年Farmer提出人工免疫的概念至今,人工免疫系统的研究已经进入稳步发展的阶段。至今为止总共提出了三种有效的基于人工免疫的入侵检测模型:Stephanie Forrest小组提出的基于网络的入侵检测模型[7],Dasgupta小组提出的多Agent系统模型[8]和Kim小组提出的基于阴性选择和检测子基因库进化的分布式检测模型[9]。
3.人工免疫系统模型原理
生物免疫系统[10][11]可以保护人类机体不受诸如病毒、病菌等病原体的侵害,生物保护自身免受病菌的伤害是通过自身免疫来完成的。当外部病菌侵入机体时,生物免疫系统通过组织淋巴细胞来识别“自己”和“非己”抗原,消灭并清除异物,在生物免疫系统中,淋巴细胞分为T淋巴细胞和B淋巴细胞,在抵御病菌入侵时,T淋巴细胞执行特异性免疫反应和调节功能,B淋巴细胞则在其表面产生抗体,探测对应的抗原结构和特征,它执行识别、学习等功能。
生物免疫系统具有良好的自适应、自学习、自组织功能,是一个能进行并行处理和分布协调的复杂系统,其中蕴涵的信息处理机制和入侵监测原理具有很大的相似性。从计算机安全、病毒检测方面来看,生物免疫系统表现出来了巨大的潜能,其运行机理、系统结构、层次模型等和计算机安全系统非常相似。
人体免疫系统由多种免疫细胞组成,它的作用是专职机体的防伪功能。人工免疫系统是一个高分布、多层次的自适应系统,能随着环境变化识别出抗原。同时免疫系统所具有的多样性、耐受性、免疫记忆、分布式并行处理、自组织、自学习,自适应和轻量级等特点,正好满足IDS的需求,基于人工免疫原理的入侵检测系统LISYS已在一定程度上实现了对免疫系统真正的模仿。
4.基于人工免疫系统的网络入侵检测系统设计
上海市宝山区广播电视台作为一家新闻从业单位,历来安全工作就很重要。特别是信息的保密性、完整性和可用性对于我单位至关重要,但是信息系统和网络会受到来自四面八方的威胁,而且现在也出现了许多网络破坏技术,例如:计算机病毒、恶意代码,还有各种具有迷惑性的网络攻击行为。因此本系统设计的主要目的是为检测所在局域网的网络情况:其包含网络采集、网络协议分析、网络攻击检测功能。
网络作为承载多业务的通讯基础设施,在实际的建设过程中,应该充分考虑本单位各项业务的特点。这些业务对网络提出了以下要求:(1)带宽的需求;(2)可靠性的需求;(3)网络性能的需求;(4)网络安全的需求;(5)网络服务质量的需求。
4.1 网络入侵系统结构设计
目前主流的基于网络的入侵检测系统主要由数据采集模块,数据分析模块,程序管理模块等组成,其中数据采集模块主要负责实现采集系统所在网络的数据包并进行预处理:数据分析模块的功能就是根据数据采集模块得到的数据进行处理和分析,对当前网络状况进行评估和分析;程序管理模块则是要对整个系统的各个事件进行响应,包括对网络异常的处理[12]。这样的系统结构将数据的获取、分析、处理分为相对独立的模块,有利于分别单独实现,也有利于系统在不同操作系统上的移植。当然,对于数据分析模块的实现,不同系统有不同的解决方案,但是总体来说因为对各种规则的匹配都相对独立和简单,没有进一步分析规则之间的联系,从而影响了系统的性能。
宝山广播电视台网络入侵检测的系统结构也基本上采用上述的结构,其中对数据分析模块的功能进行了设计,在本系统中该部分包括协议分析模块、流量检测模块、固有检测模块、自适应检测模块。根据上面的不足,本系统利用当前结构,改进了网络数据分析模块的流程,增加了预检测机制,在下一节将较为详细地讨论这一流程的改进。系统框架如图3-1所示。
由图3-1可见,该系统采用了两层结构设计,第一层是以免疫响应的固有免疫原理为理论基础的固有检测;第二层是以免疫响应的自我适应免疫原理为理论基础的自适应检测,它以自适应的方式解决第一层不能识别的新攻击或类似于正常行为的攻击,并不断对规则库里的规则实施演化,以弥补传统入侵检测技术的不足。
由于网络中的数据包进入协议栈时都是按照特定的格式进行封装的。因此基于已知的网络数据报结构,可以先利用报的层次性对网络协议逐层解析并分析数据包中的协议标志,而协议分析模块就是采用这种方法对检测数据先进行预处理,然后再使用模式匹配算法来进行检测。
固有检测类似于固有免疫,前者是一个特异性的防御方法,后者是一个非特异性的防御。固有检测不能改变它的识别能力去识别新的攻击或入侵,但由于依据具体特征库进行判断,所以检测准确度高。
报警单元主要功能是指发现入侵行为后,检测系统采用的一种静态行为,它的目的事告知管理员发生了入侵,常采用的报警方式有发送EMAIL、发出报警声音等。
响应单元的主要功能就是指发生入侵后,如今检测系统必须采取一种积极主动的方式,来阻止入侵的继续进行。这种积极主动的相应机制通常采用以下两种方式:(1)发送Reset包切断连接;(2)重新配置路由器或防火墙,拒绝来自攻击主机的数据包通过。对于报警,主要是使用了屏幕显示和语音报警方式。对报警级别进行了区分:低级级别、一般级别、紧急级别。区分的依据主要是攻击行为的严重程度。例如land攻击我们可以将其定义为紧急级别。根据级别的不同,在屏幕显示的时候可以采用不同的显示形式,在语音报警时发出不同的报警鸣声。
4.2 网络入侵检测系统主流程设计
系统主要流程如图3-2,在系统的初始化部分启动数据包获取模块的程序,捕捉网络中的数据,每经过一定的时间,系统对所有的数据进行一次统一处理,更新协议分析的结果,并更新显示。对于一般的入侵检测系统,设计入侵检测模块流程时基本上采用模式直接匹配规则的方法,将所有规则用程序进行一定的描述,然后在每次时间间隔到期之后都逐一匹配所有规则,如果发现有匹配的则报等并记录。这样的流程虽然具有结构简单,容易扩展的优点,但也存在着一定的缺陷,每次都要匹配所有规则对于一个将要具有很多规则的系统来说无疑是一个较大的负担,另外,直接匹配的规则在可操作性上存在一些问题,很多攻击和正常的网络服务在网络数据统计上的差异性并不是特别大,用简单的阀值较难在检出率与误检率之间取得较好得平衡,需要进一步的分析,这样就影响了系统的整体性能[13]。
图3 -1 系统框架图
图3 -2 系统流程图
针对上述缺陷,我们分析网络攻击的流程:在网络攻击的开始阶段,黑客并不会盲目的用单一的方法进攻网络上的所有主机,这样效率太低而且非常容易暴露目标。黑客往往会先用网络扫描工具对感兴趣的部分主机进行扫描,分析主机可能存在的漏洞与缺陷,再针对这些漏洞采用有效的攻击手段,在攻陷了目标主机后,黑客可能在目标主机上植入木马和病毒,让被攻陷的主机继续攻击其它主机,由于单一木马程序的攻击手段较为简单,这时的攻击具有一定的盲目性,即不经过网络扫描等分析,直接对所在网络进行成片的攻击,这时又会造成网络流量的明显异常。对此,我们将流量检测作为我们网络攻击检测的预检测手段,在时间到期的时候进行这种异常检测,如果检测正常则不进行进一步的检测,只有在预检测异常的情况下才进行规则的逐一匹配,有效地减轻了系统的负荷,另外,这样的结构还能简化攻击检测规则的制定,因为出现类似流量异常又出现规则中出现的情况次数会比较少,可以明显地减少误检率,攻击规则可以尽量考虑攻击本身的特点而较少考虑与普通流量的差异。
5.总结
本文借鉴了人工免疫原理,结合误用检测与异常检测两种检测技术并引入了协议分析的方法,提出并设计一种层次化的网络入侵检测系统。
计算机网络安全问题是一个永恒的命题,它将伴随着计算机技术、网络技术的发展而一直存在并发展。本文所设计的网络入侵检测系统就是这样一个不断学习的系统,会自我进行不断的完善。但是这样的学习还不够,引入神经网络和数据挖掘技术来进一步进化未成熟检测器,应该是生成成熟检测器的另一种有效手段。基于人工免疫原理的入侵检测模型和系统是近年来生物领域中研究的重点和难点,它的研究对于解决当前网络安全所面临的严重危机具有十分重要的意义。当然,除了网络安全技术,还要强调网络安全策略和管理手段的重要性。只有当这些综合起来,才有可能确保网络的安全。
[1]enning DE.An Intrusion Decection Model[C].IEEE Transaction on Software Engineering,1986.
[2]宋献涛,叶慧敏.IDS风雨二十年历程.中国IT实验室,http://cisco.chinaitlab.com/IDS/6058.html.
[3]Week Lee.A Date Mining Framework for constructing Features and Models for Intru-Sion Detection System.COLUMBIA UNIVERSITY,1999.
[4]Lee W, Stolfo S J.A data mining framework for building intrusion detection Model.In:Going L,Reiter MK,eds,Proceedings of the 1999 IEEE Symposium on Security And Privacy.Oakland,CA:IEEE Computer Society Press,1999:120-132
[5]阎永凡,张昌水.人工神经网络与模拟进化计算[M].北京:清华大学出版社,2000.
[6]戴英侠,连一峰,王航.系统安全与入侵检测[M].清华大学出版社,2002.
[7]Forrest S,Perelson A S,Allen L,Cherukuri R.Self-Nonself Discrimination in a Computer.Proceedings of IEEE Symposiun on Research in Security and Privacy, 16-18,May,1994:202-212,Oakland,CA,Also available at ftp://ftp.cs.umn.edu/pub/forrest/ virus.Ps.
[8]Dasgupta D.Immunity-based intrusion detection systems:ageneral framework.Proceedings of the 22nd National Information Systems Security Confeerence(NISSC),October 18-21,1999.
[9]Kim J,Bentley P J.Evaluating negative selection in an arti fi cial immune system for network intrusion detection.Proceedings of Genetic and Evolutionary Computation Conference 2001(GECCO-2001),San Francisco, July 7-11,2001:1220-1227.
[10]陈慰峰.医学免疫学(第四版)[M].北京:人民卫生出版社,2004.
[11]吴敏毓.医学免疫学[M].合肥:中国科技大学出版社,1999.
[12]黄人薇.浅析入侵检测技术有关问题[J].大众科技,2006,1(87).
[13]张新刚,刘妍,王星辉.基于入侵检测系统(IDS)的分析与研究[J].网络安全技术与应用,2006(6).