论文部分内容阅读
随着计算机网络的日益普及和各种网络攻击技术的不断发展,新的攻击方式层出不穷,传统的安全技术都存在各自的缺点已经不能很好的保证网络的安全。防火墙技术是一种被动的静态检测技术,它不能检测网络内部的攻击,而入侵检测技术只能检测已知的攻击,对未知的攻击无能为力。入侵防御系统(Intrusion Prevention System, IPS)是网络安全领域为了弥补防火墙以及入侵检测系统的不足而出现的网络安全技术。入侵防御系统是一种积极的、主动的安全防御工具,当入侵防御系统检测到攻击后,可以将攻击数据包自动丢弃或阻断攻击源,从而可以实时保护主机或网络系统不受侵害。但是现有的内嵌式入侵防御系统采用的检测算法不是很完善,使得系统的误报率和漏报率很高,由此本文提出了将支持向量机(Support Vector Machines, SVM)应用到Snort入侵检测系统后,再与Linux防火墙联动来实现入侵防御功能,以解决现有的入侵防御系统的不足。本文设计的网络入侵防御系统通过入侵检测系统Snort_inline和iptables配置的Netfilter防火墙联动来实现的。Snort_inline和防火墙通讯时,Snort_inline工作在用户空间,iptables配置的Netfilter防火墙工作在内核空间,需要把数据包从内核空间传到到用户空间进行入侵检测。如果把内核空间所有数据包都拷贝到用户空间,处理速度将会降低,同时会影响系统性能。这一点可以这样改进:由于iptables配置的Netfilter防火墙有数据包过滤的功能,防火墙可以判定的合法流量直接通过入侵检测模块,非法流量直接丢弃。防火墙对需要检测的数据包传递到入侵检测模块,这样可以提高数据的处理速度。鉴于Snort误报率和漏报率比较高的缺陷,针对当前误用检测技术存在的问题,对Snort入侵检测模块进行改进,加入支持向量机的分类学习功能,通过对数据进行训练学习,降低了系统误报率,提高了系统的检测精度,使系统具有很好的泛化能力。本文所设计的基于Snort网络入侵防御系统采用模块化设计,该系统具有良好的交互性和可扩展性。