DDoS攻击类型及DDoS攻击实例-陈龙羽_第1页
DDoS攻击类型及DDoS攻击实例-陈龙羽_第2页
DDoS攻击类型及DDoS攻击实例-陈龙羽_第3页
DDoS攻击类型及DDoS攻击实例-陈龙羽_第4页
DDoS攻击类型及DDoS攻击实例-陈龙羽_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DDoS的攻击类型及DDoS攻击实例目录DDO攻 击类型1. SYN变种攻击2. TCP昆乱数据包攻击3. 针对用UDP协议的攻击4. 针对WEB Server的多连接攻击5. 针对WEB Server的变种攻击6. 针对WEB Server的变种攻击7. 针对游戏服务器的攻击SYN攻 击DDoS攻击实例-SYN Flood攻击DDO敦击类型SYN变种攻击发送伪造源IP的SYN数据包,但是数据包不是64字节而是上千字节,这种 攻击会造成一些防火墙处理错误锁死,消耗服务器CPU内存的同时还会堵塞带宽。TCP混乱数据包攻击发送伪造源IP的TCP数据包,TCP头的TCP Flags部分是混乱的,可能

2、是 syn,ack,syn+ack,syn+rst等等,会造成一些防火墙处理错误锁死,消耗服 务器CPU内存的同时还会堵塞带宽。针对用UDP协议的攻击很多聊天室,视频音频软件,都是通过UDP数据包传输的,攻击者针对分析 要攻击的网络软件协议,发送和正常数据一样的数据包,这种攻击非常难防护, 一般防护墙通过拦截攻击数据包的特征码防护,但是这样会造成正常的数据包也 会被拦截。针对WEB Server的多连接攻击通过控制大量肉鸡同时连接访问网站, 造成网站无法处理瘫痪, 这种攻击和 正常访问网站是一样的, 只是瞬间访问量增加几十倍甚至上百倍, 有些防火墙可 以通过限制每个连接过来的 IP 连接数来防

3、护,但是这样会造成正常用户稍微多 打开几次网站也会被封。针对 WEB Server 的变种攻击通过控制大量肉鸡同时连接访问网站, 一点连接建立就不断开, 一直发送一 些特殊的GET访问请求,造成网站数据库或者某些页面耗费大量的 CPU,这样通 过限制每个连接过来的 IP 连接数就失效了,因为每个肉鸡可能只建立一个或者 只建立少量的连接。 这种攻击非常难防护, 后面给大家介绍防火墙的 解决方案。针对 WEB Server 的变种攻击通过控制大量肉鸡同时连接网站端口, 但是不发送GET请求而是乱七八糟的 字符,大部分防火墙分析攻击数据包前三个字节是 GET字符,然后 来进行http 协议的分析。这

4、种攻击,不发送GET请求就可以绕过防火墙到达服务器, 一般服 务器都是共享带宽的,带宽不会超过 10M所以大量的肉鸡攻击 数据包就会把 这台服务器的共享带宽堵塞造成服务器瘫痪。 这种攻击也非常难防护, 因为如果 只简单的拦截客户端发送过来没有 GET字符的数据包,会错误的封锁 很多正常 的数据包造成正常用户无法访问,后面给大家介绍防火墙的解决方案。针对游戏服务器的攻击因为游戏服务器非常多, 这里介绍最早也是影响最大的传奇游戏, 传奇游戏 分为登陆注册端口 7000,人物选择端口 7100,以及游戏运行端 口 7200, 7300, 7400等,因为游戏自己的协议设计的非常复杂,所以攻击的种类也

5、花样百出, 大概有几十种之多,而且还在不断的发现新的攻击种类。这里介绍目前最普遍的假人攻击, 假人攻击是通过肉鸡模拟游戏客户端进行 自动注册、 登陆、建立人物、 进入游戏活动, 从数据协议层面模拟正常的游戏玩 家,很难从游戏数据包来分析出哪些是攻击哪些是正常玩家。以上介绍的几种最常见的攻击也是比较难防护的攻击。 一般基于包过滤的防 火墙只能分析每个数据包,或者有限的分析数据连接建立的状态, 防护SYN,或 者变种的SYN ACK攻击效果不错,但是不能从根本上来分析tcp,udp协议,和 针对应用层的协议,比如 http ,游戏协议,软件视频音频 协议,现在的新的攻 击越来越多的都是针对应用层协

6、议漏洞, 或者分析协议然后发送和正常数据包一 样的数据,或者干脆模拟正常的数据流,单从数据包层面,分析 每个数据包里 面有什么数据,根本没办法很好的防护新型的攻击。SYN攻 击SYN攻击是DDo敦击的一种,它利用TCP协议缺陷,通过发送大量的半连 接请求,耗费CPU和内存资源。TCP协议建立连接的时候需要双方相互确认信息, 来防止连接被伪造和精确控制整个数据传输过程数据完整有效。所以TCP协议采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送 syn 包到服务器,并进入 SYN_SEND 状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN同时自己也发送一个SY

7、N包,即卩SYN+AC包,此时服务器进入 SYN_REC状态;第三次握手:客户端收到服务器的 SYN+AC包,向服务器发送确认包 ACK 此包发送完毕,客户端和服务器进入 ESTABLISHE状态,完成三次握手。SYN攻击利用TCP协议三次握手的原理,大量发送伪造源 IP的SYN包也就 是伪造第一次握手数据包,服务器每接收到一个 SYN包就会为这个连接信息分 配核心内存并放入半连接队列,如果短时间内接收到的SYN太多,半连接队列就 会溢出,操作系统会把这个连接信息丢弃造成不能连接,当攻击的SYN包超过半连接队列的最大值时,正常的客户发送SYN数据包请求连接就会被服务器丢弃, 每种操作系统半连接

8、队列大小不一样,所以抵御 SYN攻击的能力 也不一样。那么能不能把半连接队列增加到足够大来保证不会溢出呢, 答案是不能, 每 种操作系统都有方法来调整TCP模块的半连接队列最大数。例如 Win2000操作 系统在注册表 HKLMSYSTEMCurrentControlSetServicesTcpipParameters 里 TcpMaxHalfOpen, TcpMaxHalfOpenRetried , Linux 操作系统用变量 tcp_max_syn_backlog 来定义半 连接队列的最大数。但是每建立一个半连接资 源就会耗费系统的核心内存, 操作系统的核心内存是专门提供给系统内核使用的

9、内存,不能进行虚拟内存转换,是非常紧缺的资源。win dows2000系统当物理内存是4G的时候,核心内存只有不到300M系统所有核心模块都要使用核心内 存,所以能给半连接队列用的 核心内存非常少。Windows2003默认安装情况下, WEB SERVE的 80端口每秒钟接收5000个SYN数据包,一分钟后网站就打不开 了。标准 SYN数据包 64 字节 5000 个等于 5000*64 *8(换算成 bit)/1024=2500K 也就是2.5M带宽,如此小的带宽就可以让服务器的端口瘫痪,由于攻击包的源 IP 是伪造的很难追查到攻击源, 所以这种攻击非常多。DDoS攻击实例-SYN Flo

10、od 攻击SYN-Flood是目前最流行的DDoS攻击手段,早先的DoS的手段在向分布式 这一阶段发展的时候也经历了浪里淘沙的过程。 SYN-Flood 的攻击效果最好,应 该是众黑客不约而同选择它的原因吧。 那么我们一起来看看 SYN-Flood 的详细情 况。Syn Flood原理-三次握手Syn Flood利用了 TCP/IP协议的固有漏洞。面向连接的TCP三次握手是Syn Flood存在的基础。TCP连接的三次握手如图一,在第一步中,客户端向服务端提出连接请求。这时TCPSYN标志置位。客户端告诉服务端序列号区域合法, 需要检查。客户端在TCP报头的序列号 区中插入自己的ISN。服务端

11、收到该TCP分段后,在第二步以自 己的ISN回应 (SYN标志置位),同时确认收到客户端的第一个 TCP分段(ACK标志置位)。在第 三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的 TCP连接,开始全双工模式的数据传输过程。Syn Flood攻击者不会完成三次握手假设一个用户向服务器发送了 SYN报文后突然死机或掉线,那么服务器在发 出SYN+AC应答报文后是无法收到客户端的 ACK报文的(第三次握手无法完成), 这种情况下服务器端一般会重试(再次发送SYN+AC给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout, 一般来说

12、这个时间是分钟的数量级(大约为 30 秒-2 分钟);一个用户出现异常导致服务器的一个线程等待 1分钟并不是什么很大的问 题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护 一个 非常大的半连接列表而消耗非常多的资源 数以万计的半连接, 即使是简单的保存并遍历也会消耗非常多的 CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+AC的重试。实际上如果服务器的 TCP/IP栈不够强大,最后的结果 往往是堆栈溢出崩溃 - 即使服务器端的系统足够强大, 服务器 端也将忙于处理 攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求 比率非常之小),此时从正常客

13、户的角度看来,服务器失去响应, 这种情况我 们称做:服务器端受到了 SYN Flood攻击(SYN洪水攻击)。下面是我在实验室中模拟的一次 Syn Flood 攻击的实际过程这一个局域网环境, 只有一台攻击机 ( PIII667/128/mandrake ),被攻击的 是一台 Solaris 8.0(spark) 的主机,网络设备是 Cisco 的百兆交换机。这是在 攻击并未进行之前,在 Solaris 上进行 snoop的记录,snoop与tcpdump 等网络 监听工具一样, 也是一个很好的网络抓包与分析的工具。 可以看到攻击之前, 目 标主机上接到的基本上都是一些普通的网络包。? -&g

14、t;(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes? ->(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes? ->(multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes? ->(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes6 ->55 NBT Datagram Service

15、Type=17 Source=GU010 ->55 NBT Datagram Service Type=17 Source=ROOTDC2047 ->55 NBT Datagram Service Type=17 Source=TSC0? ->(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes00 ->(broadcast) ARP C Who is 02, 192.168.0.

16、102 ? ->(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes? ->(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes6 ->55 NBT Datagram Service Type=17 Source=GU06 ->55 NBT Datagram Service Type=17 Source=GU010 ->192.168.0

17、.255 NBT Datagram Service Type=17 Source=ROOTDC20? ->(multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes? ->(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes? - '(broadcast) ETHER Type=886F (Unknown), size = 1510 bytes 接着,攻击机开始发包,DDoS开始了,突然间sun主机上的snoop窗口 开始飞速地翻屏,显示出接到数量巨大的Syn请

18、求。这时的屏幕就好象是时速300 公里的列车上的一扇车窗。这是在 Syn Flood 攻击时的 snoop 输出结果:78 -> AUTH C port=135278 -> TCP D=114 S=1352 SynSeq=674711609 Len=0Win=6553578 -> TCP D=115 S=1352 SynSeq=674711609 Len=0Win=6553578 -> UUCP-PATH C port=135278 -> TCP D=118 S=1352 S

19、ynSeq=674711609 Len=0Win=6553578 -> NNTP C port=135278 -> TCP D=121 S=1352 SynSeq=674711609 Len=0Win=6553578 -> TCP D=122 S=1352 SynSeq=674711609 Len=0Win=6553578 -> TCP D=124 S=1352 SynSeq=674711609Len=0Win=6553578 -> TCP D=125 S=1352 SynS

20、eq=674711609 Len=0Win=6553578 -> TCP D=126 S=1352 SynSeq=674711609 Len=0Win=6553578 -> TCP D=128 S=1352 SynSeq=674711609 Len=0Win=6553578 -> TCP D=130 S=1352 SynSeq=674711609 Len=0Win=6553578 -> TCP D=131 S=1352 SynSeq=674711609 Len=0Win=65535

21、78 -> TCP D=133 S=1352 SynSeq=674711609 Len=0Win=6553578 -> TCP D=135 S=1352 SynSeq=674711609Len=OWi n=65535这时候内容完全不同了,再也收不到刚才那些正常的网络包,只有DDoS包 大家注意一下,这里所有的 Syn Flood 攻击包的源地址都是伪造的,给追查工作 带来很大困难。这时在被攻击主机上积累了多少Syn的半连接呢?我们用netstat 来看一下:# netstat -an | grep SYN192.168.O.183.9 127.O.O.79.18O1 O O 24656 O SYN_RCVD192.168.O.183.13 127.O.O.79.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论