僵尸网络是怎样被用于DDOS攻击的
2016年10月21日,僵尸美国东海岸的网络互联网几乎瘫了半天。Twitter刷不出推文,样被用于Netflix放不了视频,攻击Spotify歌单变成灰色。僵尸很多人以为是网络自家宽带坏了,重启了三次路由器。样被用于真正的攻击原因藏在DNS服务商Dyn的服务器日志里——每秒数千万次查询请求像洪水一样涌来,而这些请求的僵尸来源,是网络分布在全球各地的数十万台被感染的摄像头、路由器和DVR。样被用于
这就是攻击僵尸网络发动DDoS攻击的典型画面。它不是僵尸黑客坐在电脑前疯狂敲键盘,而是网络一群被遥控的“肉鸡”同时朝一个目标吐口水,活活把对方淹死。样被用于
先得把“僵尸”养起来
僵尸网络不是一天建成的。攻击者先要找到大量有漏洞的联网设备。2016年那个叫Mirai的恶意软件,专门扫描物联网设备——出厂默认密码是admin/admin的那种。你家角落里那个两年没更新过固件的网络摄像头,很可能就是候选者。
感染过程通常很安静。恶意软件装上去之后,设备照常工作,摄像头照常拍,路由器照常转发数据。用户完全察觉不到。这些设备会定期向一个C&C服务器(命令与控制服务器)报到,像一群等待指令的士兵。一个中等规模的僵尸网络,养个几十万台设备不算难事。
攻击指令一下,洪水就来了
当攻击者决定打某个目标时,他在C&C服务器上发一条指令。所有“僵尸”设备同时收到命令,开始向目标IP发送数据包。攻击类型有好几种,效果不一样。
流量型攻击最粗暴——直接往目标带宽里灌垃圾数据。2018年GitHub遭遇的那次,峰值流量达到1.35Tbps,相当于把整个目标出口堵得死死的。另一种是协议型攻击,比如SYN Flood,利用TCP握手协议的缺陷,让目标服务器维持大量半开连接,耗尽它的连接表。还有一种叫应用层攻击,看起来流量不大,但专门打你最耗资源的接口,比如搜索功能或登录页面,一个请求就能让数据库跑半天。
Mirai那次的特别之处在于,它控制的设备太多了,而且很多是从来没被纳入安全视野的物联网设备。一台摄像头发出的攻击流量可能只有几Mbps,但五十万台同时发,就是几百Gbps。Dyn这种级别的DNS服务商也扛不住。
为什么难防
传统防御思路是封IP。但僵尸网络的IP来自全球各地, residential IP、企业IP、移动网络IP混在一起。你封掉一批,下一批又上来了。而且很多被感染的设备本身是无辜的,封掉它们可能影响正常用户。
更麻烦的是,攻击者越来越喜欢用“反射放大”技术。比如利用DNS服务器或NTP服务器,发一个小请求,对方回一个几十倍大的响应,直接打到受害者身上。这样攻击者自己的带宽消耗很小,放大倍数却很高。2018年那个1.35Tbps的记录,就是通过memcached服务器反射放大的。
我跟踪过几次中小规模的DDoS事件,发现一个规律:攻击持续时间通常不长,几分钟到几小时。但就在那几十分钟里,目标业务全停。对电商来说,大促期间停一小时,损失可能上百万。对游戏服务器来说,玩家掉线一次,可能就再也不回来了。
僵尸网络像一支不需要发工资的军队,平时潜伏,战时集结。你永远不知道下一个被征召的,是不是你家那个还在用默认密码的智能插座。









