资源描述
僵尸网络现状
僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。
攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。
之所以用僵尸网络这个名字,是为了更形象的让人们认识到这类危害的特点:众多的计算机在不知不觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被人利用的一种工具。
从传统恶意代码形态包括计算机病毒、网络蠕虫、特洛伊木马和后门工具的基础上进化而来,僵尸网络通过相互融合发展成为目前最为复杂的攻击方式之一.
由于为攻击者提供了隐匿、灵活且高效的一对多控制机制,僵由于为攻击者提供了隐匿、灵活且高效的一对多控制机制,僵尸网络得到了攻击者的青睐和进一步的发展,从而已成为因特网最为严重的威胁之一.利用僵尸网络,攻击者可以轻易地控制成千上万台主机对因特网任
意站点发起分布式拒绝服务攻击,并发送大量垃圾邮件,从受控主机上窃取敏感信息或进行点击欺诈以牟取经济利益.
0×02
BotNet控制方式
IRC Botnet。
是指控制和通信方式为利用IRC协议的Botnet,形成这类Botnet的主要bot程序有spybot、GTbot和SDbot,目前绝大多数Botnet属于这一类别。
AOL Botnet。
与IRC Bot类似,AOL为美国在线提供的一种即时通信服务,这类Botnet是依托这种即时通信服务形成的网络而建立的,被感染主机登录到固定的服务器上接收 控制命令。AIM-Canbot和Fizzer就采用了AOL Instant Messager实现对Bot的控制。
P2P Botnet。
这类Botnet中使用的bot程序本身包含了P2P的客户端,可以连入采用了Gnutella技术(一种开放源 码的文件共享技术)的服务器,利用WASTE文件共享协议进行相互通信。由于这种协议分布式地进行连接,就使得每一个僵尸主机可以很方便地找到其他的僵尸 主机并进行通信,而当有一些bot被查杀时,并不会影响到Botnet的生存,所以这类的Botnet具有不存在单点失效但实现相对复杂的特点。 Agobot和Phatbot采用了P2P的方式。
从原始的IRC BotNet进化为P2P分布式BotNet,通过下图不难看出,BotNet的控制手段在应对安全团队kill C&C方案上的变化。
一个典型的僵尸网络工作机制大致如下:
1.攻击者通过各种传播方式使得目标主机感染僵尸程序;
2.僵尸程序以特定格式随机产生的用户名和昵称尝试加入指定的 IRC 命令与控制服务器;
3.攻击者普遍使用动态域名服务将僵尸程序连接的域名映射到其所控制的多台 IRC 服务器上,从而避免由于单一服务器被摧毁后导致整个僵尸网络瘫痪的情况;
4.僵尸程序加入到攻击者私有的 IRC 命令与控制信道中;
5.加入信道的大量僵尸程序监听控制指令;
6.攻击者登陆并加入到 IRC 命令与控制信道中,通过认证后,向僵尸网络发出信息窃取,僵尸主机控制和攻击指令;
7.僵尸接受指令,调用相应模块执行,完成攻击者的攻击目标.
0×03
在做些什么?
《幽灵》中数次攻击,不论是大哥组的DDos抑或是金宇炫童鞋的Click cheat,BotNet都发挥了重要作用,以Torpig为例,该僵尸网络程序目的为窃取身份认证信息、信用卡、银行账号和支付宝账户等。典型的Torpig感染方式如图:
当然作为一些联网计算机的集合,僵尸网络可以做的事情很多:
吸纳“新成员”。不断扩大僵尸数目。
2)分布式拒绝服务攻击
使用Botnet发动DDos攻击是当前最主要的威胁之一,攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。
3)垃圾邮件与钓鱼链接
一些bots会设立sockv4、v5 代理,这样就可以利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息。
4)窃取秘密
Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等。同时bot程序能够使用sniffer观测感兴趣的网络数据,从而获得网络流量中的秘密。
5)滥用资源
攻击者利用Botnet从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响,甚至带来经济损失。例如:种植广告软件,点击劫持;利用僵尸主机的资源存储大型数据和违法数据等,利用僵尸主机搭建假冒的银行网站从事网络钓鱼的非法活动。
勒索软件
利用信息资源向用户勒索钱财。
如下为一典型BotNet交易链
0×04
传统应对策略
在《幽灵》中,一次大型的DDos攻击动用了诸多力量,后被被金宇炫以一个很传统的方式解决,也就是应对僵尸网络的一个传统方法:擒贼先擒王,实施斩首行动。截断C&C服务器,使攻击指令发送端受到孤立。
这恐怕也是大型攻击最直接的反制方法。通过 CERT 部门协调处理关闭控制点。如僵尸网络控制者在另外一台主机上重构C&C服务器,并通过改变动态域名所绑定的控制服务器重建僵尸网络控制信道,则防 御者还需借助域名服务提供商移除僵尸程序所使用的动态域名,从而彻底移除僵尸网络控制服务器。
借此基础,在获取域名服务提供商的许可条件下,防御者也可以借用 DNS劫持技术来获取被僵尸网络感染的僵尸主机IP 列表,从而及时通知被感染主机用户进行僵尸程序的移除.
如果从源头出发的角度,由于构建僵尸网络的僵尸程序仍是恶意代码的一种,因此,传统的防御方法之一是通过加强因特网主机的安全防御等级以防止被僵尸程序感染,并通过及时更新反病毒软件特征库清除僵尸病毒。
当然,当下的P2P 僵尸网络不存在集中的控制点,因此,对 P2P 僵尸网络的反制将更为困难.这也成为当下诸多部门研究的焦点之一.
0×05
僵尸研究策略
僵尸病毒不断的更新,相应安全方面也自然即使捕获BotNet信息进行研究。一般为如下策略。
1)捕获:蜜罐Honeypot
比较传统也是实际方案中所采用的操作:通过密罐等手段尽可能多地获得各种流传在互联网上bot程序样本,进而逆向 分析恶意代码,获得隐藏在代码中的登录Botnet所需要的属性,如Botnet服务器地址、服务端口、指定的恶意频道名称及登录密码,以及登录所使用到 的用户名称,进而采取相应策略。
2)流量分析:OurMon
Ourmon以网络监视和异常检测系统闻名,现能提供拒绝服务攻击检测、TCP和UDP扫描器检测、IRC botnet检测并且能够发现和报告其它异常的活动。
在揭示IRC僵尸网络的能力上,OurMon也发挥着至关重要的作用。例如,一台Windows计算机一直在扫描 这个网络并且与其它有同样扫描行为的主机一起参加同一个IRC频道,那么很有可能这台计算机就是一台被黑客攻破的计算机。这些有扫描行为的计算机通常是蠕 虫传播的结果。因此,Ourmon软件把这些计算机称作“wormy hosts”(蠕虫主机)。并有一个基于文本的IRC报告其中列出了受到感染的主机:
频道名称 主机数量 有蠕虫的主机 恶意标识
#exploit 10 9 E
#ubuntu 15 0
而现实确实有人在使用名为“#exploit”的频道运行一个僵尸网络(botnet)。管理者可以看到,此IRC频道中的大多数主机也会表现出有蠕虫的其它行为。Ourmon软件正好在发现了一个新的botnet,并且在我们的网络中至少发现了9台被感染的计算机。
但这又与Snort不同。Snort基于特征识别,使用指纹检测病毒和安全漏洞,而不能检测到其本身程序中没有的任何东西。Ourmon则是分析网络的异常行为并且发出报告,因此,它能够发现未知的蠕虫和IRC 僵尸网络。
通过合理的配置Ourmon设置文件,可以让Ourmon软件监视和描绘你需要的任何事情。
IRC信道网络监控图表
在《Botnets-The Killer Web App》一书中,详述了利用Ourmon发现僵尸网络的方法,主要包括TCP 异常检测和UDP异常检测。在异常检测一方面针对IRC默认端口 6667 及139、445等重点端口进行检测,另一方面,Ourmon利用僵尸主机的活动特性,引入了扫描权重检测方法。
TCP扫描权重计算公式如下:
TCP work weight = (SS + FS + RR ) / TP
其中各个变量的意义如下:
SS 是采样期间计算机发送的 SYNS 总数。
FS 是采样期间计算机发送的 FINS 的总数。
RR 是采样期间返回到计算机的 TCP RESET 的总数。
TP 是采样期间计算机收发信息包(包括控制包和数据包)的总数。
公式的含义是,比较所发送的控制包和发送的所有信息包的数量。如果值是100%,表示或者是客户端 / 服务器的 TCP 协议损坏,或者是某人正进行某种扫描。权重检测法主要针对扫描权重超出阈值的IP地址及IRC信道结合标志位、端口特征、IP目的地址数量和 TC目的端口数量等对僵尸网络进行检测。
展开阅读全文