CN103457909B - 一种僵尸网络检测方法及装置 - Google Patents
一种僵尸网络检测方法及装置 Download PDFInfo
- Publication number
- CN103457909B CN103457909B CN201210171419.4A CN201210171419A CN103457909B CN 103457909 B CN103457909 B CN 103457909B CN 201210171419 A CN201210171419 A CN 201210171419A CN 103457909 B CN103457909 B CN 103457909B
- Authority
- CN
- China
- Prior art keywords
- data
- service traffics
- aggregate
- botnet
- ratio value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种僵尸网络检测方法及装置,该方法包括:根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇;针对每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分操作处理,其中所述指标参数是僵尸网络实例比例值和/或正常网络实例比例值;根据对每个业务流量数据簇进行操作处理的结果,确定由僵尸网络通信过程产生的业务流量数据簇。采用该技术方案,较好地提高了检测僵尸网络流量数据的准确率。
Description
技术领域
本发明涉及网络安全技术领域,尤其是涉及一种僵尸网络检测方法及装置。
背景技术
僵尸网络相对于正常网络,是指大量未经授权控制的、能够接收远程控制命令并执行相应操作的计算机程序资源所组成的网络。它是从传统恶意代码形态进化而来的新型攻击方式,为攻击者提供了隐匿、灵活且高效的一对多命令与控制(Command and Control,C&C)机制,可以控制大量僵尸主机,实现信息窃取、分布式拒绝服务攻击和垃圾邮件发送等攻击目的,成为网络安全面临的重要威胁。
根据僵尸网络的生命周期可以把僵尸网络的活动情况分为传播、感染、通信和攻击4个阶段。僵尸网络在每个阶段都有独特的活动模式,这些活动模式会在涉及的网络流量、系统日志、入侵检测系统报告等相关记录中得到体现。目前,根据僵尸网络的生命周期,在不同阶段可以采用不同的僵尸网络检测方法,具体如下述:
第一:在传播阶段,由于僵尸网络主要有5种传播形式,包括攻击漏洞、电子邮件携带、恶意网站脚本、即时通信以及伪装软件。除了攻击漏洞,其他4种传播形式都必须有终端参与才能成功,存在很大的不确定性。攻击漏洞是僵尸程序能够自主完成的操作,而且通常采用非法扫描获取漏洞,这使得扫描行为成为僵尸网络传播的重要证据,但是由于这种扫描行为隐蔽且容易与其他形式的扫描相混淆,使得僵尸网络并不容易被检测出来。例如,现有技术中提出了一个能够提取僵尸网络扫描事件的通用模式,原理如下:从蜜网获取的全局流量数据包含一些带有明显尖峰的稳定背景噪声,这些明显的尖峰通常对应僵尸网络的扫描事件,而且根据全局流量数据中背景噪声的尖峰情况能够区分不同的扫描事件。利用上述原理,首先使用信号分析设备从全局流量数据中分离出扫描事件,然后使用人工分析和可视化技术依次分离出错误配置和蠕虫产生的扫描事件,最终得到对应僵尸网络的扫描事件。
第二,在感染阶段,感染过程是指僵尸网络传播成功后,把僵尸程序植入被攻陷的主机,然后进行更新程序、导入恶意代码、修改Windows注册表、关闭特定进程(如防火墙、系统更新)等操作。具体地,一个典型的僵尸程序在发作时表现出3个不变的特征:A,僵尸程序的启动是自动的,不需要任何人为操作;B,僵尸程序必须和攻击者建立命令与控制信道(command and controlchannel,C&C channel);C,僵尸程序迟早会执行本地或远程的攻击。基于上述特征,现有技术中提出了一个能够在虚拟机技术的帮助下检测上述3个特性的系统---BotTrace。主要包括以下3个阶段:首先,利用白名单Whitelist对所有进程实施过滤,监控剩余的可疑进程;然后,根据提出的命令与控制信道的事件模型,从可疑进程的出入流量中识别出新简历的信道;最后,监控应用程序接口和系统调用,进而确认僵尸程序的存在。
第三,在攻击阶段,攻击是僵尸网络的最终目的,给整个网络以及用户造成了严重的危害。其中,DDoS攻击和垃圾邮件是危害最广、程度最深的。基于此,现有技术中提出了一个名为AutoRE的自动系统,能够根据统一资源定位符(uniform resource locator,URL)产生检测特征码识别发送垃圾邮件的僵尸网络。其中,AutoRE系统既不需要对输入进行预分类,也不需要训练数据或白名单。利用僵尸网络产生的垃圾邮件通常以一种聚合的模式发送,因此其内容具有相似性。该系统就是基于内容相似性特征,统计得出特征码,输出高质量的正则表达式,从而将僵尸网络区分出来。
第四,在僵尸网络的通信阶段,僵尸网络的通信过程包括加入僵尸网络过程和控制两个流程,根据僵尸网络的工作原理,攻击者必须通过C&C信道与僵尸主机进行交互。其中,C&C信道使用的控制协议主要有因特网在线聊天协议(IRC,Internet Relay Chat Protocol)、超文本传送协议(HTTP,Hyper TextTransport Protocol)、域名系统(DNS,Domain Name System)协议和点对点(P2P,Peer-to-Peer)协议等。由于与被攻击的通信网络(包括办公场所使用的局域网)进行通信是僵尸网络活动必不可少的阶段,而且僵尸网络的所有通信数据需要经过网络传输,所以通信阶段是僵尸网络生命周期中比较薄弱的环节。
但是现有技术中,还没有一种有效的方法,来实现基于僵尸网络在通信阶段的实现原理,区分通信网络中产生的全局流量数据中是否包含僵尸网络在通信过程中产生的流量数据。
发明内容
本发明实施例提供一种僵尸网络检测方法及装置,能够实现在全局流量数据中,区分僵尸网络在通信过程中产生的流量数据。
一种僵尸网络检测方法,包括:根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇;针对每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分操作处理,其中所述指标参数是僵尸网络实例比例值和/或正常网络实例比例值;根据对每个业务流量数据簇进行归类划分操作处理的结果,确定由僵尸网络通信过程产生的业务流量数据簇。
一种僵尸网络检测装置,包括:归类处理单元,用于根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇;操作处理单元,用于针对每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分操作处理,其中所述指标参数是僵尸网络实例比例值和/或正常网络实例比例值;确定单元,用于根据对每个业务流量数据簇进行操作处理的结果,确定由僵尸网络通信过程中产生的业务流量数据簇。
采用上述技术方案,对于获得的全局流量数据,根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据做归类处理,得到至少一个业务流量数据簇,针对得到的每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数分别进行归类划分的树操作处理,最后根据操作处理结果,确定归属于僵尸网络通信过程产生的流量数据的业务流量数据簇,通过对全局流量数据进行归类处理,再对归类处理得到的每个业务流量数据簇执行归类划分操作处理,能够实现基于僵尸网络通信阶段的相应特性,将全局流量数据中包含的僵尸网络通信过程产生的流量数据确定出来,后续在将确定出的结果上报时,误报率较低。
附图说明
图1为本发明实施例中,提出的僵尸网络检测方法流程图;
图2a为本发明实施例中,僵尸网络业务对应的数据包长度分布比例图;
图2b为本发明实施例中,网页浏览业务对应的数据包长度分布比例图;
图2c为本发明实施例中,在线游戏业务对应的数据包长度分布比例图;
图2d为本发明实施例中,P2P应用业务对应的数据包长度分布比例图;
图3为本发明实施例中,提出的形成业务流量数据簇处理过程示意图;
图4为本发明实施例中,提出的针对每个业务流量数据簇执行树操作处理过程示意图;
图5为本发明实施例中,对每个业务流量数据簇进行树操作处理流程图;
图6为本发明实施例中,提出的僵尸网络检测装置结构组成示意图。
具体实施方式
针对现有技术中存在的无法实现基于僵尸网络通信阶段相应特性,将通信网络产生的全局流量数据中包含的僵尸网络在通信过程中产生的流量数据区分出来的问题,本发明实施例这里提出的技术方案,通过对待检测通信网络生成的全局流量数据,按照预设规则做归类处理,并通过对应的指标参数对归类结果做出判断,最后确定出归属于僵尸网络在通信过程中产生的流量数据,从而实现在全局流量数据中,有效地将正常网络通信过程中产生的流量数据和僵尸网络通信过程中产生的流量数据区分开。
下面将结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
本发明实施例这里提出一种僵尸网络检测方法,如图1所示,具体处理过程如下:
步骤11,获得待检测通信网络在预设时长内产生的全局流量数据。
其中,待检测通信网络是能够与因特网进行通信的局域网,例如在家庭中,由至少两个终端和一个路由构建的小型局域网。在局域网和因特网连接处,获得该局域网在预设时长内产生的全局流量数据。具体地,可以周期性的获得该局域网在预设时长内产生的全局流量数据。例如,周期性的获得该局域网在十二小时内产生的全局流量数据。
一种较佳地实现方式,本发明实施例这里提出的技术方案,首先在多台服务器上安装相同的操作系统,例如,所有服务器上均安装Windows XP SP2操作系统或者Windows 2000操作系统等等,这些服务器构建成一个局域网,在该局域网与因特网连接处,设置一台网络流量监测服务器。然后局域网中的每台服务器可以运行不同或者相同的业务,例如网页浏览业务、在线游戏业务、P2P应用业务等等。最后在网络流量监测服务器上运行网络嗅探工具来收集该局域网的全局流量数据。具体地,网络嗅探工具可以但不限于是网络封包安全软件(Wireshark)、数据包捕获软件(SmartSniff)等等。
较佳地,在获取全局流量数据之后,还可以对获得的全局流量数据按照预设的过滤规则进行预过滤处理,将所述全局流量数据中包含的噪声流量数据滤除。在对获得的全局流量数据进行预过滤处理时,可以将下述流量数据中的一种或者几种流量数据滤除。
第一种:滤除所述全局流量数据中只包含一次握手表征未建立完整连接的流量数据。例如,全局流量数据中可能包含没有完全建立连接的流量数据,该些流量数据只包含一次握手,即待检测的局域网只向因特网只发送了一次数据包,并接收到对该次数据包的响应数据包。例如对待检测局域网进行同步洪水攻击(SYN-FLOOD,Synchronize-Flood)产生的流量数据.
第二种:滤除终端访问预设网络时产生的流量数据。
其中,滤除终端访问预设网络时产生的流量数据又称之为白名单过滤,即将局域网中的各服务器访问众所周知的、合法的服务器时产生的流量数据。例如,访问百度、新浪、网易等网站产生的流量数据。
较佳地,本发明实施例这里将国内和国际网站排名前100的所有网站作为白名单,将访问白名单中的网站产生的流量数据滤除。具体地,国内网站排名前100的名单可以从chinarank.org.cn中获得,国际网站排名前100的名单可以从alexa.com获得。
第三种:滤除由组成通信网络的终端之间交互产生的流量数据。
具体地,组成局域网内部之间的各服务器之间也会产生数据交互,例如在企业局域网中,各成员主机之间也可以通过局域网进行信息交互。
一种较佳地实现方式,本发明实施例这里,在获得全局流量数据之后,将上述三种流量数据全部滤除,可以较好地节省系统的处理资源,并且可以较好地提高后续处理过程准确率。
需要说明的是,本发明实施例这里仅给出了一种最佳的实现方式,即上述提出的预处理过程,并不仅仅局限于在步骤11中进行,也可以在后续任一处理过程中进行。
步骤12,针对获得的全局流量数据,分别获取该全局流量数据的多个指定表征流量数据属性的第一属性信息。
其中,流量数据是由不同业务在应用过程中产生的,例如,僵尸网络通信过程中会产生对应的流量数据,用户使用服务器进行网络浏览业务时也会产生对应的流量数据,每个业务应用时产生的流量数据的属性信息可以相同也可以不同。第一属性信息可以是表征流量数据的属性信息的全部参数,也可以是表征流量数据的属性信息的部分参数。较佳地,本发明实施例这里提出的技术方案,选择四个表征流量数据的属性信息的参数作为第一属性信息。
具体地,表征流量数据属性的属性信息可以但不限于包括平均每条数据流包含数据包个数、数据包个数标准方差、小包数据流所占的比例、小包的所占比例、数据包平均产度、数据包长度标准方差、平均每秒数据包个数、每小时数据流个数以及每秒字节数等等。下述表1中给出了对应不同业务应用时,产生流量数据属性信息:
表1
较佳地,本发明实施例这里以不同业务应用过程中,产生的数据包长度也不完全相同为例,来进一步阐述僵尸网络业务、网页浏览业务、在线游戏业务以及P2P应用业务四种业务在应用过程中产生的数据包长度,如图2a、图2b、图2c及图2d所示,分别对应不同业务应用过程中产生的流量数据的属性信息。由图中可以看出,僵尸网络通信过程中产生的数据包长度平均值和其它三种业务通信过程中产生的数据包长度平均值有着明显的区别。具体请参见上述表1。
步骤13,根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇。
具体地,基于聚类算法,根据第一属性信息将所述全流量局数据做归类处理,得到至少一个业务流量数据簇。
其中,获取的第一属性信息组成第一属性信息集合。较佳地,本发明实施例这里在全部属性信息中任意选取四个属性信息参数组成第一属性信息集合,即第一属性信息集合中共有4个元素。根据第一属性信息集合,将全局流量数据做归类处理,得到至少一个业务流量数据簇,如图3所示,具体如下述:
步骤131,选取全局流量数据中至少一个业务流量数据分别作为中心流量数据。
步骤132,对于全局流量数据,除选取的中心流量数据之外的每个业务流量数据,分别确定该业务流量数据与中心流量数据之间的相似度,以及将该业务流量数据归类到与该业务流量数据具有最高相似度的中心流量数据归属的业务流量数据簇中,实现将除选取的中心流量数据之外的每个业务流量数据归类到所述不同业务流量数据簇中。
其中,确定任意两个业务流量数据之间的相似度,要首先确定任意两个业务流量数据分别对应的第一属性信息集合之间的欧式距离,并根据确定出的欧式距离来表征两个业务流量数据之间的相似度,具体可以采用下述公式计算任意两个小区分别对应的数据样本集之间的欧式距离:
其中,dij代表第i个业务流量数据对应的第一属性信息集合和第j个业务流量数据对应的第一属性信息集合之间的欧式距离;Cik代表第i个业务流量数据对应的第一属性信息集合中所包含的第k个指定属性信息;Cjk代表第j个业务流量数据对应的第一属性信息集合中所包含的第k个指定属性信息,k代表指定属性信息的个数。
步骤133,针对形成的多个业务流量数据簇,判断每个业务流量数据簇中包含的任一两个业务流量数据之间的相似度是否均大于第一阈值,且任意两个业务流量数据簇中包含的业务流量数据之间的相似度均小于第二阈值。根据判断结果执行执行步骤134或者执行步骤135。
步骤134,如果判断结果均为是时,形成的每个业务流量数据簇分别对应不同类型的业务产生的业务流量数据,则对全局业务流量数据归类划分过程结束。
步骤135,如果步骤133中的两个判断至少有一个为否时,对形成的每个业务流量数据簇分别执行:从该业务流量数据簇中选择一个与簇中的中心流量数据相似度最低的业务流量数据,作为新的中心流量数据;针对形成的每个业务流量数据簇和选择出的新的中心流量数据,返回继续执行将除选取的中心流量数据之外的每个业务流量数据流归类到所述不同业务流量数据簇中的操作。即返回继续执行步骤132。
其中,在步骤131中,选取中心流量数据的方法可以但不限于采用下述两种方式:
第一种方式:在全局流量数据中任意选取若干个业务流量数据分别作为中心流量数据,选取出的每个中心流量数据归属一个业务流量数据簇。
第二种方式:按照下述过程选取中心流量数据:
步骤一,在所述全局流量数据中,确定任意两个业务流量数据之间的相似度。
其中,确定任意两个业务流量数据之间的相似度的具体实现方式请参见上述步骤132中的详细阐述,这里不再赘述。
步骤二,根据步骤一中确定出的任一两个业务流量数据之间的相似度,对全局流量数据中的每一个业务流量数据,分别确定与该业务流量数据相似度小于第三阈值的业务流量数据的数量。
具体地,根据步骤一中各业务流量数据对应的各第一属性信息集合之间欧式距离的计算结果,对所有第一属性信息集合中的每个第一属性信息集合都分别执行:将该第一属性信息集合与其他所有第一属性信息集合之间的欧式距离依次与预先设定的第三阈值r比较,然后统计欧式距离小于第三阈值r的第一属性信息集合的数量,确定出的第一属性信息集合的数量即为该第一属性信息集合所对应的业务流量数据与其他业务流量数据之间的相似度小于预先设定的第三阈值r的小区的数量。
其中,所述第三阈值r的大小与实际提取的第一属性信息集合有关,可以根据实际经验确定。
步骤三,根据对应每一个业务流量数据确定的所述数量,选取对应数量最大的业务流量数据,作为中心流量数据。
步骤四,针对全局业务流量数据中除已经被选取作为中心流量数据流之外的业务流量数据,返回继续执行步骤二的操作,直至选取出的多个中心流量数据之间的相似度小于预先设置的第四阈值为止。
步骤14,针对步骤13形成的每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分的操作处理,其中所述指标参数是僵尸网络实例比例值(BIP,Botnet Instances Percentage)和/或正常网络实例比例值(NIP,Normal Instances Percentage)。
其中,正常网络指与僵尸网络不同的网络。
需要说明的是,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分的操作处理在编程语言当中属于对该业务流量数据簇执行树操作处理,其中树操作处理是编程语言中对某一个对象(例如数组)按照按照与该对象对应的预设条件进行无限划分的一种实现方法,例如针对数组A,假设数组A中包含10个元素,对应数组A的预设条件为B,不满足条件B时,将数组A进行划分为数组A1和数组A2,再采用与数组A1对应的条件B1继续进行判断,满足时,就结束划分操作,否则,继续将数组A1划分为数组A11和数组A12,对于数组A2也执行相同的操作,这里不再赘述。
其中,针对每个业务流量数据簇,如图4所示,分别执行下述操作:
步骤141,将该业务流量数据簇作为根节点,按照与该根节点对应的指标参数判断是否需要创建叶子节点,如果判断结果为是,执行步骤142,反之执行步骤143。
具体地,判断该根节点是否需要创建叶子节点,可以但不限于采用下述三种方式:
第一种方式:所述指标参数包含僵尸网络实例比例值,则采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的僵尸网络实例比例值BIP大于预设的第一门限值,确定不需要创建叶子节点,反之创建叶子节点。
第二种方式:指标参数包含正常网络实例比例值,采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的正常网络实例比例值NIP大于预设的第二门限值,确定不需要创建叶子节点,反之创建叶子节点。
第三种方式:所述指标参数包含正常网络实例比例值和正常网络实例比例值,采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的僵尸网络实例比例值BIP小于正常网络实例比例值,确定不需要创建叶子节点,反之创建叶子节点。
其中,指标参数是僵尸网络实例比例值和/或正常网络实例比例值。
需要说明的是,对于同一个根节点(即业务流量数据簇)来说,该根节点对应的僵尸网络实例比例值和正常网络实例比例值成反比,并且二者之和等于1。
具体地,可以采用下述方法确定僵尸网络实例比例值:
针对一个作为根节点的业务流量数据簇,确定该根节点中包含的表征僵尸网络流量数据的业务流量数据的第一数量和该根节点中表征全部业务流量数据的第二数量,将确定出的第一数量和第二数量的比值作为该业务流量数据簇对应的僵尸网络实例比例值。
即该业务流量数据簇对应的僵尸网络实例比例值=第一数量/第二数量。
具体地,可以但不限于采取下述方法确定正常网络实例比例值:
第一种方法:由于对于同一个根节点(即得到的业务流量数据簇),正常网络实例比例值和僵尸网络实例比例值之间成反比,则可以根据与该根节点对应的僵尸网络实例比例值确定所述正常网络实例比例值。即正常网络实例比例值=1-僵尸网络实例比例值。
第二种方法:针对一个作为根节点的业务流量数据簇,确定该根节点中中包含的表征正常网络的业务流量数据的第三数量和该根节点中表征全部业务流量数据的第四数量;将确定出的第三数量和第四数量的比值作为该业务流量数据簇对应的正常网络实例比例值。
即该业务流量数据簇对应的正常网络实例比例值=第三数量/第四数量。
步骤142,针对该根节点,创建叶子节点,根据至少一个指定表征流量数据属性的第二属性信息对该根节点对应的业务流量数据簇进行归类处理,创建叶子节点,并将创建的叶子节点作为根节点,返回按照与该根节点对应的指标参数判断是否需要创建叶子节点的步骤;其中进行归类处理所使用的第二属性信息中至少有一个第二属性信息与进行归类处理所使用的第一属性信息不同,或进行归类处理所使用的第二属性信息的数量与进行归类处理所使用的第一属性信息的数量不同。并将创建的叶子节点作为根节点,返回继续执行步骤141对根节点进行的操作。
其中,针对该根节点,创建叶子节点,具体处理过程如下:对于作为根节点的每个业务流量数据簇,分别执行:确定该业务流量数据簇对应的第二属性信息,根据第二属性信息,对该业务流量数据簇进行归类划分处理,具体地,归类处理过程与上述对全局流量数据做归类处理的过程相似,这里不再赘述。
具体地,进行归类处理所使用的第二属性信息中至少有一个第二属性信息与进行归类处理所使用的第一属性信息不同,或进行归类处理所使用的第二属性信息的数量与进行归类处理所使用的第一属性信息的数量不同。即第二属性信息构成的第二属性信息集合至少要包括一个与上述第一属性信息集合不同的元素。或者第二属性信息集合中元素的数量与第一属性信息集合中元素的数量不同。例如,假设第一属性信息集合为{1,2,3,4},则第二属性信息集合可为{1,2,3}或者{1,2,3,4,5}或者(1,3,4,6)。较佳地,在上述阐述的第一属性信息集合中选取了4个元素,则第二属性信息集合中可以选取9个元素。
步骤143,针对该根节点,不创建叶子节点。即对于该业务流量数据簇,不需要再继续进行归类划分的操作处理。
其中,如图5所示,为本发明实施例提出的对全局流量数据进行归类操作得到的业务流量数据簇进行归类划分的操作处理原理示意图。需要说明的是,本发明实施例这里在进行树操作处理时,仅作了两步划分,在实际应用中,可以根据使用场景的不同选择不同的属性信息和判断条件,进行多重划分。
步骤15,根据对每个业务流量数据簇进行树操作处理结果,确定归属于僵尸网络通信过程产生的流量数据的业务流量数据簇。
本发明实施例上述提出的技术方案,通过对获得的全局流量数据分别进行归类操作形成多个业务流量数据簇,然后针对每一个业务流量数据簇,以僵尸网络实例比例值和/或正常网络实例比例值为判决条件,对每个业务流量数据簇作树的操作处理,直至满足条件为止。从而能够准确的从全局流量数据中将僵尸网络流量数据区分出来。如表2所示,为对获得的全局流量数据分别进行归类操作形成多个业务流量数据簇,表2中只给出了两个业务流量数据簇,对应业务流量数据簇0和业务流量数据簇1的网络实例比例值BIP和正常网络实例比例值NIP分别如表2所示。对业务流量数据簇0和业务流量数据簇1分别进行树的操作,得到的BIP和NIP如表3所示,由下述表2和表3可知,进行树的操作之后得到的业务流量数据簇0~4,能够准确的区分出全局流量数据中存在的僵尸网络在通信过程产生的流量数据。
表2
表3
相应地,本发明实施例这里还提出一种僵尸网络检测装置,如图6所示,包括:
归类处理单元601,用于根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇。
具体地,上述归类处理单元601,具体用于基于聚类算法,根据第一属性信息将所述全流量局数据做归类处理,得到至少一个业务流量数据簇。
操作处理单元602,用于针对每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分的操作处理,其中所述指标参数是僵尸网络实例比例值和/或正常网络实例比例值。
具体地,上述操作处理单元602,具体用于针对每个业务流量数据簇,分别执行下述操作:将该业务流量数据簇作为根节点,按照与该根节点对应的指标参数判断是否需要创建叶子节点;如果否,针对该根节点,不创建叶子节点;如果是,针对该根节点,根据至少一个指定表征流量数据属性的第二属性信息对该根节点对应的业务流量数据簇进行归类处理,创建叶子节点,并将创建的叶子节点作为根节点,返回按照与该根节点对应的指标参数判断是否需要创建叶子节点的步骤;其中进行归类处理所使用的第二属性信息中至少有一个第二属性信息与进行归类处理所使用的第一属性信息不同,或进行归类处理所使用的第二属性信息的数量与进行归类处理所使用的第一属性信息的数量不同。
具体地,所述指标参数包含僵尸网络实例比例值,所述操作处理单元602具体采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的僵尸网络实例比例值大于预设的第一门限值,确定不需要创建叶子节点,反之创建叶子节点。
所述指标参数包含正常网络实例比例值,所述操作处理单元602具体采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的正常网络实例比例值大于预设的第二门限值,确定不需要创建叶子节点,反之创建叶子节点。
所述指标参数包含正常网络实例比例值和正常网络实例比例值,所述操作处理单元602具体采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的僵尸网络实例比例值小于正常网络实例比例值,确定不需要创建叶子节点,反之创建叶子节点。
具体地,上述操作处理单元602,具体用于采用下述方法确定僵尸网络实例比例值:针对一个业务流量数据簇,确定该根节点中包含的表征僵尸网络流量数据的业务流量数据的第一数量和该根节点中表征全部业务流量数据的第二数量;将确定出的第一数量和第二数量的比值作为该业务流量数据簇对应的僵尸网络实例比例值。
具体地,上述操作处理单元602,具体用于采用下述方法确定正常网络实例比例值:针对一个业务流量数据簇,根据该业务流量数据簇与该根节点对应的僵尸网络实例比例值确定所述正常网络实例比例值;或针对业务流量数据簇,确定该该业务流量数据簇中包含的表征正常网络的业务流量数据的第三数量和该根节点中表征全部业务流量数据的第四数量;将确定出的第三数量和第四数量的比值作为该业务流量数据簇对应的正常网络实例比例值。
确定单元603,用于根据对每个业务流量数据簇进行树操作处理的结果,确定由僵尸网络通信过程产生的业务流量数据簇。
其中,上述装置还包括预过滤处理单元604,用于基于预设的过滤规则对所述全局流量数据进行预过滤处理,将所述全局流量数据中包含的噪声流量数据滤除。
具体地,上述预过滤处理单元604,具体用于滤除所述全局流量数据中只包含一次握手表征未完全建立连接的流量数据;滤除终端访问预设网络时产生的流量数据;滤除由组成通信网络的终端之间交互产生的流量数据。
需要说明的是,以上装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且上述实施例提供的装置所实现的功能与上述实施例提供的实现僵尸网络检测的方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
采用本发明实施例这里提出的技术方案,本发明实施例通过结合表征流量数据的属性信息,综合考虑流量数据之间的关联性,将通信网络中产生的全局流量数据,分两步划分成不同的业务流量数据簇,从而可以为后续的对区分出的僵尸网络通信过程中产生的业务流量数据进行处理提供更为合理的、准确的指导信息,进而实现了准确、全面的区分僵尸网络对应的业务流量数据的目的。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种僵尸网络检测方法,其特征在于,包括:
根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇;
针对每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分操作处理,其中所述指标参数是僵尸网络实例比例值和/或正常网络实例比例值;
根据对每个业务流量数据簇进行操作处理的结果,确定由僵尸网络通信过程产生的业务流量数据簇;
其中,针对每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数执行归类划分操作处理,包括:针对每个业务流量数据簇,分别执行下述操作:将该业务流量数据簇作为根节点,按照与该根节点对应的指标参数判断是否需要创建叶子节点;如果否,针对该根节点,不创建叶子节点;如果是,针对该根节点,根据至少一个指定表征流量数据属性的第二属性信息对该根节点对应的业务流量数据簇进行归类处理,创建叶子节点,并将创建的叶子节点作为根节点,返回按照与该根节点对应的指标参数判断是否需要创建叶子节点的步骤;其中进行归类处理所使用的第二属性信息中至少有一个第二属性信息与进行归类处理所使用的第一属性信息不同,或进行归类处理所使用的第二属性信息的数量与进行归类处理所使用的第一属性信息的数量不同。
2.如权利要求1所述的方法,其特征在于,在获得所述全局流量数据之后,得到至少一个业务流量数据簇之前,还包括:
基于预设的过滤规则对所述全局流量数据进行预过滤处理,将所述全局流量数据中包含的噪声流量数据滤除。
3.如权利要求2所述的方法,其特征在于,所述过滤规则包括下列规则中的至少一种:
滤除所述全局流量数据中只包含一次握手表征未完全建立连接的流量数据;
滤除终端访问预设网络时产生的流量数据;
滤除由组成通信网络的终端之间交互产生的流量数据。
4.如权利要求1所述的方法,其特征在于,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇,包括:
基于聚类算法,根据第一属性信息将所述全局流量数据做归类处理,得到至少一个业务流量数据簇。
5.如权利要求1所述的方法,其特征在于,所述指标参数包含僵尸网络实例比例值,采用下述方法判断该根节点是否需要创建叶子节点:
若与该根节点对应的僵尸网络实例比例值大于预设的第一门限值,确定不需要创建叶子节点,反之创建叶子节点;
所述指标参数包含正常网络实例比例值,采用下述方法判断该根节点是否需要创建叶子节点:
若与该根节点对应的正常网络实例比例值大于预设的第二门限值,确定不需要创建叶子节点,反之创建叶子节点;
所述指标参数包含正常网络实例比例值和僵尸网络实例比例值,采用下述方法判断该根节点是否需要创建叶子节点:
若与该根节点对应的僵尸网络实例比例值小于正常网络实例比例值,确定不需要创建叶子节点,反之创建叶子节点。
6.如权利要求1所述的方法,其特征在于,采用下述方法确定僵尸网络实例比例值:
针对一个业务流量数据簇,确定该根节点中包含的表征僵尸网络流量数据的业务流量数据的第一数量和该根节点中表征全部业务流量数据的第二数量;
将确定出的第一数量和第二数量的比值作为该业务流量数据簇对应的僵尸网络实例比例值。
7.如权利要求6所述的方法,其特征在于,采用下述方法确定正常网络实例比例值:
针对一个业务流量数据簇,根据该业务流量数据簇对应的僵尸网络实例比例值确定所述正常网络实例比例值;或
针对一个业务流量数据簇,确定该业务流量数据簇中包含的表征正常网络的业务流量数据的第三数量和该根节点中表征全部业务流量数据的第四数量;将确定出的第三数量和第四数量的比值作为该业务流量数据簇对应的正常网络实例比例值。
8.一种僵尸网络检测装置,其特征在于,包括:
归类处理单元,用于根据至少一个用于表征流量数据属性的第一属性信息,将预设时长内获得的全局流量数据进行归类处理,得到至少一个业务流量数据簇;
操作处理单元,用于针对每个业务流量数据簇,根据与该业务流量数据簇对应的指标参数,对该业务流量数据簇执行归类划分操作处理,其中所述指标参数是僵尸网络实例比例值和/或正常网络实例比例值;
确定单元,用于根据对每个业务流量数据簇进行操作处理的结果,确定由僵尸网络通信过程产生的业务流量数据簇;
所述操作处理单元,具体用于针对每个业务流量数据簇,分别执行下述操作:将该业务流量数据簇作为根节点,按照与该根节点对应的指标参数判断是否需要创建叶子节点;如果否,针对该根节点,不创建叶子节点;如果是,针对该根节点,根据至少一个指定表征流量数据属性的第二属性信息对该根节点对应的业务流量数据簇进行归类处理,创建叶子节点,并将创建的叶子节点作为根节点,返回按照与该根节点对应的指标参数判断是否需要创建叶子节点的步骤;其中进行归类处理所使用的第二属性信息中至少有一个第二属性信息与进行归类处理所使用的第一属性信息不同,或进行归类处理所使用的第二属性信息的数量与进行归类处理所使用的第一属性信息的数量不同。
9.如权利要求8所述的装置,其特征在于,还包括:
预过滤处理单元,用于基于预设的过滤规则对所述全局流量数据进行预过滤处理,将所述全局流量数据中包含的噪声流量数据滤除。
10.如权利要求9所述的装置,其特征在于,所述预过滤处理单元,具体用于滤除所述全局流量数据中只包含一次握手表征未完全建立连接的流量数据;滤除终端访问预设网络时产生的流量数据;滤除由组成通信网络的终端之间交互产生的流量数据。
11.如权利要求8所述的装置,其特征在于,所述归类处理单元,具体用于基于聚类算法,根据第一属性信息将所述全局流量数据做归类处理,得到至少一个业务流量数据簇。
12.如权利要求8所述的装置,其特征在于,所述指标参数包含僵尸网络实例比例值,所述操作处理单元具体采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的僵尸网络实例比例值大于预设的第一门限值,确定不需要创建叶子节点,反之创建叶子节点;
所述指标参数包含正常网络实例比例值,所述操作处理单元具体采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的正常网络实例比例值大于预设的第二门限值,确定不需要创建叶子节点,反之创建叶子节点;
所述指标参数包含正常网络实例比例值和僵尸网络实例比例值,所述操作处理单元具体采用下述方法判断该根节点是否需要创建叶子节点:若与该根节点对应的僵尸网络实例比例值小于正常网络实例比例值,确定不需要创建叶子节点,反之创建叶子节点。
13.如权利要求8所述的装置,其特征在于,所述操作处理单元,具体用于采用下述方法确定僵尸网络实例比例值:针对一个业务流量数据簇,确定该根节点中包含的表征僵尸网络流量数据的业务流量数据的第一数量和该根节点中表征全部业务流量数据的第二数量;将确定出的第一数量和第二数量的比值作为该业务流量数据簇对应的僵尸网络实例比例值。
14.如权利要求13所述的装置,其特征在于,所述操作处理单元,具体用于采用下述方法确定正常网络实例比例值:针对一个业务流量数据簇,根据该业务流量数据簇对应的僵尸网络实例比例值确定所述正常网络实例比例值;或针对一个业务流量数据簇,确定该业务流量数据簇中包含的表征正常网络的业务流量数据的第三数量和该根节点中表征全部业务流量数据的第四数量;将确定出的第三数量和第四数量的比值作为该业务流量数据簇对应的正常网络实例比例值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210171419.4A CN103457909B (zh) | 2012-05-29 | 2012-05-29 | 一种僵尸网络检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210171419.4A CN103457909B (zh) | 2012-05-29 | 2012-05-29 | 一种僵尸网络检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103457909A CN103457909A (zh) | 2013-12-18 |
CN103457909B true CN103457909B (zh) | 2016-12-14 |
Family
ID=49739868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210171419.4A Active CN103457909B (zh) | 2012-05-29 | 2012-05-29 | 一种僵尸网络检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103457909B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746982B (zh) * | 2013-12-30 | 2017-05-31 | 中国科学院计算技术研究所 | 一种http网络特征码自动生成方法及其系统 |
CN103747003A (zh) * | 2014-01-16 | 2014-04-23 | 南京邮电大学 | 对等僵尸网络核心节点检测方法及检测装置 |
CN105099799B (zh) * | 2014-05-05 | 2018-11-20 | 华为技术有限公司 | 僵尸网络检测方法和控制器 |
CN105516096B (zh) * | 2015-11-30 | 2018-10-30 | 睿峰网云(北京)科技股份有限公司 | 一种僵尸网络发现技术及装置 |
CN108347447B (zh) * | 2018-05-18 | 2020-11-10 | 山东大学 | 基于周期性通讯行为分析的p2p僵尸网络检测方法、系统 |
CN110955890B (zh) * | 2018-09-26 | 2021-08-17 | 瑞数信息技术(上海)有限公司 | 恶意批量访问行为的检测方法、装置和计算机存储介质 |
CN112995065B (zh) * | 2019-12-16 | 2022-06-17 | 中国移动通信集团湖南有限公司 | 一种互联网流量控制方法、装置及电子设备 |
CN113497791B (zh) * | 2020-04-01 | 2023-11-07 | 中移动信息技术有限公司 | 一种僵尸网络识别的方法、装置、设备及存储介质 |
CN113794601B (zh) * | 2021-08-17 | 2024-03-22 | 中移(杭州)信息技术有限公司 | 网络流量处理方法、装置和计算机可读存储介质 |
CN115118491B (zh) * | 2022-06-24 | 2024-02-09 | 北京天融信网络安全技术有限公司 | 僵尸网络检测的方法、装置、电子设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360019A (zh) * | 2008-09-18 | 2009-02-04 | 华为技术有限公司 | 一种僵尸网络的检测方法、系统和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516585B2 (en) * | 2010-10-01 | 2013-08-20 | Alcatel Lucent | System and method for detection of domain-flux botnets and the like |
-
2012
- 2012-05-29 CN CN201210171419.4A patent/CN103457909B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360019A (zh) * | 2008-09-18 | 2009-02-04 | 华为技术有限公司 | 一种僵尸网络的检测方法、系统和设备 |
Non-Patent Citations (1)
Title |
---|
Clustering botnet communication traffic based on n-gram feature selection;Wei Lu等;《Computer Communications》;20110315;第34卷(第3期);摘要、第3-6节 * |
Also Published As
Publication number | Publication date |
---|---|
CN103457909A (zh) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103457909B (zh) | 一种僵尸网络检测方法及装置 | |
CN107241226B (zh) | 基于工控私有协议的模糊测试方法 | |
CN104618377B (zh) | 基于NetFlow的僵尸网络检测系统与检测方法 | |
CN103746982B (zh) | 一种http网络特征码自动生成方法及其系统 | |
KR101010302B1 (ko) | Irc 및 http 봇넷 보안 관제를 위한 관리 시스템 및 그 방법 | |
CN107277039A (zh) | 一种网络攻击数据分析及智能处理方法 | |
CN104917739B (zh) | 虚假账号的识别方法及装置 | |
CN103957203B (zh) | 一种网络安全防御系统 | |
CN105049232B (zh) | 网络信息日志审计系统 | |
CN108183888A (zh) | 一种基于随机森林算法的社会工程学入侵攻击路径检测方法 | |
CN106452955B (zh) | 一种异常网络连接的检测方法及系统 | |
CN107623691A (zh) | 一种基于反向传播神经网络算法的DDoS攻击检测系统及方法 | |
CN110830490A (zh) | 基于带对抗训练深度网络的恶意域名检测方法及系统 | |
CN105827611B (zh) | 一种基于模糊推理的分布式拒绝服务网络攻击检测方法和系统 | |
Zhao | Network intrusion detection system model based on data mining | |
CN106899978A (zh) | 一种无线网络攻击定位方法 | |
CN104021348B (zh) | 一种隐匿p2p程序实时检测方法及系统 | |
CN109858510A (zh) | 一种针对HTTP协议ETag值隐蔽通信的检测方法 | |
CN112291226B (zh) | 一种网络流量的异常检测方法及装置 | |
CN108667804A (zh) | 一种基于SDN架构的DDoS攻击检测及防护方法和系统 | |
CN115442159B (zh) | 一种基于家用路由的风险管控方法、系统和存储介质 | |
CN114389857B (zh) | 基于核心攻击资源的网络攻击团伙融合方法 | |
Sapozhnikova et al. | Intrusion detection system based on data mining technics for industrial networks | |
Yang et al. | Botnet detection based on machine learning | |
Luo | Model design artificial intelligence and research of adaptive network intrusion detection and defense system using fuzzy logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |