基于P2P的僵尸网络的检测技术

时间:2022-09-14 09:50:15

基于P2P的僵尸网络的检测技术

[摘 要]僵尸网络是攻击者以控制他人主机为目的,恶意传播僵尸程序,并通过一对多的命令、控制信道所组成的网络。僵尸网络已步入快速发展期,是当前因特网面临的最大威胁之一。本文介绍了基于P2P僵尸网络的结构、控制和传播,并归纳总结了目前僵尸网络的检测方法。

[关键词]僵尸网络 P2P 检测

一、绪论

1.课题背景和目的

僵尸网络(botnet)是攻击者出于恶意目的传播的僵尸程序(bot)来控制大量主机,并通过一对多的命令与控制信道所组成的网络。随着网络系统应用及复杂性的增加,僵尸网络成为网络系统安全的重要威胁。Symantec公司2006年监测数据表明,中国大陆被Botnet控制的主机数占全世界总数的比例从上半年的20%增长到下半年的26%,已超过美国,成为最大的僵尸网络受害国,但国内对Botnet的关注和研究工作还不够全面。作为一种日趋严重的因特网安全威胁,Botnet己成为计算机安全领域研究者所的关注热点。Botnet成为计算机网络对抗研究的首要课题,预示着计算机网络威胁新的发展趋势。

2.国内研究现状

尽管僵尸网络在很早之前就已经出现了,但直到近几年,随着僵尸网络的危害越来越大,对僵尸网络检测技术的研究才被各方面所关注。国际上的一些蜜网组织,如法国蜜网项目组织Richard Clarke等,最早对僵尸网络进行了研究,他们利用蜜网分析技术对僵尸网络的活动进行了深入的跟踪和分析。

早期由于IRC僵尸网络占据着主导地位,所以对僵尸网络的大多数研究都是在基于IRC僵尸网络上的。而IRC僵尸网络的检测基本上无一例外都致力于研究其C&C(Command & Control)信道。2003年Puri在“Bobs $ Botnet:An Overview”一文中主要针对当时的IRC僵尸网络进行了比较全面系统的概述。

近年来随着计算机网络的高速发展,出现了许多新型的僵尸网络,如基于IM、HTTP等不同协议的僵尸网络,并出现了采用树型结构、随机网络拓扑结构以及具有部分P2P特征的僵尸网络。从传统的基于IRC网络的僵尸网络,逐步演变成基于P2P网络的僵尸网络,大大增加了其生存性和隐蔽性,同时也使得检测此类僵尸网络变得更加困难。P2P僵尸网络是利用P2P技术来传播或控制僵尸程序的网络。因为P2P僵尸网络最近几年才出现,所以对于P2P僵尸网络的研究就相对来说比较少。Helsinki科技大学的Antti Nummipuro提出了基于主机的P2P僵尸网络检测方法,但是该方法与其他恶意代码检测技术类似,并没有新颖或创新之处。阿姆斯特丹大学的Reinier Schoof和Ralph Koning等人提出P2P僵尸网络的检测主要方法是对P2P对等端上的检测。

从2005年开始,国内才逐步对僵尸网络进行研究。北京大学计算机科学技术研究所在2005年1月开始实施用蜜网跟踪僵尸网络的项目。CNCERT恶意代码研究项目组在2005年7月开始对僵尸网络进行研究。

二、基于P2P僵尸网络的原理与分析

1.基于P2P僵尸网络的结构

僵尸控制者(Botmaster)、僵尸主机(Bot)、命令与控制(Command and Control,C&C)网络共同组成了僵尸网络(Botnet)。僵尸控制者是控制整个僵尸网络的攻击者;命令与控制网络一般有一个或多个命令与控制(C&C)服务器,僵尸控制者通过控制这些服务器来管理和控制僵尸主机;僵尸主机是攻击者通过C&C服务器控制的主机;僵尸主机从命令与控制网络获得命令,对网络上的主机进行攻击和欺骗活动。基于P2P僵尸网络的结构如图1所示。

2.基于P2P僵尸网络的传播与控制

随着P2P应用的日渐普及,僵尸控制者将僵尸程序伪装成正常的文件或隐藏于正常的文件中,通过用户下载安装这些文件来实现Bot感染、传播。P2P技术主要被用来控制僵尸主机传播僵尸程序。

P2P网络中所有节点是对等的,每一个节点既是客户端又是服务器,因此,基于P2P的Botnet控制与IRC Botnet有很大的不同。在后者中,攻击者利用IRC服务器作为C&C务器控制僵尸计算机,我们可以通过在IRC服务器上监测Botnet的行为特征检测到并进一步将其清除;而在前者中,攻击者只需加入P2P网络向其他对等节点发出控制命令即可。因此,基于P2P控制的Botnet通信系统很难被彻底毁坏,即使有一些Bot被查杀掉,也不会影响到Botnet的生存,故其具有不存在单点失效的特点。

三、僵尸网络的检测

早期对Botnet检测的研究主要集中在如何检测和跟踪到单个的僵尸主机,但是随着Botnet采用协议和结构的复杂性,特别是P2P协议广泛应用之后,大大增加了Botnet的隐藏性和破坏性,需要综合研究Botnet的传播、行为、拓扑结构……,对Botnet的检测技术也在逐步的完善。下面对基于主机特征的检测和基于网络流量的检测为例,叙述Botnet的检测方法。

1.基于主机特征的检测

基于主机特征的检测主要是指在一个负责监控的主机内部部署传感器用来监控和记录相关的系统事件,用来对监测僵尸程序的可疑活动行为。当存在僵尸网络时攻击时,监控主机就会产生一些典型的异常行为,主要表现为添加注册表自启动项、窃取敏感信息、篡改重要文件、远程访问等,这种检测方法类似于恶意代码的检测方法。目前基于主机特征的僵尸网络监测技术主要采用是“蜜罐”技术和虚拟机技术。

2.基于网络流量检测的

基于流量检测方法就是通过分析P2P僵尸网络通信行为表现出来的特征及变化规律并利用这些流特征来判断网络流量中是否存在P2P僵尸网络流量,为检测P2P僵尸网络提供参考依据。

(1)基于连接成功率的检查方法

在P2P僵尸网络中,每个Peer从开始就试图和一些感染的主机建立连接,但由于P2P网络的不稳定性、连接的目的IP的不定性,Peer链接的成功率并不高。对于这种网络行为,我们可以用TCP连接成功率来描述。据试验研究表明:绝大部分P2P协议,都使用TCP传输协议来实施第一步建立联系的行为。基于TCP连接成功率的P2P僵尸网络节点识别算法的形式化描述如下:

RC = b / a

其中,RC 为TCP连接成功率,a为节点发送的SYN数据包中不同目的IP地址数;b为收到的SYN/ACK数据包中不同源IP地址数。

通过试验表明:低于正常P2P节点的RC值[0.2,0.4],就是僵尸网络。

(2)基于流量变化率检测方法

在网络流量中,正常P2P网络与僵尸P2P网络的最大区别在于:后者有大量数据传输。如果一个Peer在相对较长的时间内出现大量数据传输,也就是网络流量异常的现象,则可判断该Peer是疑似僵尸网络节点。

参考文献:

[1]国家计算机网络应急技术处理协调中心.CNCERT/CC2006年网络安全工作报告[DB/OL].www.省略.cn/UserFiles/ File/2006CNCERTCCAnnual Report_Chinese.pdf,2007,2,15.

[2]Enterprise firewall[EB/OL]. /.2009,10,02.

[3] A.Nummipuro.Delecting P2P-Controlled Bots on the Host.In Seminar on Network Security,2007,10.

[4]R.Schoof.R.Koning.Detectingpeer-to-peer Botnets.staff.science.uva.nl/delaat/sne-2006-2007

[5]张琛 王亮 熊文柱:P2P僵尸网络的检测技术.[J]计算机应用.2010

[6]Baecher P,Koetter M,Dornseif M et al.The nepenthes platform:An efficient approach to collect. malware.In:Proc. of the 9th Int’l Symp. on Recent Advances in Intrusion Detection(RAID).LNCS 4219,Springer-Verlag.2006.165-184.

[7]冯永亮:结构化P2P僵尸网络监测技术的研究[D].武汉:华中科技大学,2008

上一篇:从盈利模式角度潜析中国网络咨询业的发展 下一篇:基于应对视角的突发公共事件分类