




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i目录目 录第一章 绪论11.1 研究背景概述11.2 入侵检测技术21.2.1 入侵检测发展历程31.2.2 入侵检测模型51.2.3 主要检测方式61.2.4 目前主要商用系统61.3 本文的主要研究成果和内容安排7第二章 生物免疫机制在入侵检测系统中的应用92.1 生物免疫机制简介92.1.1 免疫概念与系统组成92.1.2 免疫系统基本机理92.2 可借鉴的生物免疫机制112.3 入侵检测系统与生物免疫系统的比较122.4 基于免疫学的入侵检测系统研究现状132.5 本章小结14第三章 基于免疫原理的入侵检测系统设计实现153.1 设计目标153.2 涉及概念定义153.2.1 自体和非自体153.2.2 检测器163.2.3 匹配规则163.2.4 自体耐受163.3 系统体系结构设计173.4 主要实现步骤193.4.1 数据库设计193.4.2 数据预处理213.4.3 匹配规则选取213.4.4 检测器223.4.5 入侵响应253.5 本章小结27第四章 系统初步测试294.1 测试环境描述294.2 相应参数初始化304.3 测试结果324.4 结果分析344.5 本章小结35第五章 总结与展望375.1 本文总结375.2 进一步工作37致谢39参考文献417第一章 绪论第一章 绪 论1.1 研究背景概述现代互联网的飞速发展给人们带来方便的同时,也导致了很严峻的网络安全问题。据美国商业杂志信息周刊公布的一项调查报告显示,黑客攻击和病毒等安全问题仅在2000年就造成了上万亿美元的经济损失。目前人们普遍采取的应对措施有安装杀毒软件、配置防火墙等,但是它们都等存在很大的缺陷:杀毒软件杀毒的前提是通过对病毒爆发后的分析,进而找到解决病毒的方法,总存在“慢一拍”的尴尬;防火墙对于内网传输数据的监控是无能为力的。在这种情况下,一种新的网络安全技术产生了,即入侵检测系统(Intrusion Detection System ,IDS)。入侵检测技术1是对传统计算机安全机制的一种补充,被认为是继防火墙之后的第二道安全闸门。在不影响网络性能的情况下它能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。相对于其它安全产品它具有更多的智能化,已成为近年来网络安全研究的热点。尽管入侵检测的思路是很好的,但研究和实践发现,现有IDS存在着一些局限性: 适应性差:目前绝大多数系统都将具体的入侵形式抽象成模式特征(也称为知识),利用这些进行模式匹配,导致对变形或变异的已知攻击检测能力下降。 健壮性差:现有IDS各部分是协同工作的,每一部分都必不可少。当存在一种攻击是针对某个特定组件并导致其失效时,整个系统的功能就会大大削弱甚至无法正常工作。 时效性差:所有的入侵都得经过安全专家或网络管理员进行分析,然后更新知识库,然后才能发现这个攻击,未知入侵模式往往不能在事前就发现。一般认为,计算机网络系统的安全威胁主要来自于黑客(Hacker)攻击、计算机病毒(Virus)和拒绝服务攻击(Denies Of Service,DOS)3个方面。鉴于计算机病毒对网络安全带来的巨大威胁,本文根据生物免疫的工作机制,将它运用于计算机安全,提出了基于免疫原理的检测病毒入侵的IDS,力争将生物免疫系统的多样性、大规模并行分布处理、自组织、耐受性、自适应、免疫记忆和鲁棒性引入到入侵检测系统,使IDS能在更大范围内、更好地保证系统信息的安全。1.2 入侵检测技术首先看看什么是入侵。所谓入侵,是指任何试图危及计算机资源的可用性、机密性或完整性的行为。而入侵检测,顾名思义便是对入侵行径的发现。针对日益严峻的安全形势,20世纪90年代末,美国国际互联网安全系统公司(Internet Security Systems,ISS)提出了自适应网络安全模型(Adaptive Network Security Model,ANSM),后来发展成为一个很有价值的模型P2DR模型。这里的P2DR分别代表Policy(安全策略)、Protection(防护)、Detection(检测)和Response(响应)的缩写。其体系框架如图1.1所示。图1.1 P2DR模型的体系框架在P2DR模型中,检测是一个非常重要的环节,它是动态响应和加强防护的依据,同时也是强制落实安全策略的有力工具。通过检测,能够不断发现新的威胁和弱点,据此可以做出有效的响应。防火墙属于P2DR模型中的静态部分,而入侵检测系统属于其中的动态部分。入侵检测的思想是在最近20-30年出现的,相对来说国外这方面的研究要深入一些,而国内也就是在最近10年盛行的,存在着一定差距。IDS在国内的应用远远谈不上普及,一方面是由于用户的认知程度较低,另一方面是由于入侵检测是一门新兴技术,技术上还不是很成熟,门槛高,并非大部分厂商都有这个研发实力。同时较高的误报和漏报也让用户觉得部署IDS是没有价值而为的事。无论国内还是国外在入侵检测策略上几乎都是基于特征检测和异常检测,而大部分工作是通过模式匹配、特征选取、数据挖掘以及机器学习对可得数据进行分析处理。1.2.1 入侵检测发展历程1980年,James Anderson在一篇文章Computer Security Threat Monitoring and Surveillance里引入了入侵检测这个概念。从此,IDS就开始了它特殊的发展道路,而IDS技术领域中的一些里程碑事件将入侵检测一直引领到今天。James Anderson最早在这篇文章中提出了一个很有用的概念即审计跟踪包含了一些关键信息,这些信息对跟踪误用行为和理解用户行为很有帮助。他认为审计记录分析可以监视入侵行为,并对入侵进行分类,而且提出对不同渗透的检测方法,如表1.1。表1.1 不同用户的不同渗透方法授权非授权外部用户*外部渗透内部用户不当行为内部渗透注:*表示无相应的渗透方法1983年,Dorothy Denning博士开始给政府做一个工程项目,这个项目致力于入侵检测的研究。她首先提出了一个实时入侵检测系统模型,该模型独立于特定的系统平台、应用环境、系统弱点以及入侵类型,这为构建入侵检测系统提供了一个通用的框架。它的划时代意义在于提出了反常活动和计算机不正当使用之间的相关性。Denning博士结合她的研究工作,在1987年发表了一篇关键的文章An Intrusion Detection Model,这篇文章被认为是入侵检测的另一篇开山之作。文章里的观点和假设成为80年代入侵检测研究和系统原型设计的基础。1990年以前,入侵检测系统大都是基于主机的,它们对于活动性的检查局限于操作系统审计跟踪数据以及其它以主机为中心的信息源。但此时由于Internet的发展以及通信和计算机带宽的增加,系统的互联性已经有了明显的提高。特别是1988年Internet蠕虫事件之后,网络安全引起了军方、学术界和企业界的高度重视。这时NSM(Network Security Monitor)横空出世,成为入侵检测历史上另一个具有重要意义的里程碑。从此网络入侵检测的革命的序幕拉开了。1990年,UC Davis的Todd Heberlein开发了第一个网络入侵检测系统NSM,首次引入了网络入侵检测的概念。这是IDS第一次监视网络数据流并把它作为主要分析数据来源,并试图将入侵检测系统扩展到网络环境。这一新的认识激发了人们对网络入侵检测的兴趣,并促使商业和学术界研究开发资助的显著提高。Heberlein的贡献还在于提出了DIDS,DIDS结构如图1.2所示。他结合Haystack的研究成果,首次引入了混合入侵检测的概念。 图1.2 DIDS结构1.2.2 入侵检测模型1Denning模型 从1984年到1986年,在美国海军空间和海军战争系统司令部的资助下,Dorothy Denning研究并发展了一个基于异常行为检测模型。该模型提供了一个通用的入侵检测系统框架,并有原型系统的实现。该通用IDS的原型系统结构如图1.3所示。Denning模型实际上是一个基于规则的模式匹配系统,不是所有的IDS都能够完全符合该模型。该模型为入侵检测技术的研究提供了良好的框架结构,为后来各种模型的发展奠定了基础。2CIDF系统模型 为解决入侵检测系统之间的互操作性,国际上的一些研究组织开展了标准化工作,目前对IDS进行标准化工作的有两个组织:IETF的Intrusion Detection Working Group (IDWG)和Common Intrusion Detection Framework (CIDF)。CIDF早期由美国国防部高级研究计划局赞助研究,现在由CIDF工作组负责,它是一个开放组织。CIDF所做的工作主要包括四部分: IDS的体系结构、通信机制、描述语言和应用编程接口API。CIDF力图在某种程度上将入侵检测标准化,开发一些协议和应用程序接口,以使入侵检测的研究项目之间能够共享信息和资源,并且入侵检测组件也能够在其它系统中再利用。图1.3 通用检测系统模型1.2.3 主要检测方式当前入侵检测系统采用的方法和技术通常由误用检测(按预定模式搜寻事件数据)和异常检测(按异常模式搜索事件数据,并用数学术语进行标识)组成。1误用检测 误用检测最适用于已知使用模式的可靠检测,误报率可以做到很低,但是它仅能检测我们已经知道的。如果IDS具有学习功能的话,那么可以不断提高IDS的知识水平。2异常检测 异常检测是将正常用户行为特征轮廓和实际用户行为进行比较,并标识出正常和非正常的偏离。异常检测的基础是反常活动和计算机不正当使用之间的相关性。轮廓定义一个度量集,度量用来衡量用户的特定行为。每一度量与一个阈值相联系。异常检测依赖于一个假定:即用户表现为可预测的、一致的系统使用模式。这个方法也能随着事件的迁移适应用户行为方面的变化。但是异常检测的完成仍必须验证,因为我们无法判定给定的度量集是否完备。因此,异常检测作为一种可靠而强壮的系统保护机制仍需要进一步的研究。1.2.4 目前主要商用系统目前比较成熟、流行的入侵检测系统有数十种之多2。每一种都有自己不同于其它产品的特性。较为常见的入侵检测系统包括: Cisco公司的基于交换机IDS模块、ISS公司的RealSecure、Network Associates公司的CyberCop、CA公司的Etrust IDS、开放源代码的Snort等。Cisco IDS基于硬件部署。例如,可以直接将IDS模块插到中心交换机的扩展槽上来直接收集背板数据包。因此,其数据包的捕获速度极快,是高速网络中IDS的首选。CA的Etrust IDS基于软件部署。它采用多层体系结构,具有丰富的报警手段。同时因为有基于Windows环境的产品,所以相对来说比较容易部署和维护。Snort最早由Martin Rosesch于1998年公开发表在Internet上,被作为开放源代码的网络入侵检测系统,得到了广泛应用。它被定位于轻量级的网络数据包过滤、分析程序。许多商业运营的入侵检测系统都是在它的检测引擎基础上进行二次开放而来的。Snort系统3已经成为学习研究入侵检测的经典案例。国内入侵检测系统主要是以启明星辰信息技术公司的“天阗”入侵检测系统为代表。在2008年北京奥运期间,该系统成功完成了奥运官网和奥组委办公网安全保障。经过这次实战无疑为我国以后更合理地开发、使用和维护入侵检测产品,更正确地认识和发挥入侵检测产品的价值提供了借鉴和参考。1.3 本文的主要研究成果和内容安排本文主要讨论了基于生物免疫原理的入侵检测技术。提出了基于生物免疫原理的入侵检测的模型并初步实现了该模型。本论文所做的主要工作有:系统总结了入侵检测技术的起源、发展、常用检测手段、发展现状以及所存在的问题;简要介绍了生物免疫原理,然后将它与入侵检测系统进行横向对比,发现两者有很大的相似性,从而得出可以将该机制运用到入侵检测系统设计中去;接下来构建了一个基于生物免疫原理的入侵检测系统模型,对模型涉及到的重要概念和技术细节进行了详细阐述,然后在Eclipse 3.2+SQL Server 2000+Java SE 6.0开发环境中初步实现了该模型;最后对系统进行了调试,结果表明初步达到了设计目标,但距离实际应用还有一定距离,这也是今后的努力方向。本论文内容安排如下:第一章:讨论了入侵检测技术的相关知识,然后介绍了论文的内容安排和所做的主要工作。第二章:系统介绍了生物免疫系统工作原理,分析了入侵检测检测系统与生物免疫系统的相似点以及巨大的应用前景,扼要介绍了目前在这方面国内外所取得的进展情况。第三章:这是本文的重点部分。在本章中阐述了自己所设计的基于免疫原理的入侵检测系统模型,对模型涉及的术语进行了比较详细的定义,然后进一步讨论了其中的重要技术细节。第四章:对整个系统进行测试,分析测试结果。第五章:总结全文,引出下一步工作方向。13第二章 生物免疫机制在入侵检测系统中的应用第二章 生物免疫机制在入侵检测系统中的应用2.1 生物免疫机制简介2.1.1 免疫概念与系统组成免疫 (Immunity)是指机体接触抗原性异物(如各种微生物)后产生的一种特异性生理反应,生物免疫系统通过识别和排除抗原性异物维持体内环境的稳定。具体地说,当抗原性异物进入机体后,机体能识别“自己”和“异己”,并发生免疫应答。机体的这种自身防御功能又可以分为非特异性免疫和特异性免疫。非特异性免疫(Non-specific Immunity)是指无需特殊的识别过程而对细菌等致病因子加以防御的功能,如皮肤的阻碍作用、吞噬细胞的吞噬功能等。特异性免疫(Specific Immunity)也就是一般所指的免疫,或称自适应免疫(获得性免疫),指机体通过自适应进化学习,能对“自己”和“异己”加以区分,并对“异己”进行分类清除。具有免疫功能的细胞及相关组织和器官构成机体的免疫系统,它是执行免疫功能的机构。免疫系统由免疫器官、免疫细胞和免疫分子三部分组成。2.1.2 免疫系统基本机理生物的免疫系统4是一个非常复杂的系统,能够有效地运用各种免疫机制防御外部病原体的入侵。通过进化学习,免疫系统对外部病原体和自身细胞进行辨识。免疫功能主要是通过分布在全身的免疫细胞来实现的,免疫细胞主要由骨髓和胸腺部位产生。免疫系统的主要目的是识别出体内的所有细胞,并把它们分成Self和Nonself两类。Self为自身细胞, Nonself为入侵细胞(非自身细胞)。生物体的免疫系统通过把外部危害病菌和生物体自身的细胞或分子不断地进行比较,识别出两者之间的差别,在进行免疫的同时也使得自身得到了学习和进化。人体的抗体细胞主要是在骨髓和胸腺部位产生的,分别称为B细胞和T细胞。T细胞在抵御外来攻击时,起着协调免疫系统各部分功能的作用,B细胞则产生抗体,并通过抗体和抗原的结合来消灭抗原。通过近似绑定机制识别一定数量的结构相似的抗原细胞,即一个免疫细胞识别一类Nonself,各种B细胞产生了数百万种不同种类的抗体来应对各种不同的外界入侵抗原。在骨髓和胸腺部位存在着淋巴细胞的候选基因库,抗体就是通过从这些基因库中随机选择一些基因片断并进行组合来产生的。由于过程的随机性,新生成的抗体不仅能检测出入侵抗原,而且有可能绑定自身的Self细胞,发生自免疫反应。为了避免这种灾难性后果,随机产生的抗体在离开骨髓和胸腺之前必须经过一个负选择过程。在负选择过程中,抗体接触到大量的自身细胞,如果它能够匹配任意Self细胞,那么该抗体就被认为是无效而死亡。对于所有新生成的抗体,只有那些通过了负选择过程后,不绑定任何Self细胞的抗体称为成熟抗体,它们从骨髓和胸腺中释放出来,进入到血液中从事抗原检测任务。当B细胞在有限的时间内绑定到数量超过某一阈值的抗原,并收到辅助T细胞发来的协同刺激信号后产生免疫应答,B细胞被活化,迅速克隆增殖。部分B细胞分化为浆细胞,产生与抗原相应的抗体,并与抗原作用,杀死抗原;没有分化为浆细胞的B细胞则变为记忆细胞保留下来,记录下该抗原的特征,对于同类抗原的再次侵入时,相应的记忆细胞被激活而产生大量的抗体,缩短了免疫反应时间,这称为免疫记忆。2.2 可借鉴的生物免疫机制从信息处理的角度来看,免疫系统是一个非凡的并行分布式适应系统。它使用了学习、记忆、关联检索来解决识别和分类任务。特别是它能够识别相关的模式,并很容易记住先前遇到过的模式,同时使用组合学有效地构造模式检测器。生物免疫系统表现出的良好特性对改进现有入侵检测系统的性能有很大的启示,主要表现如下: 多层性:生物免疫系统对生物体的保护是从皮肤到生理条件,再到免疫细胞的多层保护机制,计算机免疫也应实现对系统从网络级、主机级、文件级然后到进程级的多层保护。 分布性:生物免疫系统的各组成部分分布于生物体的全身,这种机制保障了系统的高度可靠性,计算机免疫系统要实现鲁棒性就要实现分布式检测。 适应性:生物免疫系统一方面学习、识别新的抗原,另一方面,检测到新病原时,通过免疫记忆保留对新病原的识别和反应。计算机免疫系统也应该有相似的适应性,既能识别新的入侵,又能记忆以前受到的攻击。 多样性:生物免疫系统中,免疫细胞的多样性保证了当有抗原侵入机体时,能在机体内选择出可识别和消灭相应抗原的免疫细胞,进行免疫应答,最终清除抗原。计算机免疫系统中各个子系统的安全实现方式不同,保证一个站点或网络受到攻击破坏时,其它站点或网络极少受到同样的攻击和破坏。 动态性:生物免疫系统中约有108个淋巴检测器,能识别出约1016种不同的抗原,并且大约10天左右淋巴细胞会全部更换一次。借鉴这一特性,计算机免疫系统在病毒检测中,可不必包括所有可能的入侵的检测器集合,而是使检测器集合能随时间动态变化。2.3 入侵检测系统与生物免疫系统的比较上一节我们介绍了生物免疫系统的主要工作原理,我们发现计算机系统的安全问题与免疫系统所遇到的问题具有惊人的相似性,两者都是要在不断变化的环境中维持系统的稳定性。免疫系统具有良好的多样性、耐受性、免疫记忆、分布式并行处理、自组织、自学习、自适应和鲁棒性等特点,引起研究人员的普遍关注。在众多的研究领域中引入免疫概念后取得了满意的效果,特别是在计算机病毒防治、网络入侵检测上。基于免疫的网络安全技术克服了传统解决办法的缺陷,被认为是一条非常重要且有意义的研究方向。虽然检测机理在生物学中已经被广泛采用了,但是在计算机领域对这种反应机理的研究与应用目前还仍然处于初级阶段5。在介绍了生物免疫系统的主要工作原理之后,我们将生物免疫系统的特点和入侵检测系统的主要机制、基本特性等进行比较,发现它们之间的相似表现,这为将生物免疫学思想引入入侵检测研究领域提供充分的理论依据,并用以提高入侵检测系统的智能化、鲁棒性和自适应性。入侵检测系统和生物免疫系统的概念对比关系如表2.1所示。下面我们具体阐述一下生物免疫系统和入侵检测系统的类似表现: 任务类似。生物免疫系统的生理功能主要是识别区分Self与Nonself,并能破坏和排斥Nonself,对Self成分能形成免疫耐受,不发生排斥反应.以维持机体的自身免疫稳定。而入侵检测系统的任务是及时准确检测到网络和计算机系统的入侵活动,并采取适当的响应措施,对计算机系统的正常变化能够容忍。 所处的环境类似。生物免疫系统处于一个充斥着形形色色新旧病毒、细菌、真菌、寄生虫等病原体的生物世界中,而入侵检测系统置身于一个弥漫着五花八门的已知或未知的计算机病毒或是各种攻击手段的Internet网络世界中。 所采用的检测方法类似。生物免疫系统采用的检测方法主要有两种,一是根据Nonself的特点进行区分和消灭,另一方法便是根据隐含定义的自身来区分Self与Nonself,比如经过“否定选择”的淋巴细胞对抗体的检测。这两种方法非常类似入侵检测系统所采用的滥用检测方法和异常检测方法。表2.1 生物免疫系统与入侵检测系统的概念对比关系生物免疫系统入侵检测系统生物病毒计算机病毒自体细胞正常程序、文件特异性免疫误用入侵检测非特异性免疫异常检测抗体检测器自体耐受否定选择遗传变异检测器克隆变异将免疫学应用入侵检测系统需要三个步骤:定义Self,生成检测器,监视入侵。第一步,定义系统正常模式为Self。第二步,根据前面生成的Self模式生成一定数目的随机模式(抗原),如果随机生成的模式匹配了任何Self模式,则该随机模式将不能成为检测器。第三步,如果检测器匹配了任何新出现的模式,则被匹配的模式反应了系统可能正在被入侵。其原理如下:首先根据特定程序建立相应的正常行为模式数据库,随后比较监控到的程序行为模式和数据库中保存的行为模式,一旦发现数据库中没有该模式,则报告异常。此时,系统可以采取自动反应措施,也可以报警。2.4 基于免疫学的入侵检测系统研究现状目前,基于免疫学的IDS研究发展不是很成熟,主要的研究成果分为以下几个方面:检测器生成算法的研究、免疫检测算法的研究以及计算机免疫模型建立等。1994年,美国新墨西哥大学的Forrest根据T细胞介导的细胞免疫机制提出了否定选择算法6(Negative Selection Algorithm, NSA),最早将生物免疫的思想引入到了信息安全领域。该算法奠定了检测器生成算法的基础。其实验结果显示,这种方法能够很轻易地发现未知病毒感染,进一步提高计算机系统的安全性。IBM研究中心的Kephart等人通过模拟生物免疫系统的各个功能部件以及对外来抗原的识别、分析和清除过程,设计了一种计算机免疫模型和系统。该系统主要是设计“饵”程序来捕捉病毒样本,提取病毒特征,并设计相应的病毒清除程序。国内在这方面的研究刚刚起步。2003年四川大学的李涛提出了基于免疫的大规模网络入侵动态取证,以及网络安全风险检测与控制等技术。武汉大学提出了基于多代理的计算机安全免疫系统检测模型及对Self集构造和演化方法,并在Self、Nonself的识别规则上进行研究,提出用演化挖掘的方法提取规则,在基于系统调用的基础上建立了位串识别器,借鉴食物链的一些特征,建立一种多识别器协同识别模型。目前基于计算机免疫学的入侵检测系统还处于研究试验阶段,入侵检测的方法和模型还有待于进一步完善和修正。2.5 本章小结本章对生物免疫相关概念、工作机制作了比较细致的介绍,列出了生物免疫系统与入侵检测系统的相似之处,提出了可借鉴生物免疫的某些工作机制来构建IDS,最后简要介绍了目前国内外在这方面所取得的研究成果。27第三章 基于免疫原理的入侵检测系统设计实现第三章 基于免疫原理的入侵检测系统设计实现3.1 设计目标本文在对生物免疫原理及计算机病毒的深入研究基础上,提出了一个基于生物免疫的入侵检测系统模型,试图解决对未知病毒的检测。在对概念进行定义、模型进行介绍后,给出了核心部分的详细实现手段。该模型的功能特征有一下几个:1. 自学习;2. 多样性;3. 高效性;4. 检测未知病毒。3.2 涉及概念定义3.2.1 自体和非自体生物免疫系统的基本功能就是识别自体和非自体。免疫系统不仅能识别已知抗原,同时还能够识别未知抗原,并且对再次入侵的抗原发生快速反应,即二次免疫应答。可以看出如何定义自体和非自体对免疫系统能否正常工作至关重要。众所周知,生物免疫系统的自体和非自体是形态不同的蛋白质链。在其他领域其定义有所不同,如计算机领域是不同的01-字符串。经过抗原提取和检测器生成,问题空间P被分为连个子集S和T,自体集SP,非自体集TP,且有ST=P,ST=。S和T具有相同的结构,都是01-字符串。3.2.2 检测器系统使用检测器(Detector)模拟生物免疫系统淋巴细胞的功能。它融合了B细胞、T细胞和抗体的性质,用于检测和识别病毒。在生物免疫系统中对免疫起关键作用的是抗体,在入侵检测系统中起关键作用的是检测。能否检测出病毒入侵行为关键在于检测器的优劣。所以检测器的设计是关键。本文在后面会对检测器生成作详细的讨论。检测器有产生、成长、进化等生理过程,相应阶段分别称为未成熟检测器(Non-Maturation Detector)、成熟检测器(Maturation Detector)和记忆检测器(Memory Detector)。3.2.3 匹配规则我们不难发现,匹配规则9是确保系统高效工作的重要方面。因为在产生检测器时要用到匹配规则,在进行入侵检测时也要用到匹配规则。入侵检测系统中有两种常用匹配规则:汉明距离匹配规则和r-连续位匹配规则。本模型选择后者。对于任意两个长度为L的字符串a和b,如果两个字符串a和b在相应位置上至少r 连续相同,则这两个字符串是r-位连续匹配的。在r-连续位匹配规则下,如果存在一个连续匹配的子串,其位数之和r,则入侵检测系统认为被检测字符串属于非自体,即是入侵。3.2.4 自体耐受免疫系统的角色就是检测并消除外界病原体的入侵,免疫系统能否正确区分自体/非自体的能力是至关重要的。自体耐受模拟免疫细胞在胸腺中的成熟过程。在自我非我区分算法中,新墨西哥大学的Stephanie Forrest提出的否定选择算法得到了广泛的认可,主要应用在检测器生成过程中。其机理如图3.1所示:图3.1 否定选择算法该算法即是自体耐受的实现手段,与自体亲和力高的抗原将无法通过自体耐受而被认为是外界抗原被清除。3.3 系统体系结构设计在对生物免疫系统及入侵检测系统有了深入了解之后,本文提出了基于免疫原理的病毒入侵检测系统模型。在模拟生物免疫过程中,将被保护的重要系统文件作为自体集,随机生成的24位十六进制字符串通过与自体耐受成功后加入常用检测器库形成常用检测器集。记忆检测器库内检测器通过人工导入和常用检测器免疫学习进化产生。系统模拟的自体来自C:WINDOWS下的正常系统程序,记忆检测器库中的检测器主要来自系统管理者的人工输入,另一个重要来源是常用检测器库中的检测器通过免疫学习机制进化成功后加入。丰富的检测器库可以识别各种变种病毒入侵,同时由于常用检测器库中有部分是由记忆检测器可控变异而得,对已知病毒变种的检测十分有效。整个系统工作流程如图3.2所示。当一个待检测文件进入系统时,首先查看该文件路径是否与自体信息库中的某个文件路径一致,如果一致则表明检测的是被保护文件,是自身文件,否则是来自外部的文件。若自身文件的CRC32校验值、大小同自体库中对应文件的相应值也一样,表明没有病毒入侵该文件,检测结束,否则对该检测文件预处理。外部文件同时也转入数据预处理过程,预处理完成后通过查询记忆检测器库中的记忆检测器,将检测器与预处理数据进行r位连续字符串匹配。若匹配的位数达到预先定义的阈值,则表明文件被病毒感染,进行相应的响应处理。若匹配失败,则转入与常用检测器中的检测器进行匹配,同样如果达到阈值,表明疑似病毒入侵,通知系统管理员或写入日志。若与常用检测器匹配失败则检测结束,未发现病毒入侵。图 3.2 系统工作流程模型3.4 主要实现步骤3.4.1 数据库设计本系统设计数据库时选用了Microsoft 公司的SQL Server 2000数据库管理系统10。在企业管理器中创建myData数据库实例,如图3.3所示。然后建立三张表分别tb_Self、tb_dc、tb_dm分别存储自体信息,常用检测器和记忆检测器。图3.3 myData数据库实例自体表的字段名分别为编号、文件名、大小、CRC32校验值、存放路径,关键字为编号,数据类型分别为自动编号、字符型、整型、字符型、字符型,如图3.4所示。图3.4 自体表设计记忆检测器的字段名分别为编号、特征码、来源、TTL,关键字为编号,数据类型分别为自动编号、字符型、整型、整型,如图3.5所示。图 3.5 记忆检测器设计常用检测器的字段名分别为编号、特征码、年龄、寿命、匹配次数,关键字为编号,数据类型分别为自动整型、字符型、整型、整型,如图3.6所示。图3.6 常用检测器设计3.4.2 数据预处理本系统采取的方法是截取病毒的特征代码的十六进制字符串形式作为模式串与待测文件进行比对,通过模式匹配的方法,在数据中搜索标志性字符串。目前常用的匹配算法都是基于字符串的,所以有必要将待测文件内容进行十六进制字符串解析,然后利用已经十分成熟的匹配算法,提高匹配速度。本文在实现时将被保护的系统文件先进行处理后,存放到预定义文件夹中,如:D:sourcefilejavamyIDS1.0preStore,之后我们将利用它进行自体耐受操作。输入的待测文件也会暂时解析后保存到一个文件中,如:D:sourcefilejavamyIDS1.0cacheStoreob.txt。图3.7展示了一个文件解析的结果。图3.7 解析结果示例3.4.3 匹配规则选取在本文提出的基于免疫原理的入侵检测系统中,匹配规则是一个很重要的概念。因为在检测器的产生、更新中要用到它,在检测病毒入侵的时候它同样是不可或缺的。匹配分为完全匹配和部分匹配。在生物免疫系统中抗体与抗原的匹配一般表现为部分匹配,所以本系统匹配时也是采取的部分匹配方式。入侵检测系统中常用的匹配方式有两种:1.海明匹配规则 海明匹配规则是基于海明距离的匹配规则,对于两个长为L的字符串a和b,如果两个字符串a和b相应位上至少有r位相同,则它们在该规则下匹配成功。2.r-连续位匹配规则 对于任意两个长度为L的字符串a和b,如果两个字符串a和b在相应位置上至少连续r位一致,则这两个字符串在该规则下匹配。生物体中经常发生基因删除或复制,研究表明采取海明匹配规则来衡量两个字符串的相似度(亲和度)是不合理的。在计算机免疫系统中也是如此。理想的入侵检测系统是利用较少检测器,有效检测出更多的非自体,并且具有很小的漏报和误报率。R-连续位匹配规则能更好地反映检测器字符串与被检测字符串的相似度(亲和度),所以本系统最终选取了R-连续位匹配规则。针对R-连续位匹配规则,现举例加以说明,例如串a=a2feroe34hy7gr8w,串b=a2reroe34hxagqpw,有连续7位相同,说明是7-连续匹配的。若预定义的交叉反应阈值小于等于7,则在该规则下匹配时成功的。3.4.4 检测器检测器在入侵检测系统中起着关键作用,可以说检测器的好坏直接决定了一个入侵检测系统的成功与否。这一小节我们将详细阐述检测器设计及产生、更新过程。本文的检测器采用的是常用检测器和记忆检测器相结合,分别放在表tb_dc和tb_dm中,具体表结构已在前一小节有所说明。如图3.8所示,常用检测器来源主要有:随机生成字符串经过自体耐受成功后加入;原有常用检测器随机变异,然后自体耐受成功后加入;记忆检测器经可控变异然后自体耐受成功后加入;人工导入。记忆检测器的来源有:人工导入;常用检测器免疫学习后加入。图3.8 检测器生成、更新由模式定理我们可以知道,检测器集的规模越大,它作为一个群体的多样性就越高,算法陷入局部最优的危险性就越小。所以,从群体多样性出发,检测器规模应该较大。但是检测器规模过大又会严重影响算法的性能。本系统最终限定Dc规模为102数量级。本系统在检测器生成更新方面采取了比较好的解决策略。为了最大限度地保持记忆检测器对病毒亲和力,采取可控变异,即只在首尾各两个字符变异,其它位不变,这样使得系统中检测器对病毒亲和力高的检测器浓度最大;而在常用检测器产生过程中采取随机生成字符串以及对tb_dc中的检测器进行随机变异,即任意寻找4个字符进行变异,这样能达到检测器库的覆盖范围,确保免疫系统的多样性。每个检测器都有自己的生命周期,这样做可以使系统检测器得到更新。具体的流程如图3.9所示:图3.9 检测器生命周期对于具体的检测器的产生、更新过程,本系统采取的方式是利用四个线程来实现,分别是:1. InitDcRandThread 初始Dc线程主要是随机产生24位字符串,经自体耐受成功后加入tb_dc2. ControlVatiateThread 可控变异定义一种变异形式,即从tb_dm中随机取出一个记忆检测器,取首尾各两个字符随机变异然后经自体耐受,成功后加入tb_dc3. RandVariateThread 负责从tb_dc中随机取出一个常用检测器,然后从中取出四个字符进行变异,经自体耐受成功后加入tb_dc4. ImmuneStudyThread 免疫学习线程不定时扫描tb_dc,若发现匹配次数大于等于进化阈值,将其加入tb_dm,同时删除在tb_dc中的该记录。四个线程运行都有条件限制:A.数据库已正确连接;B.检测器规模未达到预定size。由于四个线程都要访问数据库,同时人工导入时也要涉及数据库的操作,为了保持数据的完整性,必须对查询和更新数据库方法进行互斥限制。系统最终对两个方法同时加上synchronized关键字,这样可以保证在同一时间,只有一个线程享有这一资源。3.4.5 入侵响应响应是入侵检测系统的必不可少的一部分,如果没有它整个入侵检测系统就失去了应用价值。目前已经提出的响应策略有: 产生报警信息 记录附加日志 激活附加入侵检测工具 隔离入侵者IP 禁止被攻击对象的特定端口和服务 隔离被攻击对象 警告攻击者 跟踪攻击者 攻击攻击者可以看出从上到下采取的响应方式越来越严厉,但是十分严厉的响应方式是非常危险的,可能会影响到网络上无辜的用户,而且也是非法的。最简单的自动响应时自动通知。当检测到入侵响应发生时,入侵检测系统可以给网络管理员发送E-mail或发送短消息。有人提出了一种自动响应策略,如图3.10所示。但这种方法目前不太可能付诸实践,主要是技术不成熟,存在大量误警和误响应。不能轻易采取主动响应;受法律、道德规范等约束;容易被攻击者利用,造成拒绝服务攻击。所以目前还是主要采取人工响应。图 3.10 自动入侵响应总体结构本系统权衡之后采取了一种比较温和的响应策略:日志记录和给网络管理员发送E-mail。图3.11展示了两种响应方式。这种响应方式最便宜、最容易实现,得到了广泛的应用。管理员在收到响应信息后,可以通过决策更新自体信息库,记忆检测器和常用检测器库,这样利于系统减少误报和漏报率。值得我们注意的是,入侵检测系统能否成功部署,安全管理员的人工维护是很重要的一环,毕竟系统还不能完全做到全自动执行。图3.11 响应方式示例3.5 本章小结本章明确定义了基于免疫原理的入侵检测系统所涉及到的几个重要概念,论述了所建立模型的工作过程,之后叙述了几个主要实现步骤,重点叙述了匹配规则的选取依据以及检测器生成、更新过程。35第四章 系统初步测试第四章 系统初步测试4.1 测试环境描述运行环境:Windows XP Professional SP2 内存:DDR2 1.2G处理器:Intel Pentium M 主频:1.73GHz本文在构建的模型基础上最终开发出的IDS系统界面如图4.1所示,它目前暂时运行在Eclipse 3.2+SQL Server 2000+Java SE 6.0环境下。图4.1 系统最终界面图4.2 相应参数初始化测试前,首先启动软件,待出现系统界面后,如图4.1所示,选择“高级”-“首选项”,然后在弹出的对话框中设置好相应参数,这是系统能否正常工作的前提,具体设置情况如图4.2,图4.3和图4.4。图4.2 常规选项图4.3 邮件选项图4.4 数据库选项本文从C:WINDOWS下选取1600个系统文件(包括各种以.exe,.dll,.com和.sys结尾的文件),为了不对系统造成损害,暂时将它们统一放在D:sourcefileselfDoc文件夹下。首选项参数设置成功后,我们就可以将预先选定作为自体的这些系统文件信息存入myData数据库的tb_Self表中,具体操作是首先单击工具栏中的连接数据库按钮,正确连接数据库后,选择“操作”-“自我集预处理”。系统采用的检测器参数设置为:成熟检测器最初加入时寿命=100,匹配次数=0,年龄=0;记忆检测器如果是人工输入TTL=10000,免疫学习而得TTL=500。同时本文选定Jerusalb病毒,Hydra0病毒和Tiny-143病毒特征码作为记忆检测器特征,通过手动输入myData数据库的tb_dm表中。系统一旦连接上数据库,就会同时启动4个检测器生成更新线程对检测器集进行维护,同时另一个主要线程检测线程也开始对预先定义的文件夹里的所有文件进行扫描检测,看是否遭到病毒入侵。被扫描文件夹中预先放入了25个病毒文件和19个系统文件,其中有的系统文件已经被人为更改。4.3 测试结果刚开始启动系统时,由于初始时系统中检测器数量及类型都有限,对病毒入侵检测不是很理想,所以先让它运行一段时间,等到生成足够多的检测器后,启动检测线程。结果表明,系统对正常的系统文件识别迅速,对被更改的系统文件能很容易察觉出,并记入日志。当系统检测到有病毒入侵时,迅速将相应信息记入日志,如图4.5,同时根据之前的响应策略设定及时发送邮件通知到管理员邮箱,如图4.6a和图4.6b,以及时清除威胁。图4.5 威胁记入日志图4.6a 发送邮件至QQ邮箱图4.6b 发送邮件内容信息实验结果表明,该系统对已知病毒识别十分迅速且准确,对相应家族的变种病毒也具有很好的识别能力,同时对于被保护重要文件具有很好的保护能力,它对任何原因引起的文件更改都能识别,也就是说一定情况下能检测出未知病毒的入侵。表4.1列出了对病毒的识别情况。表4.1病毒识别结果病毒名选取特征码识别情况备注Tiny-1434dba004ccd21eb029090beff1已知病毒Hydra0e922015944000048794472611已知病毒Jerusalb470033c08ec026a1fc032ea31已知病毒Tiny-1344dcd209090beff00bf0001bb1Tiny-143变种Tiny-1984db8004ccd21e800005e83ee0Tiny-143变种Hydara1e986005944000048794472611Hydra0变种Jerusalm470033c08ec026a1fc032ea31Jerusalb变种Sub-zero470033c08ec08b8931db2ea31Jerusalb变种Sunday470033c08ec0bbfc03268b071Jerusalb变种TF-138e90a004c4db8004ccd21eb021未知病毒TF-1334de90400cd2090be0001bb2f0未知病毒注:0表示没有识别出,1表示识别出该病毒入侵4.4 结果分析根据之前描述的检测流程可以看出,一个待测文件首先是与自体信息库进行比对,如果是自体文件发生修改了,是很容易识别出的,也许这个更改是人为的或是病毒入侵导致的,如果用户确定不是自己改动的,则很大可能是后者引起的。它可以给用户一个提醒作用。对不是预定的自体文件,系统会采用存储的特征码在文件中搜索特定字符串,如果发现存在则判定有病毒感染。本文利用生物免疫机制原理,使得生成的检测器效率高,同时覆盖范围广,对已知病毒变种的高识别率是通过可控变异实现的,这种变异手段极大限度保持了对相应病毒的亲和力,同时遗传了相应病毒的特征。而实验同时表明系统对未知病毒也有一定的识别能力,这是由于随机变异生成的检测器起作用了,这些检测器对自体具有很低的亲和力,所以不会发生像生物免疫中所谓的“自免疫反应”。这种优势得以取得依靠的是否定选择算法的实现。这种算法避免了无效检测器的生成,从而提高了系统检测成功率。4.5 本章小结本章是对前一章基于生物免疫机制入侵检测系统模型开发的原型系统的整体测试实验。首先介绍了系统运行环境,展示了最终实现的软件界面效果;然后讲解了对系统测试前软件的参数设置以及怎么选取测试文件、自体文件;接着展示了各项测试结果;最后对测试结果进行了一定的分析说明。37第五章 总结与展望第五章 总结与展望5.1 本文总结本文在对生物免疫原理进行深入研究后,提取出了其中一些适合于入侵检测系统设计的工作机制,如否定选择、克隆选择等等,将它应用于入侵检
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮项目计划书范文案例(合集37篇)
- 2024-2025年度上海市投资银行业务保荐代表人之保荐代表人胜任能力能力测试试卷A卷附答案
- 松下企业培训课件
- 中班健康教育课
- 教育学讲课课件
- 网络反诈培训
- 学校中层干部培训汇报
- 大学生军训教育实施纲要
- 海水淹溺护理查房
- 酒店疫情培训课件模板
- 2025年中级育婴员技能等级证书理论全国考试题库(含答案)
- 2025年果树种植技术培训与咨询服务合同范本
- 乳腺结节疾病的专业知识课件
- 2025年西安职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析
- 土地承包租赁合同书
- 2025年高一下学期班主任工作计划(5篇)
- 2025年高压电工作业考试国家总局题库及答案(共280题)
- 2024年03月安徽省农业信贷融资担保有限公司2024年招考笔试历年参考题库附带答案详解
- 国家开放大学《22019丨统计学原理(统设课)》机考题库
- 多模态大语言模型领域进展分享
- 门店规章制度守则范本
评论
0/150
提交评论