浅谈DDOS攻击

preface

做过网站运维的同事来说,绝对遇到过DDOS的攻击吧,这样的攻击实属令人头疼,那么今年就说DDOS的攻击与防护吧。

原理

DDOS(Distributed Denial Of Service)中文是分布式拒绝攻击,是指借助客户或者服务器技术,将多个计算机(特别是僵尸网络的肉鸡,指被黑客入侵后控制的网络服务器或者个人PC)联合起来作为攻击平台的,对一个或者多个目标发起DDOS攻击,从而成倍地提高拒绝服务攻击的威力。

典型的DDOS攻击逻辑图

浅谈DDOS攻击

如上图所示,,黑客通过控制机,向其他的肉鸡发起指令,通过目录程序发起流量,引导到被攻击服务器上。被攻击服务器受限于带宽和CPU等硬件处理能力,导致无法向正常的客户提供服务,造成直接的经济损失。在这种攻击模式下,攻击的能力取决于黑客可以控制的肉鸡数量以及肉鸡提供的网络带宽容量。

另一种典型的DDOS攻击逻辑图

浅谈DDOS攻击

在这种模式下,肉鸡服务器通过构造虚假的DNS请求(UDP数据以被攻击服务器为源IP)向全球数量巨大的开放DNS服务器发起请求,开放DNS服务器产生响应后发给被攻击服务器。需要明白的是,由于虚假的DNS请求是以被攻击服务器的IP作为来源IP,所以当DNS服务器响应的时候,他的数据包是以以被攻击服务器的IP作为目的IP,所以响应数据包是直接把包发给被攻击服务器的。

在这种攻击模式下,攻击行为充分利用了DNS请求响应的非对称特点,即请求流量小,响应数据流量大。一个典型的DNS放大攻击(DNS Amplification Attack)或者NTP放大攻击(NTP Amplification Attack)中,响应数据和请求数据的流量对比可以达到20:1甚至200:1,放大效果非常明显。同时UDP不需要实际建立连接,对源地址没有任何形式的校验,一次肉鸡可以伪装成被共计服务器发起UDP请求。

在目前的情况下,DDOS以UDP协议居多,同事利用类似DNS反射或者NTP反射的漏洞进行攻击。在遭受小流量DDOS攻击的时候,可以通过上层设备(防火墙之类的)过滤非法的UDP数据进行清洗。在遭受大流量的DDOS攻击的时候,目前比较好的方案就是和电信运营商合作,在源头上或者ISP互联接口上进行清洗。我们可以参考云堤,云堤是电信推出的运营商级DDOS防护方案,使用灵活高效。官网地址是http://www.damddos.com

上一篇:eq相等 ne、neq不相等, gt大于, lt小于 gte、ge大于等于 lte、le 小于等于 not非 mod求模 等


下一篇:DDoS 攻击与防御:从原理到实践(上)