论文部分内容阅读
随着计算机网络技术的不断发展,网络和人们的生活联系得更加的紧密,网络用户数量呈现了爆发式增长。但是由于网络的复杂性和开放性,人们在享受网络给生活带来改变的同时,也在受到各种网络安全问题的困扰。如何维护一个安全和谐的网络环境成了一个尤为重要的问题。网络防火墙在管理用户行为、维护网络安全方面起着不可替代的作用。实际应用中,大多数的网络防火墙采用的是攻击行为特征匹配的方式进行攻击行为检测,这种方法首先对已知的攻击行为进行特征提取形成特征库,在攻击检测中大多采用模式匹配的方式对特征进行匹配。在这一类攻击行为检测方法中模式匹配占有非常重要的地位。本文首先研究了Linux系统Netfilter/iptables防火墙,深入研究了防火墙当中的字符串模式匹配模块,并对其效率进行了分析。在此基础之上,提出了一种Netfilter/iptables防火墙中模式匹配模块的优化方法,该优化方法将模式串的预处理过程从内核态Netfilter转移到用户态iptables。openwrt路由器上的测试结果显示,当网络设备的包转发率很高、模式匹配规则数量众多的情况之下,优化之后的框架比原有的模式匹配框架在效率上有一定的提高。这种思想可以应用到Netfilter/iptables的其他模块之中,只要该模块有预处理,而该预处理与数据包无关,就可以提前进行这种预处理,以达到提高防火墙效率的目的。在Linux系统中Netfilter/iptables防火墙的字符串模式匹配算法也过于单一,接下来本文研究了精确单模式匹配算法,特别是基于前缀搜索匹配的KMP算法和基于后缀搜索匹配BM算法以及基于BM的改进算法HORSPOOL和SUNDAY算法。之后,提出了一种基于KMP和HORSPOOL的新的模式匹配算法IKMPH,新的模式匹配算法IKMPH结合了KMP算法的部分匹配表和HORSPOOL算法的坏字符表。之后将IKMPH和SUNDAY算法的坏字符规则结合,提出了IKMPHS算法。在与KMP、BM、HORSOPOOL算法的对比测试中,新的算法IKMPH和IKMPHS在多数情况下的运行效率都要高于参与测试的算法,由此证明了两种新的算法是高效的模式匹配算法。本文最后将新的算法IKMPH、IKMPHS移植到Netfilter/iptables防火墙模式匹配模块中,并与防火墙中原有算法BM和KMP算法进行对比测试,发现新的算法在防火墙中的效率也高于其它两种模式匹配算法。