


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种改进的DDOS攻击检测与防御系统设计摘要摘要:提出一种检测与防御的路由器架构,即在服务器与外界输入之间放置具有检测与过滤功能的路由器以防范攻击。检测中,运用报文差检测算法,对网络中当前数据流量进行监测与分析,实现攻击检测。防御中,将路由器作为外界与服务器之间的TCP握手代理,通过对网络中TCP数据包进行分析筛选保证服务器的正常工作。关键词:报文差检测算法;TCP握手代理;NetFPGA;路由器架构1实现方案1.1 设计原理在正常的服务器通信中,路由器主要发挥流量监测的功能即对网络中存在的数据流量进行实时监测,并采用报文差检验算法对得到的数据流量进行实时处理与分析,以判断当前网络数据是否存在
2、异常。当发现异常时,会认为有攻击产生,并自动切换到防御状态。在防御状态中,对于每个由外界发起的TCP连接都会在路由器处进行TCP三次握手的预处理即将路由器作为服务器的代理,确认客户端是否可完成完整的TCP三次握手。对于通过认证的TCP连接请求,路由器会再作为客户端代理与服务器进行TCP握手,如此等价实现客户端与服务器的TCP的握手连接,之后客户端便可与服务器进行正常的TCP通信了。在此过程中,路由器会开辟出一块空间作为TCP信息存储队列,该系统共用到了两个队列分别为外界TCP申请队列、确认正常的TCP信息队列,其功能将在中提到。下图1对整个设计原理进行了简要描述。图1系统设计原理1.2 模块化
3、设计攻击源产生无论对于系统的设计还是测试,合理的DDOS攻击源都必不可少即要能在短时间内产生大量的具有虚假源地址的TCP/IP数据包,并将这些数据包同时发送至同一服务器主机。对此,实验中以TCP/IP包发送工具HPING为基础上设计出一个能够采用虚假源地址发送TCP包的DDOS攻击器。其设计原理是通过更改IP包头设置中的对应字节,得到需要类型的数据包包括IP包的源地址,目的地址以及通信协议等,然后将其从对应网络端口发出。1.2.2 网络数据流量监测模块该模块用于实现将网络中流过服务器的TCP包数量,以图形方式动态显示,从而便于人员观测当前网络流量状态,其设计原理主要分为数据包的获取解析与流量图
4、的绘制。在设计中,通过编写接口程序,对经过网络端口的IP包包头进行校验,以此判断包的类型。当检测到TCP的SYN包、数据包等特殊包后,响应计数器记录加一,并将此记录反馈至绘图模块,实现对网络TCP流量的图形观测。攻击检测模块在SYNFlooding攻击中,攻击者向服务器发送大量伪造源IP地址的SYN请求包,服务器返回SYN/ACK应答包后得不到确认,就会不断地对伪造的IP地址进行重试直至超时丢弃,由于SYN连接请求的速度远大于服务器超时丢弃的处理速度。因此,服务器的半连接列表很快就被塞满,致使客户的正常请求得不到响应,以实现拒绝服务的目的。介于DDOS这种攻击特性,系统运用正确建立连接数的差别
5、实现对DDOS攻击检测报警。首先对TCP连接信号SYN进行抽样,设d为检测周期,SYN_n为抽样间隔内源端网络中SYN包的数量,FIN_n为FIN包的数量。记:det_n二SYN_n-FIN_n一般情况下,det_n与网络的规模、抽样间隔相关,为减少上述因素的影响,提高算法的通用性,对det_n进行归一化处理:记:det_n二det_n/SYN_n二(SYN_n-FIN_n)/SYN_nn=1,2实验中给出一个门限值h,当_n>h,则报警。连接代理模块当路由器检测到流量异常时,会自动进入智能防御方式。在此阶段,路由器会接受到分别来自服务器与外界输入两个方向的TCP数据包,因此需要在路由器
6、上建立两个缓存队列,分别为外界TCP队列以及确认正常的TCP信息队列。外界TCP队列(队列1)主要用于记录外界向服务器发起的TCP连接信息,其中主要包括该TCP连接的MAC源地址、IP源地址、IP源端口、IP目的端口、路由器向外部提供的序列号SEQ、连接状态标志位States通过此队列所记录的信息,路由器实现了与外界输入的模拟TCP三次握手过程。表1外界TCP队列的数据单元存储信息MAC源地址(48bits)IP源地址(32bits)IP源端口(16bits)IP目的端口(16bits)向外界提供的序列号SEQ(32bits)表1描述了外界TCP队列存储单元信息,经计算,一个数据单元所占空间为
7、144bits=18Byte确认正常的TCP信息队列(队列2),主要用来完成对TCP数据包过滤即符合条件的TCP包可以直接通过,否则丢弃,以缓解服务器压力。下面主要讨论了TCP包有外界发起与TCP包有服务器发起两个过程中,路由器的工作流程。当TCP包由外界发起时,工作流程如图2所示。图2外界发起TCP时路由器工作流程当TCP包由服务器发起时,工作流程如图3所示:图3服务器发起TCP时路由器工作流程1.3系统的功能与指标实验中分别从路由器所能承受的Syn攻击速度与队列占用空间容量两个指标对其进行分析,下面是理论计算中用到的符号:Syn_speed表示DDOS的攻击速度T表示正常TCP握手连接中第
8、一次握手与第三次握手的时间间隔即TCP建立时间L表示路由器中用来存储外界TCP信息的队列长度速度指标:根据分析,要想保证一个正常的TCP连接信号不会因队列过满而挤掉,要求L>Syn_speed*T(1)查询数据手册,路由器(以NETFPGA为例)的工作频率为125MHZ,并且假设扫描一个数据单元需要4个时钟信号,则要想保证每个SYN包到来时,路由器能够对整个数据队列进行一次完整扫描,要求1Syn_speed>1125M(2)容量指标:查询数据手册,NETFPGA可用于存储数据的空间有4.5MB,假设开辟的数据队列空间为2MB,对于外界TCP队列中每一个数据单元根据之前所述其长度为1
9、8B,因此从容量角度考虑要求:L*18V2*106(3)指标分析:结合以上3式,可以得到Syn_speed*T*18w2*106路由器本身容量限制Syn_speed2*T<1254*106路由器主频限制以上两式反应出DDOS攻击速度Syn_speed与握手间隔T之间的制约关系。同时通过对比计算,发现在T<105s时,主频限制占主导因素,且时间越小其影响作用越大。考虑到实际情况只需分析主频限制条件下,SYN极限速率与建立时间T的关系情况。图4SYN攻击速率、队列空间与TCP建立时间关系图4所示两图中,左图描述的是Syn_speed极限速率与TCP建立时间的关系示意图,可以发现在TCP
10、建立时间增大时,SYN_speed明显减小,受到严重制约。当T=0.1sSyn_speed=17000当T=1sSyn_speed=5500当T=30sSyn_speed=1000右图描述了队列所占空间随TCP建立时间变化。经计算得,当T<30s时,队列空间均小于600K,完全不受硬件空间限制。经过分析:(1)在硬件设施中,运算速度成为制约Syn_speed的主要因素。要想提高路由器抗DDOS攻击能力,需要提高运算速度;(2)硬件条件一定的情况下,Syn_speed主要受TCP建立时间的制约。在网络状况不佳时(设建立TCP所需时间为1s),Syn_speed的极限为5500;在网络状况良
11、好时(建立TCP所需时间为0.1s),Syn_speed的极限为17000;(3)在硬件状况不变的情况下,要想提高服务器的抗击能力,可尝试路由器级联结构,将网络流量分割给多个路由器处理。2性能测试2.1测试环境在测试中共需要4台电脑,完成整个过程测试。4台电脑的要求及其作用分别为:一台要求是装有NefFPGA开发板的台式电脑,其系统为CentOS5.0。该电脑主要用于与NetFPGA进行通信;另外3台电脑对系统无明显限制,正常WindowsXP及其以上的操作系统均可。在测试中,使用一台作为服务器用于接收外界发送的数据,剩余两台作为数据的发送源,其中一台正常发送TCP数据包,另一台对服务器进行D
12、DOS攻击。将4台电脑连成局域网模拟整个过程。2.2 系统测试流程无DDOS攻击正常情况测试测试目的:得出正常情况下的TCP链接情况,便于和DDOS攻击的情况比较。 操作描述:设定发送信息(A)和接收信息(B)主机的IP;由主机Aping主机B,在终端里输入:hping192.168.0.1-iu1000;抓取TCP链接的SEQ,ACK等信息,观察是否完成了三次握手。结果分析:图5正常情况下抓包程序显示结果图5中可以看到主机A的IP为,主机B的IP为。首先由主机A向B发送SYN请求连接信号,然后主机B回复A一个SYN/ACK,表明已经接到请求,并且将ACK至1,主机A在接到返回信号后再向B发送
13、一个ACK信号,这样主机A与B的连接就建立了。测试结果与预期相同。遭受DDOS攻击下的测试测试目的:观察DDOS攻击下的TCP链接情况,便于数据包的筛选。操作描述:设定发送信息(A)和接收信息(B)主机的IP;主机A通过设定虚假IP(),向主机B发送DDOS攻击,在终端里输入hping-iu1000;比较DDOS攻击下的TCP链接与正常情况下的区别。结果分析:图6遭受攻击境况下抓包程序显示结果主机A的IP为,主机B的IP为。从图中可以看出,在遭受DDOS攻击时,由主机B向A发送SYN请求连接信号,且使用的是虚假源地址,且该地址在动态变化中,然后主机A回复B一个SYN/ACK,但之后主机B不会在
14、给A发ACK确认信号,也就是TCP三次握手连接并没有真正建立。针对DDOS攻击的检测测试本文采用2000年DARPA第5周第2天的检测评估数据作为实验背景数据图7描述了正常情况中,SYN与FIN包的变化关系在此基础上,通过hping由主机A对主机B进行DDOS攻击,以50packets/s的速率发送SYNflooding,攻击检测算法在发包3分钟后开始检测,我们以10s为检测周期,连续抽样200次,测量在不同的门限值的条件下,算法的误警率。表3给出了该过程的计算结果:图7正常情况下SYN与FIN包关系表2DDOS攻击检测结果攻击次数判决门限正确判断次数误警次数误警率2000.751574321
15、.5%2000.651643618%2000.551722814%2000.451663417%由此得到当门限值取0.55时,误警率最低,正确判断率达到86%,与其余门限值相比已经足够高,基本上能够对DDOS攻击做出检测。224针对DDOS攻击的防御测试测试目的:通过比较一台遭遇攻击的主机和一台加上了防御模块的主机遭受攻击程度,得出该防御系统的性能。操作描述:设定发送信息主机(A和C)和接收信息主机(B和D)的IP;让主机A拟造虚假IP发送DDOS攻击,主机C发送正常的TCP数据包;主机B和主机C同时接收来自主机A和主机C的数据包,其中主机B加上了防御模块,而主机D是直接接受;分别检测两种情况
16、下的数据流量,通过流量图显示差别。结果分析:图8正常情况下的发包量上图为正常TCP包的累计量,主机C以每秒2个包的速度进行发包。图9遭受DDOS攻击时的发包量在上图中主机A以每秒400包左右的速度发送DDOS攻击。从主机B上接收到得数据流量如上图所示,从中可以看出其中DDOS攻击的数据包基本被滤除,留下的数据包基本上是有主机C发送的正确的数据包。测试结果与预期相同。图10路由器过滤后数据流量3结束语防范DDOS攻击是一个系统工程,本系统也仅能做到防御SYNFLOOD类的DDOS攻击,防范总类繁多的DDOS攻击仅依靠某一种技术是不现实的。只有事先增强对DDOS攻击的防御能力,DDOS攻击时及时对其进行检测,受到DDOS攻击后及时进行可靠的防御,综合运用各种技术,对DDOS攻击进行抵抗,从而增加攻击者的攻击成本,使绝大多数攻击因成本开销过大而放弃。本文的探究仅仅只是一个开始,因为时间和知识储备的不足,仍然有待改进。参考文献:刘志雷基于变动和式累积检验算法的DDOS攻击检测J.计算机仿真,2009(8).ALBERTOLEONGARCIA,INDRAWIDJAJA.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中菲机械制造与维修服务合同
- 2025型材购销合同书范本
- 2025建设用地使用权出让合同样本
- 2025吊车租赁合同(台班版)
- 9.1《日益完善的法律体系》- 课件 2024-2025学年统编版道德与法治七年级下册
- 2025商业房产租赁合同
- 《高血压自我管理手册》课件
- 六年级思想品德下册 中国人民站起来了教学设计 泰山版
- 《癌痛疼痛治疗方案》课件
- 新质生产力局长
- DB65T 8020-2024 房屋建筑与市政基础设施工程施工现场从业人员配备标准
- 酒店餐饮销售培训
- 情报信息发布规范
- 无卤阻燃剂知识培训课件
- DB42∕T 1496-2019 公路边坡监测技术规程
- 2025-2030年中国小麦加工产业运行动态及发展可行性分析报告
- 乾坤未定皆有可能-2025届高三百日誓师班会课件
- 2025年山西汾西矿业集团公司招聘笔试参考题库含答案解析
- 2024年度英语课件容貌焦虑
- 神经外科质量与安全管理工作计划
- 城市违建拆除施工方案
评论
0/150
提交评论