论文部分内容阅读
由于网络规模的不断扩大和新的入侵手段的不断涌现,目前企业级网络应用已经发展到现在的大规模、分布式、GB流量的网络环境,基于模式匹配的入侵检测技术和单一的入侵检测体系结构已经不能适应现代入侵检测需要。协议分析技术是基于网络协议的高度规则性,它是继模式匹配之后的第三代入侵检测技术。面对分布式的网络环境,当然需要分布式的体系结构的入侵检测系统来应对,这样才能一方面检测出分布式网络环境下的入侵行为,同时更容易检测出分布式攻击。
字符串匹配算法是入侵检测系统中最常用的检测算法之一。由于目前算法多种多样,并且其所适用的环境各不相同,而且没有一种算法在所有环境下都能够取得非常好的性能。所以本文以此为切入点,在简要介绍的入侵检测系统的发展过程后,研究了目前非常流行的10种字符串匹配算法(BF算法、KMP算法、BM算法、Turbo-BM算法、Tuned-BM算法、BMH算法、RF算法、TRF算法、KR算法以及QS算法),并且分别在不同text类型、pattern长度以及alphabet类型下测试这些算法。然后通过实验对比分析了这10种算法在不同情况下的性能,从而给出了一种能够按照被匹配字符串类型以及匹配字符串的长度进行动态选择字符串匹配算法的新方法,并且通过实验证明了该动态选择算法在运行时间上比其它单一算法有着较好的性能。
协议分析技术通过对比网络信息与协议的差异性来检测入侵行为,它有着比模式匹配技术更好的性能。本文中将字符串匹配算法的动态选择算法和协议分析技术结合起来,研究并实现了误用检测算法。由于本文涉及的系统采用分布式体系结构,所以误用检测算法涉及到基于主机的和基于网络的两种不同的类型,在本文中都有详细分析,并且给出了算法的形式语言描述。由于基于网络的子系统的特殊性,其核心检测算法仅仅采用单一的基于协议分析技术和字符串匹配算法的动态选择算法的误用检测算法。而基于主机的子系统所采用的核心算法则是基于误用检测算法、异常检测算法和数据完整性检测算法的算法融合技术。
由于本文中涉及到的基于网络的子系统所采用的核心检测算法为单一的误用检测算法,所以无法检测到针对字符串匹配的伪装攻击。针对这种情况,本文提出了一种基于网络分析器和基于主机分析器之间的反馈式学习功能。该功能通过基于主机的分析器和基于网络的分析器的通信功能,首先由网络分析器收集可疑信息,然后发送给该信息对应的主机所在的感应单元。当该信息通过基于主机的分析器分析确定后,再由基于主机的感应器将分析结果返回至基于网络的感应单元。这样基于网络的子系统可以通过返回的分析结果来决定可疑信息是否为攻击,从而达到学习的目的。
综合了上述3方面的内容,本文最终实现了适用于分布式体系结构的误用检测算法。