论文部分内容阅读
由于TCP/IP协议本身不足以保障计算机网络信息安全,因此在网络工程实践中普遍采用附加措施,进而达到一定程度上的自我保护。防火墙是目前重要且关键的技术之一。DOS和DDOS攻击是大型网络和网络服务器的安全威胁之一,作为DOS/DDOS攻击的典型,SYN FLOOD利用TCP/IP协议的漏洞,在短时间内发送大量的SYN数据包。如果匹配防火墙规则,防火墙就会建立状态表跟踪这些链接。大量此类通信将造成状态防火墙的状态表溢出,使得防火墙无法响应合法请求,从而导致整个网络的系统性能下降。传统的解决方案通常只能保护主机的安全,并不能确保防火墙不受侵害。本文深入研究和分析了目前能够防御SYN FLOOD攻击的状态防火墙模型。并在此基础上,结合这些模型的优点,设计并实现了采用哈希查询和预处理方式的HAS(Hash-Adaptive threshold-Stateful inspection)防御SYN FLOOD状态防火墙模型。此模型具有较好的有效性、实时性、自身安全性和通信稳定性。首先,本文介绍了课题研究背景,总结了防御DOS攻击的必要性。同时,针对DOS的典型攻击手段SYN FLOOD,概述国外防御SYN FLOOD攻击的状态防火墙模型的研究现状。此外,还分析了状态防火墙的工作流程和工作机制,阐述SYN FLOOD的攻击原理,其中,着重探讨了Check Point公司防御SYN FLOOD攻击的状态防火墙模型。这些为HAS防御SYN FLOOD状态防火墙模型的设计和实现打下了坚实的理论基础。其次,本文从功能角度详细描述了HAS模型各模块的设计、具体实现过程和方法,包括具体算法、模块架构、规则设定、内核修改及所用的Linux状态检测功能等,还附加了主要模块具体实现代码。其中模块的实现是基于Linux 2.6内核自带的Netfilter/ Iptables防火墙构架。HAS模型主要包括预处理模块、状态信息管理模块和状态检测模块。预处理模块作为处理数据的第一道屏障,利用自适应阈值算法来检测是否存在SYN FLOOD攻击和拟定相应的响应策略。针对自适应阈值算法在低强度攻击下误报率高的问题提出了一个简单的改进机制,确保了模型在高强度攻击下的有效性。如果存在攻击,状态信息管理模型根据接收到的控制信息添加阻断规则以实现动态响应。优化防火墙的数据包处理流程,使用哈希查询的方式来加快规则查询的速度。在实现方面,本文利用Iptables对防火墙规则进行了动态的配置与管理。通过模块编程向Netfilter相应的钩子点注册模块处理函数,实现预处理模块功能,并修改内核源代码以实现对防火墙处理数据流程的优化。最后,本文对模型进行了性能测试。测试结果说明:其一,模型能有效抵御SYN FLOOD对内网主机的攻击,同时在一定程度上提高了状态防火墙自身防御的能力;其二,模型具有较好的网络性能,安装在防火墙中并不会降低防火墙的性能。文章结尾总结了本文所做工作,并展望了未来的前景。