网络安全知识科普-反射型DDoS攻击与防御方法
来源: 发布时间:2018-04-13
01. 反射型DDoS攻击
反射型的 DDoS 攻击是一种新的变种。攻击者并不直接攻击目标服务 IP,而是利用互联网的某些特殊服务开放的服务器,通过伪造被攻击者的 IP 地址、向有开放服务的服务器发送构造的请求报文,该服务器会将数倍于请求报文的回复数据发送到被攻击 IP,从而对后者间接形成 DDoS 攻击。
反射攻击的实现主要是两方面:
第一、请求包要小于回应包很多,他们之间相差的倍数就是反射攻击的放大倍数,目前比较受欢迎的是NTP、DNS、SSDP、SNMP等等,都是UDP协议上实现的。
第二、攻击方要能实现源地址的伪造,目前我国电信是不能随意伪造源地址发送数据的,电信全网都开启了松散的urpf(单播 反向路由查找技术 ),只能伪造同一网段的源地址,这让反射DDoS攻击受到很多的限制。
如上图所示,这里的攻击者(Attacker,实际情况中更多的会利用傀儡机进行攻击)不直接把攻击包发给受害者,而是冒充受害者给放大器(Amplifiers)发包,然后通过放大器再反射给受害者。
在反射型攻击中,攻击者利用了网络协议的缺陷或者漏洞进行 IP 欺骗,主要是因为很多协议(例如 ICMP,UDP 等)对源 IP 不进行认证。同时,要达到更好的攻击效果,黑客一般会选择具有放大效果的协议服务进行攻击。总结一下就是利用 IP 欺骗进行反射和放大,从而达到四两拨千斤的效果。
02. 如何防御反射型DDoS攻击
当被攻击者被DDoS攻击时,立刻抓包分析出攻击的地址(这里的地址是指反射服务器的ip地址)和利用的协议(NTP、DNS等)然后把这些信息传给防御者,防御者根据这些信息选择合适的防御方式,我们可以使用一台或者多台可以伪造地址的云主机作为防御者,带宽要在1G以上比较好。成本一台一个月大概1000多。
第一种防御方式,是获得了反射服务器的地址列表后,迅速进行排列,让排名靠前的一半也DDOS攻击靠后的一半,原因是按照数量排列靠前的说明发包多,也间接说明这个服务器带宽大,让他来攻击后面带宽小的比较容易起作用,这样消耗前一半的带宽,也阻塞后一半的入口带宽,如果效果好理论上能减少攻击流量的一半以上。但是这种方法对于NTP和ssdp的攻击不适用,因为NTP服务器和SSDP所在的网络大部分是在家庭网络(比如家用路由器),家庭网络上行带宽小下行带宽大,所以无法达到想要的效果。
第二种防御方法,就是一种反射DDOS攻击的特殊形式,攻击自己的DDOS,因为防御者没有业务,所以把攻击流量都引到自己身上也不会有什么关系,如果防御者的带宽跟攻击者一样,那么理论上能是攻击流量减少50%。如果防御者比较多,减少的会更多。这种方式最好实现,不需要伪造地址,家庭宽带也可以。