论文部分内容阅读
今天的计算机安全问题日益严重,不论是Unix的缓冲区溢出,还是微软的Internet浏览器所存在的漏洞,计算机系统在各个层次上都存在着安全隐患。然而,传统的安全技术已不再满足人们的需要。因此,一种新的计算机安全工具——入侵检测系统,受到人们的关注。这是一种通过检测计算机资源使用情况来保护计算机安全的系统,它作为对传统的计算机安全解决方案“防火墙”和“电子加密”的有益补充,为计算机系统的安全保护再添一道有力的屏障。目前,入侵检测系统有三种分类方法:从技术上,可以分为基于特征的入侵检测系统和基于异常的入侵检测系统;从数据来源上,可以分为基于主机的入侵检测系统和基于网络的入侵检测系统;从实现结构上,可以分为单点入侵检测系统和分布式入侵检测系统。本文的课题从生物界的免疫系统原理中得到启发,将整个的入侵检测行为解释为用检测器来识别“自我”和“非我”行为的一个过程。在本文,用检测器来模拟生物体中的淋巴细胞,使其同样经历了产生到成熟的动态过程。随着成熟检测器的不断进化,一部分能准确检测到异常的检测器就进化为记忆检测器,而另一部分不能检测到异常的检测器则被认为是一种自反应情况而被抛弃。本文中,以主机上的计算机资源为研究对象,通过研究特权进程的系统调用序列,采用基于特征的检测和基于异常的检测相结合的方法,从而对基于主机的入侵行为进行分析检测。鉴于Linux是目前可以获得源代码并接触到其内核的广泛使用的操作系统,此课题建立在Linux平台之上。由于实验<WP=3>条件的限制,在实验阶段主要研究了Sendmail特权进程的系统调用情况,对这种在主机上的基于系统调用的计算机入侵检测方法的概貌做了一个清晰的诠释。首先,随机产生了Linux的长度为k的系统调用序列,这些系统调用序列被称为准检测器。然后,在实验室环境里采集Sendmail进程正常情况下的系统调用数据,并使用STIDE技术对这些数据进行归一化处理。利用这些处理过的数据来训练基于BP算法的神经网络,最终得到一个Sendmail进程的正常行为模式库。接着,进行负向选择,将准检测器与正常行为模式库中的系统调用序列一一比较,匹配的序列被抛弃,仅仅留下不匹配的系统调用序列。这样获得的系统调用序列就是成熟的检测器。最后,将这些成熟的检测器放到实际的环境中进行检验,并且对检测器进行动态选择。在这种选择过程中,那些能够检测到异常的检测器就成为了记忆检测器,保存起来供后续的入侵检测使用,而在经历了一段时间的实际检测之后,仍然没有检测到异常的检测器则被认为是一种正常的行为模式,被抛弃。这样,经过日积月累的训练与测试,就能够获得随着计算机环境的变化而不断完善自身的,最新的检测器,由此得到较为完美的计算机安全解决方案。在本文中,为了验证方法的有效性,人为地对目标主机发起了3种攻击:syslogd,sunsendmailcp,decode,计算了方法的误报率和漏报率,得到了较好的实验效果。