移动僵尸网络特征码生成方法和移动僵尸网络检测方法

文档序号:7941172阅读:228来源:国知局
专利名称:移动僵尸网络特征码生成方法和移动僵尸网络检测方法
技术领域
本发明涉及移动互联网安全技术领域,特别涉及一种移动僵尸网络特征码生成方法和移动僵尸网络检测方法。
背景技术
随着移动互联网的发展,智能手机的逐渐普及;由于智能手机逐渐具有的更强大的计算能力和更方便的网络接入途径,为移动僵尸网络的产生和发展提供了基础。移动僵尸网络是僵尸网络在移动终端上的发展,指的是攻击者通过手机僵尸程序建立的可控移动终端群体。与计算机平台上的僵尸网络类似,移动僵尸网络攻击者可以通过移动终端如智能手机进行短信洪流攻击、发送垃圾邮件、订购高额SP服务等有害行为。 这些行为极大的威胁着手机用户的隐私和财产安全。目前的移动僵尸网络大多主要基于 HTTP协议实现命令控制,图1为移动互联网下僵尸网络结构示意图。目前已经发现若干个手机平台上的僵尸网络。首个针对Symbian平台的手机僵尸网络SYMB0S_YXES. B于2009年7月被发现,感染僵尸程序的手机会搜集用户的个人资料、 手机信息、网络信息等并将这些信息上传到指定的服务器。此外还会发送大量的垃圾短信给被感染用户的联系人,短信内容由控制者服务器提供。在2009年11月,出现了首个针对越狱iPhone的Ikee. B手机僵尸网络。僵尸程序感染用户后会搜集手机中经济有关的敏感信息并上传到指定服务器,并且能够通过该服务器获取并执行命令。随着Android系统的推出及发展,使用Android系统手机的用户日益增多。由于Android系统的开放性,其安全问题一直是人们比较关心的重点。目前Android平台上已经出现了大量的手机恶意软件, 其中一些恶意软件已经带有手机僵尸网络的特征。在2010年,首个针对Android系统的手机僵尸网络Geinimi出现。针对以上移动僵尸网络的出现给移动互联网带来安全问题,需要作一些相应防御措施来进行对抗,但目前对移动僵尸网络的防御研究甚少,而对移动僵尸网络检测这方面的研究几乎还没有。所以,业内需要一种移动僵尸网络检测方法。

发明内容
本发明要解决的技术问题是提供一种移动僵尸网络特征码生成方法和移动僵尸网络检测方法。根据本发明的一个方面,提供一种生成移动僵尸网络的特征码方法,包括步骤 1、捕获可疑主机群的网络流量;步骤2、对所述网络流量数据包作基于内容的分割,获取相同字符串;步骤3、对所述相同字符串进行统计分析,计算其流行度,提取流行度超出一定阈值的字符串;和步骤4、过滤所述流行度超出一定阈值的字符串,将常用的字符串排除, 剩下的字符串作为特征码。可选的,步骤1包括步骤0-1、在网络接入点上,捕获网络流量并对流量信息作记录;步骤0-2、对记录的流量信息进行聚类分析,以划分主机群;和步骤0-3、根据时空相似性,确定所述主机群中的可疑主机群。可选的,步骤0-1中所述网络接入点包括GPRS接入点。可选的,步骤0-1中所述记录的格式为〈源IP地址,目标IP地址,源端口,目标端口,协议,时间,连接时间〉。可选的,步骤0-2中所述聚类分析包括X-MEANS方法。可选的,所述的生成移动僵尸网络的特征码方法在步骤0-2前还包括基本过滤, 以排除部分数据;所述基本过滤包括过滤掉所有内网向外网的通信以及不完全建立链接的包。可选的,所述的生成移动僵尸网络的特征码方法在步骤0-2前还包括白名单过滤,以排除部分数据;所述白名单中包括知名web服务器的IP和域名。可选的,步骤0-2包括对所得的相关流进行分类,以将具有相同属性值的网络流聚合成一个集合流;和从集合流提取特征映射到多维向量空间的多维向量;所述多维向量空间的维度与特征数相同。可选的,步骤0-2还包括对多个多维向量进行二次聚类;所述二次聚类包括第一次聚类和第二次聚类;所述第一次聚类使用X-MEANS聚类算法,减少特征变量数,即将多个多维向量的集合分割成多个第一集合;所述第二次聚类使用X-MED0IDS聚类算法对第一次聚类产生的结果再次划分,得到多个第二集合。根据本发明另一个方面,还提供一种利用上述方法生成的特征码来检测移动僵尸网的方法,包括捕获待检测主机群的网络流量;所述网络流量为数据包,所述数据包具有包头和有效负载,所述包头和有效负载为一系列字符串;利用特征码进行字符串匹配;对匹配成功的流量,确定为手机僵尸程序,记录信息;和对匹配不成功的流量,放行此流量。与现有技术中相比,本发明的优点在于(1)本发明提供的方法利用时空相似性,不依赖移动僵尸网络命令与控制的协议和结构;(2)该检测方法能实时、有效地发现手机僵尸程序,而且误报率低;(3)该检测方法运行的网络接入点上(如GPRS接入点上),不会受手机电池耗电的影响。


图1是现有技术中移动互联网下的僵尸网络结构示意图;图2是一个示例中僵尸程序发出以及响应消息的时空相似性示意图;图3是本发明一个实施例中提供的移动僵尸网络特征码生成方法流程图;图4是本发明一个实施例中分割网络流量数据包的方法示意图;图5是本发明一个实施例中对多个D维向量进行二次聚类的示意图;图6是本发明一个实施例中提供的移动僵尸网络检测方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对根据本发明的实施例中提供的移动僵尸网络检测方法进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了检测僵尸网络,首先需要了解僵尸网络的特点。发明人经过长期研究发现,僵尸网络具有下述特征由于僵尸程序对命令控制的响应行为是在编程时已经被确定,相同僵尸网络中的僵尸程序行为具有时空相似性。其中,时空相似性指的是大量僵尸程序在维持连接、收发控制命令和执行攻击任务时经常表现出协同性,使得多个僵尸程序会在同一时间窗内进行内容相似的通信。在移动互联网已经出现的利用HTTP命令与控制协议的移动僵尸网络也符合这一个特性。例如,参考图2,其中僵尸(bot)210、220、230在相同的时间段201、202、203内发出以及响应消息具有相似性。所以,如果将上述时空相似性固化下来,用某种特征码进行表示,那么利用这种特征码匹配来对流量进行监测就可以实现僵尸网络检测。其中,特征码可以是一组字符串,所述字符串是从流量数据包中提取的共同字符串,表示bot通信过程中相同的行为(连接相同的目的IP、目的端口,包含控制命令)。在本发明的一个实施例中,提供一种生成移动僵尸网络的特征码方法。该方法包括确定可疑主机群和生成其特征码的过程,如图3所示,包括S110、通信捕获,获取流量信息。在网络接入点上如GPRS接入点上进行IP扫描, 获取网络流量,对流量信息(即网络数据包)作记录。信息内容和格式如下<源IP地址, 目标IP地址,源端口,目标端口,协议,时间,连接时间>。S120、通信聚类,生成主机群。从通信捕获中得到的流量信息进行聚类并得到相似通信模式,使用的算法包括X-MEANS等聚类算法;由于聚类方法对主机群有了划分,对新来的主机进行通信模式匹配后,该主机可以被归类到相应的主机群中。新来的主机产生的数据包与已有主机群数据包特性匹配,如该类的数据包大小一样,该数据包里的目的IP和端口一样。主机群的数据包大小一样,目的IP地址、源目的端口一样。S130、确定可疑主机群。在一段时间内,根据时空相似性可得出主机群中的可疑主机群,最终获得相似行为的可疑主机群。至此,确定了可疑主机群。S140 对可疑主机群监测,捕获流量。各个集合Ai中分别是相似行为的主机群,对这些主机群进行流量监测,并捕获其流量。S150 分割网络流量数据包,获取相同字符串。根据时空相似性,这些主机群之间或者主机群与控制服务器之间的通信都会有相同的行为,所以对这些主机对应的网络流量数据包做基于负载内容的分割分析,从而获取相同字符串。这些相同的字符串可能包含命令与控制的信息。本发明的另一个实施例中,还可以对流量数据包做基于已知常见字符串的分割, 例如,参考图4,对流量数据包用‘0008’进行分割,分割得到的el和e2是两个流中相同的字符串。其中,‘0008’是一种已知常见字符串。S160:统计分析获取到的字符串,即对这些相同字符串进行统计分析、计算流行度,提取流行度超出一定阈值的字符串。S170 黑名单过滤。将获得的字符串经过黑名单过滤,常用的字符串被放入黑名单,剩下的字符串作为特征码放入特征库。至此,生成了特征码。优选的,在步骤SllO中,因为在中国手机上网一般采用GPRS的方法,所以在GPRS接入点上进行检测,不仅能防止手机僵尸程序对整个手机网络造成影响使手机服务不能正常工作或者影响用户隐私等有害行为,而且能快速遏制手机僵尸程序的传播。另外,针对GPRS上网的手机,没有公网IP,所以不能对手机定位,但可以对可疑手机群模糊指定手机的IP只是某基站的IP,并不是公网IP,所以相同地理位置的手机享有相同的IP,此IP为基站IP ;这样,相同手机IP为一个集合,就能定位该集合。上述步骤SllO中捕获的流量是很大的。为了减少后续步骤中需要处理的数据、提高处理效率,如图3所示,本发明的另一个实施例中,步骤S120进一步包括S201 基本过滤,排除部分数据。对流记录作基本过滤,就是过滤掉所有内网向外网的通信以及不完全建立链接的包,留下可疑的数据,比如一个主机在没有完成TCP握手发送确认包的情况,这种情况一般会发生在扫描活动中。S202 白名单过滤,排除部分数据。采集各大知名web服务器的IP和域名,将其列入白名单。S203 分类聚类。经过基本过滤和白名单之后,我们要对所得的相关流进行分类。 将具有相同属性值的网络流分为一类。假定一个时间段,比如一天,将拥有相同的协议、源 IP地址、目标IP地址和端口的网络流聚合成一个集合流C (一个集合,集合里面的元素是网络流)。然后从集合流C提取特征映射到一个D维的向量空间,所述D维向量空间的维度与特征数相同。这样处理后再聚类能减少漏报率。比如两个网络流的目的IP不同,但可能是同一个僵尸网络使用了不同的DNS,如果不进行映射,将会因为C流中的目的IP不同而不会被聚类到一组。流分类使集合变小,提高聚类效率。分类聚类的结果就是得到多个D维向量。上述步骤S201、S202、S203都可以减少数据量,提高聚类效率,但是减少的数据类型是不一样的,结合使用可以去除多种类型的不相关数据。在本发明一些实施例中,上述步骤也可以不结合使用。但是,即使对于中等大的网络中,上述特征维度空间也是很大的,而被感染的机器在网络中比例又相对来说非常小,所以需要从C流中分离出良性和恶性(良性表示正常流
量)O为解决上述问题,提高处理效率,根据本发明的另一个实施例,在上述步骤S203 中对多个D维向量进行二次聚类S2031 第一次聚类将使用X-MEANS聚类算法,将众多特征变量减少到相对比较少的个数即要将大集合X分割成多个小集合Ai (C流映射到D维向量空间,以便应用算法,这里X表示D维向量空间集合)。S2032 第二次聚类将使用X-MED0IDS聚类算法对第一次聚类产生的结果Ai再次划分,得到更小集合。如图5所示,第一步骤先在大集合D中,进行分类,得到集合Ai和Aj,在各个小集合Ai、Aj中再次进行小划分,得到更小的集合Ai 1、Ai2和Aj 1、Aj2。按照本发明所提供的僵尸网络的特征码,通信监测系统对流量进行监测。本发明一个实施例中,提供移动僵尸网络检测方法,参见图6,包括S401 利用特征码进行字符串匹配。若匹配成功,转入S402 ;若匹配不成功,转入S403 ;所抓取的数据包具有包头和有效负载,不管是包头还是有效负载都是一系列字符串;S402 匹配成功的是手机僵尸程序,记录信息,转入S401 ;S403 匹配不成功,放行此流量,转入S401。应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
权利要求
1.一种生成移动僵尸网络的特征码方法,包括 步骤1、捕获可疑主机群的网络流量;步骤2、对所述网络流量数据包作基于内容的分割,获取相同字符串; 步骤3、对所述相同字符串进行统计分析,计算其流行度,提取流行度超出一定阈值的字符串;和步骤4、过滤所述流行度超出一定阈值的字符串,将常用的字符串排除,剩下的字符串作为特征码。
2.根据权利要求1所述的生成移动僵尸网络的特征码方法,步骤1包括 步骤0-1、在网络接入点上,捕获网络流量并对流量信息作记录;步骤0-2、对记录的流量信息进行聚类分析,以划分主机群; 步骤0-3、根据时空相似性,确定所述主机群中的可疑主机群;和步骤0-4、捕获该可疑主机群的网络流量。
3.根据权利要求2所述的生成移动僵尸网络的特征码方法,步骤0-1中所述网络接入点包括GPRS接入点。
4.根据权利要求2所述的生成移动僵尸网络的特征码方法,步骤0-1中所述记录的格式为<源IP地址,目标IP地址,源端口,目标端口,协议,时间,连接时间>。
5.根据权利要求2所述的生成移动僵尸网络的特征码方法,步骤0-2中所述聚类分析包括X-MEANS方法。
6.根据权利要求2所述的生成移动僵尸网络的特征码方法,在步骤0-2前还包括 过滤掉所有内网向外网的通信以及不完全建立链接的包,以排除部分数据。
7.根据权利要求2所述的生成移动僵尸网络的特征码方法,在步骤0-2前还包括 白名单过滤,以排除部分数据;所述白名单中包括知名web服务器的IP和域名。
8.根据权利要求2所述的生成移动僵尸网络的特征码方法,步骤0-2包括 对所得的相关流进行分类,以将具有相同属性值的网络流聚合成一个集合流;和从集合流提取特征映射到多维向量空间的多维向量;所述多维向量空间的维度与特征数相同。
9.根据权利要求8所述的生成移动僵尸网络的特征码方法,步骤0-2还包括使用X-MEANS聚类算法,减少特征变量数,即将多个多维向量的集合分割成多个第一集合;使用X-MED0IDS聚类算法对第一集合再次划分,得到多个第二集合。
10.一种利用如权利要求1 9中任意一项所生成的特征码来检测移动僵尸网络的方法,包括捕获待检测主机群的网络流量;所述网络流量为数据包,所述数据包具有包头和有效负载,所述包头和有效负载为一系列字符串; 利用特征码进行字符串匹配; 根据匹配结果,确定待检测主机群是否为僵尸网络。
全文摘要
本发明提供一种生成移动僵尸网络的特征码方法,包括捕获可疑主机群的网络流量;对所述网络流量数据包作基于内容的分割,获取相同字符串;对所述相同字符串进行统计分析,计算其流行度,提取流行度超出一定阈值的字符串;和过滤所述流行度超出一定阈值的字符串,将常用的字符串排除,剩下的字符串作为特征码。还提供一种利用上述方法生成的特征码来检测移动僵尸网的方法,包括捕获待检测主机群的网络流量;所述网络流量为数据包,所述数据包具有包头和有效负载,所述包头和有效负载为一系列字符串;利用特征码进行字符串匹配;对匹配成功的流量,确定为手机僵尸程序,记录信息;和对匹配不成功的流量,放行此流量。
文档编号H04L29/06GK102333313SQ201110315580
公开日2012年1月25日 申请日期2011年10月18日 优先权日2011年10月18日
发明者卢维清, 崔翔, 郭莉 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1