更新时间:2022-08-25 18:56
僵尸主机是指感染僵尸程序病毒,从而被黑客程序控制的计算机设备。该计算机设备可以是终端设备,也可以是云端设备。其可以随时按照黑客的命令与控制(C&C, command and control)指令展开拒绝服务(DoS)攻击或发送垃圾信息。通常,一部被侵占的电脑只是僵尸网络里面众多中的一个,会被用来去运行一连串的或远端控制的恶意程序。一般电脑的拥有者都没有察觉到自己的系统已经被“僵尸化”,就仿佛是没有自主意识的僵尸一般。
僵尸主机的感染过程可分传播、命令与控制( C&C )、发动攻击三个阶段。正常主机在感染僵尸程序后,会主动与 Botnet的命令与控制服务器( C&C Server )进行通信,被 Botnet 的主控者操控进行攻击行为。因此,命令与控制是整个工作过程中的核心部分。
( 1 )传播阶段把僵尸程序通过自动扫描大规模网段或是利用系统漏洞和弱口令等手法进行传播,并在悄无声息地感染网络中的计算机。被感染的僵尸主机会主动加入僵尸网络。
( 2 )命令与控制阶段命令与控制信道是攻击者和僵尸主机之间的通信渠道。攻击者会通过命令与控制信道对僵尸主机进行操控,它命令僵尸主机执行预先定义好的指令,让僵尸主机执行恶意行为。
( 3 )发动攻击阶段僵尸主机只是单纯监听命令与控制信道,只要监听到命令,会立即执行大规模的破坏操作。如扫描网络、散播恶意软件、安装恶意软件、窃取用户机密信息等,即使这样,僵尸主机的攻击活动是不容易被主机用户本身所察觉。
如图1感染过程:
①垃圾邮件寄送人网站
②垃圾邮件寄送人
③垃圾电邮发送软件
④感染的电脑
⑤病毒或木马
⑦使用者
⑧网站访问流
僵尸程序被被攻击者秘密植入正常主机就变成僵尸主机即Bot 机,它通过主动连接到 Botnet 的命令与控制服务器( C&CServer ),才能加入相应的僵尸网络,它从 C&C 服务器读取控制命令,按照指令执行相应的动作。因此, Bot 发现或找到 C&C Server是整个 Botnet 活动的核心部分,也是决定 Botnet 能够正常运作的关键。如何准确地识别僵尸主机,并切断 bot 主机和控制服务器之间的联系,是防御僵尸网络的首要任务,这对发现新的僵尸网络具有非常重要的意义。
Bot 发现 C&C Server 机制的方式有多种,从僵尸网络的发展历程来看,僵尸主机的识别检测有以下几种方法:
( 1 )基于固定 IP 地址或域名的 Bot 识别这种方式是多数僵尸网络采用的方式。利用预先定义好的固定 IP 地址或者域名去找到控制服务器。僵尸网络通过分布广泛的多个静态 IP 地址或域名,结合内建的更新机制和域名或 IP 地址的跨越管理问题,使得这样的僵尸网络具有很好的抗关停能力。可以通过主机的通信过程和网络流量的异常操纵作为行为特征检测法来对感染僵尸程序的 Bot 主机进行识别。如端口扫描、周期性交互等异常行为。
( 2 )基于随机扫描的 Bot 识别这种方式是僵尸网络几乎不采用的方式,因为过于盲目地随机发送数据包来寻找 C&C Server ,所以极容易被识别。只有Sinit 僵尸网络采用了这种机制。这种方式可以通过大量的网络通信流量检测来识别 Bot 主机。
( 3 )基于 P2P 动态发现机制的 Bot 识别基于 P2P 协议的僵尸主机在每个阶段表现出来的特征行为是完全不一样的。初始阶段,僵尸主机会随机向网络中的节点请求连接,由于连接不成功导致出现大量 ICMP 报文错误、 ARP 协议报文且连接成功率低。发呆阶段,感染僵尸程序的主机在同一时间点行为特征基本一致,导致僵尸主机与大量连接节点发生大小相似的通信量。攻击阶段,僵尸主机产生大量 SMTP 数据包或产生大量 TCP SYN 的数据包,并对指定目标发送 DDoS 攻击。这种环境下,我们可以分析 P2P 僵尸网络中节点和信息交换产生的流量和行为相似性的特点,通过分析网络流量、网络图来识别 Bot 主机。
( 4 )基于 Domain-flux 的 Bot 识别由于不同的域名生成算法,其所生成的域名集合会表现出不同的字符特征。为了在某段时间能够定位到同一命令与控制服务器,僵尸网络会修改或替换域名生成算法,并利用如时间、网络社区的热门话题等作为种子,来保证各 C&C Serve 在某一时间,某一域名被请求解析。而僵尸主机首先会通过某种域名算法产生大量伪随机域名,然后 Bot 逐个比对伪随机域名,直到与真正的C&C Server 取得通信为止。这样的方式能有效逃避追踪和检测,从而保护 C&C Server 地址信息,具有抗关停能力。Domain-Flux 是利用域名的检测来完成 Bot 主机的识别,如伪随机域名流量的长度、域名活跃时间分布、域名字符分布情况进行分析,检测到 Bot 主机。
( 5 )基于 Fast-flux 的 Bot 识别Fast-Flux 是近些年出现的僵尸网络最常用的通信技术,它是一种利用 DNS 实现的动态代理技术。基本原理是通过一些具有公共 IP 地址的僵尸主机作为代理( flux-agent )主机,形成一个动态的代理网络。把 C&C Server 的域名解析为代理主机的 IP 地址,然后隐藏在 flux-agent 背后进行操控。这种 Bot 主机识别可以对数据流特征分析检测,利用僵尸网络产生与正常通信流量不同的数据流量特征进行识别。如通信周期性、 Arp 请求速率异常等。
由于云计算平台提供弹性计算 、 弹性存储 、 云网络等基础设施产品 , 以及数据库 、 应用服务与中间件 、 大规模计算与分析等平台服务产品 , 具有灵活快捷 、 低成本等优势而快速发展 , 同时也面临诸多安全问题 : 云主机沦为肉鸡 、 网络缓慢 、 服务不可用 、 遭受勒索软件勒索等 。 随着黑客技术有朝着大众化方向发展的趋势, 能够掌握攻击他人系统技术的人越来越多 , 如果主机系统或应用上存在漏洞或安装了有问题的应用程序 , 被利用入侵后 , 主机可能就会沦为肉鸡 , 被黑客任意操控 。 当控制者和肉鸡之间所形成的一个可一对多控制的分布式网络, 又称为僵尸网络。
外部入侵:通过利用系统或应用层面的脆弱性 , 如弱口令 、 系统漏洞 、 应用漏洞 , 黑客通常使用一些已知的漏洞对互联网发起大规模的探测和攻击 , 对存在脆弱性的系统进行入侵 , 当攻击者成功获取到系统权限时 , 即可任意操控 , 其中包括上传后门程序或病毒木马。
针对肉鸡或僵尸主机 , 从感染的方式和过程上分析 , 检测防护手段大致可以分为事前检测及预防 ( 感染病毒前 ), 事中防御 ( 发生入侵或接收到病毒 ), 事后溯源 ( 已感染病毒 ) 3 个阶段。
事前检测及预防:
事中防御:
事后溯源:
僵尸主机广泛用于传发垃圾电邮,在2005年,估计有50至80%的垃圾电邮是由僵尸主机传送。这样发垃圾电邮的人就可以逃避侦查,甚至可以减少通讯费用,因为用的是“僵尸主机拥有人”的流量,“僵尸主机的拥有人”才要付款。这种垃圾电邮也极大促进了木马的传播,因为木马不能借助自我复制传播,只能借助垃圾电邮传播,但是蠕虫却可以由其他方式传播。
同理,僵尸主机可用作点击欺骗,就是点击那些按点击次数付费的网络广告。其他则被用来充作钓鱼或者钱骡招募网站的宿主。
僵尸主机可以用来进行分布式拒绝服务攻击,就是同时利用大量计算机有组织地冲击目标网站。大量互联网用户同时向网站服务器发出请求,以使网站崩溃,阻止正常用户访问。有一个变种称为分布式服务恶化,是对网站的温和反复冲击,由僵尸主机脉冲式进行,目的是使受害网站变慢而非崩溃。这种策略之所以有效,是因为集中的冲击可以迅速检测、应对,但脉冲式冲击所产生的网站速度减慢能数月甚至数年不被发现。
较为著名的攻击有2003年针对SPEWS服务的攻击,和2006年对蓝蛙(Blue Frog)服务的攻击。2000年,一些著名的网站(雅虎、易趣等等)受到加拿大的一个青少年MafiaBoy使用分布式拒绝服务攻击而停摆。另一个对grc.com的攻击案例也被仔细讨论。该攻击做案者,根据Gibson Research网站鉴定,大概是一位来自美国威斯康辛州基诺沙的13岁少年。Gibson Research网站的史蒂夫·吉布森拆解出一个用来僵尸化电脑的“机器人”,随后追踪到其散播者。在吉布森的书面研究纪录里,他描述了“机器人”控制的IRC如何运作此机器人。