一种基于主动探测的僵尸网络家族检测方法

文档序号:7886703阅读:170来源:国知局
专利名称:一种基于主动探测的僵尸网络家族检测方法
技术领域
本发明涉及一种基于主动探测的僵尸网络家族检测方法,属于计算机应用技术领域。
背景技术
僵尸程序是指安装在受害者计算机上秘密运行并用于窃取信息及受远程控制的程序。被植入僵尸程序的受害计算机群则组成了一个规模化的僵尸网络,攻击者通过控制服务器对其进行远程控制,该受控网络的核心特点是攻击者能够利用控制信道传送一对多的命令来操纵僵尸主机(感染僵尸程序的主机),让这些僵尸主机执行相应的恶意行为,如发送垃圾邮件、发动大规模DdoS攻击等。僵尸程序及僵尸网络给互联网造成了严重的安全威胁。僵尸程序及僵尸网络的生命周期可以分为传播、感染、通信等阶段传播阶段即在用户主机植入僵尸程序,一些典型的方式有主动式漏洞扫描、电子邮件、网页木马、伪装下载等;感染阶段即用户主机执行僵尸程序,使得注册表被修改、进程被开启、防火墙被关闭;通信过程包括加入僵尸网络的过程和接受控制命令的过程,受控主机通过命令与控制信道与控制端通信、接收命令,使用的协议主要有IRC、HTTP、P2P等。僵尸程序与僵尸网络应急响应的关键是对控制中心进行发现和监控,主动将所有受害主机发往该服务器的连接全部截断。然而为了躲避监测和提高隐蔽性,攻击者倾向于通过自动化恶意套件建立一些采用自定义私有协议的小型化僵尸网络,通过提高代价来躲避安全监测与响应。一个毫无经验的攻击者也能轻易地利用一些IP、端口等可配置的套件工具制造出僵尸程序变种并感染大量主机,这些僵尸主机被属于同一个僵尸网络家族的不同的控制中心所控制。一些现有的僵尸网络检测办法仅仅识别出当前僵尸程序和与之对应的控制中心,并不能识别出同一僵尸网络家族中的所有控制中心,因而也无法检测出整个僵尸网络家族。僵尸程序是植入受害者主机,受远程控制、可以和远程控制端通信的程序。植入该僵尸程序的僵尸主机受同一个控制中心控制。但是僵尸程序也可以做一些变化,如修改控制中心的ip等,这样,经过变形后的僵尸程序就对应了另外一个控制中心。变形前后的这两个僵尸程序对应的控制中心都属于同一个僵尸网络家族。本发明的目标就是检测出僵尸网络家族中的不同控制中心和这这些控制中心控制的僵尸主机。

发明内容
本发明是一种基于主动探测的僵尸网络家族检测方法,以探测僵尸网络家族控制中心为核心进行僵尸网络家族主动发现,主要的思想是利用已分析出的僵尸程序样本和样本控制端的通讯特征,采用一种主动探测的方式检测出僵尸网络家族的其它控制中心,根据检测出的控制中心查找出网络中被该僵尸网络家族控制的僵尸主机。本发明利用已分析出的僵尸程序样本和其控制端的通讯特征,采用一种主动探测的方式检测僵尸网络家族的其它控制中心,进而检测出整个僵尸网络家族。其中,已分析出的样本控制端通讯特征包括通讯协议特征和交互协议特征,通讯协议特征指僵尸程序样本和其控制端通讯时包的格式特征,一般可用正则表达式描述,交互协议特征指通讯双方发包的序列特征,一般可用自动机描述。本发明提出基于主动探测的僵尸网络家族检测方法,控制中心通过网络通道与僵尸主机端口连接进行通信包传递,主要包括以下几个步骤1)扫描僵尸网络,提取得到疑似控制中心和若干活跃端口信息;2)根据僵尸网络中僵尸程序样本和其控制中心端的通信特征通过所述活跃端口与所述疑似控制中心进行协议交互;3)将所述协议交互后的反馈包与该疑似控制中心进行特征匹配;4)根据设定阀值判定僵尸网络控制中心,并对该控制中心通信进行监控;5)根据监测结果,查找出所述僵尸网络家族中所有僵尸主机。所述疑似控制中心和活跃端口信息表示为二元组(ip/mac,ports),步骤2)包括将所述二元组(ip/mac,ports)拆成单个(ip/mac,port),利用TCP报文重放工具将所述僵尸程序样本发往其中心控制端的通信包mac、ip地址和端口分别修改为(ip/mac,port)对中的相应值;并对所述修改后的数据包进行重发。僵尸程序样本和其控制中心端进行通信时每个包的格式特征用正则表达式描述。所述协议交互后的反馈包与该疑似控制中心进行特征匹配方法为,若疑似控制中心(ip/mac,port)的某次响应与通信协议特征的对应的正则表达式匹配,则判断疑似控制中心(ip/mac,port)成功完成了该响应,否则为未成功完成响应。所述疑似控制中心和活跃端口信息表示为二元组(ip/mac,ports),步骤幻包括将所述二元组(ip/mac,ports)拆成单个(ip/mac,port),利用ScriptGen工具对僵尸程序样本和其中心控制端的通信进行分析,基于得到的通信协议与疑似控制中心(ip/mac, port)进行动态交互。通过有限状态自动机得到僵尸样本和其中心控制端发包的序列特征,其中,状态转换边为僵尸样本向其中心控制端发送通信包或中心控制端向僵尸程序发的通信包。所述协议交互后的反馈包与该疑似控制中心进行特征匹配方法为,若疑似控制中心(ip/mac,port)完成某次响应,则对应的通信交互特征满足有限状态自动机状态转换条件,进行状态迁移;若跳转到终止状态,则用所经过的状态节点个数和通信交互特征的有限状态自动机中的总的状态个数建立比值关系,若比值超过一定阈值,则判定该疑似控制中心(ip/ mac, port)僵尸网络家族的某个控制中心;若疑似控制中心(ip/mac,port)并未成功完成了某次响应,则用所经过的状态节点个数与通信交互特征的有限状态自动机中的总的状态个数建立比值关系,若比值超过一定阈值,则判定该疑似控制中心(ip/mac,port)僵尸网络家族的某个控制中心。所述步骤1)中扫描僵尸网络方法包括(1)对活跃主机进行扫描,得到活跃主机ip/mac的列表;(2)对操作系统进行鉴识,将与已知僵尸样本和其中心控制端的通信特征不符合的主机ip地址从列表中去除;
(3)对活跃端口进行扫描,得到该主机h的活跃端口集合ports ;
(4)输出目标网络中活跃的(ip/mac,ports)对。
所述步骤6)判断控制中心的方法是,如果步骤幻监测的疑似控制中心完成所设定阀值的匹配特征协议交互或匹配通信协议特征,则判定该疑似控制中心是僵尸网络家族中的一个控制中心。
该僵尸程序样本指的是,该领域任何技术人员在一些工具辅助下,均可提取通讯特征的样本,该僵尸程序样本并不局限于一些已知样本。
本发明的优点和积极效果如下
1.本发明通过主动探测的方式,能够较大范围的发现同一僵尸网络家族中的其它控制中心,进而达到对整个僵尸网络家族的检测和监控。
2.本发明是一种协议无关的方法本发明与僵尸网络所采用的协议无关,根据已分析出的僵尸程序样本和其控制端的通讯特征,采用本发明方法,即可对整个僵尸网络家族进行检测和监控。


图1本发明基于主动探测的僵尸网络家族检测方法的流程图具体实施方式
为了表述方便,本实施例以192. 168. 68. 0/24为目标网络范围,对本发明的基于主动探测的僵尸网络家族检测方法进行详细说明,但是本领域的技术人员可以理解,目标网络的范围可以扩展到到全网上,本实施例的步骤如下
(1)过滤出疑似控制中心及其活跃端口
利用成熟的端口扫描工具nmap,进行如下扫描
a.活跃主机扫描执行nmap命令"nmap-sP 192. 168. 68. 0/24",对于活跃主机 XXX,nmap会有〃 Host XXX appea rs to be up"的消息返回,对nmap的返回结果进行正则表达式匹配,得到活跃主机ip/mac的列表。
b.操作系统鉴识对列表A中每个ip地址h,执行nmap命令〃 nmap-0 h〃,用正则表达式提取操作系统描述。对于与已知僵尸样本和其控制端的通讯特征不符合的主机, 将其ip地址从列表A中去除。
c.活跃端口扫描对活跃主机列表A中每个ip地址h,执行〃 nmap-sS h〃进行 SYN方式的端口扫描,得到该主机h的活跃端口集合ports。
步骤(1)的输出为目标网络中活跃的(ip/mac,ports)对。
(2)主动探测式协议深度交互
对于已知僵尸样本和其控制端的通讯特征,用正则表达式描述僵尸程序样本和其控制端通讯时每个包的格式特征,即通讯协议特征;用有限状态自动机刻画僵尸样本和其控制端发包的序列特征,即协议交互特征,其中,该有限状态自动机中状态为编号为1、2、 3、...的节点,状态转换边为僵尸样本向其控制端发的通讯包或控制端向僵尸程序发的通讯包。
将步骤(1)中(ip/mac,ports)拆成单个的(ip/mac, port)对,每个(ip/mac,port)对为一个疑似控制中心,对每个(ip/mac,port)对用下述两种方法进行协议深度交互。
1)利用TCP报文重放工具TCPr印lay的TCPwrite功能将僵尸程序样本发往其控制端的通信包中的mac地址、ip地址、端口分别修改为(ip/mac,port)对中的相应值,用 TCPreplay的TCPr印lay功能对修改后的包进行重放,进行粗粒度的网络通信的模拟;
2)利用ScriptGen等工具对已分析出的僵尸程序样本和其控制端的通讯进行分析,然后基于通用协议的僵尸程序控制协议的模拟方法,与疑似控制中心(ip/mac,port) 进行动态交互,进行细粒度的协议模拟。
步骤O)同时监测协议深度交互时每个(ip/mac,port)所有的响应包。
(3)疑似控制中心通讯特征匹配
根据如下方法对步骤( 中对疑似控制中心(ip/mac,port)进行主动探测式协议深度交互中的通信包按顺序进行特征匹配
a.若疑似控制中心(ip/mac,port)的某次响应与通讯协议特征的对应的正则表达式匹配,则认为疑似控制中心(ip/mac,port)成功完成了该响应,否则为未成功完成响应。
b.主动探测式协议深度交互中,每次模拟客户端发出通讯包都会触发一次通讯交互特征有限状态自动机的状态转换;若疑似控制中心(ip/mac,port)成功完成了某次响应,则对应的通讯交互特征的有限状态自动机就满足了该次状态转换条件,因此,进行状态迁移,状态迁移主要是为了跳往下一个状态节点,这样经过的状态数就会加一,若跳转到终止状态,疑似控制中心的交互完成了,则跳到步骤c ;若疑似控制中心(ip/mac,port)并未成功完成了某次响应,则跳转到步骤C。
c.将b所经过的状态节点个数除以通讯交互特征的有限状态自动机中的总的状态个数,若比值超过一定阈值(本次实施例中,阈值设定为0. 7),则判定该疑似控制中心 (ip/mac, port)僵尸网络家族的某个控制中心。
已知僵尸样本和其控制端的通讯特征,步骤(1)-(3)发现目标网段 192. 168. 68. 0/24中的符合该类型僵尸程序特征的僵尸网络控制中心。将检测范围从目标网络扩展到全网上,则可发现全网中符合该类型僵尸程序特征的僵尸网络控制中心,即找到该僵尸网络家族中的所有控制中心。
(4)僵尸主机发现
在网关处对步骤4)中判定出的控制端的通讯进行监控,监测和发现与这些控制中心进行通讯连接的主机,最终发现被该类型僵尸程序控制的受害主机。步骤(4)最终查找出网络中被该僵尸网络家族控制的所有僵尸主机。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
权利要求
1.一种僵尸网络家族检测方法,控制中心通过网络通道与僵尸主机端口连接进行通信包传递,包括步骤如下1)扫描僵尸网络,提取得到疑似控制中心和若干活跃端口信息;2)根据僵尸网络中僵尸程序样本和其控制中心端的通信特征通过所述活跃端口与所述疑似控制中心进行协议交互;3)将所述协议交互后的反馈包与该疑似控制中心进行特征匹配;4)根据设定阀值判定僵尸网络控制中心,并对该控制中心通信进行监控;5)根据监测结果,查找出所述僵尸网络家族中所有僵尸主机。
2.如权利要求1所述的僵尸网络家族检测方法,其特征在于,所述疑似控制中心和活跃端口信息表示为二元组(ip/mac,ports),步骤幻包括将所述二元组(ip/mac,ports)拆成单个(ip/mac,port),利用TCP报文重放工具将所述僵尸程序样本发往其中心控制端的通信包mac、ip地址和端口分别修改为(ip/mac,port)对中的相应值;并对所述修改后的数据包进行重发。
3.如权利要求2所述的僵尸网络家族检测方法,其特征在于,僵尸程序样本和其控制中心端进行通信时每个包的格式特征用正则表达式描述。
4.如权利要求1所述的僵尸网络家族检测方法,其特征在于,所述协议交互后的反馈包与该疑似控制中心进行特征匹配方法为,若疑似控制中心(ip/mac,port)的某次响应与通信协议特征的对应的正则表达式匹配,则判断疑似控制中心(ip/mac,port)成功完成了该响应,否则为未成功完成响应。
5.如权利要求1所述的僵尸网络家族检测方法,其特征在于,所述疑似控制中心和活跃端口信息表示为二元组(1 /111肌,?0汁8),步骤幻包括将所述二元组(ip/mac,ports)拆成单个(ip/mac,port),利用ScriptGen工具对僵尸程序样本和其中心控制端的通信进行分析,基于得到的通信协议与疑似控制中心(ip/mac,port)进行动态交互。
6.如权利要求5所述的僵尸网络家族检测方法,其特征在于,通过有限状态自动机得到僵尸样本和其中心控制端发包的序列特征,其中,状态转换边为僵尸样本向其中心控制端发送通信包或中心控制端向僵尸程序发的通信包。
7.如权利要求6或5所述的僵尸网络家族检测方法,其特征在于,所述协议交互后的反馈包与该疑似控制中心进行特征匹配方法为,若疑似控制中心(ip/mac,port)完成某次响应,则对应的通信交互特征满足有限状态自动机状态转换条件,进行状态迁移;若跳转到终止状态,则用所经过的状态节点个数和通信交互特征的有限状态自动机中的总的状态个数建立比值关系,若比值超过一定阈值,则判定该疑似控制中心(ip/mac, port)僵尸网络家族的某个控制中心;若疑似控制中心(ip/mac,port)并未成功完成了某次响应,则用所经过的状态节点个数与通信交互特征的有限状态自动机中的总的状态个数建立比值关系,若比值超过一定阈值,则判定该疑似控制中心(ip/mac,port)僵尸网络家族的某个控制中心。
8.如权利要求1所述的僵尸网络家族检测方法,其特征在于,所述步骤1)中扫描僵尸网络方法包括(1)对活跃主机进行扫描,得到活跃主机ip/mac的列表;(2)对操作系统进行鉴识,将与已知僵尸样本和其中心控制端的通信特征不符合的主机ip地址从列表中去除;(3)对活跃端口进行扫描,得到该主机h的活跃端口集合ports;(4)输出目标网络中活跃的(ip/mac,ports)对。
9.如权利要求1所述的僵尸网络家族检测方法,其特征在于,所述步骤6)判断控制中心的方法是,如果步骤幻监测的疑似控制中心完成所设定阀值的匹配特征协议交互或匹配通信协议特征,则判定该疑似控制中心是僵尸网络家族中的一个控制中心。
全文摘要
本发明涉及一种基于主动探测的僵尸网络家族检测方法,控制中心通过网络通道与僵尸主机端口连接进行通信包传递,包括步骤如下1)扫描僵尸网络,提取得到疑似控制中心和若干活跃端口信息;2)根据僵尸网络中僵尸程序样本和其控制中心端的通信特征通过所述活跃端口与所述疑似控制中心进行协议交互;3)将所述协议交互后的反馈包与该疑似控制中心进行特征匹配;4)根据设定阀值判定僵尸网络控制中心,并对该控制中心通信进行监控;5)根据监测结果,查找出所述僵尸网络家族中所有僵尸主机。本发明是一种协议无关的方法根据已分析出的僵尸程序样本和其控制端的通讯特征,采用本发明方法,即可对整个僵尸网络家族进行检测和监控。
文档编号H04L12/26GK102546298SQ201210003559
公开日2012年7月4日 申请日期2012年1月6日 优先权日2012年1月6日
发明者张慧琳, 邹维, 韦韬, 韩心慧, 龚晓锐 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1