本发明涉及网络安全,尤其涉及一种流量检测方法、装置、设备及存储介质。
背景技术:
1、随着网络发展和5g时代到来,网络流量在近年来呈现几何增长的趋势。然而互联网带来便利性的同时也带来了安全更多安全隐患,为了有效防护网络攻击和保护数据隐私,流量加密成为广泛使用的一种技术手段,然而,加密并不意味着绝对安全,恶意软件亦利用加密流量来传输恶意信息。
2、在不对加密流量做解密的情况下,传统基于规则匹配的方式无法对加密流量进行检测,目标主流的恶意流量分析技术为基于流的检测和基于指纹的检测,而基于流的检测受环境影响大,鲁棒性差,且无法应对复杂网络攻击;基于指纹的检测对人力物力要求高,且需要不断进行指纹库的更新。
3、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供一种流量检测方法、装置、设备及存储介质,旨在解决现有技术中对于加密流量的恶意流量检测鲁棒性较差,成本较高,无法满足用户的实际需求的技术问题。
2、为实现上述目的,本发明提供了一种流量检测方法,所述方法包括以下步骤:
3、获取待检测流量;
4、对所述待检测流量进行特征提取,得到主机统计特征和主机序列特征;
5、将所述主机统计特征通过训练好的机器学习模型进行预测,得到第一预测结果;
6、将所述主机序列特征通过训练好的深度学习模型进行预测,得到第二预测结果;
7、根据所述第一预测结果和所述第二预测结果得到目标预测结果。
8、可选地,所述对所述待检测流量进行特征提取,得到主机统计特征和主机序列特征之前,还包括:
9、基于主机通信信息对所述待检测流量进行数据切分,获得目标元数据;
10、根据预设数据处理策略对所述目标元数据进行数据处理,获得目标流量数据;
11、相应地,所述对所述待检测流量进行特征提取,得到主机统计特征和主机序列特征,包括:
12、对所述目标流量数据进行特征提取,得到主机统计特征和主机序列特征。
13、可选地,所述根据预设数据处理策略对所述目标元数据进行数据处理,获得目标流量数据,包括:
14、获取主机通信过程中的源ip、目的ip以及数据流开始时间;
15、根据所述源ip和所述目的ip对所述目标元数据进行聚合,获得ip组流量序列;
16、根据所述数据流开始时间对所述ip组流量序列中的流量数据进行排序,获得目标流量数据。
17、可选地,所述根据所述数据流开始时间对所述ip组流量序列中的流量数据进行排序之后,还包括:
18、获取排序后ip组流量序列的序列长度;
19、在所述序列长度不小于预设序列长度阈值时,从排序后的ip组流量序列中提取预设长度阈值的目标流量序列数据;
20、对所述目标流量序列数据进行数据优化,获得目标流量数据。
21、可选地,所述获取排序后ip组流量序列的序列长度之后,还包括:
22、在所述序列长度小于预设序列长度阈值时,将所述排序后ip组流量序列的序列长度补齐至所述预设序列长度阈值,获得序列长度为预设序列长度阈值的目标流量序列数据。
23、可选地,所述对所述目标流量序列数据进行数据优化,获得目标流量数据,包括:
24、对所述目标流量序列数据进行归一化处理;
25、将所述归一化处理后的目标流量序列数据进行标准化处理,获得目标流量数据。
26、可选地,所述对所述目标流量数据进行特征提取,得到主机统计特征和主机序列特征,包括:
27、对所述目标流量数据进行聚合,并获取聚合后目标流量数据的统计信息;
28、提取所述统计信息对应的统计值特征;
29、根据所述统计信息与所述统计值特征构建主机统计特征;
30、提取所述聚合后目标流量数据中的序列特征;
31、根据所述序列特征构建主机序列特征。
32、可选地,所述将所述主机统计特征通过训练好的机器学习模型进行预测之前,还包括:
33、获取目标流量数据样本与所述目标流量数据样本对应的标签信息;
34、对所述目标流量数据进行聚合,并获取聚合后目标流量数据的统计信息;
35、提取所述统计信息对应的统计值特征;
36、根据所述统计信息与所述统计值特征构建主机统计特征;
37、根据所述主机统计特征与所述标签信息通过初始机器学习模型进行模型训练,获得训练好的机器学习模型。
38、可选地,所述根据所述主机统计特征与所述标签信息通过初始机器学习模型进行模型训练之后,还包括:
39、获取初始机器学习模型训练迭代次数;
40、调整所述初始机器学习模型中的基分类器参数信息;
41、在所述初始机器学习模型训练迭代次数小于预设迭代次数时,返回根据所述主机统计特征与所述标签信息通过初始机器学习模型进行模型训练的步骤。
42、可选地,所述将所述主机序列特征通过训练好的深度学习模型进行预测之前,还包括:
43、获取目标流量数据样本与所述目标流量数据样本对应的标签信息;
44、提取所述目标流量数据样本中的序列特征;
45、根据所述序列特征构建主机序列特征;
46、根据所述主机序列特征与所述标签信息通过初始深度学习模型进行模型训练,获得训练好的深度学习模型。
47、可选地,所述根据所述主机序列特征与所述标签信息通过初始深度学习模型进行模型训练之后,还包括:
48、获取初始深度学习模型训练迭代次数;
49、根据所述标签信息更新所述初始深度学习模型中的损失函数;
50、调整所述初始深度学习模型中的权值;
51、在所述初始深度学习模型训练迭代次数小于预设迭代次数时,返回根据所述主机序列特征与所述标签信息通过初始深度学习模型进行模型训练的步骤。
52、可选地,所述获取目标流量数据样本与所述目标流量数据样本对应的标签信息,包括:
53、获取正常流量样本与异常流量样本;
54、根据所述正常流量样本与所述异常流量样本确定模型训练数据集样本;
55、对模型训练数据集样本进行数据切分,获得目标元数据样本;
56、根据预设数据处理策略对所述目标元数据进行数据处理,获得目标流量数据样本;
57、确定所述目标流量数据样本对应的标签信息。
58、此外,为实现上述目的,本发明还提出一种流量检测装置,所述流量检测装置包括:
59、流量获取模块,用于获取待检测流量;
60、特征提取模块,用于对所述待检测流量进行特征提取,得到主机统计特征和主机序列特征;
61、第一模型预测模块,用于将所述主机统计特征通过训练好的机器学习模型进行预测,得到第一预测结果;
62、第二模型预测模块,用于将所述主机序列特征通过训练好的深度学习模型进行预测,得到第二预测结果;
63、综合判断模块,用于根据所述第一预测结果和所述第二预测结果得到目标预测结果。
64、可选地,所述特征提取模块,还用于基于主机通信信息对所述待检测流量进行数据切分,获得目标元数据;
65、根据预设数据处理策略对所述目标元数据进行数据处理,获得目标流量数据;
66、相应地,所述对所述待检测流量进行特征提取,得到主机统计特征和主机序列特征,包括:
67、对所述目标流量数据进行特征提取,得到主机统计特征和主机序列特征。
68、可选地,所述特征提取模块,还用于获取主机通信过程中的源ip、目的ip以及数据流开始时间;
69、根据所述源ip和所述目的ip对所述目标元数据进行聚合,获得ip组流量序列;
70、根据所述数据流开始时间对所述ip组流量序列中的流量数据进行排序,获得目标流量数据。
71、可选地,所述特征提取模块,还用于获取排序后ip组流量序列的序列长度;
72、在所述序列长度不小于预设序列长度阈值时,从排序后的ip组流量序列中提取预设长度阈值的目标流量序列数据;
73、对所述目标流量序列数据进行数据优化,获得目标流量数据。
74、可选地,所述特征提取模块,还用于在所述序列长度小于预设序列长度阈值时,将所述排序后ip组流量序列的序列长度补齐至所述预设序列长度阈值,获得序列长度为预设序列长度阈值的目标流量序列数据。
75、可选地,所述特征提取模块,还用于对所述目标流量序列数据进行归一化处理;
76、将所述归一化处理后的目标流量序列数据进行标准化处理,获得目标流量数据。
77、此外,为实现上述目的,本发明还提出一种流量检测设备,所述流量检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量检测程序,所述流量检测程序配置为实现如上文所述的流量检测方法的步骤。
78、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有流量检测程序,所述流量检测程序被处理器执行时实现如上文所述的流量检测方法的步骤。
79、本发明中,公开了获取待检测流量;对所述待检测流量进行特征提取,得到主机统计特征和主机序列特征;将所述主机统计特征通过训练好的机器学习模型进行预测,得到第一预测结果;将所述主机序列特征通过训练好的深度学习模型进行预测,得到第二预测结果;根据所述第一预测结果和所述第二预测结果得到目标预测结果,由于本发明通过对待检测流量进行特征提取,获得待检测流量的主机统计特征和主机序列特征,并将主机统计特征通过训练好的机器学习模型进行预测,将主机序列特征通过训练好的深度学习模型进行预测,以获得多个流量检测结果,再结合两个流量检测结果确定待检测流量是否为恶意流量,此过程不容易收到环境影响,鲁棒性较强,也无需针对数据库进行实时更新,降低了成本,避免了对于加密流量的恶意流量检测鲁棒性较差,成本较高,无法满足用户的实际需求的技术问题,并提高了恶意流量检测的准确度。