论文部分内容阅读
随着计算机技术、现代通信技术和网络技术的飞速发展,尤其是Internet的广泛应用,计算机的应用更加广泛与深入,计算机网络和人们的工作与生活的联系也越来越密切。但是,人们在享受着计算机技术和互联网带来便利的同时,也受到日益突出的安全问题的威胁。近几年,黑客攻击与信息泄露事件层出不穷,给互联网用户带来了严重的影响和损失。而且由于针对应用层的攻击现象逐渐增多,传统的状态检测防火墙的安全防护能力也越来越低了。防火墙的防护重心由网络层开始向应用层转变,在这种情况下,深度包检测(DPI)技术诞生了。深度包检测技术比传统的防火墙技术更有效,它不仅分析检测IP层和TCP/UDP层的数据包包头,而且深入到应用层的有效载荷所包含的内容中,检查它们的合法性,并以此决定是否对数据包进行过滤。本文首先研究了传统防火墙的功能和技术以及Linux的netfilter/iptables防火墙,并介绍了新一代的防火墙技术—深度包检测技术,而且对其主要技术和作用进行了详细的阐述。然后分析了深度包检测系统中使用的BM模式匹配算法及其改进算法,并利用DFA(确定型有穷自动机),提出了一种改进的高效率的深度包检测模式匹配算法,通过Linux环境下的实验检测,证明了该算法在性能上有明显的提高。接着,本文在前面理论研究的基础上,设计与实现了一个基于netfilter/iptables防火墙和开源项目OpenDPI的具有双重过滤功能的深度包检测防火墙系统。此防火墙系统首先采用netfilter/iptables进行底层的静态包过滤,可以针对服务、MAC地址和关键字进行过滤,然后将通过过滤的数据包交由用户态的应用过滤模块进行深度包检测,包括应用协议解析、应用协议过滤和URL地址过滤三大功能。另外,为了提高系统的处理速度,在字符串匹配过程中,本系统采用了作者改进的高效率的IBMHS W算法。最后,本文对该防火墙系统进行了性能测试和功能测试,并进行了测试结果分析,而且与其他防火墙产品进行了对比。通过分析比较,作者发现本防火墙系统具有较好的性能,并且能够对应用程序和网络数据包进行深度检测,具有一定的实用性。