论文摘要
随着网络的发展,网络攻击行为日趋复杂,入侵检测系统(IDS)、防火墙、杀毒软件等已经成为人们保障信息安全不可或缺的安全产品。虽然这些安全技术和产品在保障信息安全上起到了很大的作用,但都具有高度的针对性,只能在网络安全的某一方面起到作用。入侵检测系统具有发现入侵、阻断连接的功能,但其重点更多地放在对入侵行为的检测上。防火墙对流经的网络流量进行检查,拦截不符合安全策略的数据包,但是防火墙的访问控制规则是静态的,不能动态地响应入侵行为的变化。本文深入分析了防火墙的关键技术、体系结构和各种防火墙技术的优缺点。深入分析了基于异常的入侵检测技术和基于误用的入侵检测技术。在研究和分析了防火墙技术和入侵检测技术的基础上,提出将两者功能相结合的入侵防御系统模型。本文中所实现的入侵防御系统是在Linux防火墙Netfilter /Iptables和入侵检测系统Snort的基础上进行改进,从而共同实现入侵防御功能。本文对Snort数据包捕获方式、数据包解析过程和数据包反馈方式进行了修改。采用Netfilter Libipq库函数进行数据包捕获,Netfilter进行数据包过滤,Snort从IP层进行解析,增加了IPv6处理模块,扩展了系统分析数据包的能力。Snort检测出入侵行为后与Netfilter通讯。本文深入分析了常用模式匹配算法,并对算法进行了测试,测试了模式串长度、匹配的模式个数对模式匹配算法性能的影响,并对模式匹配算法空间消耗进行了评估。根据测试结果,选取了多模式匹配算法AC_BM算法作为模式匹配算法。针对模式匹配技术计算量大和容易产生漏报的缺点,提出将协议分析技术和模式匹配技术结合对入侵行为进行检测。本文扩展了Linux防火墙Netfilter/Iptables的过滤功能,采用状态检测技术对数据包进行过滤,使防火墙不仅可以根据报文的地址、端口判定控制流经的数据包,还可以判断数据包的类型,长度和数据包内容匹配情况,提高了效率。