一种基于小样本交互特征分析的自适应恶意流量检测方法
- 国知局
- 2024-09-05 14:45:18
本发明涉及一种基于小样本交互特征分析的自适应恶意流量检测方法,属于加密流量分析中的恶意流量检测领域。
背景技术:
1、随着信息通信技术的高速发展,互联网深入到社会生活中的各个领域,网络流量呈极速上升态势。互联网技术切实提高了生产生活的效率,但用户在使用互联网的过程中会面临隐私泄露、恶意攻击等安全威胁,例如,攻击者会通过一定的技术手段窃取用户敏感信息或实施恶意攻击。因此,网络安全在信息通信技术发展的过程中尤为重要。随着加密技术的发展与应用,互联网中的加密流量的占比越来越高。流量分析是网络治理的重要手段,加密流量分类是维护网络安全的新兴范式。对于网络管理员来说,攻击者利用加密协议以隐藏恶意行为从而逃避异常检测,通过有效的加密流量分类方法可以对异常威胁迅速响应从而采取防御措施以维持网络的安全性与稳定性。
2、恶意软件或攻击对于网络和设备的破坏性巨大,其通常利用加密技术伪装或者混淆。因此,恶意流量识别对于及时发现猖獗的恶意软件或攻击并部署有效的防御措施具有重要意义。恶意流量识别以检测流量是否来自恶意软件或行为和分类其属于何种恶意软件或行为为目标。恶意流量识别首先要从加密流量中提取独特的特征,然后将其输入分类器,经过训练完成分类模型的构建。入侵检测系统,是一种用于监测和识别网络中潜在入侵行为的安全系统。它通过对网络流量进行实时分析和监测,检测和识别恶意活动,并及时采取相应的防护措施。一些恶意流量也通过加密来伪装自己,使自己藏匿于海量正常加密流量之中。因此,一个能够有效识别恶意流量的入侵检测系统在网络安全系统中是尤为必要的。
3、传统的机器学习和深度学习方法在数据密集型分类任务中获得了显著效果。但在真实场景中,短时间获取大量数据是困难的,机器学习难以获得准确的训练模型。因此,如何利用少量样本进行有效地学习逐渐受到研究者的关注,小样本学习(few-shotlearning,fsl)的概念被提出。小样本学习不再依赖大规模的数据集,一定程度地降低了收集、标注数据的高昂成本与模型的应用成本。对于新兴分类任务,小样本学习有助于实现模型的快速部署。
技术实现思路
1、本发明的目的是为解决恶意软件频繁更新升级,新型恶意软件流量难检测的问题,提出一种基于小样本交互特征分析的恶意流量识别方法。
2、本发明旨在分别在目标恶意软件变化场景、稳定场景、恶意软件内容变化场景下,通过分析数据包传输机理提取流量交互矩阵。然后,本发明在不同场景中采用三重网络和卷积神经网络(cnn)组合或单独构建分类器。具有交叉熵和三联损失优化的三联网络可以仅使用少量样本实现实现恶意软件流量检测。此外,在处理网页内容随时间变化时,本发明采用微调策略训练三重网络以重建分类器,实现恶意软件流量自适应检测。本文利用大量样本完成了预训练过程,当面临新类型恶意流量的识别时,结合微调策略利用预训练模型中的先验知识并对模型参数进行更新,该方法不仅适用于小样本场景,同时能维持恶意软件流量的识别准确率。本发明能够基于预训练模型,仅应用少量新型恶意软件样本,就能够微调模型,使模型能够对新型恶意软件进行检测,能够投入到实际应用场景中。
3、本发明的目的是通过下述技术方案实现的。
4、本发明公开的一种基于小样本交互特征分析的自适应恶意流量检测方法,包括以下步骤:
5、步骤1:将流量处理成流量交互矩阵
6、其基本思想是在恶意软件攻击过程中聚合每条流量http消息对应的数据包时间和负载长度信息。一开始,流量交互矩阵根据http突发间隔,将整条流量划分为不固定长度的时隙,然后计算每个时隙的http突发,并将其合并为矩阵。
7、本发明根据不同的tls(安全传输层协议)记录大小提供了各种流量交互矩阵提取方法。对于较大的记录大小,tls头中的length(长度)字段表示http(超文本传输协议)突发的长度b。通过计算tls报头和tcp(传输控制协议)有效载荷之间的差异,用最后一个tcp数据包来描述http突发的结束。http突发中的间隔是通过从突发的结束分组和相邻突发的开始分组导出定时信息来获得的。流量交互矩阵是http突发和流中相应间隔的组合。
8、对于较小的记录大小,p中的每个数据包(ti,pi),ti为一条流中第i个数据包的时间戳,pi为为一条流中第i个数据包的tcp有效载荷的长度,分别与三个值相关联:tcp有效载荷的长度、tcp有效载荷中tls标头的数量以及包含tls标头中length字段值的数组seg表示来自同一方向的后续tcp有效载荷中剩余tls记录的长度,b表示当前http突发。本发明分别计算两个方向上的爆发和间隔。该间隔是通过计算突发开始和前一突发结束之间的时间差来获得的。对于http突发的计算,首先,在遍历当前tcp有效载荷中的tls报头时更新seg和b,然后seg减去当前tcp有效负载的长度,以获得后续tcp有效载荷的剩余tls记录的长度。如果seg等于0,则当前突发结束,并且其长度和间隔信息被添加到m中。最后,得到流量交互矩阵m。
9、步骤2:将步骤1得到的流量交互矩阵进行三元组选择
10、在动态场景中构建分类器时,每个恶意软件样本只使用几个样本来训练分类器。为了解决小样本分类问题,本发明构建了三元组网络,该网络以一个三元组对为输入,由三个具有共享权重的相同cnn模型组成。根据三元组选择策略来选择三元组对。
11、为了确保模型快速收敛,必须为训练集中称为anchor的每个样本选择合适的三元组对。对于每个anchor,本发明使用如下所述的三元组选择策略来选择适当的样本,即来自同一类的positive和来自不同类的negative。然后,本发明将所选择的矩阵组合起来,形成一个三元组对作为模型的输入。
12、对于每个anchor a,本发明计算a和同一类中的其他样本之间的欧几里得距离,计算方法如下:
13、
14、然后选择具有最大类内距离d(p,a)的positive p。最大类内距离表示同一类内a和p之间的显著差异。相反,对于任何其他类,计算a和另一类中的所有样本之间的距离d(n,a),并选择最靠近anchor的负样本。最小的类间距离意味着很容易混淆a和n。本发明在每个不同的类中从anchor获得适当的一个负样本。
15、步骤3:将选择的三元组进行卷积神经网络训练
16、在完成对训练集中每个样本的三元组对的选择后,将三元组对输入到由三个相同的cnn组成的三元组网络中。利用三元组网络中的并行细胞神经网络来完成矩阵的特征提取和分类。利用两种损失,即三重损失和交叉熵损失来更新网络的权重,以实现快速收敛和避免过拟合。当应用于静态设置时,本发明只构建单个cnn分类器,并用交叉熵损失更新分类器。
17、本发明将三元组网络的结构分为六个部分,即模型输入、模型结构、模型分类、损失函数、避免过拟合和学习率。
18、模型输入。对于每个样本ma在训练集中,本发明使用三元组选择来选择合适的正样本mp来自同一类和负样本mn,然后构成一个三元组对t={ma,mp,mn)作为三元组网络的输入。
19、模型结构。三元组网络由三个共享相同权重的平行cnn组成。该神经网络中有三种块,即二维特征提取块、一维特征提取块和分类模块。在2d特征提取块中,在池化层之前有两个2d连续的卷积层,然后保留为丢弃层。类似地,在1d特征提取块中,在池化层之前有两个1d连续的卷积层,然后保留为丢弃层。在分类模块中,有一个1d卷积层和全局平均池(gap)用于分类。最后一个卷积层中的滤波器的数量等于恶意软件标签d的数量。在每个卷积层之后,都有一个batchnormalization(bn)层,用于加速神经网络的训练。
20、中心时间步长t处的第一卷积层可以被表示为:
21、
22、其中表示用滤波器wb、偏置参数b和非线性函数relu对长度为n的m进行卷积的结果。其他卷积层的公式类似于公式1。激活函数增强了神经网络的非线性和表达能力。最后一个卷积层f的输出是输入矩阵m的特征嵌入向量。
23、模型分类。本发明用gap层代替了正常的完全连接层,并且参数的数量显著减少,这显著提高了训练效率并降低了过度拟合的风险。gap层接受最后一个卷积层的输出,并在时间维度上对每个特征图执行平均运算,这减少了特征图的空间维度,同时保留了信道信息,可以被表示为:
24、
25、其中是gap的输出。最后,将传统的softmax分类器应用于输出,可以被表示为:
26、
27、其中wv是参数。
28、损失函数。本发明在小样本设置中采用两种损失,即交叉熵损失lc和三元组损失lt,来优化三元组网络。
29、三联损失被用来学习恶意软件的分类向量,并测量样本之间的相对相似性。它通过缩短同一类的分类向量之间的距离和扩展不同类的向量之间的间距来优化模型,可以被表示为:
30、
31、其中,和是anchor、positive、negative的分类向量,表示和之间的距离,margin是一个参数,用于测量和之间的差异。本发明定义margin=1.0。
32、恶意软件识别工作本质上是一个多分类任务,因此本发明使用交叉熵损失lc来测量预测值和基本事实y之间的差异,可以被表示为:
33、
34、其中,其中m是模型输入矩阵的数量,如果yi是j,则i(yi=j)=1,否则为0。
35、之后,本发明将这两种损失合并为总损失,可以被表示为:
36、l=lt+θ*lc (7)
37、其中θ是lc和lt的比率。本发明定义θ=0.5。adam优化器用于最小化总损失。
38、避免过拟合。在神经网络的训练过程中存在过度拟合的风险。在本发明的模型中,本发明在每个块的末端添加一个丢弃层,该层将使神经元以一定的概率停止工作,该概率在前向传播中被确定为0.1。
39、学习率。在本发明中,使用指数学习率衰减。在训练中,学习率随轮次而变化。学习率衰减的公式可以被表示为:
40、
41、其中αk是第k个轮次的学习率,α0是初始学习率,α0*α1是训练结束时的学习率,ε是轮次的数量。
42、本发明提出的恶意流量检测模型由步骤三中训练的三联网络模型,模型训练过程仅需要少量数据,实现小样本场景下的自适应恶意流量检测。
43、有益效果:
44、1、本发明通过分析数据包传输机理提取包含加载顺序、加载元素量、加载频率、加载时间等特征构建流量交互矩阵。然后,本发明在不同场景中采用三重网络和cnn组合或单独构建分类器。具有交叉熵和三联损失优化的三联网络可以仅使用少量样本实现恶意软件流量检测。此外,在处理网页内容随时间变化时,本发明采用微调策略训练三重网络以重建分类器,实现恶意软件流量自适应检测。
45、2、本发明适用于动态场景,包含目标恶意软件的内容随时间变化、目标恶意软件变化等。本发明仅使用少量样本就可以基于cnn的三联网络实现有效的恶意软件分类。
46、3、本发明设计的恶意软件识别模型不需要专家知识和特征工程,仅仅基于网络流量传输的时间、数据包长度、突发等特征,极大地降低了算法模型的时间复杂度,使得模型能够以低时间开销实现高精度的恶意软件流量自适应检测。
本文地址:https://www.jishuxx.com/zhuanli/20240905/288003.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。