一. 现行方法的不足
针对恶意代码在检测和追溯恶意代码变体存在的:
只检测不溯源(模型本身能力不足、恶意代码变体数据集匮乏)、跨平台兼容、时效性
二. 该文的贡献
- 模拟恶意代码变体→解决数据集匮乏问题。
- 使用带辅助分类器的生成对抗网络作为基本模型→不另设分类器简化模型、判别器作为轻量级分类模型支持在资源受限的场景中完成实时性检测。
- 引入高效通道注意力机制→避免注意力机制在建模时带来大量参数。
高效通道注意力机制与普通注意力机制的区别
{
高效通道注意力机制(ECA)与传统的通道注意力机制在计算复杂度、参数量和特征交互方式等方面有所区别。具体分析如下:
-
计算复杂度
- 普通通道注意力机制:通常涉及全局平均池化、全连接层以及非线性激活函数等步骤,可能包含降维和升维的操作,这些操作会增加计算的复杂性。
- 高效通道注意力机制(ECA):通过使用一维卷积来避免复杂的降维与升维操作,大大减少了计算量。ECA模块的设计注重于提升计算效率,通过简化过程,实现了轻量级但高效的特征重塑。
-
参数量
- 普通通道注意力机制:如SENet模块中,涉及到多个全连接层,这会引入较多的参数。
- 高效通道注意力机制(ECA):采用参数极少的设计,例如,在ResNet50基线模型上,ECA模块的参数量仅为80,远低于传统方法,减少了模型的存储需求和计算负担。
-
特征交互方式
- 普通通道注意力机制:可能采用全局平均池化后接全连接层的方式进行特征学习,关注通道间的全局交互。
- 高效通道注意力机制(ECA):利用一维卷积进行局部跨通道交互,通过自适应的方式确定卷积核大小,从而灵活地捕捉不同范围内的通道依赖性。
-
性能提升
- 普通通道注意力机制:可以有效提升模型性能,但在一些情况下可能会由于过度的参数化而损害性能。
- 高效通道注意力机制(ECA):在降低复杂性的同时保持或提升性能,实验显示,ECA模块能够在图像分类、目标检测和实例分割任务中取得优异的性能表现。
-
易用性
- 普通通道注意力机制:可能需要对原始网络架构进行较大修改才能嵌入其中。
- 高效通道注意力机制(ECA):设计简洁,易于实现和集成到现有的CNN架构中,不需要重构模型即可带来性能提升。
针对上述分析,提出以下几点建议:
- 考虑到ECA模块的轻量化优势,可以将此模块作为优化现有深度学习模型的手段,特别是对于移动或边缘设备上的部署非常有用。
- 在选择注意力机制时,应考虑模型的应用场景;如果资源有限,那么高效通道注意力可能是更合适的选择。
- 进一步研究ECA模块与其他类型的注意力机制(如空间注意力机制)的结合使用,可能会获得额外的性能提升。
总的来说,高效通道注意力机制(如ECA模块)在简化计算过程、减少参数使用以及增强模型性能方面具有显著的优势,非常适合应用于需要高效计算的场景。在未来的研究和应用中,这种轻量级但强大的注意力机制有望得到更广泛的推广和使用。
}
三. 模型概述
数据预处理(恶意代码可视化)&模型的训练与测试
1.数据预处理
利用图像生产技术将恶意代码(二进制数据)转化为RBG文件。
2.模型训练与测试
带辅助分类器的生成式对抗网络(ACGAN):
生成器具有类标签、将生成器的类标签作为目标反馈给生成器进行学习;
判别器接受样本后,对样本进行真假判断及标签类别判读。
①模型改进的出发点
生成器→模拟恶意代码变体→要求高的模拟效果→生成高质量图像→更换了生成器主干结构。
使用结构重用方法将判别器作为分类器→要求判别器具有高准确率→引入了ECA-Net(高效通道注意力机制)
②更换生成器主干结构
ACGAN的原始网络结构采用反卷积,容易导致生成图像的信息堆叠,严重影响图像的生成效果。因此文章将这个反卷积结构改成上采样(将低分辨率特征图恢复到高分辨率)和卷积结合(提取特征)的结构,避免了生成图像的棋盘格化。
上采样是如何将低分辨率特征图恢复到高分辨率的
{
上采样通过插值法、反卷积(转置卷积)或反池化等方法将低分辨率特征图恢复到高分辨率。
上采样是深度学习中常用的技术,尤其在图像生成和语义分割等领域。它能够将经过下采样或者卷积操作缩小的特征图恢复到原始图像的尺寸。具体方法如下:
- 插值法
最近邻插值:最简单的插值方法之一,通过将目标像素点赋值为最近的源像素点的值来进行放大。这种方法简单快速,但可能导致图像锯齿状失真。
双线性插值:利用目标像素周围的四个已知像素点,通过两次线性插值计算得到目标像素值。该方法比最近邻插值复杂,但能够生成更平滑的图像。
双三次插值:采用更多的周围像素点(通常16个),通过三次多项式进行插值,效果比双线性插值更好,但计算量更大。
2.反卷积
转置卷积:转置卷积是一种特殊的卷积操作,其核心思想是通过可学习的参数进行上采样。与插值法不同,它具有可学习的权重,可以在网络训练中自动学习最优上采样方式。
输出维度计算公式:在卷积操作中,输出尺寸通常会小于输入尺寸。反卷积则通过调整步长和填充大小,使输出尺寸大于输入尺寸,从而实现上采样。输出尺寸计算公式为:
3.反池化
池化操作逆过程:反池化可以视为池化操作的逆过程。在池化阶段,通常会记录最大池化的位置信息,而在反池化时,将这些位置还原,其他位置填零。
还原特征图尺寸:通过反池化,可以将经过池化层缩小的特征图恢复到原始尺寸,常用于CNN中的像素级分割任务。
总的来说,通过这些方法,上采样能有效地将低分辨率特征图恢复到高分辨率,实现图像的细节恢复和尺寸放大。每种方法都有其优缺点,选择适当的方法取决于具体的应用场景和性能需求。
}
③引入ECA-Net结构
ECA-Net能够在每个通道上引入一个轻量级的注意力机制,以自适应地调整通道间的特征响应。
ECA-Net:特征进行全局特征池化→使用不降维的GAP聚合卷积特征,然后由由结构自适应地确定卷积核的大小来进行一维卷积得到卷积层→使用sigmoid激活函数得到各通道权重→将权重与原始输入特征图进行对应元素相乘→使用一维卷积来直接在通道间进行局部交互→得到输出HWC(特征权重卷积)
添加位置:在生成器的嵌入层后、判别器的输出层前加ECA-Net(特征加强)→帮助模型聚集重要特征。
④调节生成器与判别器能力
生成式对抗网络常常存在判别器能力太强使得生成器得不到有效训练的问题,考虑增强生成器能力:
生成器最后一层卷积前后加入Ghost模块(使用线性变换、在计算复杂性性低且参数量小的情况下生成和标准卷积一样的特征图)→判别器的每层加入Dropout层抑制判别器学习能力。
实验部分(明天写)
1. 数据集介绍
数据集1为微软发布的恶意软件分类挑战数据集(用于模型的训练、测试与验证)。
数据集2为TMCVF模拟生成的恶意代码变体(用于验证模型抗混淆能力)。
数据集3来自Malevis数据集,与数据集1具有不同的样本、类别及类别数量关系(用于验证模型泛化能力)。
2. 模型中生成图像质量的衡量
FID:值越低表示两组图片越相似。
其中x表示真实图片,g表示生成图片。u表示均值,σ表示协方差,Tr表示矩阵的迹(主对角线上各元素之和)。
IS:值越高表示图片的质量与多样性越强,其中DKL为散度。
协方差矩阵
{
协方差是衡量两个变量如何一起变化的一种度量。如果两个变量同时趋向于一起增加或减少,它们就有正的协方差;如果一个变量增加时另一个变量减少,它们就有负的协方差;如果两个变量相互独立,则协方差为零。
①如何计算协方差
假设有两个随机变量 X X X 和 Y Y Y,它们的协方差 Cov ( X , Y ) \text{Cov}(X, Y) Cov(X,Y) 可以通过以下公式计算:
Cov ( X , Y ) = E [ ( X − μ X ) ( Y − μ Y ) ] \text{Cov}(X, Y) = E[(X - \mu_X)(Y - \mu_Y)] Cov(X,Y)=E[(X−μX)(Y−μY)]
其中, E E E 表示期望值, μ X \mu_X μX 和 μ Y \mu_Y μY 分别是 X X X 和 Y Y Y 的均值。这个公式可以展开为:
Cov ( X , Y ) = E [ X Y ] − E [ X ] E [ Y ] \text{Cov}(X, Y) = E[XY] - E[X]E[Y] Cov(X,Y)=E[XY]−E[X]E[Y]
这里, E [ X Y ] E[XY] E[XY] 是 X X X 和 Y Y Y 乘积的期望值,而 E [ X ] E [ Y ] E[X]E[Y] E[X]E[Y] 是 X X X 和 Y Y Y 各自期望值的乘积。
举例说明
假设我们有以下数据集,其中 X X X 和 Y Y Y 分别代表两个变量的观测值:
X X X | Y Y Y |
---|---|
2 | 3 |
4 | 6 |
6 | 4 |
8 | 7 |
首先,我们计算 X X X 和 Y Y Y 的均值:
μ
X
=
2
+
4
+
6
+
8
4
=
5
\mu_X = \frac{2 + 4 + 6 + 8}{4} = 5
μX=42+4+6+8=5
μ
Y
=
3
+
6
+
4
+
7
4
=
5
\mu_Y = \frac{3 + 6 + 4 + 7}{4} = 5
μY=43+6+4+7=5
然后,计算 X Y XY XY 的乘积和它们的均值:
X
Y
=
2
×
3
+
4
×
6
+
6
×
4
+
8
×
7
=
6
+
24
+
24
+
56
=
100
XY = 2 \times 3 + 4 \times 6 + 6 \times 4 + 8 \times 7 = 6 + 24 + 24 + 56 = 100
XY=2×3+4×6+6×4+8×7=6+24+24+56=100
E
[
X
Y
]
=
100
4
=
25
E[XY] = \frac{100}{4} = 25
E[XY]=4100=25
现在,我们可以计算协方差:
Cov ( X , Y ) = E [ X Y ] − E [ X ] E [ Y ] = 25 − ( 5 × 5 ) = 0 \text{Cov}(X, Y) = E[XY] - E[X]E[Y] = 25 - (5 \times 5) = 0 Cov(X,Y)=E[XY]−E[X]E[Y]=25−(5×5)=0
在这个例子中, X X X 和 Y Y Y 的协方差为零,表明它们是相互独立的。
②协方差矩阵
协方差矩阵是一个方阵,用于描述多维随机变量之间的关系和变化程度。它的每个元素表示不同变量之间的协方差,反映了这些变量如何共同变化。
}
3.实验设置与结果
①优化策略探索
实验采用Adam等多个优化器,进行对比实验。
其中D_loss和 G_loss 分别指代判别器损失和生成器损失。这两种损失是GAN训练过程中的核心组成部分,它们共同作用于模型的训练,以达到生成器能够产生越来越逼真的数据样本,而判别器能够越来越准确地区分真实数据与生成数据的目标。
②不同结构对模型性能的影响
模型一:反卷积(原模型)
模型二:改为上采样与卷积结合
模型三:上采样与卷积结合+ghost
模型四:上采样与卷积结合+ghost+ECA-Net(最终模型——TMCVF模型)
生成器的结果解析:
模型一生成的图像棋盘格化,模型二生成的图像仍存在大量噪声,模型三生成的图像存在一些模糊的图,模型四生成的图片高清、高质量。
纳什平衡
{
为保证恶意代码变体的有效性,以上四种模型的训练均达到纳什平衡。
从损失函数的角度,GANs的训练过程中,判别器D和生成器G通过最小化和最大化一个共同的损失函数来进行优化。在这个过程中,D希望最大化损失函数以更好地区分真实与伪造数据,而G则尝试最小化同一损失函数,以生成足够逼真的数据欺骗D。理论上,当双方都无法通过改变自身策略来改善自己的损失时,即达到了纳什平衡。
综上所述,纳什平衡不仅在理论上定义了GANs中生成器和判别器相互作用的最终状态,也为实际设计高效、稳定的GANs提供了重要的指导原则。
}
③TMCVF 模型与其他模型的比较
④TMCVF 模型的恶意代码变体家族溯源能力
模型的恶意代码变体家族溯源能力可以表现为模型在变体数据集上的抗混淆能力以及在不同类别特征的数据集上的泛化能力。