基于P2P的僵尸网络及其检测技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Scientific Journal of Information Engineering
June 2015, Volume 5, Issue 3, PP.97-101 P2P Botnet and Its Detecting Technology
Qi Zhou1, Jing Gao1, Xiaoli Dong1, Qintao Dong2
1. School of Information Science and Engineering, Lanzhou University, Lanzhou 730000, China
2. 68231troop Political Affairs Office of PLA, China
Abstract
In this article, firstly, we classified the P2P botnet by their character; then its network running mechanism and life cycle were analyzed; finally, by combining several common P2P botnet, we summarized the current detecting methods that based on mainframe and network, and pointed out main difficult of the P2P botnet detection.
Keywords: Botnets; P2P; Detection; Network Traffic
基于P2P的僵尸网络及其检测技术
周琦1,高靖1,董小丽1,董秦涛2
1. 兰州大学信息科学与工程学院,甘肃兰州 730030
2. 解放军68231部队政治处
摘要:本文首先分析P2P僵尸网络的种类,接着对其网络运行机制、生命周期进行深入分析,结合几种常见P2P僵尸网络,总结了现行的基于主机和基于网络的检测方法,最后提出了P2P僵尸网络检测的难点。
关键词:僵尸网络;P2P;检测;网络流量
引言
僵尸网络是由大量被僵尸程序控制的主机通过某种C&C(命令与控制)信道所组成的网络。僵尸网络融合了传统的恶意软件,成为一种可控的、能够发动各种恶意活动的攻击平台。控制者主要通过被僵尸网络控制的感染主机进行恶意行为。近几年出现的基于P2P (Peer-to-Peer) 的僵尸网络,具有更强的隐蔽性、健壮性和危害性,给僵尸网络追踪、检测和防御带来极大的挑战,引起了网络安全机构及专家学者的高度重视。根据2013年华为云安全中心统计,从全球来看,中国和美国的僵尸网络主机数分别占整体数量的30.3%和28.2%,远远高于其他国家,而从控制者来看,美国境内的控制者最多,占重量的 (42.2%),随后是德国 (9.1%),法国 (7%) 和英国 (5.8%),而中国则约为3.8%。
1P2P僵尸网络研究
1.1P2P僵尸网络的种类
本文在文献[1]的基础上对P2P僵尸网络的分类进行更加详细的描述。根据P2P僵尸网络选用P2P协议进行组网的方式以及选择僵尸主机的来源将P2P僵尸网络划分为3种类型;
(1) 寄生型P2P僵尸网络:使用现有的合法P2P网络组网,僵尸主机也来自于该网络内的主机;
(2) 吸附型P2P僵尸网络:依赖于现有的合法P2P网络组网,僵尸主机来自于整个Internet中的脆弱主机;
(3) 独立型P2P僵尸网络:使用现有的P2P协议或者设计新的P2P协议组成独立的网络,网络内的节点全部是僵尸主机(不含有良性的P2P节点)。
1.2P2P僵尸网络运行机制
僵尸网络的C&C(命令与控制)信道机制是僵尸网络设计中最重要的组成部分。C&C机制直接决定了僵尸网络的通信协议和网络拓扑结构,从而影响到僵尸网络在网络维护、代码升级、命令分发时的网络运行效率,以及在对抗安全检测和防御、网络或计算机故障时表现出来的韧性。按照僵尸牧主发布命令和僵尸主机获取命令的方式划分,C&C机制可以划分为“pull”和“push”机制[2]。“pull”机制也称为“命令发布/订阅”机制,是指僵尸主机主动地从僵尸牧主发布命令的地方获取命令;“push”机制是指僵尸主机被动地等待命令被推送过来,然后将命令转发给其它僵尸主机成员。
(1) Pull机制
集中式僵尸网络的C&C信道通常使用“pull”机制实现。在IRC僵尸网络中,所有的僵尸主机周期性连接到预定的IRC频道上,等待僵尸牧主在这个频道上发布命令;在HTTP僵尸网络中,僵尸牧主将命令发布到某个Web页面中,僵尸主机定期使用HTTP协议访问这个Web页面以检查是否有命令更新。该Web 页面的地址是事先编码到僵尸程序代码中的,在运行期间可以通过僵尸牧主发布“地址修改命令”对其进行更改。
P2P僵尸网络如果使用定制的P2P协议,可以根据需要使用“pull”机制或“push”机制。如果使用“pull”机制,一般会借鉴P2P文件共享系统中的文件查询思想:僵尸牧主挑选一个或若干僵尸主机发布命令,让其申明拥有某个特定文件,这个文件的文件名需要预先编码到僵尸程序代码中。僵尸主机定期在网内查询这个文件来获取命令;一旦申明拥有这个文件的僵尸主机接收到查询命令,就回复查询成功报文,查询成功报文中包含有命令或者发布命令的地址;接下来,当发出查询请求的僵尸主机接收到查询成功报文后,就直接解析命令或是到指定的位置获取命令。
采用“pull”机制实现的僵尸网络都需要僵尸主机周期性地请求命令或者检查命令的更新,实现起来比较容易,但是这种“周期性”规律增加了被检测到的危险。
(2) Push机制
基于“push”机制的P2P C&C的核心思想是:僵尸牧主将命令发送给网内的僵尸主机,接收到命令的僵尸主机主动将命令转发给其它的节点。这种方法避免了周期性请求或检查新的命令,减少了被检测到的危险。
僵尸主机一般把命令伪装成正常的查询报文发送给所有的邻接节点,并依赖于这些邻接节点继续转发该命令。这个报文对于良性节点来说就是正常的查询报文,而僵尸节点能够将其解析为命令。这种方案易于实现且难以被防御者检测到,因为命令转发流量中混合了正常的查询检索流量。
1.3P2P僵尸网络生命周期
大体上来说,P2P僵尸网络的生命周期可以分为三个阶段[1]:感染阶段、组网与二次感染阶段和接收及命令控制阶段。
(1) 感染阶段
也称为初次感染阶段。攻击者会利用网络中易感计算机的系统漏洞,使用蠕虫、木马等恶意代码技术,通过电子邮件、网站恶意脚本、移动载体等传播媒介来传播和感染恶意僵尸程序。
(2) 组网与二次感染阶段
在这个阶段,新感染的主机通过随机扫描等手段试图连接僵尸程序列表中的其他节点,并根据反馈的信息更新自身信息,从而成为一台真正的P2P僵尸主机,进入第三个阶段。
(3) 接收及命令控制阶段
完成组网和二次感染的僵尸主机在这个阶段的主要任务就是接收和执行攻击任务。大多数情况,僵尸网络发起的攻击都是简单地发送携带病毒的垃圾邮件。当攻击成功后,僵尸网络的规模会随着新感染主机