胡征兵1,苏 军2 (1.武汉工程大学,湖北 武汉 430073;2.长江大学,湖北 荆州 434023) [摘 要]随着Internet高速发展,人们的日常生活和网络息息相关,网络安全问题日益突出。文章从理论的角度论述了计算机入侵检测和生物免疫的相似性,借鉴生物体免疫系统的原理、规则和机制运用到计算机入侵检测系统中。充分利用人工免疫系统的分布性、自适应性、记忆性和高效性,降低入侵检测系统的误报率和提高自适应性的问题。 [关键词]入侵检测;人工免疫系统;人工智能 [作者简介]胡征兵(1978- ),男,湖北武汉人,武汉工程大学计算机科学与技术学院副教授,博士,研究方向:信息安全,入侵检测系统,人工智能。 引 言 入侵检测系统(IDS)是重要的动态网络安全防护工具。
它通过收集和分析计算机网络或计算机系统中若干关键点的信息,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象。基于免疫学的入侵检测是近几年来在入侵检测研究领域中的热点,它突出的特点是利用生物体免疫系统的原理、规则和机制来实现对入侵行为的检测和反应。
1生物免疫系统(Biological Immune System,BIS)
生物的免疫系统是非常复杂的自然防御系统,它具有分析、学习进入体内的外来物质,并通过产生抗体来消灭入侵抗原的特点。免疫系统是机体执行免疫功能的机构,是产生免疫应答的物质基础。通常可将免疫系统分为免疫器官,免疫细胞和免疫分子三大类,免疫系统在体内分布广泛,持续地执行识别和排除抗原性异物的功能。各种免疫细胞和免疫分子既相互协作,又相互制约,使免疫应答既能有效又能在适度的范围内进行。
淋巴细胞是最重要的免疫细胞,包括B细胞和T细胞是两种主要类型。B细胞由骨髓产生,受抗原刺激后可分泌产生“Y”形状的蛋白质分子,即抗体,抗体可与相应抗原产生特异性的生理反应,来识别和排除抗原。T细胞具有促进和抑制B细胞反应的作用。生物免疫系统的作用过程如图1所示。
图1. 生物免疫系统的作用机制
生物免疫系统的基本功能是识别“自身”(Self)和“非自身”(Noself),并将“非自身”分类清除。生物免疫系统具有免疫识别、免疫记忆、免疫调节和免疫宽容等功能特征,能有效识别外来入侵者,维持机体本身的平衡,保证生物体自身的生存和发展。其中免疫识别是指免疫系统不仅能够识别已知抗原,同时还能够识别未知抗原,免疫记忆则是指生物免疫系统能够对再次入侵的抗原发生快速反应(即二次应答)。
从信息处理的角度来看,免疫系统是一个自适应、自学习、自组织、并行处理和分布协调的复杂系统。借鉴免疫系统中蕴涵丰富且有效的信息处理机制,针对计算机系统和网络抵抗入侵的安全问题,可以建立相应的人工免疫模型和算法,具有十分广阔的应用前景。
2人工免疫系统(Artificial Immune System,AIS)
人工免疫系统是研究、借鉴和利用生物免疫系统(这里主要是指人类的免疫系统)各种原理和机制而发展的各类信息处理技术、计算技术及其在工程和科学中的应用而产生的各种智能系统的统称。从生物的免疫系统特点出发可以发现,入侵检测系统与免疫系统具有本质的相似性:免疫系统负责识别生物体“自身”(Self)和“非自身”(Noself)的细胞,清除异常细胞,入侵检测系统则辨别正常和异常行为模式;生物免疫系统对抗原的初次应答类似于入侵检测系统异常检测,可检测出未知的抗原;生物免疫系统第二次应答即利用对抗原的“记忆”引发的再次应答与误用检测相类似。利用生物免疫系统的这些特性,应用到入侵检测领域,能有效的阻止和预防对计算机系统和网络的入侵行为。
3基于人工免疫原理建立的入侵检测模型
入侵检测是通过对系统或者是网络的运行状态进行检测,发现各种攻击企图、攻击行为或攻击结果,以保证系统资源的机密性、完整性和可用性。借鉴生物免疫系统抵抗外界有害抗原的入侵上有效、独特的工作机制,能够很好的解决现有入侵检测系统的高误报率和缺乏自适应性。本文把该检测系统定义为基于主机和网络的两大类入侵检测,将检测的对象是运行在主机上的各种操作行为和通过网络传输的数据包。根据以上的描述可以模拟生物免疫系统建立一个基于人工免疫的入侵检测模型。
3.1基于主机的入侵检测模型
在免疫计算机的生物学模拟中,将计算机中感兴趣的程序(如Ftp,Telnet,Sendmail等等)的活动进程视为分子,将多个进程运行的计算机视为多细胞有机体,将计算机网络视为有机体组织。入侵识别主要根据网络操作系统中由授权程序执行的系统调用短序列,类似于肽链。在系统中, 建立一个类似于淋巴细胞的进程, 该进程直接和内核通信,监控其它进程及时发现程序执行的异常。与免疫系统的判别机制相同,当该“淋巴细胞”进程发现某个进程运行异常时,就认为该进程被破坏或正在受到攻击。
免疫计算机实时监控和处理主机的审计数据,提取感兴趣的行为数据,建立行为特征模式,并与已知的正常行为模式匹配,一旦发现异常便报警。基于主机的人工免疫入侵检测模型如图 2所示:
图2. 基于主机的人工免疫入侵检测模型
主要由入侵分析、入侵判断和入侵响应三个部分构成。从操作系统提取的审计数据经数据过滤及分析处理,转换为统一的数据模式以便执行入侵分析。行为特征数据库是入侵判断的主要依据,通过入侵判断(与行为特征数据库的匹配),将判断结果通过用户界面通知系统管理员或交由系统自行处理,入侵响应操作有如切断连接、重新设置系统防火墙或关机等等。
3.2基于网络的入侵检测模型
基于网络的入侵检测主要负责对网络上传输的数据实施监控,包括网络数据包的识别和检测、地址的过滤等。利用生物免疫系统的基本功能是进行“自身”和“非自身”的识别。在基于网络的入侵检测模型中,把与所需要的计算机相连的网络间正常的TCP/IP连接集合和该主机系统内合法的操作行为定义为“自我”,采用可以描述TCP/IP连接特征的信息,例如:源IP地址,目的IP地址,服务端口,协议类型,包的数量,字节数,特定错误和在短时间的网络的特定服务和描述系统合法操作的集合来表示。把异常的TCP/IP连接集合和非法的系统操作集合定义为“非自身”。
基于网络的入侵检测模型的设计采用了模块化结构,分为数据收集模块(Sensor)、检测分析模块(Detector)和响应模块(Response),如图3所示。 图3.基于网络的人工免疫入侵检测模型
数据收集由Perl脚本启动Tcpdump实用程序完成网络数据包的捕获,Tcpdump实用程序将网络接口设置为混杂模式,把局域网(LAN)上所有的数据都保留一份拷贝,按照Tcpdump文件格式保存为本地文件。然后Sensor根据Tcpdump文件格式提取特征数据发往检测分析模块,并采用负选择算法来判断这些特征值是否异常。如果Detector判断某个特征值为异常,就会向系统管理员报告,并试图得到系统管理员的确认,得到确认的Detector认为局域网确实出现了异常,就会给用户设定的地址发送E-mail进行警告。Detector以Web页面的形式向系统管理员提供异常报告,系统管理员通过其中的超链接进行确认,Detector端运行的CGI脚本接受系统管理员的反馈信息。使用这种结构易于实现、界面友好、不受实际物理位置的影响,便于系统管理员远程管理。
3.3入侵检测响应
本系统研究所建立响应模组中,B细胞简化为抗体,利用抗体和抗原的模式匹配机制定义亲和力和抗体所受到的刺激;利用变异机制产生抗体的多样性;利用独特型网络的思想获得学习对象的记忆。免疫系统的初次应答类似于入侵检测的异常检测模式,抗体对抗原的识别是免疫系统基本的功能,当两个具有互补特性的细胞相遇时,它们间的亲和力的大小取决于两者间的互补程度,这里引入Perelson的形态空间概念来解决抗体对抗原的匹配识别问题。免疫系统的二次应答类似于入侵检测的误用检测模式,当免疫体遇到同一类抗原或类似抗原入侵时,由于抗体的记忆存在,免疫系统迅速产生特定应答反应,把相应的抗原归为已存在的类别。
4系统工作流程
本系统结合基于主机和网络型的综合型入侵检测系统。基于网络的模组为入侵检测系统的第一道防御措施,主要的信息来源是截取所有与受保护服务器之间进行通信的封包,然后递交给基于网络的入侵检测模组进行判断,如果检测结果为异常的攻击行为,将会记录相关的信息、然后通知系统管理员或采取自动的防御措施。第二道防御措施是基于主机的入侵检测模组,主要的信息来为系统的审记数据。结合基于主机和网络型入侵检测,更能有效的提高对计算机系统和网络的入侵检测能力。
5结 论
基于人工免疫的网络安全研究是一个新兴的研究领域,虽然已经有了一定的进展,但是还有大量的工作需要我们去做。生物免疫系统对已知病毒的快速识别机制是值得研究的一个热点,生物免疫系统能够对已知抗原的反应过程成为二次免疫应答。借鉴生物免疫系统的二次应答机制,建立相应的模型和算法,可以进一步提高对已知入侵手段的识别能力。 |