本申请各实施例属于流量检测,具体涉及一种恶意加密流量检测方法以及装置。
背景技术:
1、随着信息技术的发展,网络已经逐渐成为人们生活不可或缺的一部分。恶意软件如冰蝎behinder,cobaltstrike等可以通过自定义加解密函数构造出经过恶意加密的流量,诸如白流量伪装,实现防止被检测、拦截的效果,对网络安全造成了巨大威胁。
2、目前,针对恶意加密流量,主要有两种解决思路:
3、一种是特征工程,针对加密算法的字符特征、统计特征进行标记,以识别恶意加密流量。其缺点是只能覆盖少数已知的一些有明显特征的或者有漏洞的自定义加密函数,对其他大多数情况无效,且需要长时间投入精力进行检测覆盖,检测成本高。
4、另一种是机器学习,利用加密流量的侧信道信息,如通信时间,通信端口,加密套件等进行机器学习模型建模,通过机器学习检测恶意加密流量。其缺点是解释性差,误报率也高。
技术实现思路
1、为了解决现有技术存在的检测成本高和检测误报率高的技术问题,本发明提供了一种恶意加密流量检测方法以及装置。
2、第一方面,本发明提供了一种恶意加密流量检测方法,包括:
3、采集网络流量;
4、从所述网络流量中选取第一字节流和第二字节流;
5、基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域;
6、判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致;
7、在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线;
8、判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
9、在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
10、第二方面,本发明提供了一种恶意加密流量检测装置,包括:
11、采集模块,用于采集网络流量;
12、选取模块,用于从所述网络流量中选取第一字节流和第二字节流;
13、划分模块,用于基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域;
14、第一判断模块,用于判断所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式是否一致;
15、构建模块,用于在所述第一字节流和所述第二字节流对于所述加密区域与所述非加密区域的划分方式一致的情况下,计算所述第一字节流和所述第二字节流的滚动信息熵,构建所述第一字节流和所述第二字节流的滚动信息熵曲线;
16、第二判断模块,用于判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似;
17、确定模块,用于在所述第一字节流和所述第二字节流的滚动信息熵曲线相似的情况下,确定所述网络流量为恶意加密流量。
18、与现有技术相比,本发明至少具有以下有益效果:
19、在本发明中,从网络流量中选取第一字节流和第二字节流,利用相同加密函数所产生密文具有相似性的特点,首先判断第一字节流和第二字节流对于加密区域与非加密区域的划分方式是否一致,在加密区域与非加密区域的划分方式一致的情况下,进一步地判断第一字节流和第二字节流的滚动信息熵曲线是否相似,在第一字节流和第二字节流的滚动信息熵曲线相似的情况下,确定相应的网络流量为恶意加密流量。无需对加密流量进行解密即可实现对于恶意加密流量的检测,相较于现有的算法解密的方案,检测成本低、检测范围广、检测准确性高。
1.一种恶意加密流量检测方法,其特征在于,包括:
2.根据权利要求1所述的恶意加密流量检测方法,其特征在于,在所述采集网络流量之后,还包括:
3.根据权利要求1所述的恶意加密流量检测方法,其特征在于,在所述采集网络流量之后,还包括:
4.根据权利要求1所述的恶意加密流量检测方法,其特征在于,基于字节的连续性,划分出所述第一字节流和所述第二字节流中的各自的加密区域与非加密区域,包括:
5.根据权利要求1所述的恶意加密流量检测方法,其特征在于,所述计算所述第一字节流和所述第二字节流的滚动信息熵,包括:
6.根据权利要求5所述的恶意加密流量检测方法,其特征在于,所述根据所述字符分布统计表,计算当前区块的信息熵,包括:
7.根据权利要求1所述的恶意加密流量检测方法,其特征在于,所述构建所述第一字节流和所述第二字节流的滚动信息熵曲线,包括:
8.根据权利要求1所述的恶意加密流量检测方法,其特征在于,所述判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似,包括:
9.根据权利要求8所述的恶意加密流量检测方法,其特征在于,在能够获取所述第一字节流和所述第二字节流的完整内容的情况下,通过曲线相似算法判断所述第一字节流和所述第二字节流的滚动信息熵曲线之间是否相似,包括:
10.一种恶意加密流量检测装置,其特征在于,包括: