CN116318975A - 一种基于多会话和多协议的恶意流量检测方法与系统 - Google Patents
一种基于多会话和多协议的恶意流量检测方法与系统 Download PDFInfo
- Publication number
- CN116318975A CN116318975A CN202310253985.8A CN202310253985A CN116318975A CN 116318975 A CN116318975 A CN 116318975A CN 202310253985 A CN202310253985 A CN 202310253985A CN 116318975 A CN116318975 A CN 116318975A
- Authority
- CN
- China
- Prior art keywords
- traffic
- malicious
- sessions
- session
- state
- 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.)
- Pending
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/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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于多会话和多协议的恶意流量检测方法与系统,属于互联网技术领域,首先利用启发式算法将多个有关联会话合并成一个会话序列,然后从会话中提取状态,将会话序列转换为状态序列,最后利用大量的状态序列训练马尔科夫链模型作为网络通信行为指纹。在检测阶段,通过计算每一个序列和网络通信行为指纹的匹配度来判断是否是恶意流量。本发明能够充分挖掘恶意软件产生的多个会话之间的上下文特征,准确高效的检测出恶意软件的流量。
Description
技术领域
本发明涉及网络空间安全领域、恶意流量检测领域和人工智能领域,具体涉及一种基于多会话和多协议的恶意流量检测方法与系统。
背景技术
近年来,网络攻击事件日益频发,对人们的生产生活带来了巨大的负面影响和严重的经济损失。人们不得不采取各种各样的方法防御网络攻击。从海量的网络流量中准确并快速的找到恶意软件的流量是抵御网络攻击的关键之一。传统的网络入侵检测系统(如Snort、Suricata)使用基于签名的检测方法。这种方法需要专家手工提取签名,不仅效率低下,而且难以应对层出不穷的攻击手法和与日俱增的加密流量,具有很大的局限性。随着人工智能技术的不断发展和广泛应用,机器学习和深度学习逐步被用来检测恶意流量。但是,现有的这些检测方法都是把单个数据包或者单个会话作为最小的检测单位。随着防御手段的升级,攻击者开始采用更先进的攻击手法和更高级的恶意软件。通常情况下,一个恶意软件在运行过程中会产生多个会话,并且多个会话之间存在前后的上下文关联。然而现有的这些检测方法都没有考虑同一个恶意软件产生的多个会话之间的关联性,只是孤立的检测单个会话。例如,中国发明专利CN105871832A公开了一种基于协议属性的网络应用加密流量识别方法及其装置,针对单个会话做检测,而且只针对加密流量分类,通过使用TLS会话消息类型作为特征,基于二阶马尔科夫链进行完全匹配,一来无法应对多种协议的流量检测,而且完全匹配会使得恶意软件的变种绕过检测。这样损失了很多信息,容易造成漏报和误报。
此外,随着恶意软件的持续演进,一些高级的恶意软件(如SUNBURST)开始使用模仿正常流量的方式逃避检测。这使得仅仅从单个会话的角度更加难以区分正常的流量和恶意的流量。如何能够综合利用恶意软件产生的不同协议的多个会话,准确快速的检测出恶意流量是目前亟待解决的问题。所以,本发明旨在充分挖掘同一个恶意软件产生的多个会话之间的关联性,利用人工智能技术准确的检测出恶意软件的流量。
发明内容
本发明的目的是提供一种基于多会话和多协议的恶意流量检测方法与系统,针对恶意软件的通信特点,挖掘同一个恶意软件产生的多个会话之间的关联性,利用一阶齐次马尔可夫链构建恶意软件网络通信行为指纹,最终实现准确检测恶意流量的目的。
为实现上述目的,本发明采取如下技术方案:
一种基于多会话和多协议的恶意流量检测方法,包括以下步骤:
1)解析原始流量,生成流量日志;
2)将原始流量中相互之间有关联的会话合并一起并进行分组,每组会话按照时间先后顺序构成一个会话序列;
3)提取每组会话中每个会话的状态,将每个会话序列转换成状态序列;
4)收集恶意软件产生的恶意流量,按照上述步骤1)至3)进行处理,获得恶意软件的状态序列,利用该状态序列训练一个一阶齐次马尔可夫链并作为恶意软件的网络通信行为指纹;
5)检测恶意流量时,对获取的待检测流量按照上述步骤1)至3)进行处理,获得该待检测流量的状态序列,然后计算该待检测流量的状态序列匹配于不同恶意软件的网络通信行为指纹的概率,根据概率与预设的检测阈值的大小关系判断是否为恶意流量以及是哪个恶意软件的恶意流量。
优选地,所述流量日志包括以下字段:源IP地址、目的IP地址、传输层协议类型、传输层发送载荷字节大小和传输层接收载荷字节大小。
优选地,如果应用层是标准的网络协议,则所述流量日志还包括应用层协议字段;如果应用层协议是DNS协议,则所述流量日志还包括请求域名、请求类型、响应数量三个字段。
优选地,会话之间是否存在关联的判断条件包括:
两个会话的时间间隔小于两分钟,并且两者拥有相同的源IP地址和目的IP地址;或
两个DNS会话的时间间隔小于两分钟,并且两者所请求的域名拥有相同的二级域名;或
两个会话的时间间隔小于两分钟,并且其中一个会话是DNS会话,另一个会话的源IP地址或者目的IP地址在该DNS会话的响应中。
优选地,使用启发式的并查集算法将有关联的会话合并一起。
优选地,如果同一组的会话数量超过了100个,则会话序列只保留前100个会话。
优选地,提取会话的状态时,对于DNS协议,使用协议类型、DNS请求类型和DNS响应中的回答数量作为会话的状态;对于其他协议,使用协议类型、发送的字节数和接收的字节数作为会话的状态。
优选地,每个状态序列除了包括会话状态外,还包括一开始状态和一结束状态。
优选地,在检测恶意流量时,根据概率与预设的检测阈值的大小关系判断的步骤包括:
如果概率超过检测阈值,则判断为恶意流量,否则判断为非恶意流量;
如果只有一个概率超过检测阈值,则判断恶意流量来自于该概率对应的恶意软件;
如果有多个概率超过检测阈值,则判断恶意流量来自于最高概率对应的恶意软件。
优选地,在计算待检测流量的状态序列匹配于不同恶意软件的网络通信行为指纹的概率时,引入状态转移前后的相似度,根据该相似度计算所述概率。
优选地,对网络通信行为指纹进行动态更新,由原状态序列更新为新状态序列,如果原状态序列中的每个状态的转移概率为p,则新状态序列中的每个状态的转移概率为p/(1+ur),其中ur为超参数。
一种基于多会话和多协议的恶意流量检测系统,包括:
数据预处理模块,用于解析原始流量,生成流量日志;将原始流量中相互之间有关联的会话合并一起并进行分组,每组会话按照时间先后顺序构成一个会话序列;提取每组会话中每个会话的状态,将每个会话序列转换成状态序列;
指纹构建模块,用于收集恶意软件产生的恶意流量,并输入到数据预处理模块中进行处理,获得恶意软件的状态序列,利用该状态序列训练一个一阶齐次马尔可夫链并作为恶意软件的网络通信行为指纹;
恶意流量检测模块,用于检测恶意流量,对获取的待检测流量输入到数据预处理模块中进行处理,获得该待检测流量的状态序列,然后计算该待检测流量的状态序列匹配于不同恶意软件的网络通信行为指纹的概率,根据概率与预设的检测阈值的大小关系判断是否为恶意流量以及是哪个恶意软件的恶意流量。
本发明和现有技术相比有如下优点:
现有的恶意流量检测方法都是把单个数据包或者单个会话作为最小的检测单位。但是,恶意软件在网络通信过程中往往会产生多个会话,这些会话之间存在关联性。相对于现有的检测方法,本发明充分挖掘相邻会话之间的关联信息,把多个会话合并在一起进行检测。在会话合并的时候,本发明使用启发式的并查集算法合并会话,这使得不同协议、不同IP地址但相互之间有关联的会话都可以合并在一起。在状态提取的时候,本发明仅使用协议类型、发送和传输的字节数作为状态,这使得本发明同样适用于加密协议。在检测的时候,本发明引入了近似匹配的技术,这使得恶意软件的变种也无法绕过检测。在部署的时候,本发明引入动态更新技术,使得恶意软件网络通信行为指纹能够随着恶意软件同步更新,以应对恶意软件的持续演化。
附图说明
图1是本发明提出的一种基于多会话和多协议的恶意流量检测方法流程图;
图2是恶意软件网络通信行为指纹构建的流程图;
图3是恶意流量检测的流程图;
图4是会话聚合的示例图;
图5是Upatre木马的网络通信行为指纹示例图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和事例对本发明中技术核心作进一步详细的说明。
本发明提出的一种基于多会话和多协议的恶意流量检测方法,如图1所示,包括以下步骤:
步骤1:析原始流量。按照RFC文档规定,将原始流量解析成流量日志。为了完成后续的步骤,日志中必须包含的字段为源IP地址、目的IP地址、传输层协议类型、传输层发送载荷字节大小、传输层接收载荷字节大小。如果应用层是标准的网络协议(如HTTP、TLS),则还需增加应用层协议字段。如果应用层协议是DNS协议,则还需增加请求域名、请求类型、响应数量三个字段。
步骤2:会话聚合。会话聚合的目的是把协议不同但相互之间有关联的会话合并在一起。判断两个会话是否存在关联的条件有三个:
1)两个会话的时间间隔小于两分钟,并且它们拥有相同的源IP地址和目的IP地址;
2)两个DNS会话的时间间隔小于两分钟,并且它们所请求的域名拥有相同的二级域名;
3)两个会话的时间间隔小于两分钟,并且其中一个会话是DNS会话,另一个会话的源IP地址(或者目的IP地址)在这个DNS会话的响应中。
如果两个会话满足上面任意一个条件,则这两个会话属于有关联的会话。使用启发式的并查集算法将有关联的会话合并在一起,具体流程如下:
初始化:令g[i]表示第i个会话所属的分组ID,其中g[i]=i;
查询第i个会话所属的分组:如果g[i]等于i,则第i个会话所属的分组就是g[i];否则递归查询g[i]所属的分组;
合并第i个会话和第j个会话:如果第i个会话和第j个会话所属的分组不一样,则令g[i]=j。
按照上面的步骤合并所有有关联的会话。按照会话所属的分组ID(每一个分组只有一个ID,可以由数字编号构成),把所有的网络会话分成若干组。对于同一个分组的会话,按照时间先后顺序排序,形成一个会话序列。如果会话长度超过100,则只保留其中前100个会话。
步骤3:状态提取。经过步骤2,一个个分离的会话被合并成多个会话序列。接下来就需要从每组会话中的每一个会话中提取状态,然后把一个会话序列转换成一个状态序列。
作为一种具体的实施方式,对于DNS协议,使用协议类型、DNS请求类型、DNS响应中的回答数量作为其对应的状态。例如(DNS,A,2)表示这是一个DNS会话;它的请求类型是A;在DNS响应中有2个回答。DNS请求类型可以反映发起DNS请求的目的。通常情况下,DNS请求类型都是A和AAAA,表示用户希望获得域名对应的IP地址。而DNS隧道通常会请求TXT类型。DNS响应中的回答数量可以反映目标服务器的基础设施类型。通常情况下,如果是个人使用的域名,DNS响应中只有一个回答。如果DNS响应中有多个回答,这个域名很有可能是一个机构使用或者配置了CDN。
作为一种具体的实施方式,对于其他协议,使用协议类型、发送的字节数、接收的字节数作为其对应的状态。如果应用层协议能够被识别,则使用应用层协议类型,否则使用传输层协议类型。例如(HTTP,100,500)表示这是一个HTTP会话;它发送了100个字节的数据,接收了500个字节的数据。
作为一种具体的实施方式,在序列开始之前,引入一个特殊的状态Start来表示序列的开始;在序列的末尾,引入一个特殊的状态End来表示序列的结束。令Seq表示一个状态序列,离散随机变量Xi表示第i个会话的状态,n表示会话数量,那么Seq={Start,X1,X2,...,Xn,End}。
步骤4:指纹构建。针对每一种恶意软件收集大量其产生的恶意流量用于构建恶意软件的网络通信行为指纹。收集恶意软件的恶意流量并经过上述步骤1-3处理,如图2所示,获得每一种恶意软件的多个状态序列。利用这些状态序列训练一个一阶齐次马尔可夫链作为该恶意软件的网络通信行为指纹。
一阶马尔可夫链表示当前状态只和前一个状态有关,而和前面其他的状态无关,即:
P(Xi|X{i-1},X{i-2},…,X1)=P(Xi|X{i-1})
齐次马尔可夫链表示它的状态转移概率和时间是无关的。因此,一个序列属于某个指纹的概率为:
步骤5:恶意流量检测。在检测恶意流量时,首先将收集的待检测流量根据上述步骤1-3处理,如图3所示,获得状态序列,然后计算该状态序列匹配属于某个恶意软件网络通信行为指纹的概率。如果这个概率超过一个检测阈值δ,那么它就属于这种恶意软件。如果它可以匹配多种恶意软件,则选择概率最高的恶意软件。如果它不能匹配任何恶意软件,那么它就被认为是良性的流量。
作为一种具体的实施方式,在一个马尔可夫链中,新的状态序列需要和状态转移路径完全一致才可以匹配。但是,恶意软件会随时间不断演化,其网络通信行为也会随之发生变化。当恶意软件的网络行为发生很小的变化,就可能绕过指纹的检测。因此,本发明使用近似匹配的方法来缓解恶意软件的变种问题。定义状态X=(p,bi,bo)和状态X′=(p,b′i,b′o)的相似度为:
其中,clip函数表示将第一个参数限制在[0,1]范围内;p表示协议类型;bi表示发送的字节数;bo表示接收的字节数。需要注意的是,两个状态的相似度不满足交换律,即sim(X,X′)≠sim(X′,X)。
在一个马尔可夫链中选择下一个状态的公式为:
其中,Xt是当前的状态;Xt+1是马尔可夫链中Xt的下一个状态;X′t+1是新状态序列中待匹配的状态。
最终,状态序列匹配一个恶意软件网络通信行为指纹的概率(即,马尔可夫链中状态转移路径的概率)为:
作为一种具体的实施方式,对于每一个恶意软件家族,按照下面公式计算其检测阈值:
其中,prob(Seq)表示序列Seq在某个马尔科夫链上的转移概率。上述公式的前半部分表示在训练集的序列中的最小转移概率。因为本发明在检测时采用的是近似匹配,所以在选择检测阈值时需要考虑近似匹配带来的误差。0.9为两个状态的最小可接受相似度。mean(sequence length)是训练集training set中的序列长度均值。因此,上述公式的后半部分0.9mean(sequence length)表示近似匹配误差。
步骤6:指纹动态更新。近似匹配能够解决状态序列轻微偏离指纹的问题。但随着恶意软件的不断演化,其网络行为对应的状态序列会持续偏离指纹,直至绕过指纹匹配。因此,需要使用新检测到的状态序列动态更新指纹,使得指纹能够持续有效。令Xi表示第i个状态,在网络通信行为指纹中,Xi转移到其他状态的概率即转移概率为{p1,p2,…,pn}。在新检测到的状态序列中,Xi的下一个状态是Xj。那么,转移概率则更新为其中,ur为超参数,通常取0.0001。
本发明提出的一种基于多会话和多协议的恶意流量检测系统,主要包括三个模块:数据预处理模块、指纹构建模块和恶意流量检测模块。这三个模型的功能如下:
数据预处理模块,对原始流量进行预处理。系统的整体输入为原始流量,对其中的数据包进行协议重组和会话还原,转换成流量日志。之后使用多种合并条件把一个个分散的会话合并成多个会话序列。最后从每个会话中提取特征作为状态,将会话序列转换为状态序列。
指纹构建模块,对每一种恶意软件构建其网络通信行为指纹。针对每一种恶意软件,收集其产生的网络通信流量,然后使用数据预处理模块将其转换成多个状态序列,最后训练一阶齐次马尔可夫链模型作为该恶意软件的网络通信行为指纹,并将其存入指纹库中。
恶意流量检测模块,实时检测网络中存在的恶意流量。对于实时的网络流量,利用数据预处理模块获得状态序列,然后在指纹库中寻找与之匹配的恶意软件网络通信行为指纹。如果没有指纹与之匹配,则认为这些网络流量是正常的流量;如果成功匹配,则产生告警,并使用这个状态序列动态更新该恶意软件的网络通信行为指纹,使之能够保持高准确率和低漏报率。
作为一种具体的实施方式,对于数据预处理模块,输入可以是原始流量包(pcap文件),也可以是从网卡捕获的实时网络流量。在接入实时网络流量时,系统需要将会话序列缓存一定时间,以便应对可能到来的后续会话。状态提取时,对于DNS协议,使用协议类型、DNS请求类型、DNS响应中的回答数量作为其对应的状态;对于其他协议,使用协议类型、发送的字节数、接收的字节数作为其对应的状态。
作为一种具体的实施方式,对于指纹构建模块,可选的流量收集方法有多种。例如,从互联网上搜集开源恶意流量数据集;本地搭建恶意软件的运行环境,模拟恶意软件的运行过程,并收集其产生的流量;将捕获的在野恶意软件放在沙箱中运行,并收集其产生的流量。
作为一种具体的实施方式,恶意流量检测模块,当实时流量带宽非常大时,可能会出现系统占据内存过大,设备内存不足的情况。这时候系统可以使用最近最少使用算法移除内存中缓存的状态序列,以便为即将到来的流量腾出内存空间。在动态更新指纹时,ur一般取一个很小的值,如0.0001。过大的ur会使指纹大幅度的改变,进而导致检测在漏报率增高。
下面列举一具体的实施例,利用本发明提出的技术方案进行处理:
输入原始流量包(pcap文件),首先将原始流量包解析成流量日志。然后按照多种合并规则把一个个离散的会话合并成多个会话序列。图4是会话聚合的示例。第二个HTTP会话的目的IP地址在第一个DNS会话的响应中,满足合并条件,因此它们两个需要合并。同理,第四个TLS会话的目的IP地址在第三个DNS会话的响应中,它们也需要合并。两个DNS会话拥有相同的二级域名(example.com),也满足合并条件。因此,这两个DNS会话也需要合并。最终,这四个不同协议的会话就可以合并成一个会话序列。
接下来是状态提取。对于DNS协议,使用协议类型、DNS请求类型、DNS响应中的回答数量作为其对应的状态。因此,图2中的两个DNS会话的状态都是(DNS,A,1)。对于其他协议,使用协议类型、发送的字节数、接收的字节数作为其对应的状态。因此,图2中的HTTP会话转换成(HTTP,100,500);TLS会话转换成(TLS,400,1000)。同时,在序列开头增加Start状态,在末尾增加End状态。最终,图4所展示会话序列就可以转换为{Start,(DNS,A,1),(HTTP,100,500),(DNS,A,1),(TLS,400,1000),End}。
最后是指纹构建。为了更好的理解指纹构建的流程,下面给出了一个指纹构建的例子。
这里有Upatre木马的四个状态序列:
1.{Start,(DNS,A,1),(TLS,500,1000),(TLS,300,800),End}
2.{Start,(DNS,A,1),(TLS,500,1000),(TLS,300,700),End}
3.{Start,(DNS,A,1),(TLS,500,5000),(TLS,300,800),(TLS,300,800),End}
4.{Start,(DNS,A,1),(TLS,500,5000),(TLS,300,800),(TLS,300,800),End}
根据这四个序列就可以计算出Upatre木马的不同状态之间的转移概率。例如,P(DNS,A,1)-(TLS,500,1000)=50%,P(TLS,300,800)-End=60%。
图5是Upatre木马的网络通信行为指纹示例。如图5所示,几乎所有的Upatre都需要先发送一个DNS请求。这表明Upatre使用域名和命令与控制服务器通信。在解析完域名之后,它建立多个TLS会话。(TLS,500,1000)和(TLS,500,5000)之间的区别是证书不一样。在(TLS,500,1000)中,服务器向客户端发送一个自签名的TLS证书,其证书链中只有一个证书。但是,在(TLS,500,5000)中,服务器向客户端发送一个合法的TLS证书,其证书链中有三个证书。RFC 5077规定,当两个TLS会话间隔时间比较短时,后面的会话可以通过SessionID来简化握手流程,直接恢复会话。Upatre后面的会话就是直接恢复了前面的TLS会话,因此接收的字节数就比较少。
恶意流量检测时,输入实时的网络流量,同样按照数据预处理的流程产生状态序列,然后在指纹库中寻找与之匹配的恶意软件网络行为指纹。如果匹配成功,则产生告警同时更新指纹库中对应的指纹。
以上所述仅是本发明的一种优选方案,应当指出,对于本技术领域的普通人员来说,在不脱离本发明的原理前提下,还可以做出若干修饰和润色,在不脱离本发明的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书的实施例和附图所公开的内容,本发明的保护范围以权利要求书界定的范围为准。
Claims (10)
1.一种基于多会话和多协议的恶意流量检测方法,其特征在于,包括以下步骤:
1)解析原始流量,生成流量日志;
2)将原始流量中相互之间有关联的会话合并一起并进行分组,每组会话按照时间先后顺序构成一个会话序列;
3)提取每组会话中每个会话的状态,将每个会话序列转换成状态序列;
4)收集恶意软件产生的恶意流量,按照上述步骤1)至3)进行处理,获得恶意软件的状态序列,利用该状态序列训练一个一阶齐次马尔可夫链并作为恶意软件的网络通信行为指纹;
5)检测恶意流量时,对获取的待检测流量按照上述步骤1)至3)进行处理,获得该待检测流量的状态序列,然后计算该待检测流量的状态序列匹配于不同恶意软件的网络通信行为指纹的概率,根据概率与预设的检测阈值的大小关系判断是否为恶意流量以及是哪个恶意软件的恶意流量。
2.如权利要求1所述的方法,其特征在于,所述流量日志包括以下字段:源IP地址、目的IP地址、传输层协议类型、传输层发送载荷字节大小和传输层接收载荷字节大小。
3.如权利要求1所述的方法,其特征在于,会话之间是否存在关联的判断条件包括:
两个会话的时间间隔小于两分钟,并且两者拥有相同的源IP地址和目的IP地址;或
两个DNS会话的时间间隔小于两分钟,并且两者所请求的域名拥有相同的二级域名;或
两个会话的时间间隔小于两分钟,并且其中一个会话是DNS会话,另一个会话的源IP地址或者目的IP地址在该DNS会话的响应中。
4.如权利要求1所述的方法,其特征在于,使用启发式的并查集算法将有关联的会话合并一起。
5.如权利要求1所述的方法,其特征在于,
如果应用层是标准的网络协议,则所述流量日志还包括应用层协议字段;如果应用层协议是DNS协议,则所述流量日志还包括请求域名、请求类型、响应数量三个字段;和/或
提取会话的状态时,对于DNS协议,使用协议类型、DNS请求类型和DNS响应中的回答数量作为会话的状态;对于其他协议,使用协议类型、发送的字节数和接收的字节数作为会话的状态。
6.如权利要求1所述的方法,其特征在于,每个状态序列除了包括会话状态外,还包括一开始状态和一结束状态。
7.如权利要求1所述的方法,其特征在于,在检测恶意流量时,根据概率与预设的检测阈值的大小关系判断的步骤包括:
如果概率超过检测阈值,则判断为恶意流量,否则判断为非恶意流量;
如果只有一个概率超过检测阈值,则判断恶意流量来自于该概率对应的恶意软件;
如果有多个概率超过检测阈值,则判断恶意流量来自于最高概率对应的恶意软件。
8.如权利要求1所述的方法,其特征在于,在计算待检测流量的状态序列匹配于不同恶意软件的网络通信行为指纹的概率时,引入状态转移前后的相似度,根据该相似度计算所述概率。
9.如权利要求1所述的方法,其特征在于,对网络通信行为指纹进行动态更新,由原状态序列更新为新状态序列,如果原状态序列中的每个状态的转移概率为p,则新状态序列中的每个状态的转移概率为p/(1+ur),其中ur为超参数。
10.一种基于多会话和多协议的恶意流量检测系统,其特征在于,包括:
数据预处理模块,用于解析原始流量,生成流量日志;将原始流量中相互之间有关联的会话合并一起并进行分组,每组会话按照时间先后顺序构成一个会话序列;提取每组会话中每个会话的状态,将每个会话序列转换成状态序列;
指纹构建模块,用于收集恶意软件产生的恶意流量,并输入到数据预处理模块中进行处理,获得恶意软件的状态序列,利用该状态序列训练一个一阶齐次马尔可夫链并作为恶意软件的网络通信行为指纹;
恶意流量检测模块,用于检测恶意流量,对获取的待检测流量输入到数据预处理模块中进行处理,获得该待检测流量的状态序列,然后计算该待检测流量的状态序列匹配于不同恶意软件的网络通信行为指纹的概率,根据概率与预设的检测阈值的大小关系判断是否为恶意流量以及是哪个恶意软件的恶意流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310253985.8A CN116318975A (zh) | 2023-03-16 | 2023-03-16 | 一种基于多会话和多协议的恶意流量检测方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310253985.8A CN116318975A (zh) | 2023-03-16 | 2023-03-16 | 一种基于多会话和多协议的恶意流量检测方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318975A true CN116318975A (zh) | 2023-06-23 |
Family
ID=86777475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310253985.8A Pending CN116318975A (zh) | 2023-03-16 | 2023-03-16 | 一种基于多会话和多协议的恶意流量检测方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318975A (zh) |
-
2023
- 2023-03-16 CN CN202310253985.8A patent/CN116318975A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Am I eclipsed? A smart detector of eclipse attacks for Ethereum | |
CN110113328B (zh) | 一种基于区块链的软件定义机会网络DDoS防御方法 | |
CN107665191B (zh) | 一种基于扩展前缀树的私有协议报文格式推断方法 | |
CN108494746B (zh) | 一种网络端口流量异常检测方法及系统 | |
Park et al. | Towards automated application signature generation for traffic identification | |
CN111565205B (zh) | 网络攻击识别方法、装置、计算机设备和存储介质 | |
CN110266647B (zh) | 一种命令和控制通信检测方法及系统 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
Haddadi et al. | Benchmarking the effect of flow exporters and protocol filters on botnet traffic classification | |
CN101741862B (zh) | 基于数据包序列特征的irc僵尸网络检测系统和检测方法 | |
WO2022083417A1 (zh) | 一种数据包处理方法、装置、电子设备、计算机可读存储介质以及计算机程序产品 | |
CN105681250A (zh) | 一种僵尸网络分布式实时检测方法和系统 | |
CN110868404B (zh) | 一种基于tcp/ip指纹的工控设备自动识别方法 | |
KR100960117B1 (ko) | 시그니처 패턴 매칭방법과 그 시스템 및 시그니처 패턴이기록된 기록매체 | |
US20170142136A1 (en) | Method and apparatus for detecting network attacks and generating attack signatures based on signature merging | |
CN110768946A (zh) | 一种基于布隆过滤器的工控网络入侵检测系统及方法 | |
CN110958233A (zh) | 一种基于深度学习的加密型恶意流量检测系统和方法 | |
CN112507336A (zh) | 基于代码特征和流量行为的服务端恶意程序检测方法 | |
Fei et al. | The abnormal detection for network traffic of power iot based on device portrait | |
Xu et al. | DDoS detection using a cloud-edge collaboration method based on entropy-measuring SOM and KD-tree in SDN | |
CN111182002A (zh) | 基于http首个问答包聚类分析的僵尸网络检测装置 | |
CN112788065B (zh) | 一种基于蜜罐和沙箱的物联网僵尸网络追踪方法及装置 | |
CN116318975A (zh) | 一种基于多会话和多协议的恶意流量检测方法与系统 | |
Siboni et al. | Botnet identification via universal anomaly detection | |
CN113688385B (zh) | 轻量级分布式入侵检测方法 |
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 |