什么是 DDoS 僵尸网络?

僵尸网络攻击是有史以来规模最大的几次 DDoS 攻击的罪魁祸首。 了解如何使用僵尸网络恶意软件感染设备、如何远程控制机器人,以及如何保护网络免受僵尸网络侵扰。

学习目标

阅读本文后,您将能够:

  • 定义 DDoS 僵尸网络
  • 解释创建僵尸网络的原因
  • 了解攻击者如何远程控制僵尸网络
  • 关于禁用僵尸网络和预防感染的策略的理由

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是僵尸网络?

僵尸网络(botnet)是指一组受到恶意软件感染并遭到恶意用户控制的计算机。术语“僵尸网络”由“机器人(bot)”和“网络(network)”两个词组合而成,每台受感染设备被称为“机器人”。僵尸网络可用于完成非法或恶意的任务,包括发送垃圾邮件、窃取数据、投放勒索软件欺诈性点击广告或发动分布式拒绝服务(DDoS)攻击

虽然某些恶意软件(如勒索软件)会对设备所有者产生直接影响,但 DDoS 僵尸网络恶意软件的可见性可能各不相同;一些恶意软件用于完全控制设备,另一些恶意软件则以后台进程的形式偷偷运行,同时默默等待攻击者或“僵尸牧人”发出指令。

自我传播僵尸网络可通过各种不同渠道招募更多机器人。感染路径包括利用网站漏洞、特洛伊木马恶意软件及破解弱身份验证来获得远程访问权限。获得访问权限后,所有这些感染方法都将在目标设备上安装恶意软件,以便僵尸网络操控者进行远程控制。一旦设备受到感染,可能尝试通过向周边网络招募其他硬件设备,以自行传播僵尸网络恶意软件。

虽然无法确定特定僵尸网络中机器人的确切数量,但根据估算,复杂僵尸网络的机器人总数从几千一直延伸到百万以上。

DDoS 僵尸网络攻击动画

僵尸网络因为什么原因而诞生?

使用僵尸网络的原因多种多样,包括激进主义和国家赞助的破坏活动,许多攻击纯粹是为了牟利。在线招募僵尸网络服务所需的费用相对较低;特别是,对比可能造成的损失,价格优势尤为显著。另外,创建僵尸网络的门槛也足够低,因而成为某些软件开发人员的牟利手段,在监管和执法力度有限的地区应用尤其广泛。综合以上,提供招募出租的在线服务迅速风靡全球。

如何控制僵尸网络?

僵尸网络的核心特征是能够接收僵尸牧人(bot herder)发出的更新指令。由于能够与网络中每个机器人进行通讯,攻击者可改变攻击手段、更改目标IP 地址、终止攻击或进行其他自定义行动。僵尸网络设计各不相同,但控制结构可分为两大类:

客户端/服务器僵尸网络模型

客户端/服务器模型模拟传统远程工作站的工作流程,其中每台机器都连接到集中式服务器(或少数集中式服务器),以便访问信息。在这种模型中,每个机器人将连接到命令和控制中心(CnC)资源(例如 Web 域或 IRC 通道),以便接收指令。通过使用这些集中式存储库向僵尸网络传达新命令,攻击者只需修改每个僵尸网络从命令中心获取的原始资源,即可向受感染机器传达最新指令。控制僵尸网络的集中式服务器可以是攻击者自有及操控的设备,也可以是一台受感染的设备。

目前已发现大量流传甚广的集中式僵尸网络拓扑,包括:

星形网络拓扑

星形网络拓扑动画

多服务器网络拓扑

多服务器网拓扑动画

分层网络拓扑

分层网络拓扑动画

在以上各类客户端/服务器模型中,每个机器人均连接命令中心资源(如 Web 域或 IRC 通道)以接收指令。鉴于使用这些集中式存储库向僵尸网络传达新命令,攻击者只需从一个命令中心修改各个僵尸网络占用的原始资源,即可向受感染机器传达最新指令。

同时,利用有限数量的集中来源即可向僵尸网络发送最新指令,这种简便性成为此类机器的又一漏洞;若要移除使用集中式服务器的僵尸网络,只需中断这台服务器便可。在这一漏洞的驱使下,僵尸网络恶意软件创建者不断发展,探索出一种不易受到单一或少量故障点干扰的新模型。

点对点僵尸网络模型

为规避客户端/服务器模型漏洞,最近恶意用户一直使用分散式对等文件共享组件设计僵尸网络。在僵尸网络中嵌入控制结构,消除采用集中式服务器的僵尸网络的单点故障,缓解攻击的难度随之提高。P2P 机器人可以同时是客户端和命令中心,协同相邻节点传播数据。

点对点僵尸网络会维护受信任的计算机列表,僵尸网络可根据列表往来通信并更新其恶意软件。限制机器人连接的其他机器数量,使每个机器人仅对相邻设备公开,这使得跟踪和缓解难度相应增高。由于缺乏集中式命令服务器,点对点僵尸网络更容易受到僵尸网络创建者以外的其他用户的控制。为防止失控,分散式僵尸网络通常经过加密以限制访问。

对等网络拓扑动画

IoT 设备如何变身为僵尸网络?

没有人会通过后院用来观察喂鸟器的无线 CCTV 摄像头操作网上银行业务,但这并不意味着此类设备无法发出必要的网络请求。IoT 设备的强大能力,加上安全防护薄弱或配置不当,为僵尸网络恶意软件招募新机器人加入攻击队伍创造了机会。IoT 设备持续增长,DDoS 攻击随之掀开新篇章,因为很多设备配置不当,很容易受到攻击。

如果 IoT 设备漏洞硬编码到了固件中,更新难度将进一步加大。为降低风险,应更新装有过期固件的 IoT 设备,因为自初始安装设备开始默认凭证通常保持不变。很多廉价硬件制造商并不会因提高设备安全性而获得奖励,因而僵尸网络恶意软件用于攻击 IoT 设备的漏洞始终存在,这项安全风险仍未消除。

如何禁用现有的僵尸网络?

禁用僵尸网络的控制中心:

如果可以识别控制中心,禁用按照命令和控制模式设计的僵尸网络也会变得更加轻松。切断故障点的头节点可以使整个僵尸网络进入离线状态。因此,系统管理员和执法人员可集中精力关闭这些僵尸网络的控制中心。如果命令中心所在的国家/地区执法力度较弱或不愿做出干预,实施难度将进一步加大。

避免个人设备感染:

对于个人计算机,若要重新获得对计算机的控制权,可以采用以下策略:运行防病毒软件、使用安全备份重新安装软件,或者在重新格式化系统后使用初始状态的计算机重新启动。对于 IoT 设备,则可采用以下策略:刷新固件、恢复出厂设置或以其他方式格式化设备。如果这些方案不可行,设备制造商或系统管理员有可能提供其他策略。

如何保护设备,防止其加入僵尸网络?

创建安全密码:

对于很多易受攻击的设备,减少遭受僵尸网络攻击的危险,可能只需要更改管理凭据,以避免使用默认用户名和密码。创建安全密码可增加暴力破解的难度,创建了高度安全的密码,则暴力破解几乎不再可能。例如,感染 Mirai 恶意软件的设备将扫描 IP 地址,查找响应设备。一旦设备对 Ping 请求做出响应,机器人将尝试使用一个预设默认凭证列表登录找到的设备。如果更改了默认密码并且采用了安全密码,机器人将放弃并继续寻找更容易攻击的设备。

仅允许通过可信方式执行第三方代码:

如果采用手机的软件执行模式,则仅允许的应用可以运行,赋予更多控制来终止被认定为恶意的软件(包括僵尸网络)。只有管理软件(如内核)被利用才会导致设备被利用。这取决于首先具有安全内核,而大多数 IoT 设备并没有安全内核,此方法更适用于运行第三方软件的机器。

定期擦除/还原系统:

在过了设定的时间后还原为已知良好状态,从而删除系统收集的各种垃圾,包括僵尸网络软件。如果用作预防措施,此策略可确保即使恶意软件静默运行也会遭到丢弃。

实施良好的入口和出口过滤实践:

其他更高级的策略包括在网络路由器和防火墙执行过滤。安全网络设计的一个原则是分层:在公共可访问资源周围的限制最小,同时对您认为敏感的内容加强安全保护。此外,对跨越边界的任何内容进行仔细检查:包括网络流量、U 盘等。采用高质量过滤的做法后,更有可能在 DDoS 恶意软件及其传播方法和通讯进入或离开网络前将其拦截。

如果您正受到攻击,可以采取一些措施缓解压力。如果已使用 Cloudflare,则可按照以下步骤缓解攻击。我们在 Cloudflare 实施多方面 DDoS 保护,以便缓解众多可能的攻击手段。详细了解 Cloudflare DDoS 保护