CN111371735B - 僵尸网络检测方法、***及存储介质 - Google Patents
僵尸网络检测方法、***及存储介质 Download PDFInfo
- Publication number
- CN111371735B CN111371735B CN201811602973.7A CN201811602973A CN111371735B CN 111371735 B CN111371735 B CN 111371735B CN 201811602973 A CN201811602973 A CN 201811602973A CN 111371735 B CN111371735 B CN 111371735B
- Authority
- CN
- China
- Prior art keywords
- domain name
- terminal
- access
- botnet
- node
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种僵尸网络检测方法、***及存储介质,其方法包括:获取被监测网络中的原始网络流量数据,对原始网络流量数据进行预处理,得到预处理后的网络流量数据;基于预处理后的网络流量数据构建终端访问关系图;从终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对候选节点组合进行筛选得到僵尸网络节点的检测结果。本发明方案应用数据种类少,在数据流量中提取的特征数量少,计算开销较小,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种僵尸网络检测方法、***及存储介质。
背景技术
僵尸网络(Botnet)是指采用一种或多种传播手段,使得大量主机感染僵尸程序(BOT程序)病毒,从而在控制者与被感染主机之间形成的一个可一对多命令与控制(Command and Control,C&C)的网络。攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机通过一个控制信道接受攻击者的指令,组成一个僵尸网络。这种攻击方式为攻击者提供了隐匿、灵活且高效的一对多命令与控制机制,使得攻击者能够实现信息窃取、分布式拒绝攻击和垃圾邮件发送等攻击目的,成为当前网络安全领域的重要威胁。
目前,检测僵尸网络的主流方法还是通过网络流量分析,通过对网络数据流量的聚类或关联检测来实现。这种方法多是通过被监测网络中广泛分布的多个交换机、网关设备等网络设备上的数据流信息中包含的特征信息,如源IP地址、目的IP地址、数据包大小、端口号、协议等信息来进行聚类分析,发现属于僵尸网络的网络流量的异常行为,或是根据确知的僵尸网络行为进行关联性分析,从网络流量中识别异常流量,进而检测出僵尸网络。但是,这些方法需要的数据信息多种多样,数据流庞大,并需要解析数据包提取多个特征,处理负载过大,导致僵尸网络的检测效率较低。
发明内容
本发明的主要目的在于提供一种僵尸网络检测方法、***及存储介质,旨在提高僵尸网络的检测效率。
为实现上述目的,本发明提供的一种僵尸网络检测方法,所述方法应用于僵尸网络检测***,所述方法包括:
获取被监测网络中的原始网络流量数据,对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据;
基于所述预处理后的网络流量数据构建终端访问关系图;
从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选,得到僵尸网络节点的检测结果。
可选地,所述获取被监测网络中的原始网络流量数据的步骤包括:
获取被监测网络中预设时间范围内的实时流量数据或流量日志文件,作为原始网络流量数据,所述实时流量数据或流量日志文件至少包括终端的域名查询请求和/或终端访问域名的HTTP连接请求。
可选地,所述对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据的步骤包括:
对所述原始网络流量数据进行时间区间分组;
从时间区间分组后的网络流量数据中提取有效字段,所述有效字段至少包括:时间戳、终端标识、访问域名三个关键字段;
对包含有所述有效字段的网络流量数据进行清洗,过滤冗余数据及白名单,得到数据结构为<时间戳、终端标识、访问域名>的日志序列。
可选地,所述基于所述预处理后的网络流量数据构建终端访问关系图的步骤包括:
从预处理后的网络流量数据中提取对应时间区间内终端网络行为中标识终端信息的终端标识和终端访问或查询的域名信息;
基于提取的终端标识和终端访问或查询的域名信息,以域名为中心将同一时间区间内的终端标识信息进行聚合,形成<时间标识、域名、访问域名的终端标识集合>的聚合结构;
基于所述聚合结构,构建和更新域名节点与访问域名的终端标识列表间的邻接关系图,得到终端访问关系图。
可选地,所述从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合的步骤:
基于所述终端访问关系图中的邻接关系构建链表并排序;
基于排序后的链表构建访问模式树;
提取所述访问模式树的每一条路径上的节点集合作为终端标识集合,以及路径终点节点的<时间标识#域名>列表作为对应的终端标识共同访问的访问域名集合,得到访问多个相同域名的终端标识列表,作为所述候选节点组合。
可选地,所述基于所述终端访问关系图中的邻接关系构建链表并排序的步骤包括:
基于所述终端访问关系图,将每个域名节点和其对应的邻接关系节点均构建为一条链表,其中,链表中以<时间标识#访问域名>节点作为链表头节点,后续节点为终端标识节点,终端标识节点的排列顺序按照节点在整个关系图中的度数进行降序排序;
对不同链表之间进行顺序排列,其中,排列规则基于访问域名节点在整个关系图中的度数进行降序排序。
可选地,所述基于排序后的链表构建访问模式树的步骤包括:
基于排序后的链表,以链表中终端标识节点为树节点,将访问域名信息添加至树节点的属性信息中,构建得到访问模式树。
可选地,所述基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果的步骤包括:
判断所述候选节点组合中是否存在包含关系的候选节点;
若存在,则删除所述候选节点组合中被包含的候选节点,得到冗余筛选后的候选节点组合;
基于冗余筛选后的候选节点组合,获取各候选节点的终端标识集合的元素数目和访问域名集合的元素数目;
保留终端标识集合的元素数目大于预设的终端标识数目阈值,以及访问域名集合的元素数目大于预设的访问域名数目阈值的候选节点集合,得到僵尸网络节点。
可选地,所述方法还包括:
将所述检测结果中的可疑域名发送至恶意域名检测***,由所述恶意域名检测***对可疑域名进行评估,以优化所述检测结果。
可选地,所述方法还包括:
将所述检测结果上报至监控***,由监控***对检测结果进行展示,和/或,由所述监控***根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
本发明实施例还提出一种僵尸网络检测***,包括:
数据预处理模块,用于获取被监测网络中的原始网络流量数据,对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据;
关系图构建模块,用于基于所述预处理后的网络流量数据构建终端访问关系图;
节点判断模块,从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。
本发明实施例还提出一种网络访问***,所述网络访问***包括:僵尸网络检测***,以及均与所述僵尸网络检测***通信连接的恶意域名检测***、监控***、DNS服务器,所述僵尸网络检测***还连接若干访问终端;其中,所述僵尸网络检测***为如上所述的僵尸网络检测***;
DNS服务器,用于向访问终端提供域名访问服务;
所述恶意域名检测***,用于接收所述僵尸网络检测***发送的所述检测结果中的可疑域名,对所述可疑域名进行评估,以优化所述检测结果;
所述监控***,用于接收所述僵尸网络检测***上报的检测结果,对检测结果进行展示,和/或,根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
本发明实施例还提出一种僵尸网络检测***,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的僵尸网络检测程序,所述僵尸网络检测程序被所述处理器执行时实现如上所述的僵尸网络检测方法的步骤。
本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有僵尸网络检测程序,所述僵尸网络检测程序被处理器执行时实现如上所述的僵尸网络检测方法的步骤。
本发明实施例提出的一种僵尸网络检测方法、***及存储介质,通过获取被监测网络中的原始网络流量数据,对原始网络流量数据进行预处理,得到预处理后的网络流量数据;基于所述预处理后的网络流量数据构建终端访问关系图;从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。由此,通过终端网络行为中的域名查询或访问信息来分析比较终端的行为模式,并依据僵尸网络被控终端通常具有相同或近似行为模式这一特征来检测发现僵尸网络的存在。相比现有技术,本发明方案应用数据种类少,在数据流量中提取的特征数量少,计算开销较小,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
附图说明
图1是本发明实施例涉及的网络访问***架构图;
图2是本发明僵尸网络检测方法第一实施例的流程示意图;
图3(a)是本发明实施例涉及的僵尸网络检测***关系图构建模块一种处理流程示例图;
图3(b)是本发明实施例涉及的僵尸网络检测***关系图构建模块一种处理流程示例图;
图4是本发明实施例涉及的僵尸网络检测***节点判断模块处理流程示例图;
图5是本发明实施例涉及的构建模式树的过程示意图;
图6是本发明僵尸网络检测方法第二实施例的流程示意图;
图7是本发明僵尸网络检测方法第三实施例的流程示意图;
图8是本发明实施例运行环境涉及的***架构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。显然,以下所描述的实施例仅是本发明的部分实施例。基于本发明中实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此的顺序执行所示出或描述的步骤。
本发明实施例的主要解决方案是:通过获取被监测网络中的原始网络流量数据,对原始网络流量数据进行预处理,得到预处理后的网络流量数据;基于所述预处理后的网络流量数据构建终端访问关系图;从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。由此,通过终端网络行为中的域名查询或访问信息来分析比较终端的行为模式,并依据僵尸网络被控终端通常具有相同或近似行为模式这一特征来检测发现僵尸网络的存在,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
由于现有技术中,检测僵尸网络的主流方法是通过被监测网络中广泛分布的多个交换机、网关设备等网络设备上的数据流信息中包含的特征信息,如源IP地址、目的IP地址、数据包大小、端口号、协议等信息来进行聚类分析,发现属于僵尸网络的网络流量的异常行为,或是根据确知的僵尸网络行为进行关联性分析,从网络流量中识别异常流量,进而检测出僵尸网络。但是,这些方法需要的数据信息多种多样,数据流庞大,并需要解析数据包提取多个特征,处理负载过大,导致僵尸网络的检测效率较低。
本发明提供一种解决方案,可以应用较少的数据种类,在数据流量中提取的特征数量少,计算开销较小,有效提升检测效率。
具体地,参照图1,图1是本发明实施例涉及的网络访问***架构图,其中,图1示出了本发明实施例中僵尸网络检测***的一种应用部署示意图。
如图1所示,本发明实施例提出一种网络访问***,该网络访问***包括:僵尸网络检测***,以及均与所述僵尸网络检测***通信连接的恶意域名检测***、监控***、DNS(Domain Name System,域名***)服务器,所述僵尸网络检测***还连接若干访问终端;其中:
僵尸网络检测***即为本发明实施例提出的僵尸网络检测***。
在图1所示的应用部署中,僵尸网络检测***通过旁路连接的方式部署在网络架构中,镜像获取网络流量进行检测分析。
在本发明实施方案中,僵尸网络检测***通过获取网络流量数据中的终端标识信息和终端查询或访问的域名信息来进行检测,***需要从网络流量中提取标识终端信息的终端标识(例如,终端IP地址、终端MAC地址或终端关联的主机用户身份信息等)和终端访问或查询的域名信息。***获取的上述网络流量数据可包含多种方式,包括但不限于如终端的域名查询请求、终端访问域名的HTTP连接请求等。
本发明实施例的具体实施过程中,僵尸网络检测***的部署使用实现方式有多种,可以参照图1中的旁路部署方案,也可以通过改变物理连接关系或流量路由规则等手段,使得访问流量经由僵尸网络检测***后再到达终端或服务器,等等。
本发明实施例的具体实施过程中,僵尸网络检测***可以通过对一段时间范围内的流量日志进行检测,分析终端行为模式,最终将所有具有同样行为模式的终端进行归类。上述同样行为模式归类,是指多个终端在设定时间区间或阈值内,对多个域名的访问或查询行为完全一致。
进一步地,在本发明实施例的具体实施过程中,僵尸网络检测***可将检测结果中的可疑域名发送至恶意域名检测***,进一步对可疑域名进行评估。可选的,此处的恶意域名检测***有多种实现方式,可以是恶意域名黑名单过滤***,或威胁情报匹配检测***,或随意域名检测***等等。通过恶意域名检测***,僵尸网络检测***可对检测结果进一步进行威胁等级排序,优化检测结果。举例来说,若恶意域名检测***判断一组终端访问的域名为某僵尸网络域名,则可判定该组具有相同行为模式的终端疑似被同样的僵尸病毒控制,从而直接获取到僵尸网络的拓扑关系。在实际部署中,僵尸网络检测***可根据实际情况判断是否执行该步骤操作,对域名信息进一步检测。
进一步,在本发明实施例的具体实施过程中,僵尸网络检测***还可以将检测结果上报至监控***,由监控***对检测结果进行展示。扩展地,监控***还可根据检测结果,对疑似感染僵尸病毒的终端进行相关管控操作,例如,对疑似感染僵尸病毒的终端进行网络限速处理等操作。
需要说明的是,上述僵尸网络检测***的部署方案仅为优选示例,具体应用中可根据实际组网情况,进行僵尸网络检测***的部署。
进一步地,除部署在网络中,进行实时流量检测外,本发明僵尸网络检测***还支持应用于解析流量日志文件,输出网络行为分析检测结果。
在上述图1所示的***架构中,DNS服务器,用于向访问终端提供域名访问服务;
所述恶意域名检测***,用于接收所述僵尸网络检测***发送的所述检测结果中的可疑域名,对所述可疑域名进行评估,以优化所述检测结果;
所述监控***,用于接收所述僵尸网络检测***上报的检测结果,对检测结果进行展示,和/或,根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
本发明实施例提出的僵尸网络检测***会在以下各实施例进行详细阐述。
本发明实施例僵尸网络检测***通过终端网络行为中的域名查询或访问信息来分析比较终端的行为模式,并依据僵尸网络被控终端通常具有相同或近似行为模式这一特征来检测发现僵尸网络的存在。相比现有技术,本发明方案应用数据种类少,在数据流量中提取的特征数量少,计算开销较小,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
具体地,如图2所示,本发明第一实施例提出一种僵尸网络检测方法,所述方法应用于僵尸网络检测***,所述方法包括:
步骤S101,获取被监测网络中的原始网络流量数据,对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据;
其中,僵尸网络检测***获取网络流量数据可包含多种方式,包括但不限于如终端的域名查询请求、终端访问域名的HTTP连接请求等。
具体地,作为一种实施方式,获取被监测网络中的原始网络流量数据的步骤可以包括:
僵尸网络检测***获取被监测网络中预设时间范围内的实时流量数据或流量日志文件,作为原始网络流量数据,其中,实时流量数据或流量日志文件至少包括终端的域名查询请求和/或终端访问域名的HTTP连接请求。
在获取被监测网络中的原始网络流量数据后,对该原始网络流量数据进行预处理。
其中,对原始网络流量数据进行预处理包括:提取网络流量数据中的有效字段,并进行数据清洗,去除冗余和重复信息。可以设定一数据预处理模块来执行。
具体地,对原始网络流量数据进行预处理,可以采用如下方案:
首先,对原始网络流量数据进行时间区间分组;
其中,时间区间分组是指预先设定一个时间窗口T,并以T为周期对包含域名信息的流量日志进行分组,时间戳在T内的所有日志数据作为一组待处理的数据内容,进行后续终端标识聚合处理。
设置时间区间分组的原因在于:通常情况下,感染同样僵尸病毒的受控端,其行为模式表现出一定程度的一致性,因此其流量数据中具有一定的周期性特点,合理的时间区间的设置,能够使僵尸网络行为的定位更为准确。
然后,从时间区间分组后的网络流量数据中提取有效字段,所述有效字段至少包括:时间戳、终端标识、访问域名三个关键字段;
其中,有效字段提取在本实施例中在于:选择提取日志数据中的时间戳、终端标识、访问域名等三个关键字段。
上述有效字段为检测所需字段的最小集合,缺一不可。在实际应用中,提取字段内容包括但不限于上述字段。
最后,对包含有上述有效字段的网络流量数据进行清洗,过滤冗余数据及白名单,得到数据结构为<时间戳、终端标识、访问域名>的日志序列。
具体地,在本实施例中,数据清洗的过程可包括如下两个步骤:冗余数据过滤和白名单过滤。
其中,冗余数据过滤是指在同一时间区间内,若日志处理过程中检测到多条日志的<终端标识,访问域名>信息一致,则同一时间区间内,去除重复记录,仅保留一条日志。
白名单过滤是指:可对日志信息中的访问域名进行分析,若域名属于可信域名,则将日志移出,不执行后续的检测过程。
经过上述数据清洗处理后,数据预处理模块输出结构为<时间戳、终端标识、访问域名>的日志序列。
步骤S102,基于所述预处理后的网络流量数据构建终端访问关系图;
其中,构建终端访问关系图可以由关系图构建模块来执行。终端访问关系图的构建可以包括三部分:终端标识信息聚合、关系图构建和关系图更新操作。
具体地,基于所述预处理后的网络流量数据构建终端访问关系图的步骤可以包括:
从预处理后的网络流量数据中提取对应时间区间内终端网络行为中标识终端信息的终端标识和终端访问或查询的域名信息;
基于提取的终端标识和终端访问或查询的域名信息,以域名为中心将同一时间区间内的终端标识信息进行聚合,形成<时间标识、域名、访问域名的终端标识集合>的聚合结构;
基于所述聚合结构,构建和更新域名节点与访问域名的终端标识列表间的邻接关系图,得到终端访问关系图。
其中,终端标识信息聚合即为对一个时间区间内的数据执行聚合操作。该操作以日志信息中的访问域名为键值,聚合发起查询请求或访问该域名的终端标识信息,聚合结果为<时间标识,域名,终端标识集合>,其中时间标识用以标记这些访问操作发生的时间区间。
以终端标识为IP地址为例,进行详细说明:
原始网络流量数据经过数据预处理(时间片提取、有效字段提取、数据过滤)后得到的数据为<时间戳,终端IP地址标识,访问域名>的元组;
对预处理后的元组信息按照时间区间进行划分,并对T1时间区间内的日志记录执行数据聚合操作,得到如下表1所示的<时间标识,访问域名,终端IP地址标识集合>的元组;
时间标识 | 访问域名 | 终端IP地址标识 |
T1 | Domain1 | IP-1,IP-2,IP-3 |
T1 | Domain2 | IP-1,IP-2,IP-3,IP-4 |
表1
之后,基于上述中所述时间区间内的聚合数据,构建为关系图,关系图中以<时间标识#域名信息>和<终端标识信息>为节点,并包含终端标识与访问域名的邻接关系。
以二分图法构建关系图为例,对该关系图构建操作进行详细描述。所述二分图中包括两类节点,节点集合U代表终端标识集合,节点集合V代表所述时间区间内记录的访问域名的集合。另外二分图中还可定义E={<ui,vi>},表示某终端标识ui与其对应访问域名vi间的邻接关系。以上述T1时间区间内的聚合数据为例,可构建得出T1时间区间内的访问关系图,如图3(a)所示。
然后,进行关系图更新,加载已存在的历史关系图。
将上述得到的时间区间关系图信息,更新至历史关系图中。
为对上述关系图更新操作,及关系图更新规则进一步详细说明,举例如下:
假设已存在历史关系图,且关系图内容为前述中的T1时间区间内的聚合数据。假设当前需更新的数据对应时间区间为T2,且聚合数据如下表2所示:
时间标识 | 访问域名 | 终端IP地址标识 |
T2 | Domain1 | IP-1,IP-2,IP-3,IP-4 |
T2 | Domain2 | IP-3,IP-5 |
T2 | Domain3 | IP-2,IP-3,IP-5 |
表2
具体的更新规则如下:
对上表2中的T2时间区间内的聚合数据,与已有关系图(图3(a))中的数据结构进行比较。
若历史关系图中已有节点的域名均与T2时间区间内聚合数据的域名不同,则将T2时间区间内中新增域名聚合数据直接添加到关系图中,例如上表2中的<T2,Domain3,<IP-2,IP-3,IP-5>>中,对比历史关系图,Domain3为新增域名,该数据直接添加至关系图中。
若历史关系图中已有节点的域名与T2时间区间内聚合数据的域名一致(域名Domain),则查看历史关系图中域名Domain对应的相邻节点集合(集合A1),并与T2时间区间内域名Domain的相邻节点集合(集合A2)比对:
若集合A1是A2的子集,则将原关系图中域名Domain节点及相关的邻接关系移除,并将A2对应的邻接关系数据更新至图中,例如历史关系图<T1,Domain1,<IP-1,IP-2,IP-3>>中的IP地址列表是T2时间区间关系图中<T2,Domain1,<IP-1,IP-2,IP-3,IP-4>>中的IP地址列表的子集,则将历史关系图中的节点及对应关系删除,更新为节点T2#Domain1和其IP地址列表的对应邻接关系;
反之,若集合A2是A1的子集,则保留历史关系图中的节点及邻接关系数据,域名节点及集合A2不需要更新至关系图中;
若集合A1与A2无子集包含关系,则将域名节点和A2添加至关系图中。例如历史关系图中存在<T1,Domain2,<IP-1,IP-2,IP-3,IP-4>>,T2时间区间新增关系图<T2,Domain2,<IP-3,IP-5>>,两个关系图中虽然访问域名相同,但A1与A2集合无包含关系,则在关系图中新增节点<T2#Domain2>,并添加其对应邻接关系。
经过上述更新,上述图3(a)原有关系图更新结果如图3(b)所示。
步骤S103,从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。
具体实现时,本步骤可以由节点判断模块来执行。
参照图4所示,首先,从上述最终更新得到的访问关系图,挖掘访问多个相同域名的源IP组合作为候选节点组合。
作为一种实施方式,所述从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合的步骤可以包括:
基于所述终端访问关系图中的邻接关系构建链表并排序;
基于排序后的链表构建访问模式树;
具体地,基于排序后的链表,以链表中终端标识节点为树节点,将访问域名信息添加至树节点的属性信息中,构建得到访问模式树。
然后,提取所述访问模式树的每一条路径上的节点集合作为终端标识集合,以及路径终点节点的<时间标识#域名>列表作为对应的终端标识共同访问的访问域名集合,得到访问多个相同域名的终端标识列表,作为所述候选节点组合。
最后,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。
具体实现如下:判断所述候选节点组合中是否存在包含关系的候选节点;
若存在,则删除所述候选节点组合中被包含的候选节点,得到冗余筛选后的候选节点组合;
基于冗余筛选后的候选节点组合,获取各候选节点的终端标识集合的元素数目和访问域名集合的元素数目;
保留终端标识集合的元素数目大于预设的终端标识数目阈值,以及访问域名集合的元素数目大于预设的访问域名数目阈值的候选节点集合,得到僵尸网络节点。
以下结合实例对上述僵尸网络节点筛选进行详细阐述:
具体地,首先基于邻接关系构建链表并排序:
其中,链表构建是指基于终端访问关系图,将每个域名节点和其对应的邻接关系节点均构建为一条链表,其中,链表中以<时间标识#访问域名>节点作为链表头节点,后续节点为终端标识节点,终端标识节点的排列顺序按照节点在整个关系图中的度数进行降序排序;
进一步地,对不同链表之间进行顺序排列,其中,排列规则基于访问域名节点在整个关系图中的度数进行降序排序。
以上述终端标识为IP地址的实例为例,根据上述获得的终端访问关系图,建立节点<T2#Domain1>的对应链表。T2#Domain1为头节点,该头结点对应的子节点包括<IP-1,IP-2,IP-3,IP-4>,从终端访问关系图中可看出IP节点按照度数的排序为<IP-3,IP-2,IP-1,IP-4>。
同样对其他链表排序后,再按照域名节点的度数进行降序排序为<T2#Domain1,T1#Domain2,T2#Domain2,T2#Domain3>,最终得到排序后的链表组合如下表3所示:
时间标识#域名 | 访问源IP |
T2#Domain1 | IP-3,IP-2,IP-1,IP-4 |
T1#Domain2 | IP-3,IP-2,IP-1,IP-4 |
T2#Domain2 | IP-3,IP-5 |
T2#Domain3 | IP-3,IP-2,IP-5 |
表3
其次,构建访问模式树:
该访问模式树以终端标识节点为树节点,访问域名信息添加至树节点的属性信息中。访问模式树的构建过程,如图5所示,包括如下过程:
(1)初始化模式树。初始化一棵只包含根节点的树,根节点默认root节点。
(2)读入待处理链表。图4中已经根据域名节点的度数进行了链表降序排序,基于排序结果逐条读入当前待处理的链表。
(3)设置当前节点。选择设置当前节点,若链表初始读入,则将根节点root设置为当前节点。若链表不是初始读入,则将上一步骤中处理完的节点,设置为当前节点。
(4)链表节点处理。对当前链表中的待处理节点进行判断,判断访问模式树中是否已添加待处理节点为当前节点的子节点。若当前节点所有子节点中未包含待处理节点,则在树中添加待处理节点作为当前节点的子节点,并将当前链表的域名标识信息添加至对应子节点属性信息中;若当前节点所有子节点中包含待处理节点,则将当前链表的域名标识信息更新至对应子节点的属性信息中。
需要说明的是,图4中每条链表以域名节点为头结点,所有终端标识节点按照度数降序排序。终端标识节点集合即为所述待处理节点。
若链表初始读入,则当前节点为根节点,待处理节点为终端标识集合降序排序后度数最高的首节点;
若链表不是初始读入,则当前节点为上一循环中已处理的终端标识节点,待处理节点为终端标识集合降序排序后度数仅次于当前节点的终端标识节点。
(5)链表处理结束判断。判断已处理节点是否为该链表的最后一个节点,若是,则转入步骤6;若不是,则转入步骤3。
(6)访问模式树结束判断。判断已处理链表是否为最后一条链表,若是,则模式树构建结束。若不是,则转入步骤2,读入下一条待处理链表。
以图4中的数据为例,构建模式树的过程如图5所示。
然后,进行候选节点组合提取:
对于上述构建好的访问模式树,树中每一条从根节点开始的路径都是一个候选节点组合。路径上的节点集合代表终端标识集合,路径终点节点的<时间标识#域名>列表表示这些终端标识共同访问的域名集合,形成结构<源IP集合,时间标识#域名列表>,即为候选僵尸网络节点组合。
以上述终端标识为IP地址的实例为例并结合图4,可提取到如下候选节点:
<(IP-2,IP-3),(T2#Domain1,T1#Domain2,T2#Domain3)>;
<(IP-5,IP-3),(T2#Domain2)>;
<(IP-1,IP-2,IP-3),(T2#Domain1,T1#Domain2)>;
<(IP-5,IP-2,IP-3),(T2#Domain3)>;
<(IP-4,IP-1,IP-2,IP-3),(T2#Domain1,T1#Domain2)>;
<(IP-4,IP-1,IP-3,IP-2),(T3#Domain3)>。
最后,进行僵尸网络节点筛选:
a、冗余筛选
对于所有候选节点组合结构,若其中存在包含关系,移除所有被包含的结构。
如前述示例中,候选节点<(IP-1,IP-2,IP-3),(T2#Domain1,T1#Domain2)>与<(IP-4,IP-1,IP-2,IP-3),(T2#Domain1,T1#Domain2)>存在包含关系,将被包含的候选节点<(IP-1,IP-2,IP-3),(T2#Domain1,T1#Domain2)>移除。
b、阈值筛选
为了提升准确率,对提取出的候选僵尸网络节点组合进行一定的筛选,挑选符合阈值的结果。
例如,对终端标识集合的元素数目和访问域名数目分别设定阈值终端标识数目阈值Th1和访问域名数目阈值Th2:对于所有候选节点组合,保留终端标识集合的元素数目大于第一预设阈值Th1同时访问域名数目大于第二预设阈值Th2的结构。
经过上述步骤,可得到访问多个相同域名的终端标识域名。格式为<终端标识集合,时间标识#域名集合>,其中终端标识集合即为被僵尸网络感染的机器。
其中:多次表现出相同访问行为,且访问域名具有可疑风险(终端标识集合的元素数目大于第一预设阈值Th1,访问域名集合的元素数目大于第二预设阈值Th2)的主机表现异常,被认为是被僵尸网络感染的机器。对于一条结果,终端标识集合的元素数目越大,访问域名集合的元素数目越大,代表这些机器被僵尸网络感染的概率越高。
本实施例通过上述方案,通过获取被监测网络中的原始网络流量数据,对原始网络流量数据进行预处理,得到预处理后的网络流量数据;基于所述预处理后的网络流量数据构建终端访问关系图;从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。由此,通过终端网络行为中的域名查询或访问信息来分析比较终端的行为模式,并依据僵尸网络被控终端通常具有相同或近似行为模式这一特征来检测发现僵尸网络的存在。相比现有技术,本发明方案应用数据种类少,在数据流量中提取的特征数量少,计算开销较小,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
如图6所示,本发明第二实施例提出一种僵尸网络检测方法,基于上述图2所示的第一实施例,所述方法还包括:
步骤S104,将所述检测结果中的可疑域名发送至恶意域名检测***,由所述恶意域名检测***对可疑域名进行评估,以优化所述检测结果。
相比上述实施例,本实施例还包括:恶意域名检测***对可疑域名进行评估,以优化检测结果的方案。
具体地,僵尸网络检测***在获得检测结果后,可将检测结果中的可疑域名发送至恶意域名检测***,进一步对可疑域名进行评估。
可选的,此处的恶意域名检测***可以有多种实现方式,可以是恶意域名黑名单过滤***,或威胁情报匹配检测***,或随意域名检测***等等。
通过恶意域名检测***对可疑域名进行评估,僵尸网络检测***可对检测结果进一步进行威胁等级排序,优化检测结果。举例来说,若恶意域名检测***判断一组终端访问的域名为某僵尸网络域名,则可判定该组具有相同行为模式的终端疑似被同样的僵尸病毒控制,从而直接获取到僵尸网络的拓扑关系。实际部署中,所述僵尸网络检测***可根据实际情况判断是否执行该步骤操作,对域名信息进一步检测。
本实施例通过上述方案,通过获取被监测网络中的原始网络流量数据,对原始网络流量数据进行预处理,得到预处理后的网络流量数据;基于所述预处理后的网络流量数据构建终端访问关系图;从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。由此,通过终端网络行为中的域名查询或访问信息来分析比较终端的行为模式,并依据僵尸网络被控终端通常具有相同或近似行为模式这一特征来检测发现僵尸网络的存在。此外,僵尸网络检测***在获得检测结果后,可将检测结果中的可疑域名发送至恶意域名检测***,进一步对可疑域名进行评估,从而使得僵尸网络检测***可对检测结果进一步进行威胁等级排序,优化检测结果。
相比现有技术,本发明方案应用数据种类少,在数据流量中提取的特征数量少,计算开销较小,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
如图7所示,本发明第三实施例提出一种僵尸网络检测方法,基于上述图2所示的第二实施例,所述方法还包括:
步骤S105,将所述检测结果上报至监控***,由监控***对检测结果进行展示,和/或,由所述监控***根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
相比上述实施例,本实施例还包括:监控***对检测结果进行相关操作的方案。
具体地,本发明实施例的具体实施过程中,僵尸网络检测***可以将检测结果上报至监控***,由监控***对检测结果进行展示。
进一步地,监控***还可根据检测结果,对疑似感染僵尸病毒的终端进行相关管控操作,例如,对疑似感染僵尸病毒的终端进行网络限速处理等操作。
需要说明的是,上述僵尸网络检测***部署方案仅为优选示例,具体应用中可根据实际组网情况,进行僵尸网络检测***的部署。
进一步地,除部署在网络中,进行实时流量检测外,本发明僵尸网络检测***还支持应用于解析流量日志文件,输出网络行为分析检测结果。
此外,本发明实施例还提出一种僵尸网络检测***,包括:数据预处理模块、关系图构建模块以及节点判断模块,其中:
数据预处理模块:该模块接收原始流量并处理原始数据,提取流量数据中的有效字段,并进行数据清洗,去除冗余和重复信息;
关系图构建模块:该模块接收数据预处理模块处理后的日志数据,并执行终端标识信息聚合、关系图构建和关系图更新操作。该模块的主要操作包括,以域名为中心将同一时间间隔内的终端标识信息进行聚合,形成类似<时间标识、域名、访问域名的终端标识列表>的聚合结构,并构建和更新域名节点与访问域名的终端标识列表间的邻接关系图。
节点判断模块:该模块从关系图构建模块输出的关系图中挖掘访问多个相同域名的终端标识列表,经过筛选后得到被感染的僵尸网络节点。该模块主要操作包括,首先挖掘访问关系图中访问多个相同域名的终端标识列表,形成类似<终端标识集合,访问域名集合>的结构,所述输出结构即为提取到的候选节点组合,然后设置对应的筛选规则,对所述候选节点组合进行筛选,筛选输出结果即为检测到的僵尸网络节点。
具体地,数据预处理模块,用于获取被监测网络中的原始网络流量数据,对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据;
关系图构建模块,用于基于所述预处理后的网络流量数据构建终端访问关系图;
节点判断模块,从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。
进一步地,上述数据预处理模块还用于获取被监测网络中预设时间范围内的实时流量数据或流量日志文件,作为原始网络流量数据,所述实时流量数据或流量日志文件至少包括终端的域名查询请求和/或终端访问域名的HTTP连接请求。
进一步地,上述数据预处理模块还用于对所述原始网络流量数据进行时间区间分组;
从时间区间分组后的网络流量数据中提取有效字段,所述有效字段至少包括:时间戳、终端标识、访问域名三个关键字段;
对包含有所述有效字段的网络流量数据进行清洗,过滤冗余数据及白名单,得到数据结构为<时间戳、终端标识、访问域名>的日志序列。
进一步地,上述关系图构建模块还用于从预处理后的网络流量数据中提取对应时间区间内终端网络行为中标识终端信息的终端标识和终端访问或查询的域名信息;
基于提取的终端标识和终端访问或查询的域名信息,以域名为中心将同一时间区间内的终端标识信息进行聚合,形成<时间标识、域名、访问域名的终端标识集合>的聚合结构;
基于所述聚合结构,构建和更新域名节点与访问域名的终端标识列表间的邻接关系图,得到终端访问关系图。
进一步地,上述节点判断模块还用于基于所述终端访问关系图中的邻接关系构建链表并排序;基于排序后的链表构建访问模式树;提取所述访问模式树的每一条路径上的节点集合作为终端标识集合,以及路径终点节点的<时间标识#域名>列表作为对应的终端标识共同访问的访问域名集合,得到访问多个相同域名的终端标识列表,作为所述候选节点组合。
判断所述候选节点组合中是否存在包含关系的候选节点;若存在,则删除所述候选节点组合中被包含的候选节点,得到冗余筛选后的候选节点组合;
基于冗余筛选后的候选节点组合,获取各候选节点的终端标识集合的元素数目和访问域名集合的元素数目;保留终端标识集合的元素数目大于预设的终端标识数目阈值,以及访问域名集合的元素数目大于预设的访问域名数目阈值的候选节点集合,得到僵尸网络节点。
进一步地,僵尸网络检测***还包括:处理模块,用于将所述检测结果中的可疑域名发送至恶意域名检测***,由所述恶意域名检测***对可疑域名进行评估,以优化所述检测结果;以及将所述检测结果上报至监控***,由监控***对检测结果进行展示,和/或,由所述监控***根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
本实施例实现僵尸网络检测的详细过程及原理,请参照上述各实施例,在此不再赘述。
相比现有技术,本发明方案应用数据种类少,在数据流量中提取的特征数量少,计算开销较小,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
此外,本发明实施例还提出一种僵尸网络检测***,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的僵尸网络检测程序,所述僵尸网络检测程序被所述处理器执行时实现如上所述的僵尸网络检测方法的步骤。
具体地,如图8所示,本实施例***可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图8中示出的***结构并不构成对平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及僵尸网络检测程序。
在图8所示的***中,网络接口1004主要用于连接网络服务器,与网络服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,并执行以下操作:
获取被监测网络中的原始网络流量数据,对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据;
基于所述预处理后的网络流量数据构建终端访问关系图;
从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选,得到僵尸网络节点的检测结果。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
获取被监测网络中预设时间范围内的实时流量数据或流量日志文件,作为原始网络流量数据,所述实时流量数据或流量日志文件至少包括终端的域名查询请求和/或终端访问域名的HTTP连接请求。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
对所述原始网络流量数据进行时间区间分组;
从时间区间分组后的网络流量数据中提取有效字段,所述有效字段至少包括:时间戳、终端标识、访问域名三个关键字段;
对包含有所述有效字段的网络流量数据进行清洗,过滤冗余数据及白名单,得到数据结构为<时间戳、终端标识、访问域名>的日志序列。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
从预处理后的网络流量数据中提取对应时间区间内终端网络行为中标识终端信息的终端标识和终端访问或查询的域名信息;
基于提取的终端标识和终端访问或查询的域名信息,以域名为中心将同一时间区间内的终端标识信息进行聚合,形成<时间标识、域名、访问域名的终端标识集合>的聚合结构;
基于所述聚合结构,构建和更新域名节点与访问域名的终端标识列表间的邻接关系图,得到终端访问关系图。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
基于所述终端访问关系图中的邻接关系构建链表并排序;
基于排序后的链表构建访问模式树;
提取所述访问模式树的每一条路径上的节点集合作为终端标识集合,以及路径终点节点的<时间标识#域名>列表作为对应的终端标识共同访问的访问域名集合,得到访问多个相同域名的终端标识列表,作为所述候选节点组合。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
基于所述终端访问关系图,将每个域名节点和其对应的邻接关系节点均构建为一条链表,其中,链表中以<时间标识#访问域名>节点作为链表头节点,后续节点为终端标识节点,终端标识节点的排列顺序按照节点在整个关系图中的度数进行降序排序;
对不同链表之间进行顺序排列,其中,排列规则基于访问域名节点在整个关系图中的度数进行降序排序。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
基于排序后的链表,以链表中终端标识节点为树节点,将访问域名信息添加至树节点的属性信息中,构建得到访问模式树。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
判断所述候选节点组合中是否存在包含关系的候选节点;
若存在,则删除所述候选节点组合中被包含的候选节点,得到冗余筛选后的候选节点组合;
基于冗余筛选后的候选节点组合,获取各候选节点的终端标识集合的元素数目和访问域名集合的元素数目;
保留终端标识集合的元素数目大于预设的终端标识数目阈值,以及访问域名集合的元素数目大于预设的访问域名数目阈值的候选节点集合,得到僵尸网络节点。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
将所述检测结果中的可疑域名发送至恶意域名检测***,由所述恶意域名检测***对可疑域名进行评估,以优化所述检测结果。
进一步地,处理器1001可以用于调用存储器1005中存储的僵尸网络检测程序,还执行以下操作:
将所述检测结果上报至监控***,由监控***对检测结果进行展示,和/或,由所述监控***根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
本实施例实现僵尸网络检测的详细过程及原理,请参照上述各实施例,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有僵尸网络检测程序,所述僵尸网络检测程序被处理器执行时实现如上所述的僵尸网络检测方法的步骤。
本实施例实现僵尸网络检测的详细过程及原理,请参照上述各实施例,在此不再赘述。
相比现有技术,本发明实施例提出的一种僵尸网络检测方法、***及存储介质,通过获取被监测网络中的原始网络流量数据,对原始网络流量数据进行预处理,得到预处理后的网络流量数据;基于所述预处理后的网络流量数据构建终端访问关系图;从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果。由此,通过终端网络行为中的域名查询或访问信息来分析比较终端的行为模式,并依据僵尸网络被控终端通常具有相同或近似行为模式这一特征来检测发现僵尸网络的存在。相比现有技术,本发明方案应用数据种类少,在数据流量中提取的特征数量少,计算开销较小,能够有效提升检测效率,且该方案不需要基于确知的僵尸网络行为特征进行检测,能够更好的应用于未知僵尸网络威胁的检出。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (13)
1.一种僵尸网络检测方法,其特征在于,所述方法应用于僵尸网络检测***,所述方法包括:
获取被监测网络中的原始网络流量数据,对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据;其中,所述预处理后的网络流量数据包括数据结构为<时间戳、终端标识、访问域名>的日志序列;
基于所述预处理后的网络流量数据构建终端访问关系图;
从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选,得到僵尸网络节点的检测结果;
所述从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合的步骤:
基于所述终端访问关系图中的邻接关系构建链表并排序;
基于排序后的链表构建访问模式树;
提取所述访问模式树的每一条路径上的节点集合作为终端标识集合,以及路径终点节点的<时间标识#域名>列表作为对应的终端标识共同访问的访问域名集合,得到访问多个相同域名的终端标识列表,作为所述候选节点组合。
2.根据权利要求1所述的方法,其特征在于,所述获取被监测网络中的原始网络流量数据的步骤包括:
获取被监测网络中预设时间范围内的实时流量数据或流量日志文件,作为原始网络流量数据,所述实时流量数据或流量日志文件至少包括终端的域名查询请求和/或终端访问域名的HTTP连接请求。
3.根据权利要求2所述的方法,其特征在于,所述对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据的步骤包括:
对所述原始网络流量数据进行时间区间分组;
从时间区间分组后的网络流量数据中提取有效字段,所述有效字段至少包括:时间戳、终端标识、访问域名三个关键字段;
对包含有所述有效字段的网络流量数据进行清洗,过滤冗余数据及白名单,得到数据结构为<时间戳、终端标识、访问域名>的日志序列。
4.根据权利要求3所述的方法,其特征在于,所述基于所述预处理后的网络流量数据构建终端访问关系图的步骤包括:
从预处理后的网络流量数据中提取对应时间区间内终端网络行为中标识终端信息的终端标识和终端访问或查询的域名信息;
基于提取的终端标识和终端访问或查询的域名信息,以域名为中心将同一时间区间内的终端标识信息进行聚合,形成<时间标识、域名、访问域名的终端标识集合>的聚合结构;
基于所述聚合结构,构建和更新域名节点与访问域名的终端标识列表间的邻接关系图,得到终端访问关系图。
5.根据权利要求4所述的方法,其特征在于,所述基于所述终端访问关系图中的邻接关系构建链表并排序的步骤包括:
基于所述终端访问关系图,将每个域名节点和其对应的邻接关系节点均构建为一条链表,其中,链表中以<时间标识#访问域名>节点作为链表头节点,后续节点为终端标识节点,终端标识节点的排列顺序按照节点在整个关系图中的度数进行降序排序;
对不同链表之间进行顺序排列,其中,排列规则基于访问域名节点在整个关系图中的度数进行降序排序。
6.根据权利要求5所述的方法,其特征在于,所述基于排序后的链表构建访问模式树的步骤包括:
基于排序后的链表,以链表中终端标识节点为树节点,将访问域名信息添加至树节点的属性信息中,构建得到访问模式树。
7.根据权利要求6所述的方法,其特征在于,所述基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果的步骤包括:
判断所述候选节点组合中是否存在包含关系的候选节点;
若存在,则删除所述候选节点组合中被包含的候选节点,得到冗余筛选后的候选节点组合;
基于冗余筛选后的候选节点组合,获取各候选节点的终端标识集合的元素数目和访问域名集合的元素数目;
保留终端标识集合的元素数目大于预设的终端标识数目阈值,以及访问域名集合的元素数目大于预设的访问域名数目阈值的候选节点集合,得到僵尸网络节点。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
将所述检测结果中的可疑域名发送至恶意域名检测***,由所述恶意域名检测***对可疑域名进行评估,以优化所述检测结果。
9.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
将所述检测结果上报至监控***,由监控***对检测结果进行展示,和/或,由所述监控***根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
10.一种僵尸网络检测***,其特征在于,包括:
数据预处理模块,用于获取被监测网络中的原始网络流量数据,对所述原始网络流量数据进行预处理,得到预处理后的网络流量数据;其中,所述预处理后的网络流量数据包括数据结构为<时间戳、终端标识、访问域名>的日志序列;
关系图构建模块,用于基于所述预处理后的网络流量数据构建终端访问关系图;
节点判断模块,从所述终端访问关系图中挖掘出访问多个相同域名的终端标识列表,得到候选节点组合,基于预设的筛选规则,对所述候选节点组合进行筛选得到僵尸网络节点的检测结果;
其中,所述节点判断模块还用于基于所述终端访问关系图中的邻接关系构建链表并排序;基于排序后的链表构建访问模式树;提取所述访问模式树的每一条路径上的节点集合作为终端标识集合,以及路径终点节点的<时间标识#域名>列表作为对应的终端标识共同访问的访问域名集合,得到访问多个相同域名的终端标识列表,作为所述候选节点组合。
11.一种网络访问***,其特征在于,所述网络访问***包括:僵尸网络检测***,以及均与所述僵尸网络检测***通信连接的恶意域名检测***、监控***、DNS服务器,所述僵尸网络检测***还连接若干访问终端;其中,所述僵尸网络检测***为权利要求10所述的僵尸网络检测***;
DNS服务器,用于向访问终端提供域名访问服务;
所述恶意域名检测***,用于接收所述僵尸网络检测***发送的所述检测结果中的可疑域名,对所述可疑域名进行评估,以优化所述检测结果;
所述监控***,用于接收所述僵尸网络检测***上报的检测结果,对检测结果进行展示,和/或,根据所述检测结果,对疑似感染僵尸病毒的终端进行相关管控操作。
12.一种僵尸网络检测***,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的僵尸网络检测程序,所述僵尸网络检测程序被所述处理器执行时实现如权利要求1-9中任一项所述的僵尸网络检测方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有僵尸网络检测程序,所述僵尸网络检测程序被处理器执行时实现如权利要求1-9中任一项所述的僵尸网络检测方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811602973.7A CN111371735B (zh) | 2018-12-26 | 2018-12-26 | 僵尸网络检测方法、***及存储介质 |
PCT/CN2019/126754 WO2020135233A1 (zh) | 2018-12-26 | 2019-12-19 | 僵尸网络检测方法、***及存储介质 |
EP19901939.9A EP3905622A4 (en) | 2018-12-26 | 2019-12-19 | ZOMBIE NETWORK DETECTION METHOD AND SYSTEM, AND INFORMATION HOLDER |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811602973.7A CN111371735B (zh) | 2018-12-26 | 2018-12-26 | 僵尸网络检测方法、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371735A CN111371735A (zh) | 2020-07-03 |
CN111371735B true CN111371735B (zh) | 2022-06-21 |
Family
ID=71128478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811602973.7A Active CN111371735B (zh) | 2018-12-26 | 2018-12-26 | 僵尸网络检测方法、***及存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3905622A4 (zh) |
CN (1) | CN111371735B (zh) |
WO (1) | WO2020135233A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11240257B2 (en) * | 2019-03-07 | 2022-02-01 | Lookout, Inc. | Domain name and URL visual verification for increased security |
CN114205095B (zh) * | 2020-08-27 | 2023-08-18 | 极客信安(北京)科技有限公司 | 一种加密恶意流量的检测方法和装置 |
CN112988915A (zh) * | 2021-01-27 | 2021-06-18 | 厦门市健康医疗大数据中心(厦门市医药研究所) | 数据展示方法和装置 |
CN115134095A (zh) * | 2021-03-10 | 2022-09-30 | 中国电信股份有限公司 | 僵尸网络控制端检测方法及装置、存储介质、电子设备 |
CN113242159B (zh) * | 2021-05-24 | 2022-12-09 | 中国工商银行股份有限公司 | 应用访问关系确定方法及装置 |
CN113645191B (zh) * | 2021-07-13 | 2023-02-28 | 北京华云安信息技术有限公司 | 可疑主机的确定方法、装置、设备和计算机可读存储介质 |
CN113676374B (zh) * | 2021-08-13 | 2024-03-22 | 杭州安恒信息技术股份有限公司 | 目标网站线索检测方法、装置、计算机设备和介质 |
CN114244580A (zh) * | 2021-11-29 | 2022-03-25 | 北京华清信安科技有限公司 | 用于互联网僵尸网络的图形分析识别方法 |
CN114401122B (zh) * | 2021-12-28 | 2024-04-05 | 中国电信股份有限公司 | 一种域名检测方法、装置、电子设备及存储介质 |
CN115118491B (zh) * | 2022-06-24 | 2024-02-09 | 北京天融信网络安全技术有限公司 | 僵尸网络检测的方法、装置、电子设备及可读存储介质 |
CN116132167B (zh) * | 2023-02-13 | 2024-04-26 | 中国民航大学 | 一种面向物联网的多协议僵尸网络检测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685145A (zh) * | 2012-05-28 | 2012-09-19 | 西安交通大学 | 一种基于dns数据包的僵尸网络域名发现方法 |
US8555388B1 (en) * | 2011-05-24 | 2013-10-08 | Palo Alto Networks, Inc. | Heuristic botnet detection |
CN103532969A (zh) * | 2013-10-23 | 2014-01-22 | 国家电网公司 | 一种僵尸网络检测方法、装置及处理器 |
CN103685230A (zh) * | 2013-11-01 | 2014-03-26 | 上海交通大学 | 僵尸网络恶意域名的分布式协同检测***和方法 |
CN106060067A (zh) * | 2016-06-29 | 2016-10-26 | 上海交通大学 | 基于Passive DNS迭代聚类的恶意域名检测方法 |
CN106375345A (zh) * | 2016-10-28 | 2017-02-01 | 中国科学院信息工程研究所 | 一种基于周期性检测的恶意软件域名检测方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9088606B2 (en) * | 2012-07-05 | 2015-07-21 | Tenable Network Security, Inc. | System and method for strategic anti-malware monitoring |
CN103491074A (zh) * | 2013-09-09 | 2014-01-01 | 中国科学院计算机网络信息中心 | 僵尸网络检测方法及装置 |
CN107249049A (zh) * | 2017-07-21 | 2017-10-13 | 北京亚鸿世纪科技发展有限公司 | 一种对网络采集的域名数据进行筛选的方法及设备 |
-
2018
- 2018-12-26 CN CN201811602973.7A patent/CN111371735B/zh active Active
-
2019
- 2019-12-19 WO PCT/CN2019/126754 patent/WO2020135233A1/zh unknown
- 2019-12-19 EP EP19901939.9A patent/EP3905622A4/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555388B1 (en) * | 2011-05-24 | 2013-10-08 | Palo Alto Networks, Inc. | Heuristic botnet detection |
CN102685145A (zh) * | 2012-05-28 | 2012-09-19 | 西安交通大学 | 一种基于dns数据包的僵尸网络域名发现方法 |
CN103532969A (zh) * | 2013-10-23 | 2014-01-22 | 国家电网公司 | 一种僵尸网络检测方法、装置及处理器 |
CN103685230A (zh) * | 2013-11-01 | 2014-03-26 | 上海交通大学 | 僵尸网络恶意域名的分布式协同检测***和方法 |
CN106060067A (zh) * | 2016-06-29 | 2016-10-26 | 上海交通大学 | 基于Passive DNS迭代聚类的恶意域名检测方法 |
CN106375345A (zh) * | 2016-10-28 | 2017-02-01 | 中国科学院信息工程研究所 | 一种基于周期性检测的恶意软件域名检测方法及*** |
Also Published As
Publication number | Publication date |
---|---|
EP3905622A4 (en) | 2022-09-07 |
EP3905622A1 (en) | 2021-11-03 |
WO2020135233A1 (zh) | 2020-07-02 |
CN111371735A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111371735B (zh) | 僵尸网络检测方法、***及存储介质 | |
Siddiqui et al. | Analysis of KDD CUP 99 dataset using clustering based data mining | |
CN111355697B (zh) | 僵尸网络域名家族的检测方法、装置、设备及存储介质 | |
EP2337266A2 (en) | Detecting and classifying anomalies in communication networks | |
CN109842588B (zh) | 网络数据检测方法及相关设备 | |
KR20140027616A (ko) | 웹 트랜잭션 밀집도 기반 에이치티티피 봇넷 탐지 장치 및 방법 | |
CN113328985B (zh) | 一种被动物联网设备识别方法、***、介质及设备 | |
CN107222511B (zh) | 恶意软件的检测方法及装置、计算机装置及可读存储介质 | |
US10178109B1 (en) | Discovery of groupings of security alert types and corresponding complex multipart attacks, from analysis of massive security telemetry | |
CN113904795B (zh) | 一种基于网络安全探针的流量快速精确检测方法 | |
KR20140035678A (ko) | 학습 가능한 dns 분석기 및 분석 방법 | |
Narang et al. | PeerShark: flow-clustering and conversation-generation for malicious peer-to-peer traffic identification | |
CN105635170A (zh) | 基于规则对网络数据包进行识别的方法和装置 | |
Zali et al. | Real-time attack scenario detection via intrusion detection alert correlation | |
JP2007074339A (ja) | 拡散型不正アクセス検出方法および拡散型不正アクセス検出システム | |
CN110493253B (zh) | 一种基于树莓派设计的家用路由器的僵尸网络分析方法 | |
US20230115935A1 (en) | System and method to detect malicious activity through detecting anomalies in sinkholed traffic | |
CN113872962B (zh) | 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 | |
Giacinto et al. | Alarm clustering for intrusion detection systems in computer networks | |
US11159548B2 (en) | Analysis method, analysis device, and analysis program | |
Wang et al. | Efficient mining of the multidimensional traffic cluster hierarchy for digesting, visualization, and anomaly identification | |
US20180026993A1 (en) | Differential malware detection using network and endpoint sensors | |
CN110912933A (zh) | 一种基于被动测量的设备识别方法 | |
CN116527307A (zh) | 一种基于社区发现的僵尸网络检测算法 | |
Zurutuza et al. | A data mining approach for analysis of worm activity through automatic signature generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |