DDoS 攻击与防范读书笔记

DDoS 的历史

  • 1996 年 9 月 6 日,Panix 遭遇 SYN FLOOD
  • 1996 年 9 月 19 日,CERT 发布“CA-1996-21”,提出缓解 SYN FLOOD 和 IP 欺骗攻击的建议。
  • 1997 年,Trinoo 攻击工具发布,SMURF 源码发布
  • 2000 年,Yahoo 遭遇 DDoS,攻击者是黑手党男孩
  • 2000 年,IETF 发布 RFC 2827,"Network Ingress Filtering:Defeating Denial of Service Attacks which employ IP Source Address Spoofing"
  • 2001 年,IRC 服务 EFNet 遭到 3 Gbits/s DDoS 攻击
  • 2002 年,13 台根域名服务器受攻击

......

  • 2010 年,Anonymous 宣布开展阿桑奇复仇行动
  • 2011 年,CIA 网站遭到 LulzSec 的 DDoS
  • 2013 年,Spamhaus 受到史上最大规模 DDoS,峰值 300 Gbits/s
  • 2013 年,互联网系统协会宣布在新版 BIND 中增加 RRL 模块用来防范 DDoS

DDoS 的攻击来源

绝大多数攻击来源于僵尸网络(Botnet),书中主要介绍了僵尸网络的演化。僵尸网络最早可追溯到 IRC 的 Bot 工具 Eggdrop,这是个良性 Bot。这种 Bot 启发了黑客的思路,进而产生了僵尸网络,并一发不可收拾。

根据僵尸网络所依赖的协议,其演进流程从 IRC 到 HTTP 再到 P2P,Zeus 为典型的 HTTP 僵尸网络,主机感染数量庞大的 Zeroaccess 为 P2P 僵尸网络。

Zeus 的泄露对互联网影响深远,目前有黑客为 Zeus 添加了 P2P 模块。另外,目前以互联网中的高性能服务器作为 Bot 的趋势正在上升,因为受感染的服务器无论在系统资源,在线时间等各方面,都优于传统 PC,移动设备作为僵尸机也是一个趋势。

利用僵尸网络进行 DDoS 的基本原理如图所示。

最后,Anonymous 组织基于黑客行动主义,采用十分特殊的自愿型僵尸网络,即由大量的人在同一时间,有意识地组成僵尸网络,使用工具对目标进行攻击。

DDoS 的攻击方法

DDoS 攻击主要有以下几大类:攻击带宽资源、攻击系统资源、攻击应用资源,目前常见的反射攻击,属于攻击带宽。

攻击带宽资源

直接攻击

ICMP/IGMP Flood
攻击者向目标发送大量 ICMP/IGMP 报文,用来消耗目标的带宽资源,可以使用 hping 等工具发起此类攻击,但被攻击目标可以在网络边界直接过滤此类攻击包,所以目前很少使用,也没什么效果。

UDP Flood
攻击原理与 ICMP 相同,攻击者发送大量 UDP 包来消耗目标的带宽资源。UDP Flood 攻击可以分为小包攻击和大包攻击。小包是 64B,这样可以增大 pps,给对方网络设备增加压力;大包是大于 1500B 的数据包,能有效占用带宽,并且逼迫对方做分片重组运算,拖慢响应。
UDP Flood 历史悠久,hping,LOIC 等工具可以发动此攻击,对自身的消耗大,对对方的消耗不大。

反射攻击

这种攻击称为 DRDoS,主要特点是利用反射流量对目标进行攻击,并隐藏了攻击来源。如果做个比喻的话,原始的 DDoS 是拿机关枪直接打人,而 DRDoS 则是拿机关枪打墙,利用从墙上反弹回的弹壳伤人。

在反射攻击中,攻击者将源 IP 伪造成要攻击的目标主机,向反射器发送数据包,而反射器对数据包根据源 IP 进行回复的时候,海量的数据包就发送到了目标主机上,以达到攻击目的。这里面有个关键就是,反射器必须具有放大的作用,即一个较小的请求包,会引发一个较大的回复包,这样攻击者才能以一个较小的请求,反射并放大给目标主机,使目标主机受到攻击,其原理如图所示。

因为反射攻击中源 IP 地址是伪造的,所以攻击者和被攻击者之间无法进行多次交互,因此发动反射攻击通常使用不需要认证或者握手的协议,即绝大多数反射攻击都是基于 UDP 协议的。

攻击系统资源

攻击系统资源不是通过占用带宽,而是通过促使目标主机的系统资源快速消耗,进而拖慢响应速度。包括:TCP Flood,SYN Flood,PSH + ACK Flood,RST Flood,SockStress,THC SSL DoS,SSL Flood

攻击应用资源

攻击应用资源包括:DNS Query,DNS NXDOMAIN Flood,HTTP Flood,Slowloris,慢速 POST。

最终总结如下:

DDoS 主要攻击工具

DDoS 的缓解和治理

  1. 由多方出面,治理僵尸网络,治理反射点。
  2. CDN 和 Anycast,以及流量稀释和流量清洗。

文章参考提取自:《破坏之王:DDoS 攻击与防范深度剖析》

其余有用相关资料:

  1. http://blog.aliyun.com/author/aliyun_blog?spm=0.0.0.0.pQw3zi
  2. http://blog.nsfocus.net/2015-h1-nsfocus-ddos-threat-report/
comments powered by Disqus