CN116112289A - 一种恶意加密流量检测方法以及装置 - Google Patents
一种恶意加密流量检测方法以及装置 Download PDFInfo
- Publication number
- CN116112289A CN116112289A CN202310375035.2A CN202310375035A CN116112289A CN 116112289 A CN116112289 A CN 116112289A CN 202310375035 A CN202310375035 A CN 202310375035A CN 116112289 A CN116112289 A CN 116112289A
- Authority
- CN
- China
- Prior art keywords
- byte stream
- information entropy
- character
- traffic
- byte
- 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.)
- Granted
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
-
- 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
- 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
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种恶意加密流量检测方法以及装置,属于流量检测技术领域,方法包括:采集网络流量;从网络流量中选取第一字节流和第二字节流;划分出第一字节流和第二字节流中的各自的加密区域与非加密区域;判断第一字节流和第二字节流对于加密区域与非加密区域的划分方式是否一致;在加密区域与非加密区域的划分方式一致的情况下,计算第一字节流和第二字节流的滚动信息熵,构建滚动信息熵曲线;判断第一字节流和第二字节流的滚动信息熵曲线之间是否相似;在滚动信息熵曲线相似的情况下,确定网络流量为恶意加密流量。本发明无需对加密流量进行解密即可实现对于恶意加密流量的检测,检测成本低、检测范围广、检测准确性高。
Description
技术领域
本申请各实施例属于流量检测技术领域,具体涉及一种恶意加密流量检测方法以及装置。
背景技术
随着信息技术的发展,网络已经逐渐成为人们生活不可或缺的一部分。恶意软件如冰蝎Behinder,CobaltStrike等可以通过自定义加解密函数构造出经过恶意加密的流量,诸如白流量伪装,实现防止被检测、拦截的效果,对网络安全造成了巨大威胁。
目前,针对恶意加密流量,主要有两种解决思路:
一种是特征工程,针对加密算法的字符特征、统计特征进行标记,以识别恶意加密流量。其缺点是只能覆盖少数已知的一些有明显特征的或者有漏洞的自定义加密函数,对其他大多数情况无效,且需要长时间投入精力进行检测覆盖,检测成本高。
另一种是机器学习,利用加密流量的侧信道信息,如通信时间,通信端口,加密套件等进行机器学习模型建模,通过机器学习检测恶意加密流量。其缺点是解释性差,误报率也高。
发明内容
为了解决现有技术存在的检测成本高和检测误报率高的技术问题,本发明提供了一种恶意加密流量检测方法以及装置。
第一方面,本发明提供了一种恶意加密流量检测方法,包括:
采集网络流量;
从所述网络流量中选取第一字节流和第二字节流;
基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域;
判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致;
在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线;
判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
第二方面,本发明提供了一种恶意加密流量检测装置,包括:
采集模块,用于采集网络流量;
选取模块,用于从所述网络流量中选取第一字节流和第二字节流;
划分模块,用于基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域;
第一判断模块,用于判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致;
构建模块,用于在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线;
第二判断模块,用于判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
确定模块,用于在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
与现有技术相比,本发明至少具有以下有益效果:
在本发明中,从网络流量中选取第一字节流和第二字节流,利用相同加密函数所产生密文具有相似性的特点,首先判断第一字节流和第二字节流对于加密区域与非加密区域的划分方式是否一致,在加密区域与非加密区域的划分方式一致的情况下,进一步地判断第一字节流和第二字节流的滚动信息熵曲线是否相似,在第一字节流和第二字节流的滚动信息熵曲线相似的情况下,确定相应的网络流量为恶意加密流量。无需对加密流量进行解密即可实现对于恶意加密流量的检测,相较于现有的算法解密的方案,检测成本低、检测范围广、检测准确性高。
附图说明
图1是本发明提供的一种恶意加密流量检测方法的流程示意图;
图2是本发明提供的一种恶意加密流量检测装置的结构示意图;
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都应当属于本申请保护的范围。
第一方面,参照图1,示出了本发明实施例提供的一种恶意加密流量检测方法的流程示意图。
本发明提供了一种恶意加密流量检测方法,包括:
S101:采集网络流量。
在一种可能的实施方式中,在S101之后,恶意加密流量检测方法还包括:
S101A:对所述网络流量按照协议类型解析为结构化数据。
举例来说,对于HTTP协议类的网络流量,解析出method、url、header、cookie、body等信息。对于TCP协议类的网络流量,解析出src_ip、src_port、dest_ip、dest_port、payload等信息。
在本发明中,将原本混乱无序的流量数据转化为结构化数据,以便于存储、管理和后续的分析,可以提升恶意加密流量检测的效率。
在一种可能的实施方式中,在S101之后,恶意加密流量检测方法还包括:
S101A:根据所述网络流量的组件流量特征对所述网络流量进行筛选。
其中,所述组件流量特征为所述网络流量所使用的网络通信库中的网络通信组件的特征。组件流量特征可以作为网络流量的初筛条件,使得检测范围缩小,提高检测逻辑效率。
进一步地,组件流量特征可以通过对相关的网络通信组件进行代码审计得出,复用性高、通用性强。
举例来说,java语言中的net库中的HttpsUrlConnection函数,由其发起的HTTP请求中会携带Connection、Host等HTTP Header信息。
S102:从所述网络流量中选取第一字节流和第二字节流。
其中,第一字节流可以是请求流量,第二字节流可以是接收流量。恶意加密流量往往采用相同的加密函数,而利用相同加密函数所产生密文具有相似性。因此,可以通过分析第一字节流和第二字节流相似性来检测恶意加密流量。
S103:基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域。
在一种可能的实施方式中,S103包括:将所述第一字节流和所述第二字节流中连续字符数超过预设数量的区域划分为所述加密区域,剩余区域划分为所述非加密区域。
其中,本领域技术人员可以根据实际需要设置预设数量的具体大小,本发明对此不做限定。
举例来说,对于Base64编码,可以认为超过一定数量Base64编码字符的连续区域为加密区域,而未达到上述阈值的区域划分为非加密区域。对于未经编码的AES/RSA加密,此时可认为超过一定数量的可打印字符的连续区域为非加密区域,而其余未达到阈值的区域为加密区域。其中,可打印字符范围一般认为是流量中明文流量的字符集合。
S104:判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致。
具体地,可以通过比较加密区域位置以及长度,确定第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致。
需要说明的是,通过判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致,可以初步的确定相关流量是否为恶意加密流量,如果加密区域与所述非加密区域的划分方式不一致,可以排出掉相关流量是恶意加密流量的可能性,此时可以结束判断,以节省后续分析的时间,提升整个算法的运行效率。如果加密区域与所述非加密区域的划分方式一致,可以初步确定相关流量是恶意加密流量,但还有待于进一步地确认。
S105:在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线。
其中,如果加密区域与所述非加密区域的划分方式一致,可以初步确定相关流量是恶意加密流量,但还有待于进一步地确认,在本发明中,采用对第一字节流和所述第二字节流的滚动信息熵曲分析的方式进一步地确定第一字节流和所述第二字节流的滚动信息熵曲。
其中,信息熵是一种用于描述信源不确定性的度量。在信息论中,信息熵通常用来表示一个随机事件中包含的信息量大小。
其中,滚动信息熵是一种用于实时计算数据流中信息熵的方法,它可以动态地对数据流的变化进行实时监控和分析。
其中,滚动信息熵曲线是对滚动信息熵随时间的变化趋势进行可视化的结果,滚动信息熵曲线在实时监控和分析数据流时起到了重要的作用。
在一种可能的实施方式中,S105具体包括子步骤S1051至S1054:
S1051:对所述第一字节流和所述第二字节流中滚动窗口所指示的当前区块的各个字符出现的次数进行统计,并记录到字符分布统计表中;
S1052:根据所述字符分布统计表,计算当前区块的信息熵;
在一种可能的实施方式中,S1052具体包括:
计算当前区块中各个字符出现的概率
P i :
,
其中,所述
P i 表示第
i个字符的出现的概率,
I表示所述字符分类统计表中字符种类的总个数,
N i 表示第
i个字符出现的次数,
S表示当前区块中字符的总个数;
计算当前区块中各个字符的信息熵
H i :
;
对当前区块中各个字符的信息熵
H i 求和,作为当前区块的信息熵:
。
S1053:所述滚动窗口向后移动一个字符,去掉旧区块的第一字字符,新增新区块的最后一个字符,对当前区块的所述字符分布统计表进行更新,获取旧区块的第一字字符和新区块的最后一个字符的新熵值;
S1054:在旧区块的信息熵的基础上,通过减去旧区块的第一字字符和新区块的最后一个字符的旧熵值,加上旧区块的第一字字符和新区块的最后一个字符的新熵值,得到新区块的信息熵;
S1055:统计各个新区块的信息熵得到滚动信息熵。
需要说明的是,在旧区块的信息熵的基础上,通过减去旧区块的第一字字符和新区块的最后一个字符的旧熵值,加上旧区块的第一字字符和新区块的最后一个字符的新熵值,得到新区块的信息熵,其计算的复杂度低,整个算法拥有常数级时间复杂度,可以提升恶意加密流量检测的效率,提升恶意加密流量检测方法的适应性,减少检测成本,便于技术的推广与应用。
在一种可能的实施方式中,S105还包括子步骤:
S1055:以字符的偏移量为
x轴,以字符的信息熵为
y轴,构建所述第一字节流和所述第二字节流的滚动信息熵曲线。
其中,字符偏移量可以理解为字符的编号,举例来说,对于ABCDEFG,字符A的偏移量为0,字符B的偏移量为1,字符C的偏移量为2,依次类推。
其中,滚动信息熵曲线可以展现滚动信息熵随时间的变化趋势,可以反应字节流在各个偏移处的混乱程度。
S106:判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似。
在一种可能的实施方式中,由于加密内容的长度具有不确定性且设备可获取的实际的字节流的内容长度有上限,可根据实际选择曲线相似判断算法。因此,S106具体包括子步骤S1061和S1062:
S1061:在无法获取所述第一字节流和所述第二字节流的完整内容的情况下,计算所述第一字节流和所述第二字节流中各个字符的信息熵差值,统计所述信息熵差值小于第一预设值的字符个数,通过所述信息熵差值小于第一预设值的字符个数判断所述第一字节流和所述第二字节流的滚动信息熵曲线相似。
其中,本领域技术人员可以根据实际需要设置第一预设值的具体大小,本发明对此不做限定。
具体地,在所述信息熵差值小于第一预设值的字符个数大于预设个数的情况下,确定所述第一字节流和所述第二字节流的滚动信息熵曲线相似。反之,在所述信息熵差值小于第一预设值的字符个数小于或者等于预设个数的情况下,确定所述第一字节流和所述第二字节流的滚动信息熵曲线相似。
其中,本领域技术人员可以根据实际需要设置预设个数的具体大小,本发明对此不做限定。
需要说明的是,某个字符的信息熵差值小于第一预设值时,意味着这个字符在所述第一字节流和所述第二字节流的滚动信息熵曲线中的分布较为相似。进一步地,所述信息熵差值小于第一预设值的字符个数大于预设个数的时,意味着大多数字符的信息熵都是近似的,此时确认所述第一字节流和所述第二字节流的滚动信息熵曲线相似。
S1062:在可以获取所述第一字节流和所述第二字节流的完整内容的情况下,通过曲线相似算法判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似。
其中,曲线相似算法可以采用Frechet、Hausdorff等曲线相似算法。
在一种可能的实施方式中,S1062具体包括:
计算所述第一字节流和所述第二字节流的滚动信息熵曲线之间的距离矩阵;
计算所述第一字节流的滚动信息熵曲线中任意一点
A i 到所述第二字节流的滚动信息熵曲线中任意一点的最短距离,记为
d i ;
从
d i 中挑选出最大值,作为所述第一字节流和所述第二字节流的滚动信息熵曲线之间的Hausdorff距离;
在所述Hausdorff距离小于第二预设值的情况下,确定所述第一字节流和所述第二字节流的滚动信息熵曲线相似。
其中,本领域技术人员可以根据实际需要设置第二预设值的具体大小,本发明对此不做限定。
需要说明的是,采用Hausdorff曲线相似算法确定所述第一字节流和所述第二字节流的滚动信息熵曲线相似,具有鲁棒性好、适应性强和计算简单的优点。Hausdorff曲线相似算法可以处理不同长度和形状的滚动信息熵曲线。同时,Hausdorff距离的计算比较简单,不需要复杂的数学方法和大量的计算。这样就可以快速地对不同滚动信息熵曲线之间的相似程度进行判断,提高了算法的实时性和效率。
S107:在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
需要说明的是,经过加密区域与所述非加密区域的划分方式的一次确认,之后在经过滚动信息熵曲线相似性二次确认,可以大幅度提升恶意加密流量检测的准确性。
与现有技术相比,本发明至少具有以下有益效果:
在本发明中,从网络流量中选取第一字节流和第二字节流,利用相同加密函数所产生密文具有相似性的特点,首先判断第一字节流和第二字节流对于加密区域与非加密区域的划分方式是否一致,在加密区域与非加密区域的划分方式一致的情况下,进一步地判断第一字节流和第二字节流的滚动信息熵曲线是否相似,在第一字节流和第二字节流的滚动信息熵曲线相似的情况下,确定相应的网络流量为恶意加密流量。无需对加密流量进行解密即可实现对于恶意加密流量的检测,相较于现有的算法解密的方案,检测成本低、检测范围广、检测准确性高。
第二方面,参照图2,示出了本发明实施例提供的一种恶意加密流量检测装置的结构示意图。
本发明提供了一种恶意加密流量检测装置20,包括:
采集模块201,用于采集网络流量;
选取模块202,用于从所述网络流量中选取第一字节流和第二字节流;
划分模块203,用于基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域;
第一判断模块204,用于判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致;
构建模块205,用于在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线;
第二判断模块206,用于判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
确定模块207,用于在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
在一种可能的实施方式中,恶意加密流量检测装置20还包括:
解析模块208,用于对所述网络流量按照协议类型解析为结构化数据。
在一种可能的实施方式中,恶意加密流量检测装置20还包括:
筛选模块209,用于根据所述网络流量的组件流量特征对所述网络流量进行筛选,所述组件流量特征为所述网络流量所使用的网络通信库中的网络通信组件的特征。
在一种可能的实施方式中,划分模块203用于:将所述第一字节流和所述第二字节流中连续字符数超过预设数量的区域划分为所述加密区域,剩余区域划分为所述非加密区域。
在一种可能的实施方式中,构建模块205用于:
对所述第一字节流和所述第二字节流中滚动窗口所指示的当前区块的各个字符出现的次数进行统计,并记录到字符分布统计表中;
根据所述字符分布统计表,计算当前区块的信息熵;
所述滚动窗口向后移动一个字符,去掉旧区块的第一字字符,新增新区块的最后一个字符,对当前区块的所述字符分布统计表进行更新,获取旧区块的第一字字符和新区块的最后一个字符的新熵值;
在旧区块的信息熵的基础上,通过减去旧区块的第一字字符和新区块的最后一个字符的旧熵值,加上旧区块的第一字字符和新区块的最后一个字符的新熵值,得到新区块的信息熵;
统计各个新区块的信息熵得到滚动信息熵。
在一种可能的实施方式中,构建模块205用于:
计算当前区块中各个字符出现的概率
P i :
,
其中,所述
P i 表示第
i个字符的出现的概率,
I表示所述字符分类统计表中字符种类的总个数,
N i 表示第
i个字符出现的次数,
S表示当前区块中字符的总个数;
计算当前区块中各个字符的信息熵
H i :
;
对当前区块中各个字符的信息熵
H i 求和,作为当前区块的信息熵:
。
在一种可能的实施方式中,构建模块205用于:以字符的偏移量为
x轴,字符的信息熵为
y轴,构建所述第一字节流和所述第二字节流的滚动信息熵曲线。
在一种可能的实施方式中,第二判断模块206,用于:
在无法获取所述第一字节流和所述第二字节流的完整内容的情况下,计算所述第一字节流和所述第二字节流中各个字符的信息熵差值,统计所述信息熵差值小于第一预设值的字符个数,通过所述信息熵差值小于第一预设值的字符个数判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
在可以获取所述第一字节流和所述第二字节流的完整内容的情况下,通过曲线相似算法判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似。
在一种可能的实施方式中,第二判断模块206,用于:
计算所述第一字节流的滚动信息熵曲线中任意一点
A i 到所述第二字节流的滚动信息熵曲线中任意一点的最短距离,记为
d i ;
从
d i 中挑选出最大值,作为所述第一字节流和所述第二字节流的滚动信息熵曲线之间的Hausdorff距离;
在所述Hausdorff距离小于第二预设值的情况下,确定所述第一字节流和所述第二字节流的滚动信息熵曲线相似。
本发明提供的恶意加密流量检测装置20能够实现上述方法实施例中实现的各个过程,为避免重复,这里不再赘述。
本发明提供的虚拟装置可以是装置,也可以是终端中的部件、集成电路、或芯片。
与现有技术相比,本发明至少具有以下有益效果:
在本发明中,从网络流量中选取第一字节流和第二字节流,利用相同加密函数所产生密文具有相似性的特点,首先判断第一字节流和第二字节流对于加密区域与非加密区域的划分方式是否一致,在加密区域与非加密区域的划分方式一致的情况下,进一步地判断第一字节流和第二字节流的滚动信息熵曲线是否相似,在第一字节流和第二字节流的滚动信息熵曲线相似的情况下,确定相应的网络流量为恶意加密流量。无需对加密流量进行解密即可实现对于恶意加密流量的检测,相较于现有的算法解密的方案,检测成本低、检测范围广、检测准确性高。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种恶意加密流量检测方法,其特征在于,包括:
采集网络流量;
从所述网络流量中选取第一字节流和第二字节流;
划分出所述第一字节流和所述第二字节流中的加密区域与非加密区域;
判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致;
在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线;
判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
2.根据权利要求1所述的恶意加密流量检测方法,其特征在于,在所述采集网络流量之后,还包括:
对所述网络流量按照协议类型解析为结构化数据。
3.根据权利要求1所述的恶意加密流量检测方法,其特征在于,在所述采集网络流量之后,还包括:
根据所述网络流量的组件流量特征对所述网络流量进行筛选,所述组件流量特征为所述网络流量所使用的网络通信库中的网络通信组件的特征。
4.根据权利要求1所述的恶意加密流量检测方法,其特征在于,基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域,包括:
将所述第一字节流和所述第二字节流中连续字符数超过预设数量的区域划分为所述加密区域,剩余区域划分为所述非加密区域。
5.根据权利要求1所述的恶意加密流量检测方法,其特征在于,所述计算所述第一字节流和所述第二字节流的滚动信息熵,包括:
对所述第一字节流和所述第二字节流中滚动窗口所指示的当前区块的各个字符出现的次数进行统计,并记录到字符分布统计表中;
根据所述字符分布统计表,计算所述当前区块的信息熵;
所述滚动窗口向后移动一个字符,去掉旧区块的第一字字符,新增新区块的最后一个字符,对当前区块的所述字符分布统计表进行更新,获取旧区块的第一字字符和新区块的最后一个字符的新熵值;
在旧区块的信息熵的基础上,通过减去旧区块的第一字字符和新区块的最后一个字符的旧熵值,加上旧区块的第一字字符和新区块的最后一个字符的新熵值,得到新区块的信息熵;
统计各个新区块的信息熵得到滚动信息熵。
6.根据权利要求5所述的恶意加密流量检测方法,其特征在于,所述根据所述字符分布统计表,计算当前区块的信息熵,包括:
计算当前区块中各个字符出现的概率P i :
;
其中,所述P i 表示第i个字符的出现的概率,I表示所述字符分类统计表中字符种类的总个数,N i 表示第i个字符出现的次数,S表示当前区块中字符的总个数;
计算当前区块中各个字符的信息熵H i :
;
对当前区块中各个字符的信息熵H i 求和,作为当前区块的信息熵:
。
7.根据权利要求1所述的恶意加密流量检测方法,其特征在于,所述构建所述第一字节流和所述第二字节流的滚动信息熵曲线,包括:
以字符的偏移量为x轴,以字符的信息熵为y轴,构建所述第一字节流和所述第二字节流的滚动信息熵曲线。
8.根据权利要求1所述的恶意加密流量检测方法,其特征在于,所述判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似,包括:
在无法获取所述第一字节流和所述第二字节流的完整内容的情况下,计算所述第一字节流和所述第二字节流中各个字符的信息熵差值,统计所述信息熵差值小于第一预设值的字符个数,通过所述信息熵差值小于第一预设值的字符个数判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
在可以获取所述第一字节流和所述第二字节流的完整内容的情况下,通过曲线相似算法判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似。
9.根据权利要求8所述的恶意加密流量检测方法,其特征在于,在能够获取所述第一字节流和所述第二字节流的完整内容的情况下,通过曲线相似算法判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似,包括:
计算所述第一字节流的滚动信息熵曲线中任意一点A i 到所述第二字节流的滚动信息熵曲线中任意一点的最短距离,记为d i ;
从d i 中挑选出最大值,作为所述第一字节流和所述第二字节流的滚动信息熵曲线之间的Hausdorff距离;
在所述Hausdorff距离小于第二预设值的情况下,确定所述第一字节流和所述第二字节流的滚动信息熵曲线相似。
10.一种恶意加密流量检测装置,其特征在于,包括:
采集模块,用于采集网络流量;
选取模块,用于从所述网络流量中选取第一字节流和第二字节流;
划分模块,用于基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域;
第一判断模块,用于判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致;
构建模块,用于在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线;
第二判断模块,用于判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
确定模块,用于在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375035.2A CN116112289B (zh) | 2023-04-10 | 2023-04-10 | 一种恶意加密流量检测方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375035.2A CN116112289B (zh) | 2023-04-10 | 2023-04-10 | 一种恶意加密流量检测方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116112289A true CN116112289A (zh) | 2023-05-12 |
CN116112289B CN116112289B (zh) | 2023-06-16 |
Family
ID=86267601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310375035.2A Active CN116112289B (zh) | 2023-04-10 | 2023-04-10 | 一种恶意加密流量检测方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116112289B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150058622A1 (en) * | 2013-08-20 | 2015-02-26 | Hewlett-Packard Development Company, L.P. | Data stream traffic control |
US20160366155A1 (en) * | 2014-02-28 | 2016-12-15 | British Telecommunications Public Limited Company | Malicious encrypted network traffic identification |
CN111010409A (zh) * | 2020-01-07 | 2020-04-14 | 南京林业大学 | 加密攻击网络流量检测方法 |
CN114866485A (zh) * | 2022-03-11 | 2022-08-05 | 南京华飞数据技术有限公司 | 一种基于聚合熵的网络流量分类方法及分类系统 |
-
2023
- 2023-04-10 CN CN202310375035.2A patent/CN116112289B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150058622A1 (en) * | 2013-08-20 | 2015-02-26 | Hewlett-Packard Development Company, L.P. | Data stream traffic control |
US20160366155A1 (en) * | 2014-02-28 | 2016-12-15 | British Telecommunications Public Limited Company | Malicious encrypted network traffic identification |
CN111010409A (zh) * | 2020-01-07 | 2020-04-14 | 南京林业大学 | 加密攻击网络流量检测方法 |
CN114866485A (zh) * | 2022-03-11 | 2022-08-05 | 南京华飞数据技术有限公司 | 一种基于聚合熵的网络流量分类方法及分类系统 |
Non-Patent Citations (1)
Title |
---|
潘吴斌;程光;郭晓军;黄顺翔;: "网络加密流量识别研究综述及展望", 通信学报, no. 09 * |
Also Published As
Publication number | Publication date |
---|---|
CN116112289B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833360B (zh) | 一种基于机器学习的恶意加密流量识别方法 | |
CN110519290B (zh) | 异常流量检测方法、装置及电子设备 | |
US8844016B2 (en) | System and method for monitoring unauthorized transport of digital content | |
JP2006279930A (ja) | 不正アクセス検出方法及び装置、並びに不正アクセス遮断方法及び装置 | |
CN112738039A (zh) | 一种基于流量行为的恶意加密流量检测方法、系统及设备 | |
CN111935172A (zh) | 基于网络拓扑的网络异常行为检测方法、计算机装置及计算机可读存储介质 | |
JP2004533677A5 (zh) | ||
CN105554016A (zh) | 网络攻击的处理方法和装置 | |
CN112769633B (zh) | 一种代理流量检测方法、装置、电子设备及可读存储介质 | |
CN110611640A (zh) | 一种基于随机森林的dns协议隐蔽通道检测方法 | |
CN113542195B (zh) | 一种恶意加密流量的检测方法、系统和设备 | |
CN104852914B (zh) | 一种基于数据包间隔的水印跳变通信方法 | |
CN104660552A (zh) | 一种wlan网络入侵检测系统 | |
CN116112289B (zh) | 一种恶意加密流量检测方法以及装置 | |
CN113839925A (zh) | 基于数据挖掘技术的IPv6网络入侵检测方法及系统 | |
Pashamokhtari et al. | Picp-mud: Profiling information content of payloads in mud flows for iot devices | |
CN116074051A (zh) | 一种设备指纹生成方法及设备 | |
CN114244779B (zh) | 一种流量的识别方法及装置、存储介质 | |
CN111371727A (zh) | 一种针对ntp协议隐蔽通信的检测方法 | |
CN112104666A (zh) | 一种基于视频编码的异常网络流量检测系统及方法 | |
CN115426133B (zh) | 基于异构特征簇的深度学习网络异常检测模型构建方法、检测方法和系统 | |
CN111444503A (zh) | 一种检测勒索病毒的方法、装置、系统和介质 | |
Yang et al. | A probability-model-based approach to detect covert timing channel | |
Wang et al. | MTBD: HTTPS Tunnel Detection Based on Multi-dimension Traffic Behaviors Decision | |
CN112565179B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |