在对相关技术和入侵检测系统进行研究的基础上,设计了该插件的各功能,对插件内各模块进行了详细描述,并给出了插件的工作流程。除外,随着设计的进行在逐步测试入侵检测系统中完成攻击插件的测试工作。本文利用DoS攻击检测系统充分的验证了插件功能和统计效果。通过以上工作,本文较好完成了Snort插件的功能,实验结果表明该插件通过统计分析能有效的检测判断出攻击的存在。
【关键词】检测系统 DDoS攻击 Snort 插件
拒绝服务攻击(DoS)是利用伪造服务数据以及伪造用户的服务请求来拥塞提供服务的设备,使服务降速、忽略用户、合法请求被丢失、失效。本文是以对DDoS攻击检测方法以及检测过程中DDoS在攻击后所造成的响应作为本文研究的主要目的,通过构建将DDoS检测和DDoS响应集成在一起所搭建的系统,来完成对网络中所出现的攻击流的发现,并尽可能的对攻击进行阻断以免发生攻击。
1 DDoS防御思路简述
本次设计是以DDoS防御为主,因此为了能够更好的完成本次对攻击行为的防御以及达到较好的防御效果,对网络节点中的数据流速率及其分布做如下假设:
(1)在近似于和等于的时间间隔内,在节点中的数据流速率大小和概率分布基本不会产生剧烈波动;
(2)相邻时间间隔内如果间隔时间较短,针对大型网络中的网络节点通过的网络数据流在其速率和概率分布上应该保持其基本不变。
基于这两点假设,当特征数据包异常升高时,可能发生了DDoS攻击。本设计主要是通过统计的方法,识别出是否处于被DDoS攻击的状态,区分攻击者的IP与正常使用者的IP,通过多种的方法阻止攻击。
2 插件实现
2.1 网络数据流统计模块
该模块的主要功能是进行数据包特征值的记录和运算,使系统能够提取到包含特征标志位的数据包异常升高的信号,将网络数据流数据包的统计属性值信息利用相应转换公式或转换方法将其转换为具有一定信息的记值,然后将转换后的记值信息存入到主机的内存中进行保存,并且在以后对模块分析过程中再将其从内存中调出以备使用。
2.2 运算分析模块
运算分析模块是针对数据流的相关信息进行的一系列操作,由于该模块是进行分析和运算,所以对于运算分析模块所起到的功能进行分析,其主要有以下几种功能:
(1)数据流的区分。
(2)创建Time Thread线程。
(3)对UDP数据包的数据载荷字段进行hash。
2.3 响应模块
进行日志记录和阻断分别通过Snort本身的日志输出插件和Guardian防火墙合作完成。Guardian是基于iptables+Snort而设计的一种防火墙,其功能是利用Snort入侵检测系统所提供的日志文件进行分析,然后根据分析结果将某些恶意IP加入iptables的输入链,达到阻断目的。
2.4 模块间通信说明
插件是完成模块间通信的主要手段,采用多线程、利用信号多少,互斥锁等机制实现线程之间的同步,通过共享内存实现线程之间的数据共享。Time Thread线程在设定的时间间隔内将会发出相应的触发信号,然后由该信号来触发Computing Thread线程,利用Computing Thread线程功能来获取目前的总流量与当前时间间隔的分流量值,从而在数据分类中获得正常数据流在发送总数据流中所占的特征比例。
3 部分测试结果
3.1 对UDP Flood攻击的防御测试
进行UDP攻击前,查看主机B防火墙状态信息:
root@bt:/etc/snort# iptables -L -n
Chain INPUT (policy ACCEPT)targetprotopt sourcedestination
ChainFORWARD(policyACCEPT)targetprot opt sourcedestination
Chain OUTPUT (policy ACCEPT)targetprot opt sourcedestination
You have new mail in /var/mail/root
攻击后:
root@bt:~# iptables -L -n
Chain INPUT (policy ACCEPT)target prot opt source destination
DROP all -- 192.168.40.4 0.0.0.0/0
Chain FORWARD (policy ACCEPT)target prot opt source destination
Chain OUTPUT (policy ACCEPT)target prot opt source destination
攻击者的IP被加入到防火墙中。
4 总结
DDoS攻击被称为是网络中的“核武器”,Flood攻击在DDoS攻击中是最为常见的一种攻击行为。本论文以Flood所存在的两种攻击行为进行了较为详细的分析和总结,并以此作为基础对当前网络上的各种各样的攻击行为所采用的防御方法进行分析,以及攻擊过程中对协议栈内容的修改和其他缺陷所呈现的现状,从防御终端的角度,结合基于数据流统计方法,提出了以防御Flood攻击方案的具体设计和实现,同时在该方案的设计过程中为了更好的实现防御方案,在整个系统设计中采用了Snort插件技术。
参考文献
[1]刘文涛.网络安全开发包详解[M].电子工业出版社,2005.
[2]李瑞民.网络扫描技术揭秘[M].机械工业出版社,2011.
[3]韩东海.入侵检测系统及实例剖析[M].清华大学出版社,2002.
[4]曹元大.入侵检测技术[M].北京:人民邮电出版社,2007.
作者简介
曲春航(1987-),女,吉林省长春市人。硕士学位。讲师。主要研究方向为计算机网络与信息安全。
作者单位
长春建筑学院电气信息学院 吉林省长春市 130607endprint