僵尸网络是指一组被恶意软件感染并处于恶意行为者控制之下的计算机。术语botnet 是由机器人和网络两个词组合而成,每个受感染的设备都称为bot。僵尸网络可以设计为完成非法或恶意任务,包括发送垃圾邮件、窃取数据、勒索软件、欺诈性点击广告或分布式拒绝服务(DDoS) 攻击。
虽然某些恶意软件(例如勒索软件)会对设备所有者产生直接影响,但DDoS 僵尸网络恶意软件可以具有不同级别的可见性;一些恶意软件旨在完全控制设备,而其他恶意软件作为后台进程静默运行,同时静默等待来自攻击者或“机器人牧羊人”的指令。
自我传播的僵尸网络通过各种不同的渠道招募额外的机器人。感染途径包括利用网站漏洞、特洛伊木马恶意软件和破解弱身份验证以获得远程访问。一旦获得访问权限,所有这些感染方法都会导致在目标设备上安装恶意软件,从而允许僵尸网络的操作员进行远程控制。一旦设备被感染,它可能会尝试通过招募周围网络中的其他硬件设备来自我传播僵尸网络恶意软件。
虽然确定特定僵尸网络中机器人的确切数量是不可行的,但对复杂僵尸网络中机器人总数的估计从几千到超过一百万不等。
为什么要创建僵尸网络?
使用僵尸网络的原因包括激进主义和国家支持的破坏,许多攻击只是为了盈利而进行。在线雇用僵尸网络服务相对便宜,尤其是与它们可能造成的损害程度有关。创建僵尸网络的障碍也低到足以使其成为某些软件开发人员的一项有利可图的业务,尤其是在监管和执法有限的地理位置。这种组合导致提供雇佣攻击的在线服务激增。
僵尸网络是如何控制的?
僵尸网络的一个核心特征是能够从僵尸牧者那里接收更新的指令。与网络中的每个机器人通信的能力允许攻击者交替攻击向量、更改目标IP 地址、终止攻击和其他自定义操作。僵尸网络设计各不相同,但控制结构可以分为两大类:
客户端/服务器僵尸网络模型
在客户机/服务器模型模仿传统远程工作站的工作流,其中每个单独的机器连接到集中式服务器(或少数集中式服务器),以便访问信息。在此模型中,每个机器人都将连接到命令和控制中心(CnC) 资源,例如 Web 域或 IRC 通道以接收指令。通过使用这些集中存储库为僵尸网络提供新命令,攻击者只需修改每个僵尸网络从命令中心消耗的源材料,即可更新受感染机器的指令。控制僵尸网络的中央服务器可能是攻击者拥有和操作的设备,也可能是受感染的设备。
已经观察到许多流行的集中式僵尸网络拓扑,包括:
星型网络拓扑
多服务器网络拓扑
分层网络拓扑
在这些客户端/服务器模型中的任何一个中,每个机器人都将连接到命令中心资源,如 Web 域或 IRC 通道以接收指令。通过使用这些集中存储库为僵尸网络提供新命令,攻击者只需修改每个僵尸网络从命令中心消耗的源材料,即可更新受感染机器的指令。
与从有限数量的集中源更新僵尸网络指令的简单性密切相关的是这些机器的漏洞;为了使用集中式服务器移除僵尸网络,只需要中断服务器即可。由于此漏洞,僵尸网络恶意软件的创建者已经发展并转向一种新模型,该模型不易因单个或几个故障点而中断。
点对点僵尸网络模型
为了规避客户端/服务器模型的漏洞,最近使用分散式对等文件共享组件设计了僵尸网络。将控制结构嵌入僵尸网络内部,可以消除具有集中服务器的僵尸网络中存在的单点故障,从而使缓解工作更加困难。P2P 机器人既可以是客户端,也可以是指挥中心,与其相邻节点携手合作来传播数据。
点对点僵尸网络维护一个受信任的计算机列表,它们可以通过这些计算机进行通信并更新其恶意软件。通过限制机器人连接的其他机器的数量,每个机器人只暴露于相邻的设备,使其更难跟踪和更难缓解。缺乏集中式命令服务器会使点对点僵尸网络更容易受到僵尸网络创建者以外的其他人的控制。为了防止失去控制,分散的僵尸网络通常被加密以限制访问。
物联网设备如何成为僵尸网络?
没有人通过他们放在后院观看喂鸟器的无线闭路电视摄像机进行网上银行业务,但这并不意味着该设备无法发出必要的网络请求。物联网设备的强大功能加上薄弱或配置不当的安全性为僵尸网络恶意软件创造了一个机会,可以将新的机器人招募到集体中。物联网设备的增加导致了DDoS 攻击的新局面,因为许多设备配置不当且容易受到攻击。
如果物联网设备的漏洞被硬编码到固件中,更新就会更加困难。为了降低风险,应更新固件过时的物联网设备,因为默认凭据通常从设备的初始安装开始保持不变。许多折扣硬件制造商并没有激励他们提高设备的安全性,这使得僵尸网络恶意软件对物联网设备构成的漏洞仍然是一个未解决的安全风险。
如何禁用现有的僵尸网络?
禁用僵尸网络的控制中心:
一旦可以识别控制中心,就可以更轻松地禁用使用命令和控制模式设计的僵尸网络。在故障点切断头部可以使整个僵尸网络脱机。因此,系统管理员和执法官员专注于关闭这些僵尸网络的控制中心。如果指挥中心在执法能力较弱或不愿干预的国家/地区运营,则此过程会更加困难。
消除单个设备上的感染:
对于单个计算机,重新获得对计算机的控制权的策略包括运行防病毒软件、从安全备份重新安装软件,或在重新格式化系统后从干净的计算机重新启动。对于IoT 设备,策略可能包括刷新固件、运行出厂重置或以其他方式格式化设备。如果这些选项不可行,设备制造商或系统管理员可能会提供其他策略。
如何防止设备成为僵尸网络的一部分?
创建安全密码:
对于许多易受攻击的设备,减少僵尸网络漏洞的暴露就像将管理凭据更改为默认用户名和密码以外的其他内容一样简单。创建一个安全的密码使蛮力破解变得困难,创建一个非常安全的密码使蛮力破解几乎不可能。例如,感染Mirai恶意软件的设备将扫描IP 地址以寻找响应设备。一旦设备响应 ping 请求,机器人将尝试使用预设的默认凭据列表登录到该设备。如果更改了默认密码并实施了安全密码,则机器人将放弃并继续寻找更多易受攻击的设备。
仅允许可信执行第三方代码:
如果您采用软件执行的手机模型,则只能运行允许的应用程序,从而授予更多控制权来终止被视为恶意的软件,包括僵尸网络。只有对管理软件(即内核)的利用才可能导致对设备的利用。这首先取决于拥有安全内核,大多数物联网设备都没有,并且更适用于运行第三方软件的机器。
定期系统擦除/恢复:
在设定的时间后恢复到已知的良好状态将删除系统收集的任何垃圾,包括僵尸网络软件。此策略用作预防措施时,可确保即使是静默运行的恶意软件也能随垃圾一起被丢弃。
实施良好的入口和出口过滤实践:
其他更高级的策略包括网络路由器和防火墙的过滤实践。安全网络设计的一个原则是分层:您对可公开访问的资源的限制最少,同时不断加强您认为敏感的事物的安全性。此外,必须仔细检查任何跨越这些边界的事物:网络流量、USB 驱动器等。质量过滤实践增加了在进入或离开网络之前捕获 DDoS 恶意软件及其传播和通信方法的可能性。
如果您目前正受到攻击,您可以采取一些措施来摆脱压力。如果您已经在使用Cloudflare,则可以按照以下步骤来减轻攻击。我们在Cloudflare 实施的 DDoS 保护是多方面的,以减轻许多可能的攻击向量。