分享
分享赚钱 收藏 举报 版权申诉 / 3

类型SYN 网络攻击原理.doc

  • 上传人:精品资料
  • 文档编号:11011020
  • 上传时间:2020-01-31
  • 格式:DOC
  • 页数:3
  • 大小:18.46KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    SYN 网络攻击原理.doc
    资源描述:

    1、1、TCP 握手协议第一次握手:客户端(作为源主机)通过向服务器(作为目的主机)发送 TCP连接请求(又称 SYN段),其中标志 SYN=1,ACK=0;序列号为客户端初始序列号(简称 ISN);目的端口号为所请求的服务对应的端口;还包括最大段长度(MSS)选项。这个 SYN段不携带任何数据,但是它消耗一个序列号。这一步客户端执行主动打开。第二次握手:服务器在指定的端口等待连接,收到 TCP连接请求后,将回应一个 TCP连接应答(又称 SYN/ACK段),其中标志 SYN=1,ACK=1;序列号为服务器初始序列号;确认号为客户端初始序列号加 1;目的端口号为客户端的源端口号。这个 SYN/AC

    2、K段不携带数据,但消耗一个序列号。这一步服务器执行被动打开。第三次握手:客户端再向服务器发送一个 TCP连接确认报文(又称 ACK段),其中标志 SYN=0,ACK=1;序列号为客户端初始序列号加 1;确认号为服务器的初始序列号加 1。一般来说,这个 ACK段不携带数据,因而不消耗序列号。经过三次握手后,TCP 连接正式建立。双方都置 ACK标志,交换并确认了对方的初始序列号,可以通过连接互相传输数据。2、SYN 攻击原理SYN Flood 攻击属于 DOS 攻击的一种,它利用 TCP 协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU 满负荷或内存不足),最终导致系统或

    3、服务器宕机。SYN Flood 攻击正是利用了 TCP连接的三次握手,假设一个用户向服务器发送了 SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的 ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送 SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为 SYN Timeout,一般来说这个时间是分钟的数量级(大约为 30秒-2 分钟);一个用户出现异常导致服务器的一个线程等待 1分钟并不会对服务器端造成什么大的影响,但如果有大量的等待丢失的情况发生,服务器端将为了维护一个非常大的半连接请求而消耗非常多

    4、的资源。我们可以想象大量的保存并遍历也会消耗非常多的 CPU时间和内存,再加上服务器端不断对列表中的 IP进行 SYN+ACK的重试,服务器的负载将会变得非常巨大。如果服务器的 TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃。相对于攻击数据流,正常的用户请求就显得十分渺小,服务器疲于处理攻击者伪造的 TCP连接请求而无暇理睬客户的正常请求,此时从正常客户会表现为打开页面缓慢或服务器无响应,这种情况就是我们常说的服务器端SYN Flood攻击(SYN 洪水攻击)。配合 IP欺骗,SYN 攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的 IP地址,向服务器不断地发送 syn包,服

    5、务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的 SYN包将长时间占用未连接队列,正常的 SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。从防御角度来讲,存在几种的解决方法:第一种是缩短 SYN Timeout时间,由于 SYN Flood攻击的效果取决于服务器上保持的 SYN半连接数,这个值= SYN攻击的频度 x SYN Timeout,所以通过缩短从接收到 SYN报文到确定这个报文无效并丢弃改连接的时间,例如设置为 20秒以下,可以成倍的降低服务器的负荷。但过低的 SYN Timeout设置可能会影响客户的正常访问。第二

    6、种方法是设置 SYN Cookie,就是给每一个请求连接的 IP地址分配一个 Cookie,如果短时间内连续受到某个 IP的重复 SYN报文,就认定是受到了攻击,并记录地址信息,以后从这个 IP地址来的包会被一概丢弃。这样做的结果也可能会影响到正常用户的访问。上述的两种方法只能对付比较原始的 SYN Flood攻击,缩短 SYN Timeout时间仅在对方攻击频度不高的情况下生效,SYN Cookie 更依赖于对方使用真实的 IP地址,如果攻击者以数万/秒的速度发送 SYN报文,同时利用 SOCK_RAW随机改写 IP报文中的源地址,以上的方法将毫无用武之地。一些 TCP/IP栈的实现只能等待

    7、从有限数量的计算机发来的 ACK消息,因为他们只有有限的内存缓冲区用于创建连接,如果这一缓冲区充满了虚假连接的初始信息,该服务器就会对接下来的连接停止响应,直到缓冲区里的连接企图超时。在一些创建连接不受限制的实现里,SYN 洪水具有类似的影响。防御:在防火墙上过滤来自同一主机的后续连接。未来的 SYN洪水令人担忧,由于释放洪水的并不寻求响应,所以无法从一个简单高容量的传输中鉴别出来。本文章的目是介绍使用 python构造 packet的方法。使用 raw socket来发送 packets。 该程序只适用于 Linux。windows 可以尝试调用 winpcap。在讨论 SYN Flood原

    8、理前,我们需要从 TCP连接建立的过程开始说起:TCP与 UDP不同,它是基于连接的,为了在服务端和客户端之间传送 TCP数据,必须先建立一个虚拟电路,也就是 TCP连接。也就是我们经常听说的TCP协议中的三次握手(Three-way Handshake) ,建立 TCP连接的标准过程如下:首先,客户端发送一个包含 SYN标志的 TCP报文,SYN 即同步(Synchronize) ,同步报文会指明客户端使用的端口以及 TCP连接的初始序号;其次,服务器在收到客户端的 SYN报文后,将返回一个 SYN+ACK(即确认Acknowledgement)的报文,表示客户端的请求被接受,同时 TCP初始序号自动加一。最后,客户端也返回一个确认报文 ACK给服务器端,同样 TCP序列号被加一,到此一个 TCP连接完成。

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:SYN 网络攻击原理.doc
    链接地址:https://www.docduoduo.com/p-11011020.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开