论文部分内容阅读
在网络高速发展的现在,科技进步提升了人们的生活水平,让人们可以感受到丰富多彩的世界,但是也给一些带有恶意的人带来机会。网络安全问题随之而生,越来越多的攻击手段与攻击方式出现,严重的影响了我们使用的网络的安全。由此,入侵检测系统诞生了,面对种种攻击,检测系统与防火墙等组成了一道防御线,用来抵抗并且处理检测到的攻击。Snort网络入侵检测系统(Network Intrusion Detection System,IDS)因为良好的灵活性和开放源码的特性,深受人们和企业喜爱。而且在无数的人的共同努力、帮助下,Snort网络入侵检测系统在飞速发展着,面对已知的部分的攻击手段都能相对轻松地应对,成为当下最受欢迎的入侵检测系统。本文中主要对Snort网络入侵检测系统进行详细的介绍,对Snort主要架构进行全面的分析,然后通过具体的例子说明算法复杂度攻击和拒绝服务攻击对Snort网络入侵检测系统产生的严重影响。算法复杂度攻击针对Snort系统的核心多模式匹配算法,构建各种特殊的攻击数据包,使多模式匹配算法达到最差的处理时间,从而实现对IDS的干扰和攻击。拒绝服务攻击,使用频率高、干扰能力强的数据包,来对一个网络进行冲击,使IDS消耗掉所有可使用的资源,以致无法完成对正常数据包的处理而影响IDS的处理能力,从而达到攻击IDS的目的。为了防御这些攻击方式,本文在IDS中应用了一种新型的多模式匹配算法,VLDC(variable length don’t care)多模式匹配算法。与Snort中采用的AC多模式匹配算法相比,VLDC算法在处理VLDC攻击模式时具有相对高效的处理时间。本文将VLDC多模式匹配算法与经典AC多模式匹配算法进行了实验对比,然后将VLDC算法应用到Snort中,比较VLDC与Snort中使用的AC的实际效果。证明VLDC算法具有更高效的表现。在本文中,实验针对Snort在VLDC匹配时所存在的不足进行验证与分析,在Snort中,Snort通过AC算法完成了VLDC匹配的过程,因此文中将使用Snort-VLDC来表示Snort中完成VLDC匹配的算法。最后对比的在完成VLDC匹配时VLDC与Snort-VLDC的效率。首先对Snort入侵检测系统进行攻击,在实验中发现由Randy Smith在2006年提出的算法复杂度攻击无法对当前的Snort系统造成影响,但是将算法复杂度攻击与拒绝服务攻击相结合可以导致Snort无法对所有的数据包进行检测。接下来验证了Snort在这种混合攻击下会发生数据包漏检的情况,并且提出了一种检测方式,在攻击发生的第一时间便会提示管理员攻击存在。接下来将VLDC算法应用到Snort入侵检测系统中,对Snort使用这种混合攻击,对实验结果进行检测与分析,根据实验结果可以发现,应用了VLDC的Snort入侵检测系统可以对流经的所有数据包进行检测,成功抵御这种攻击。