SYN flood网络攻击的原理及其防御方法.docx

上传人:小飞机 文档编号:4925222 上传时间:2023-05-23 格式:DOCX 页数:5 大小:104.45KB
返回 下载 相关 举报
SYN flood网络攻击的原理及其防御方法.docx_第1页
第1页 / 共5页
SYN flood网络攻击的原理及其防御方法.docx_第2页
第2页 / 共5页
SYN flood网络攻击的原理及其防御方法.docx_第3页
第3页 / 共5页
SYN flood网络攻击的原理及其防御方法.docx_第4页
第4页 / 共5页
SYN flood网络攻击的原理及其防御方法.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《SYN flood网络攻击的原理及其防御方法.docx》由会员分享,可在线阅读,更多相关《SYN flood网络攻击的原理及其防御方法.docx(5页珍藏版)》请在三一办公上搜索。

1、SYN flooc网络攻击的原理及其防御方法摘要介绍了 SYN Flood攻击的基本原理,详细地描述了目前几种比较有效的两种防御措施:SYNcookie 技术和地址状态监控技术。关键词 SYN Flood攻击 拒绝服务攻击SYN cookie1 SYN Flood攻击介绍:拒绝服务攻击(Denial of Service, DoS)是目前比较有效而又非常难于防御的一种网络攻击方式,它的 目的就是使服务器不能够为正常访问的用户提供服务。所以,DoS对一些紧密依靠互联网开展业务的企业 和组织带来了致命的威胁。SYN Flood是最为有效和流行的一种DoS攻击形式。它利用TCP三次握手协议的缺陷,向

2、目标主机发 送大量的伪造源地址的SYN连接请求,消耗目标主机的资源,从而不能够为正常用户提供服务。1.1 TCP连接建立的过程要掌握SYN Flood攻击的基本原理,必须先介绍TCP的三次握手机制。TCP三次握手过程如下:1) 客户端向服务器端发送一个SYN置位的TCP报文,包含客户端使用的端口号和初始序列号x;2) 服务器端收到客户端发送来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,包 含确认号为x+1和服务器的初始序列号y;3)TCP客户端客户端端口(1024 65535)TCP服务器端服务器端口(1 1023)SYNSYN/ACKACK客户端收到服务器返回的SYN+

3、ACK报文后,向服务器返回一个确认号为y+1序号为x+1的ACK 报文,一个标准的TCP连接完成。如图1所示:1.2攻击原理在SYN Flood攻击中,黑客机器向受害主机发送大量伪造源地址的TCP SYN报文,受害主机分配必要 的资源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包,如图2所示。由于源地址是伪造的, 所以源端永远都不会返回ACK报文,受害主机继续发送SYN+ACK包,并将半连接放入端口的积压队列 中,虽然一般的主机都有超时机制和默认的重传次数,但是由于端口的半连接队列的长度是有限的,如果 不断的向受害主机发送大量的TCP SYN报文,半连接队列就会很快填满,服务器拒绝

4、新的连接,将导致该 端口无法响应其他机器进行的连接请求,最终使受害主机的资源耗尽。2.2地址状态监控的解决方法地址状态监控的解决方法是利用监控工具对网络中的有关TCP连接的数据包进行监控,并对监听到的 数据包进行处理。处理的主要依据是连接请求的源地址。每个源地址都有一个状态与之对应,总共有四种状态:初态:任何源地址刚开始的状态;NEW状态:第一次出现或出现多次也不能断定存在的源地址的状态;GOOD状态:断定存在的源地址所处的状态;BAD状态:源地址不存在或不可达时所处的状态。具体的动作和状态转换根据TCP头中的位码值决定:1)监听到SYN包,如果源地址是第一次出现,则置该源地址的状态为NEW状

5、态;如果是NEW状态 或BAD状态;则将该包的RST位置1然后重新发出去,如果是GOOD状态不作任何处理。2)监听到ACK或RST包,如果源地址的状态为NEW状态,则转为GOOD状态;如果是GOOD状态 则不变;如果是BAD状态则转为NEW状态;如果是BAD状态则转为NEW状态。3)监听到从服务器来的SYN ACK报文(目的地址为addr),表明服务器已经为从addr发来的连接请 求建立了一个半连接,为防止建立的半连接过多,向服务器发送一个ACK包,建立连接,同时,开始计时, 如果超时,还未收到ACK报文,证明addr不可达,如果此时addr的状态为GOOD则转为NEW状态;如 果addr的状

6、态为NEW状态则转为BAD状态;如果为addr的状态为BAD状态则不变。状态的转换图如图3所示:初态GOODNEWBADACK/RSTSYNACK/RSTACK包确认超时ACK/RSTACK包确认超时下面分析一下基于地址状态监控的方法如何能够防御SYN Flood攻击。1)对于一个伪造源地址的SYN报文,若源地址第一次出现,则源地址的状态为NEW状态,当监听到 服务器的SYN+ACK报文,表明服务器已经为该源地址的连接请求建立了半连接。此时,监控程序代源地 址发送一个ACK报文完成连接。这样,半连接队列中的半连接数不是很多。计时器开始计时,由于源地址 是伪造的,所以不会收到ACK报文,超时后,

7、监控程序发送RST数据包,服务器释放该连接,该源地址 的状态转为BAD状态。之后,对于每一个来自该源地址的SYN报文,监控程序都会主动发送一个RST报 文。2)对于一个合法的SYN报文,若源地址第一次出现,则源地址的状态为NEW状态,服务器响应请求, 发送SYN + ACK报文,监控程序发送ACK报文,连接建立完毕。之后,来自客户端的ACK很快会到达, 该源地址的状态转为GOOD状态。服务器可以很好的处理重复到达的ACK包。从以上分析可以看出,基于监控的方法可以很好的防御SYN Flood攻击,而不影响正常用户的连接。3小结本文介绍了 SYN Flood攻击的基本原理,然后详细描述了两种比较有效和方便实施的防御方法:SYN- cookie技术和基于监控的源地址状态技术。SYN-cookie技术实现了无状态的握手,避免了 SYN Flood的资 源消耗。基于监控的源地址状态技术能够对每一个连接服务器的IP地址的状态进行监控,主动采取措施避 免SYN Flood攻击的影响。这两种技术是目前所有的防御SYN Flood攻击的最为成熟和可行的技术。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号