僵尸网络恶意域名的分布式协同检测系统和方法

文档序号:7775357阅读:243来源:国知局
僵尸网络恶意域名的分布式协同检测系统和方法
【专利摘要】本发明公开了一种僵尸网络的分布式协同检测系统和方法,所述检测系统由多个协同检测的对等节点组成,并通过HDFS来共享文件;每个节点包括DNS日志分割模块、域名查询周期性分析模块、白名单过滤模块、协同分析模块、HDFS模块和黑名单查询模块。检测方法是以各DNS服务器的DNS日志作为输入,在各节点对本地DNS日志按查询者IP地址进行分割,并通过HDFS进行共享文件,使得同一IP地址的所有DNS行为都能够被一个节点所获取,易于判断对应的IP地址查询的每个域名的查询周期性,从而在白名单过虑后能够判断其是否属于恶意域名,该查询者IP是否属于僵尸网络主机。同时,本发明还提供完整IP黑名单和域名黑名单的查询。
【专利说明】僵尸网络恶意域名的分布式协同检测系统和方法
【技术领域】
[0001]本发明涉及一种计算机网络安全领域的僵尸网络恶意域名检测系统和方法,尤其涉及一种僵尸网络恶意域名的分布式协同检测系统和方法。
【背景技术】
[0002]计算机网络是当今社会最为重要的信息设施,随着社会的高速发展,人们对计算机网络安全的要求也越来越高。僵尸网络(Botnet)是指攻击者制造并传播僵尸程序以控制大量主机(通常所说的僵尸机或肉鸡),利用命令和控制(Co_and and Control,C&C)通道组织成的网络,僵尸网络经常被用于发起分布式拒绝服务(DistributedDenial-of-Service, DDoS)攻击、发送垃圾邮件、传播或托管恶意代码和钓鱼网站,或者实施身份信息窃取等攻击。近年来,僵尸网络已对计算机网络安全和社会经济构成了极大的威胁,成为网络安全领域的重要问题,僵尸网络攻击相关的网络刑事案件也频频出现于各种媒体之上。
[0003]现有的基于网络通信监测的僵尸网络检测技术和方法,大多基于对僵尸网络C&C通信常用的互联网中继聊天 IRC (Internet Relay Chat)和 HTTP (hypertext transportprotocol)协议分析,以及僵尸网络感染主机的攻击等异常行为的检测。总体看来,在现有的技术中,僵尸网络检测机制大多是对于特定监测点的流量特征和行为特征进行分析,局限于僵尸网络在特定区域的活动。然而,僵尸网络普遍具有克隆和迁移的现象,在一个监测点的僵尸网络可能通过操作系统和软件漏洞等途径,传播到另一个监测点的网络中。因此,将分布在不同地区的监测点联合起来进行协同检测是快速、准确地发现和跟踪僵尸网络的有效手段。
[0004]Hadoop 分布式文件系统 HDFS (Hadoop Distributed File System)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS是一个高容错性的系统,适合部署在廉价的机器上。HDFS能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
[0005]因此,本发明致力于提供一种结合特定监测点的流量特征与行为特征的僵尸网络恶意域名分布式协同检测系统与检测方法。

【发明内容】

[0006]有鉴于现有的僵尸网络检测方法的缺陷,本发明提出了一种僵尸网络的分布式协同检测系统和方法,利用HDFS将分布在不同监测点通过分析域名查询周期性的僵尸网络检测程序结合,实现分布式协同检测,从而提高僵尸网络检测和跟踪的效率和准确性。
[0007]为实现上述目的,本发明提供了一种僵尸网络恶意域名的分布式协同检测系统,其特征在于,所述检测系统包括多个协同检测的对等节点,所述节点通过HDFS分布式文件系统共享文件;所述节点包括:
[0008]DNS日志分割模块:用于将相同IP的查询者的DNS日志分割到所述HDFS分布式文件系统的同一 DNS日志文件中;
[0009]域名查询周期性分析模块:分析DNS日志文件中对某一域名的查询是否具有周期性;
[0010]白名单过滤模块:过滤已知的合法域名;
[0011]协同分析模块:通过所述HDFS分布式文件系统实现获取其他所述节点的分析结果,协同分析判断:某一域名是否是恶意域名和某一 IP地址是否是僵尸主机地址;
[0012]HDFS模块:用于实现所述HDFS分布式文件系统;
[0013]黑名单查询模块:用于查询发布的黑名单。
[0014]一种使用所述检测系统的僵尸网络的分布式协同检测方法,其特征在于,所述检测系统的每个所述节点通过共享所述HDFS分布式文件系统进行僵尸网络的分布式协同检测,所述检测系统的一个所述节点通过所述HDFS分布式文件系统的检测方法包括:
[0015]步骤一,将通过所述节点输入的DNS日志通过所述节点内的所述DNS日志分割模块进行分割,并且根据域名查询者的IP地址,将IP地址相同的DNS日志通过所述HDFS模块分类存储到所述HDFS分布式文件系统的同一 DNS日志文件中;
[0016]步骤二,对存储到所述HDFS分布式文件系统中的DNS日志文件进行分配和标识,以达到一个DNS日志文件由所述检测系统中的一个所述节点负责处理分析;
[0017]步骤三,过滤已知的合法域名:通过所述白名单过滤模块对DNS日志文件中的合法域名进行过滤;
[0018]步骤四,在所述域名查询周期性模块中生产查询行为对象:对过滤后的DNS日志文件,将每一条DNS日志生成一个查询行为;
[0019]步骤五,在所述域名查询周期性模块中,对所述查询行为以查询者的IP地址为关键字进行分析,得出该查询者IP地址的主机活动时间;
[0020]步骤六,在所述域名查询周期性模块中,对所述节点中的所有所述查询行为以查询者IP地址和查询域名为关键字进行统计分析,得出查询行为中的可疑查询,并将所述可疑查询的查询行为通过所述HFDS模块记录入所述HDFS分布式文件系统的灰名单中;
[0021]步骤七,在所述协同分析模块中判断所述HDSF分布式文件系统中的灰名单中的查询行为是否是僵尸主机对恶意域名的查询,并将判断出的查询,并将判断出的查询域名和查询IP写入黑名单。
[0022]进一步地,所述步骤二中,有负责节点的DNS日志文件使用负责节点名称来进行文件标识,没有负责节点的DNS日志文件使用NULL来进行文件标识。
[0023]进一步地,所述查询行为包括查询者IP地址、查询域名和查询时间。
[0024]进一步地,所述步骤五中,所述IP地址的主机活动时间确定是通过对同一查询者IP地址的域名查询行为按照查询时间进行排序,通过计算相邻查询行为的时间间隔,根据选定的时间间隔Λ τ,相邻查询行为的时间间隔大于ΛΤ所对应的查询行为的查询时间作为已排序的域名查询行为的分割点,分割出所述IP地址的主机的活动时间。
[0025]进一步地,选定的所述时间间隔Λ T的值位于所述相邻查询行为的最小时间间隔和最大时间间隔之间。
[0026]进一步地,所述步骤六中,对所述节点中的所有查询行为以查询者IP地址和查询域名为关键字进行的统计分析包括:统计同一所述关键字中的查询行为的数量,得到一段活动期内查询一个域名的次数;对所述IP地址的主机活动时间内的同一组所述关键字的查询行为按查询时间排序;计算排序后的相邻查询行为的查询时间间隔、平均查询时间间隔、标准差和变异系数;通过所述排序后的相邻查询行为的查询时间间隔、所述平均查询时间间隔、所述标准差和变异系数判断出所述可疑查询。
[0027]进一步地,在所述步骤七中,所述协同分析模块通过统计每五分钟内灰名单中对域名进行查询的所有IP地址数量nip,和所在网段数nnet,计算重复系数r=nip/nnet,来判断所述HDSF分布式文件系统中的灰名单中的查询行为是否是僵尸主机对恶意域名的查询。
[0028]进一步地,在所述步骤七中,还包括选定常数NIP、NNET、R,当域名的nip>NIP且nnet<NNET且r>R时,所述域名和查询所述域名的IP地址被判定为恶意域名和僵尸主机。
[0029]进一步地,所述HDFS分布式文件系统对黑名单的处理是满足过期机制的。
[0030]本发明的基于域名查询周期性的僵尸网络恶意域名分布式协同检测系统和方法,将分布在不同节点的僵尸网络检测程序利用HDFS联系起来。本发明以DNS日志文件为输入,进行按查询者IP地址为key的日志文件划分,使同一查询者IP的记录被划分在同一文件中,并通过HDFS来实现单个分割结果的共享,从而,同一查询者IP地址的DNS日志记录将汇聚到同一个节点进行分析,该节点掌握了该IP地址主机的全部行为,易于判断检测该IP主机查询的域名是否存在周期性,从而发现该IP地址的主机是否属于僵尸网络主机,查询的域名是否是恶意域名。同时,本发明通过HDFS进行文件共享,在任意一个节点上都能方便查询到黑名单的全部内容。本发明基于域名查询周期性实现多个节点的协同检测,可提供更广泛和全面的主机行为辨识,提高僵尸网络检测和跟踪的效率和准确性。
[0031]以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
【专利附图】

【附图说明】
[0032]图1是本发明的一个较佳实施例中的基于域名查询周期性的僵尸网络恶意域名分布式协同检测系统的结构示意图;
[0033]图2是本发明的一个较佳实施例中的基于域名查询周期性的僵尸网络恶意域名分布式协同检测系统节点结构示意图。
【具体实施方式】
[0034]下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0035]本发明的僵尸网络恶意域名的分布式协同检测系统的一个较佳实施例中,检测系统由多个协同检测的对等节点组成,通过HDFS分布式文件系统来进行文件共享,其结构如图1所示。本发明的检测系统的每个节点以DNS日志为输入;与每个节点接口可以接口多个查询客户端,也可以不连接查询客户端。节点在不连接查询客户端时,该节点仅用于数据存储和协同检测。
[0036]本发明的一个较佳实施例的的分布式协同检测系统的节点结构如图2所示,包括:
[0037]DNS日志分割模块:用于将从查询客户端输入的DNS日志,按照查询者的IP地址,将IP地址相同的DNS日志分割到HDFS分布式文件系统的同一 DNS日志文件中;
[0038]域名查询周期性分析模块:用于判断DNS日志文件中对某一域名的查询是否具有周期性;
[0039]白名单过滤模块:用于对DNS日志文件中的合法域名进行过滤;
[0040]协同分析模块:节点可以利用HDFS分布式文件系统获取其他节点的分析结果,协同分析判断IP地址是否为僵尸主机地址,某一域名是否为恶意域名,生成黑名单;
[0041 ] HDFS模块:用于实现HDFS分布式文件系统;
[0042]黑名单查询模块:用于查询发布的黑名单。
[0043]进一步地,本发明的僵尸网络的分布式协同检测方法是利用本发明的僵尸网络的分布式协同检测系统,检测系统的每个节点通过共享HDFS分布式文件系统进行僵尸网络的分布式协同检测,检测系统的一个节点通过HDFS分布式文件系统的检测方法包括:
[0044]步骤一,查询客户端通过各个节点输入DNS日志,节点通过各自的DNS日志分割模块对DNS日志进行分割,按照域名查询者的IP地址,将IP地址相同的DNS日志分类通过HDFS模块分类存储到HDFS分布式文件系统的同一 DNS日志文件中。
[0045]步骤二,对存储到所述HDFS分布式文件系统中的DNS日志文件进行分配和标识,以达到一个DNS日志文件由所述检测系统中的一个所述节点负责处理分析:
[0046]HDFS分布式文件系统将DNS日志文件分配给对应的节点来负责分析,并将该DNS日志文件的文件标识为对应的节点名称,如果DNS日志文件没有对应的负责节点,则将该DNS日志文件标识为NULL。各个节点在自身的DNS日志输入操作时,DNS日志分割模块添加原来没有的文件记录,把文件标识设为该节点名称,执行完毕后,对所有修改过的HDFS中的DNS日志文件,修改原有的记录把其文件标识改为NULL ;
[0047]对于检测系统中存在的空闲节点,即节点没有对应的负责分析的DNS日志文件,那么如果检测系统中的DNS日志文件均有对应节点负责分析,那么空闲节点保持空闲状态;如果检测系统中的存在有没有对应节点负责的DNS日志文件,则将该没有对应节点负责的DNS日志文件分配给该空闲节点负责,并将该DNS日志文件标识改为空闲节点名称。
[0048]步骤三,过滤已知的合法域名:通过节点内的白名单过过滤模块对DNS日志文件中的合法域名进行过滤。
[0049]步骤四,在域名查询周期性模块中生产查询行为对象:对过滤后的DNS日志文件,在域名查询周期性模块中,将每一条DNS记录生成一个有查询者IP地址、查询域名和查询时间组成的查询行为。
[0050]步骤五,在域名查询周期性模块中,对查询行为以查询者的IP地址为关键字进行分析,得出该查询者IP地址的主机活动时间:
[0051]首先,对同一查询者IP地址的一组域名查询行为的所有查询域名按照查询时间进行排序;
[0052]其次,对排序后的这组域名查询行为计算查询间隔时间,相邻的查询行为的时间间隔为Λ T[i]=Ti+1 - Ti,其中i是排序后的查询行为的序号,i=l, 2,3...,Ti为第i个查询行为的查询时间,Ti+1为第i+Ι个查询行为的查询时间;[0053]最后,选定一个时间间隔Λ T:Δ T是一个经验产值,通过调查计算机用户两次使用计算机的间隔时间,选取一个较小的时间作为Λ T0本发明的Λ T的值位于相邻查询行为的最小时间间隔和最大时间间隔之间。将计算出的相邻查询行为的时间间隔Λ T[i]与Δ T相比较,当相邻查询行为的时间间隔大于Λ T时,该IP地址的主机处于关机状态,因此把得到的所有相邻查询行为的时间间隔大于ΛΤ所对应的查询行为的序号作为已排序的域名查询行为的分割点,分割出该IP地址的主机的活动时间。
[0054]步骤六,在域名查询周期性模块中,对查询行为以查询者IP地址和查询域名为关键字进行统计分析,得出查询行为中的可疑查询,并将可疑查询的查询行为通过HFDS模块记录入HDFS分布式文件系统的灰名单:
[0055]首先,对节点中的所有域名查询行为重新以查询者IP地址,查询域名为关键字,统计同一关键字的查询行为的数量,得到一段活动期内查询一个域名的次数count ;
[0056]其次,在相对应的查询IP地址的主机活动时间内,对同一组关键字的所有查询行为按查询时间进行排序,排序后计算查询同一域名的查询间隔时间,相邻的查询同一域名的查询行为的查询时间间隔:Λ Tl[m]=Tffl+1 - Tm,其中m是排序后的查询同一域名的查询行
为的序号,m=0, 1, 2,3...n,计算平均查询时间间隔
【权利要求】
1.一种僵尸网络恶意域名的分布式协同检测系统,其特征在于,所述检测系统包括多个协同检测的对等节点,所述节点通过HDFS分布式文件系统共享文件;所述节点包括: DNS日志分割模块:用于将相同IP的查询者的DNS日志分割到所述HDFS分布式文件系统的同一 DNS日志文件中; 域名查询周期性分析模块:分析DNS日志文件中对某一域名的查询是否具有周期性; 白名单过滤模块:过滤已知的合法域名; 协同分析模块:通过所述HDFS分布式文件系统实现获取其他所述节点的分析结果,协同分析判断:某一域名是否是恶意域名和某一 IP地址是否是僵尸主机地址; HDFS模块:用于实现所述HDFS分布式文件系统; 黑名单查询模块:用于查询发布的黑名单。
2.一种使用如权利要求1所述检测系统的僵尸网络的分布式协同检测方法,其特征在于,所述检测系统的每个所述节点通过共享所述HDFS分布式文件系统进行僵尸网络的分布式协同检测,所述检测系统的一个所述节点通过所述HDFS分布式文件系统的检测方法包括: 步骤一,将通过所述节点输入的DNS日志通过所述节点内的所述DNS日志分割模块进行分割,并且根据域名查询者的IP地址,将IP地址相同的DNS日志通过所述HDFS模块分类存储到所述HDFS分布式文件系统的同一 DNS日志文件中; 步骤二,对存储到所述HDFS分布式文件系统中的DNS日志文件进行分配和标识,以达到一个DNS日志文件由所述检测系统中的一个所述节点负责处理分析; 步骤三,过滤已知的合法域名:通过所述白名单过滤模块对DNS日志文件中的合法域名进行过滤;` 步骤四,在所述域名查询周期性模块中生产查询行为对象:对过滤后的DNS日志文件,将每一条DNS日志生成一个查询行为; 步骤五,在所述域名查询周期性模块中,对所述查询行为以查询者的IP地址为关键字进行分析,得出该查询者IP地址的主机活动时间; 步骤六,在所述域名查询周期性模块中,对所述节点中的所有所述查询行为以查询者IP地址和查询域名为关键字进行统计分析,得出查询行为中的可疑查询,并将所述可疑查询的查询行为通过所述HFDS模块记录入所述HDFS分布式文件系统的灰名单中; 步骤七,在所述协同分析模块中判断所述HDSF分布式文件系统中的灰名单中的查询行为是否是僵尸主机对恶意域名的查询,并将判断出的查询,并将判断出的查询域名和查询IP写入黑名单。
3.如权利要求2所述的一种僵尸网络的分布式协同检测方法,其中,所述步骤二中,有负责节点的DNS日志文件使用负责节点名称来进行文件标识,没有负责节点的DNS日志文件使用NULL来进行文件标识。
4.如权利要求2所述的一种僵尸网络的分布式协同检测方法,其中,所述查询行为包括查询者IP地址、查询域名和查询时间。
5.如权利要求2所述的一种僵尸网络的分布式协同检测方法,其中,所述步骤五中,所述IP地址的主机活动时间确定是通过对同一查询者IP地址的域名查询行为按照查询时间进行排序,通过计算相邻查询行为的时间间隔,根据选定的时间间隔AT,相邻查询行为的时间间隔大于Λτ所对应的查询行为的查询时间作为已排序的域名查询行为的分割点,分割出所述IP地址的主机的活动时间。
6.如权利要去5所述的一种僵尸网络的分布式协同检测方法,其中,选定的所述时间间隔Λ T的值位于所述相邻查询行为的最小时间间隔和最大时间间隔之间。
7.如权利要求6所述的一种僵尸网络的分布式协同检测方法,其中,所述步骤六中,对所述节点中的所有查询行为以查询者IP地址和查询域名为关键字进行的统计分析包括:统计同一所述关键字中的查询行为的数量,得到一段活动期内查询一个域名的次数;对所述IP地址的主机活动时间内的同一组所述关键字的查询行为按查询时间排序;计算排序后的相邻查询行为的查询时间间隔、平均查询时间间隔、标准差和变异系数;通过所述排序后的相邻查询行为的查询时间间隔、所述平均查询时间间隔、所述标准差和变异系数判断出所述可疑查询。
8.如权利要求2所述的一种僵尸网络的分布式协同检测方法,其中,在所述步骤七中,所述协同分析模块通过统计每五分钟内灰名单中对域名进行查询的所有IP地址数量nip,和所在网段数nnet,计算重复系数r=nip/nnet,来判断所述HDSF分布式文件系统中的灰名单中的查询行为是否是僵尸主机对恶意域名的查询。
9.如权利要求8所述的一种僵尸网络的分布式协同检测方法,其中,在所述步骤七中,还包括选定常数NIP、NNET、R,当域名的nip>NIP且nnet〈NNET且r>R时,所述域名和查询所述域名的IP地址被判定为恶意域名和僵尸主机。
10.如权利要求2所述的一种僵尸网络的分布式协同检测方法,其中,所述HDFS分布式文件系统对黑名单的处 理是满足过期机制的。
【文档编号】H04L29/12GK103685230SQ201310534381
【公开日】2014年3月26日 申请日期:2013年11月1日 优先权日:2013年11月1日
【发明者】邹福泰, 潘思远, 易平, 李建华 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1