僵尸网络机理与防御技术
软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cnJournal of Software,2012,23(1):82−96 [doi: 1
软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2012,23(1):82−96 [doi: 10.3724/SP.J.1001.2012.04101] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel/Fax: 86-10-62562563
僵尸网络机理与防御技术∗
江 健1, 诸葛建伟2 , 段海新2, 吴建平2
1
2(清华大学 计算机科学与技术系, 北京 100084) (清华大学 信息网络工程研究中心, 北京 100084)
Research on Botnet Mechanisms and Defenses
JIANG Jian1, ZHUGE Jian-Wei 2 , DUAN Hai-Xin 2, WU Jian-Ping 2
1
2(Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China) (Network Research Center, Tsinghua University, Beijing 100084, China)
Corresponding author: E-mail: zhugejw@cernet.edu.cn
Jiang J, Zhuge JW, Duan HX, Wu JP. Research on botnet mechanisms and defenses. Journal of Software,
2012,23(1): 82−96. http://www.jos.org.cn/1000-9825/4101.htm
Abstract : Botnets are one of the most serious threats to the Internet. Researchers have done plenty of research and
made significant progress. However, botnets keep evolving and have become more and more sophisticated. Due to
the underlying security limitation of current system and Internet architecture, and the complexity of botnet itself,
how to effectively counter the global threat of botnets is still a very challenging issue. This paper first introduces the
evolving of botnet’s propagation, attack, command, and control mechanisms. Then the paper summarizes recent
advances of botnet defense research and categorizes into five areas: Botnet monitoring, botnet infiltration, analysis
of botnet characteristics, botnet detection and botnet disruption. The limitation of current botnet defense techniques,
the evolving trend of botnet, and some possible directions for future research are also discussed.
Key words: network security; botnet; command and control; botnet measurement; botnet detection
摘 要: 以僵尸网络为载体的各种网络攻击活动是目前互联网所面临的最为严重的安全威胁之一. 虽然近年来这
方面的研究取得了显著的进展, 但是由于僵尸网络不断演化、越来越复杂和隐蔽以及网络和系统体系结构的限制给
检测和防御带来的困难, 如何有效应对僵尸网络的威胁仍是一项持续而具有挑战性的课题. 首先从僵尸网络的传
播、攻击以及命令与控制这3个方面介绍了近年来僵尸网络工作机制的发展, 然后从监测、工作机制分析、特征分
析、检测和主动遏制这5个环节对僵尸网络防御方面的研究进行总结和分析, 并对目前的防御方法的局限、僵尸网
络的发展趋势和进一步的研究方向进行了讨论.
关键词: 网络安全; 僵尸网络; 命令与控制; 僵尸网络测量; 僵尸网络检测
中图法分类号: TP393 文献标识码: A
僵尸网络(botnet)是由大量被僵尸程序所感染的主机(bot or zombie)受到攻击者(botmaster)所控制而形成
∗ 基金项目: 国家自然科学基金(61003127); 国家重点基础研究发展计划(973)(2009CB320505)
CNKI 网络优先出版时间: 2011-09-08 17:03, http://www.cnki.net/kcms/detail/11.2560.TP.20110908.1703.002.html 收稿时间: 2010-10-27; 定稿时间: 2011-06-24; jos在线出版时间: 2011-09-09
,江健 等:僵尸网络机理与防御技术 83
的以恶意活动为目的的覆盖网络(overlay network).Botmaster可以通过控制服务器操控bot 发起各种类型的网络攻击, 如分布式拒绝服务(DDoS)、垃圾邮件(spam)、网络钓鱼(phishing)、点击欺诈(click fraud)以及窃取敏感信息(information theft)等等.
,84
1.1 僵尸网络的传播机制 Journal of Software 软件学报 Vol.23, No.1, January 2012
,江健 等:僵尸网络机理与防御技术
Table 1 Categories of some known botnets
表1 一些已知僵尸网络的分类 集中式 IRC 僵尸网络 HTTP 僵尸网络
自定义协议僵尸网络
结构化P2P 僵尸网络
无结构P2P 僵尸网络
层次化僵尸网络 Sdbot, Agobot, GT-Bot, Rbot Rustock, Clickbot, Naz, Zeus, Conficker, Torpig MegaD, Mariposa Phatbot Sinit, Nugache Koobface, Storm, Waledac 85 分布式
1.3.1.1 集中式僵尸网络
在集中式僵尸网络中,bot 主要以轮询方式从控制服务器那里获得控制命令. 如:在IRC 僵尸网络中,bot 周期性地加入IRC 控制频道来获取消息; 在HTTP 僵尸网络中,bot 定期访问控制服务器URL 来检查是否有控制命令的更新.

这类僵尸网络的弱点在于控制服务器容易暴露, 但由于其具有结构简单、构建容易、通信效率高的

特点, 大多数僵尸网络仍然采用这种方式来构建

.
• IRC 僵尸网络
早期大多僵尸网络, 如Agobot,GT-bot 等以IRC 服务作为命令与控制的信道, 其典型结构如图1(a)所示. 文献
[13]中对IRC 僵尸网络的发展历史和工作原理进行了详细介绍.IRC 僵尸网络采用已知明文协议, 在端口和通信内容等方面具有比较明显的特征; 而且IRC 协议在网络流量中的比例很小, 便于监测和分析. 虽然IRC 僵尸网络容易被检测和封锁, 但由于其容易构建、控制方便而且实时性好, 目前的僵尸网络仍有相当一部分比例使用IRC 协议作为命令与控制的信道[6].
(a) IRC 僵尸网络 (b) Nugache僵尸网络[32] (c) Wadelac僵尸网络[21]
Fig.1 Three different botnet topologies
图1 3种不同类型的僵尸网络拓扑结构
• HTTP 僵尸网络
由于IRC 协议的隐蔽性不好, 很多僵尸网络开始使用HTTP 协议替代IRC 作为命令与控制方式. 相对于IRC 协议,HTTP 是目前网络应用最主要的通信方式之一, 基本不会被屏蔽. 而且僵尸网络的通信可以隐藏在大量正常应用流量之中, 具有更好的隐蔽性. 另外, 攻击者还可以很容易地升级到HTTPS 来加密整个通信过程. 采用HTTP 作为通信协议的僵尸网络有Conficker,Rustock,Zeus,Torpig 等. 此外, 少数僵尸网络, 如Naz 等, 还直接利用流行的社交网站, 如facebook,twitter 等作为控制服务器, 进一步增加了检测和封锁的难度[33]. 目前,HTTP 已经成为大多数僵尸网络采用的命令与控制协议[6].
• 自定义协议僵尸网络
少数僵尸网络采用自定义的协议进行通信, 自定义协议相对更为隐蔽且其通信过程更不容易被研究者所理解. 这类僵尸网络的代表有Mega-D,Mariposa 等.Mariposa 还采用了UDP 作为传输层协议, 相对于TCP, 无连接的UDP 通信更容易被防火墙等安全设备忽略, 使其更加隐蔽.
1.3.1.2 分布式僵尸网络
在集中式僵尸网络中, 由于bot 直接与控制服务器通信, 导致控制服务器容易暴露. 相比之下, 分布式僵尸网
,86 Journal of Software 软件学报 Vol.23, No.1, January 2012
络的控制服务器更加隐蔽, 但同时也难以构建和维护, 需要攻击者具有比较专业的知识. 近年来出现的少数大规模分布式僵尸网络, 如Storm,Waledac 表现出了极其复杂而专业的结构和功能.
• 结构化P2P 僵尸网络
这类僵尸网络采用了结构化的P2P 协议. 代表性的有采用WASTE 协议的Phatbot 以及使用基于Kademlia 协议的Overnet 作为命令与控制方式的Storm 等. 虽然结构化P2P 僵尸网络的控制服务器很难被发现, 但P2P 协议中的查找操作可以获得其他节点的信息, 导致bot 的匿名性较差. 研究者利用这个弱点对Strom 进行了跟踪, 在Overnet 中加入大量的伪装节点将大量的内容发布、搜索和路由请求导向伪装节点以识别出bot, 从而可以估计出整个Storm 僵尸网络的大小[23].
• 无结构P2P 僵尸网络
无结构P2P 僵尸网络的bot 随机地连接在一起, 采用随机转发或洪泛的方式传递控制消息. 已知僵尸网络中采用这种结构的有Sinit 和Nugache.Sinit 使用随机扫描的方式寻找其他的bot, 而且使用了UDP 53端口发送数据包但又不同于DNS 的报文格式, 容易被检测;Nugache 维护了一份可连接的peer 列表, 从列表中随机挑选peer 尝试连接, 连接成功后再相互更新列表.
与结构化P2P 僵尸网络一样, 无结构P2P 僵尸网络也有bot 匿名性差的弱点.Dittrich 等人通过不断地连接新的peer 然后请求更新列表来对整个Nugache 网络进行了枚举, 得到如图1(b)所示的拓扑图[33]. 从拓扑中可以看出,Nugache 对bot 的连接数进行了限制, 形成了一个均匀的随机连接的P2P 网络.
• 层次化僵尸网络
层次化僵尸网络是近年发现的新型僵尸网络. 其对bot 的角色进行区分, 利用一些具有公共IP 地址和在线时间较为稳定的bot 作为中间层来隐藏真实的控制服务器, 同时提供更大的灵活性. 这类僵尸网络的代表有Storm,Waledac,Koobface 等.
Kanich 等人通过对Storm 的进一步研究发现,Storm 是一个分为3层的层次化网络. 底层的worker bots被用来发送垃圾邮件,worker bots通过Overnet 网络来找到proxy bots,真正的控制服务器master servers隐藏在作为代理层的proxy bots之后[24].
被认为可能是Storm 的直接后继的Waledac 具有比Storm 更为复杂的结构, 如图1(c)所示,botmaster 以下分为4个层次, 依次为UTS,TSL,Repeater 和Spammer. 其中,Spammer 和Repeater 是被感染的bot 主机,TSL 和UTS 是botmaster 设立的控制服务器.Waledac 使用一种称为fast-flux [34,35]的技术将Repeater 作为Spammer 和TSL 之间的代理. 这种分层代理的技术使Waledac 在保持隐蔽性和灵活性的同时, 不会像Storm 那样被完全枚举.
早期的Koobface 是一种集中式僵尸网络,bot 直接和控制服务器进行通信. 在被研究机构和ISP 发现和关停后,Koobface 进行了升级, 利用一部分bot 作为代理节点来隐藏控制服务器, 升级后的层次化结构使得Koobface 的控制服务器很难被发现和关停.
1.3.2 僵尸网络的自身安全性
僵尸网络命令与控制机制的一个重要属性是其自身安全性, 一种僵尸网络是否容易被发现和破坏、是否有明显的弱点和漏洞, 是攻防双方关注的重点. 我们从僵尸网络的隐蔽性和匿名性、加密机制、认证机制、网络发现(bootstrapping)机制这几个方面对僵尸网络的自身安全性进行分析, 并介绍相关的技术发展.
1.3.2.1 隐蔽性和匿名性
僵尸网络的隐蔽性和匿名性基本上是由其通信方式所决定的. 集中式的僵尸网络bot 之间的匿名性很好, 但控制服务器的隐蔽性很差, 很容易暴露. 采用P2P 方式的僵尸网络能够很好地隐藏控制服务器, 但由于P2P 协议的特点, 导致bot 之间的匿名性很差,Storm 和Nugache 都因为这方面的弱点被研究者枚举出大量的bot. 层次化的僵尸网络能够在保持控制服务器隐蔽性的同时, 还能提供较好的匿名性.
1.3.2.2 加密机制
采用明文通信的僵尸网络的行为更容易被分析, 而且更容易提取出内容特征串来通过流量内容进行检测. 加密机制的采用, 在近来发现的僵尸网络中已经比较常见,Zeus,Torpig,Nugache,Mega-D,Waledac 等都采用了简
,江健 等:僵尸网络机理与防御技术
单或复杂的加密手段.
1.3.2.3 认证机制 87
认证机制是指bot 和控制服务器之间是否验证身份、控制消息是否有防止伪造和篡改的机制, 这是目前僵尸网络比较薄弱的一个环节.Torpig 的bot 没有对服务器进行认证, 使得研究者能够对其进行劫持而获得大量的数据.Storm 也缺少对控制消息的保护, 研究者利用这一点对其控制消息进行篡改, 注入自己控制的邮件地址和域名来研究其行为. 少数僵尸网络设计了一定的认证机制,Waledac 通过签名和时间戳对其地址更新消息进行了保护,Conficker 也使用了签名来保证其更新不会被假冒.
1.3.2.4 网络发现机制
网络发现机制是指bot 如何找到控制服务器或者通过其他的bot 加入到僵尸网络中. 对于防御方来说, 如果能够找到并切断bot 和控制服务器之间的联系, 就能从根本上关停整个僵尸网络. 早期的集中式僵尸网络多采用简单的固定IP 或者域名的方式来发现控制服务器,P2P 僵尸网络多借助于P2P 协议的动态发现机制. 近年来的攻击者开始采用多个域名或IP 并结合更新机制来提高僵尸网络的抗关停能力, 还发展出了domain-flux, fast-flux 等新技术. 下面我们对僵尸网络的各种网络发现机制及技术进行总结和分析.
• 固定IP 地址或域名
bot 通过预先设置的静态IP 地址或者域名来找到控制服务器. 这种方式最为简单, 多数僵尸网络包括一些较大的僵尸网络, 如Mega-D,Rustock 等仍然使用这种方式. 虽然理论上静态的地址和域名容易被追踪和关停, 但由于域名或IP 地址的管理一般跨越网络管理域甚至行政区域, 实际操作起来并不容易. 一些大规模的僵尸网络设定分布广泛的多个静态IP 地址或域名, 再结合内建的更新机制, 由于不同的网络管理域的处置行动很难同步进行, 使得这样的僵尸网络具有很好的抗关停能力.
• 随机扫描
bot 通过随机发送数据包来尝试找到其他的bot 或者控制服务器. 这种方式效率低下而且很容易被检测, 目前只发现Sinit 僵尸网络采用了这种机制.
• P2P 动态发现机制
P2P 僵尸网络大多借助于P2P 网络中的动态发现机制来加入僵尸网络, 如Phatbot 利用Gnutella 的cache server 来注册和发现其他的bot,Storm 和Nugache 维护动态更新的peer 列表来加入网络. 这种机制不容易被关停, 但具有匿名性差的弱点, 容易暴露其他的bot.
• domain-flux
domain-flux 是指bot 使用某种算法生成大量的域名, 然后逐个地对这些域名进行尝试以试图与控制服务器取得联系的一种技术.Conficker,Torpig 等使用了这种技术, 使得botmaster 可以灵活地在多个域名上转移控制服务器.Conficker.C 的域名生成算法每天生成50 000个不同的域名, 分布在110个顶级域. 这种技术具有很好的抗关停能力:一方面由于域名数量巨大; 另一方面, 这些域名跨越多个管理区域, 无论是抢注、屏蔽或关停这些域名都很难实行, 即使对这些域名的状态进行跟踪也需要耗费大量资源.
• fast-flux
fast-flux 是一种利用DNS 实现的动态代理技术[34−36]. 其基本原理是, 利用一些具有公共IP 地址的bot 作为代理(flux-agent),控制服务器域名被解析为这些flux-agent 的IP 地址, 真实的服务器隐藏在flux-agent 背后提供服务. 为保持可用性和隐蔽性, 与域名关联的flux-agent 的IP 地址一直不停地发生变化.fast-flux 又分为single- flux 和double-flux 两种类型, 关于这两种技术的细节请参考文献[36].
botmaster 使用fast-flux 技术可以将大量的bot 形成一个动态的代理网络, 使得隐藏在背后的控制服务器很难被发现, 僵尸网络的真实结构和工作机制也可以得到隐藏. 良好的隐蔽性使得botmaster 可以长时间使用固定的服务器, 而且可以将大量的恶意网站停放在一个服务器上, 便于对其资源进行管理. 除了僵尸网络控制服务器的域名,fast-flux 网络还被用来解析恶意软件宿主网站、网络钓鱼网站以及其他恶意站点的域名.
,88 Journal of Software 软件学报 Vol.23, No.1, January 2012
1.3.3 僵尸网络命令与控制机制的比较和发展趋势
我们选择5种不同时期的僵尸网络, 对其命令与控制机制进行比较, 表2中给出(由拓扑结构和网络发现机制所决定的) 从效率和连通性、加密机制、认证机制、隐蔽性以及匿名性这6个方面的比较结果. 我们对每项属性给出从0~3个星号的评价, 问号表示未知. 从表中可以看出:早期的IRC 僵尸网络(Rbot)具有很好的效率, 但在自身安全性方面较差; 后来的僵尸网络明显加强了自身安全性.Torpig 采用的domain-flux 技术增强了控制服务器的隐蔽性和抵抗关停的能力, 但缺少对服务器的认证导致被研究者劫持;Nugache 这种随机连接的网络具有很好的连通性和隐蔽性, 主要弱点是匿名性差;Storm 与Nugache 一样, 在匿名性方面有明显的弱点, 并且没有对控制消息进行认证和保护; 近年出现的Waledac 在各方面都有针对性的设计, 其工作机制已经没有明显的 弱点.
Table 2 Comparision of five known botnets’s C&C mechanism
表2 5种已知僵尸网络命令与控制机制的比较
僵尸程序/网络 Rbot Torpig Nugache Storm Waledac
效率 ★★★★★★★★ ★★☆★★☆
连通性★ ★★ ★★★★★★★★★
自身安全性
加密机制认证机制
— — ★★ —
? ★★★
★★ ★ ★★☆ ★★
隐蔽性
— ★☆ ★★★★★★★★★
匿名性 — ★★ ★ ★ ★★
2 僵尸网络防御技术研究进展
对于防御方来说, 想要有效地应对僵尸网络的威胁, 面临以下几个问题:
(1) 哪些入侵手段和僵尸程序是目前正在广泛流行和传播的, 其传播方式、范围及攻击形式是怎样的; (2) 僵尸网络是如何工作的, 采用了什么样的技术; (3) 僵尸网络的活动具有怎样的特征;
(4) 如何准确地检测出被感染的主机或者已存在的僵尸网络; (5) 什么样的技术和策略能够有效地遏制僵尸网络的发展.
针对以上问题, 安全社区逐渐形成了包括安全威胁监测、工作机制分析、特征分析、在线检测以及主动遏制的整体防御体系. 下面我们从这5个环节来分别介绍近年来僵尸网络防御技术的研究进展. 2.1 僵尸网络威胁监测
对僵尸网络的活动进行监测, 捕获僵尸网络的传播和攻击行为及新的僵尸程序样本, 了解僵尸网络的活动范围以及发展态势, 是僵尸网络防御体系的第1个环节. 这方面的工作主要在于研究和开发新的监测技术以及部署覆盖面广泛的监测系统.
,江健 等:僵尸网络机理与防御技术 89
测平台, 并以此为基础定期发布安全报告. 教育网应急响应组CCERT 也正在推进CERNET 分布式蜜网的部署工作.
2.2 僵尸网络工作机制分析
在通过部署蜜罐或以其他方式获取僵尸程序样本后, 研究者通过对僵尸程序样本进行静态分析, 并在受控的环境中运行僵尸程序, 监控和分析其行为(botnet tracking or botnet infiltration)来揭示其背后僵尸网络的工作机制, 整个分析过程可以视为对僵尸程序以及僵尸网络的逆向工程.
由于不同僵尸程序和僵尸网络之间的差异很大, 目前这方面的研究主要以人工的个案分析来进行. 虽然缺少普适性方法的个案分析缺乏可扩展性, 但安全社区仍然在这方面取得了不错的成绩, 对新的僵尸网络和技术基本能够及时地发现和揭示, 第1节中所介绍的各种僵尸网络工作机制多为个案分析后所得到的结果.
以个案分析的方式进行僵尸网络的逆向工程面临可扩展性的问题, 无法应对数量庞大的僵尸程序样本. 此外, 大多数个案分析没有揭示出僵尸网络工作机制背后的经济驱动力. 针对这一问题, 来自UCSD 和UC Berkeley 的研究团队提出了更为自动化、智能化和系统性的僵尸网络跟踪研究计划. 这一计划主要包括3部分的研究内容:
(1) 安全受控以及可扩展的僵尸程序运行及跟踪平台Botfarm;
(2) 对僵尸网络命令与控制协议进行完整逆向工程;
(3) 在前面两部分研究的基础上对僵尸网络背后的地下经济体系进行研究.
,90 Journal of Software 软件学报 Vol.23, No.1, January 2012
对428个fast-flux 域名所关联的IP 地址进行聚类分析, 找出了26个不同的fast-flux 域名停放网络.
2.3.3 僵尸网络流量内容特征的提取
流量内容特征提取对僵尸网络的检测具有非常重要的意义,Rieck 等人在文献[48]中描述了一种自动提取僵尸网络通信的特征内容的方法——Botzilla. 他们首先将恶意软件样本在受控的网络环境中重复运行并记录其通信内容, 提取出其中的重复出现的内容作为待选特征串, 然后通过正常通信内容记录进行筛选得出检测特征串. 文献中对20种僵尸程序样本进行了实验, 其中的17种成功生成出了特征串, 而且生成的特征串在实验中表现出了很高的准确性, 检测率平均达到94.5,误报率仅为0.0001.
2.4 僵尸网络检测技术
如何准确地检测出被感染的主机或者已存在的僵尸网络, 是应对僵尸网络威胁的一个关键问题. 僵尸网络检测研究有两个要素:一是数据来源, 二是对异常模式的定义. 另外, 检测方法的准确性、性能以及可部署性也是这方面研究的重要指标.
目前的僵尸网络检测技术采用的数据源主要是网络流量以及一些应用程序的数据(如邮件记录以及DNS 的日志记录), 而对异常模式的定义主要有传统的基于内容特征(signature-based)异常基于特定行为(behavior- based) 异常. 表3从这两个方面总结了近年来的一些新的僵尸网络检测技术, 下面我们以分类形式对这些检测技术的方法和特点进行分析.
Table 3 Recently proposed botnet detection techniques
表3 一些新的僵尸网络检测技术 数据源
网络流量 应用数据
TAMD √
[50]BotGrep √
BotSniffer [52] √ √
BotMiner [53] √ √
[54]RB-Seeker √ √
√
√
AutoRE [57] √
Botgraph [58] √ 检测技术 异常模式 部署位置 内容特征行为特征 √ 骨干网或者企业网 √ 骨干网 √ √ 企业网 √ 企业网 √ 企业网 √服务提供商 √ 邮件服务提供商 √ √ 邮件服务提供商 √ 邮件服务提供商
2.4.1 基于网络流量内容特征的检测技术
基于内容特征的检测是入侵检测系统的常规检测方法, 这种方法适用于已知的具有明确特征的僵尸网络. 如早期采用TCP/8端口的Nugache 以及采用UDP/53端口的Sinit. 另外,Phatbot,Conficker,Waledac 等的研究报告中也都给出了可直接用于传统入侵检测系统的特征内容.
基于内容特征的检测技术具有准确、快速、容易部署的特点, 是目前实际应用最为广泛的检测方法. 其局限性在于容易被变形、多态等技术所逃避, 对未知的僵尸程序/网络没有检测能力; 并且特征串的提取往往依赖于人工分析, 难以应对目前急剧增长的僵尸程序数量. 虽然文献[48]中进行了自动提取网络流量特征内容的尝试并取得了很好的实验结果, 但这种方式是否具有一般性还有待进一步加以研究.
2.4.2 基于网络流量行为特征的检测技术
由于基于内容特征的检测方法具有一定的局限性, 而研究者又认为僵尸网络的通信行为具有时间上的关联性和群体相似性, 因此期望通过对网络流量进行分析找出更为一般性的网络行为异常模式以进行僵尸网络的检测.
,江健 等:僵尸网络机理与防御技术 91
然后通过随机游走(random walk)方法从图中检测出结构化P2P 网络的子图, 再结合其他如蜜罐等检测系统的结果来判断是否为僵尸网络.
理想状态下, 基于网络流量行为的检测方法不容易被逃避, 且具有检测未知僵尸网络的能力. 但目前, 多数这类检测方法在精确度和可部署性方面还无法达到实际应用的需要, 其主要困难在于:
(1) 僵尸网络的通信行为复杂多样, 很难对异常行为准确定义, 通过聚类等自动学习的方式很难保证精
确度;
(2) 背景流量同样复杂多样, 很难对正常和异常进行区分;
(3) 网络流量数据量极大, 而通信行为进行分析往往需要借助采用计算量很大的机器学习等算法, 难以
做到实时检测.
2.4.3 基于关联分析的检测技术
由于bot 受botmaster 的控制进行恶意攻击活动, 所以其通信行为往往和一些恶意事件, 如DDoS 攻击、扫描、二进制文件下载等在时间上具有关联性.Gu 等人基于这一特性, 在前期工作BotHunter [51]的基础上又提出了BotSniffer [52]和BotMiner [53]两种检测方法.BotSniffer 基于对同一局域网中bot 活动的时间和空间上关联性(spatial-temporal correlation)的假设, 从网络中的IRC 以及HTTP 流量中识别出可疑的僵尸网络命令与控制通信, 然后再结合扫描、二进制文件下载、spam 等异常事件日志进行关联分析来进行检测.BotMiner 尝试实现不依赖于具体协议的检测方法, 通过将所有的流量按目的地址和端口进行聚合作为基本单位, 再根据一系列的流量属性进行聚类分析以得到通信行为类似的组, 再结合异常事件的日志进行关联分析来检测出可疑的bot 组. 除了Gu 等人的工作以外, 最近发表的RB-Seeker [54]也采用了关联分析的方法. 先通过网络流量数据关联spam 信息以及DNS 的日志记录找出可疑域名, 再对可疑域名进行探测, 并通过机器学习的方法来检测出恶意域名, 然后再和DNS 日志记录进行关联来找出可能的bot.
把网络行为和一些明确的恶意事件与数据进行关联可以缩小检测范围, 提高精确度. 但目前, 这方面的研究仍然有其局限性.BotHunter 和BotSniffer 需要依赖于内容特征以及特定类型的僵尸网络通信协议,BotMiner 虽然不依赖于特定的协议和僵尸网络拓扑结构, 但需要进行计算量很大的聚类分析, 难以保证精确度而且实时性不好.RB-Seeker 也使用了难以保证精确度及实时性的机器学习等方法, 且其只针对特定的僵尸网络活动.
2.4.4 基于应用数据和日志分析的检测技术
除了网络通信以外, 僵尸网络的一些行为特征, 如群体相似性等, 也会体现在其所使用的一些网络服务, 如DNS 、邮件服务的日志记录中, 研究者尝试从这类数据中找出具有异常特征的记录来识别出可能的僵尸网络.
Choi 等人在文献[55]中提出bot 主机对控制服务器的DNS 查询具有群体活动的特点, 他们根据时间段对查询记录按域名进行分组, 如果同一个域名在不同时间段内的查询IP 地址有很高的重合度, 则表明这些IP 地址代表的主机是可疑的bot, 而该域名为可疑的控制服务器.
僵尸网络所发出的垃圾邮件也具有一定的群组相似性.Zhuang 等人对垃圾邮件的内容进行分析, 根据内容的相似性来对垃圾邮件进行分组, 再对分组中的发送者IP 地址进行分析来识别出不同的僵尸网络[56].Xie 等人的研究借鉴了这种思想, 他们提出一种自动生成垃圾邮件特征码的方法AutoRE, 以识别僵尸网络发出的垃圾邮件[57].AutoRE 通过提取E-mail 中的URL 来生成特征码, 然后对具有类似URL 特征码的E-mail 及其发送者IP 地址进行分组, 再根据E-mail 分组的IP 地址分布和持续时间来判断发送者是否为僵尸网络bot.
为提高垃圾邮件的发送成功率, 一些僵尸网络通过bot 自动注册和激活hotmail,gmail 等邮件服务商帐号, 然后登录到服务器上发送垃圾邮件.Zhao 等人设计并实现了通过对邮件服务器帐号激活日志和登录日志进行分析来检测可疑bot 以及相关邮件帐号的系统BotGraph [58].BotGraph 包括两种检测方法:一种方法从帐号激活日志中分析单个IP 地址突发的帐号激活操作来判断该IP 是否为可疑的bot; 另一种检测方法的异常定义为邮件帐号的IP 地址共享行为, 可疑的IP 地址会登录多个邮件帐号, 而可疑的邮件帐号会在多个IP 地址登录.
2.5 僵尸网络的主动遏制技术
在通过应用蜜罐、行为和特征分析以及检测等各种技术获得僵尸网络的相关信息, 如bot 的地址、僵尸程