APP下载

基于P 2 P僵尸网络检测系统的设计与实现

2014-04-16梁发洵

电脑与电信 2014年7期
关键词:网络流量僵尸命令

梁发洵

(广州城市职业学院,广东广州510405)

1.引言

截止2014年6月,中国网民规模达6.32亿,互联网普及率为46.9%,中国IPv4地址数量为3.30亿,域名总数为1915万个。2014年6月,国家互联网应急中心(CNCERT)检测发现木马或僵尸网络控制服务器IP总数为11,168个,木马或僵尸受控主机IP总数达117万余个。通过对全球范围内恶意代码的捕获和分析发现,僵尸网络已经成为互联网涉及范围最广、危害最大的威胁之一。它除了制造传统上的DDoS(分布式拒绝服务)攻击外,还被用于盗取银行账户、传播垃圾邮件,甚至实施APT(高级持续性威胁)攻击。僵尸网络借助加密协议、P2P协议等,使得传统的基于模式匹配的检测技术无能为力。僵尸网络通过与蠕虫病毒结合,使得僵尸网络扩散速度更快,扩散范围更广,造成的破坏更大。

2.僵尸网络定义

僵尸网络是攻击者(Botmaster)出于恶意目的,传播僵尸程序控制大量主机并通过一对多的命令与控制信道所组成的网络。僵尸网络区别于其它网络攻击的特征是使用了一对多的命令与控制机制。僵尸网络的组成如图1所示。

图1中的对象定义如下:

僵尸牧人(Botmaster):是指僵尸网络的控制者和管理者,可以通过命令与控制信道向受控主机发送命令。

僵尸程序:是一种综合了传统木马、蠕虫等技术的计算机病毒,采用各类传播手段秘密地植入受控主机,能够自动地运行自身程序,并可以接收和执行远程命令的恶意程序。

受控主机(Bot):受控主机是指攻击者利用应用程序、操作系统漏洞或者其他社会工程学方式成功入注并安装执行僵尸程序的网络主机。

命令与控制(C&C)信道:命令与控制(C&C)信道是僵尸网络的核心,用来向Bots发送各种预定义的命令以达到控制Bots的目的,同时可以用于接收Bots执行命令的返回信息。

僵尸网络:由以上对象组成,是僵尸牧人出于恶意目的,通过各种手段传播僵尸程序,实现通过一对多的命令与控制信道控制大量主机而构成的网络。

僵尸网络根据命令与控制机制使用的不同协议分为三类,分别为基于IRC协议的僵尸网络、基于HTTP协议的僵尸网络以及基于P2P协议的僵尸网络。

图1 僵尸网络的组成

3.P2P僵尸网络工作机制

图2 P2P僵尸网络工作机制图

图2以P2P僵尸网络发起一次DDoS攻击为例,解释P2P僵尸网络的工作机制。

(1)僵尸网络的控制者通过各种方法(利用漏洞、邮件等方式)传播僵尸病毒,使受害主机感染僵尸病毒,使得第一次注入成功。

(2)第一次注入成功后,受害主机从特定的服务器或者P2P僵尸网络中的某台机器中下载第二轮注入相关的组件,然后进行安装。

(3)第二轮注入成功后,僵尸程序开始在受害计算机上运行,受害主机感染僵尸病毒后便会开始加入到僵尸网络中,不同的命令与控制信道加入僵尸网络的方式不同。加入P2P僵尸网络主要是通过发现对等端的方式。

(4)僵尸主机加入僵尸网络后便隐藏自身,同时开放端口等待接收攻击主机发出攻击的命令。

(5)当僵尸网络的控制者需要发送命令时,便通过一定的认证方式加入到P2P僵尸网络,以便发送攻击命令。

(6)攻击主机向僵尸主机发出攻击命令,常见的攻击有DDoS攻击、端口扫描、发送垃圾邮件、窃取敏感信息等。

(7)僵尸主机获取到攻击主机的攻击命令。

(8)僵尸主机向目标主机发起DDoS攻击。

4.P2P僵尸网络检测方法

目前,针对P2P僵尸网络的检测方法主要有两种:一是基于主机行为的检测方法;一是基于网络流量的检测方法。前者是在一个负责监控的主机内部部署传感器用来监控和记录僵尸程序的可疑活动行为;后者是通过分析P2P僵尸网络通信行为在网络层面表现出来的特征及变化规律,并利用这些特征来判断网络流量中是否存在P2P僵尸流量。

4.1 基于主机行为的检测方法

基于主机行为的检测方法跟传统的恶意代码检测类似,对僵尸程序的可疑行为进行检测。IRC僵尸网络和HTTP僵尸网络属于集中式僵尸网络,而P2P僵尸网络属于分布式僵尸网络,在规模上后者一般比前者小,控制时效性不高,但P2P僵尸网络没有固定的中心服务器,可以有效克服集中式僵尸网络单点失效的致命弱点,在控制、传播、生存等方面与集中式僵尸网络相比都存在较大的优势。在僵尸程序潜伏时期,P2P僵尸网络融入在某个普通的P2P网络中,使僵尸程序之间的通信隐藏于正常的P2P流量中,从而降低了僵尸程序被发现的概率,增强了隐蔽能力。

当P2P僵尸程序处于活跃时期,即处于融入僵尸网络阶段或实施攻击行为等阶段,僵尸主机的通信流量和僵尸程序进程行为都表现比较明显的特征,为在主机端进行检测提供较好的条件。此时从两方面内容进行检测。一方面,P2P僵尸程序和大部分正常的P2P应用一样,都采用了P2P协议,在网络通信上会体现出一些P2P流量特点,此方法通过对P2P流量的识别,初步判定P2P僵尸程序的存在范围;另一方面,P2P僵尸程序跟其它恶意程序一样,在活跃时期它们进程的行为会呈现出一些特点和规律性,此方法通过对指定的P2P进程行为进行分析,从而判断是否为P2P僵尸程序。基于这两方面内容,检测方法主要由P2P通信识别和恶意行为检测两部分组成。P2P通信识别部分,主要通过统计分析截获的网络数据包信息,实现对P2P流量的识别。恶意行为检测部分,主要通过监视进程API(应用程序接口)函数调用,获取API函数序列,提取特征子串,再运用LDA(线性判别分析)算法分析区分良性与恶性的进程,实现P2P僵尸程序的检测。

4.2 基于网络流量的检测方法

基于网络流量的检测方法主要是通过分析P2P僵尸网络的各种通信行为在网络流量层上表现出来的各种长期的或短期的规律,然后基于这些规律来检测网络流量中是否存在P2P僵尸网络的流量。可以通过对局域网内的流量或者某些关键主机的流量进行实时检测来发现规律。

现设计一个数据流检测系统,从网络中的某一关键节点捕获数据流作为该系统的输入数据。逻辑上把系统分为两部分,一为僵尸网络P2P流量的过滤模块;一为僵尸网络恶意行为检测模块。具体检测流程如下:

(1)在关键节点捕获局域网中的网络流量;

(2)通过端口过滤,将流量分为四种情况:被剔除的会影响下阶段检测的流量、过滤出来的SMTP流量、使用固定端口的P2P流量、剩余流量;

(3)剩余流量通过应用层特征检测和流量特征检测进一步识别出其中的P2P流量;

(4)对所有识别出来的P2P流量进行P2P流量特征聚类,得到属于同一P2P网络的P2P群;

(5)对过滤出来的SMTP流量进行垃圾邮件检测,得到发送垃圾邮件的节点;

(6)对原始数据流进行端口扫描检测和DDoS攻击检测,得到进行端口扫描的节点和DDoS攻击的节点;

(7)对得到的4个节点群(P2P节点、SMTP节点、端口扫描节点、DDoS攻击节点)进行综合,判断是否属于P2P僵尸网络。

5.P2P僵尸网络检测系统设计方案

由于P2P僵尸网络的隐蔽性比起IRC僵尸网络和HTTP僵尸网络要高得多,若通过基于主机行为的检测方法则难以检测出来,所以现在主要考虑使用基于网络流量的检测方法设计P2P僵尸网络检测系统。

通过对P2P僵尸网络的工作机制研究发现,攻击者通过命令与控制信道控制位于不同网络位置的感染主机,完成攻击者的各种攻击行为。目前,这些攻击行为主要是端口扫描、DDoS攻击和发送垃圾邮件。

针对攻击者的攻击行为,检测方法可以分为两个部分:第一部分为命令与控制信道的检测,第二部分为恶意行为的检测。通过捕获网络中的流量,结合P2P僵尸网络在网络中的特点,分析数据流,设计一P2P僵尸网络检测系统,判断网络中是否存在P2P僵尸网络。

如图3所示,系统主要分为4个模块,分别为流量捕获模块、P2P流量过滤模块、恶意流量检测模块、整合判断模块。流量捕获模块负责捕获网络中的数据流,为下一阶段的分析提供基础;P2P流量过滤模块负责提取出网络流中的P2P流量,标记能够识别出P2P协议类型的P2P流量,通过流量特征聚类识别出使用同一P2P网络的节点,生成P2P节点群;恶意流量检测模块负责检测端口扫描行为、DDoS攻击行为和垃圾发送行为,并对检测出来的具有上述三种行为的节点分别标记;整合判断模块负责整合P2P流量过滤模块和恶意流量检测模块的检测结果,综合判断网络中是否存在P2P僵尸网络。

图3 P2P僵尸网络检测系统功能模块图

6.结语

本文在对P2P僵尸网络的工作机制、检测方法的研究基础上,提出了一个基于P2P僵尸网络检测系统的设计方案。但该系统并不能检测出所有的P2P僵尸程序,还需要作进一步的研究,不断提高检测效率。

[1]中国互联网络信息中心.中国互联网络发展状况统计报告[EB/O L].h t t p://w w w.c n n i c.n e t.c n/,2014.

[2]国家互联网应急中心.C NC ER T互联网安全威胁报告[EB/O L].h t t p://w w w.c e r t.o r g.c n/,2014.

[3]诸葛建伟,韩心慧,周勇林,等.僵尸网络研究[J].软件学报,2008,19(3):702-715.

[4]唐雅娟,柳雪娟.P2 P僵尸网络的检测方法[J].计算机安全,2013,13(9):32-36.

[5]王海龙,龚正虎,侯婕.僵尸网络检测技术研究进展[J],计算机研究与发展,2010,47(12):2038-2044.

猜你喜欢

网络流量僵尸命令
基于多元高斯分布的网络流量异常识别方法
只听主人的命令
基于神经网络的P2P流量识别方法
笔记本电脑“僵尸”
移防命令下达后
你愿意当吸血鬼还是僵尸?
AVB网络流量整形帧模型端到端延迟计算
这是人民的命令
在舌尖上筑牢抵御“僵尸肉”的防火墙
App已死?80%的僵尸应用带来的困惑