近年来,恶意软件的数量不断增加,为用户带来了严重的安全隐患。为了避免主机系统受到恶意软件的侵害,提高检测的准确率,提出一种基于主成分分析(Principal component analysis, PCA)降维和SE-ResNet-VIT集成模型的恶意软件检测方法。由于软件数据信息具有高维度,多噪点的特征,通过PCA对待检测软件数据进行主成分提取,去除样本数据中的冗余特征项。SE-ResNet-VIT模型是将改进为双线性融合机制的SE-ResNet和VIT (Vision Transformer)中的编码器相结合的集成模型。改进的SE-ResNet模型能够从局部特征中提取更多信息,并通过组合这些特征来提高模型的表示能力。VIT模型能够通过注意力机制来学习数据之间的依赖关系,并能够处理长序列数据。该方法通过结合SE-ResNet和VIT,以两种不同的方式提取特征,能够更准确地捕捉软件的语义信息,从而提高恶意软件检测的准确性。在Ember数据集上进行了对比实验,实验结果表明,该方法的准确率分别为97.05%和98.45%,并与现有的多种检测方法进行对比,在准确率方面分别提高1.94%~5.95%,该方法有更好的检测准确率和泛化能力。 As the digital age continues to advance, so does the threat of malicious software, commonly known as malware. In recent years, the number of malware attacks has skyrocketed, putting users’ information and systems at risk. To mitigate these security concerns, researchers have developed a novel malware detection method that leverages the power of Principal Component Analysis (PCA) downscaling and an integrated model combining SE-ResNet and VIT (Vision Transformer). The SE-ResNet model, enhanced with a bilinear fusion mechanism, excels at extracting local features and improving the representation capability of the model. Meanwhile, the VIT model, with its attention mechanism, is able to learn inter-data dependencies and process long sequences of data. By combining these two models, the proposed approach is able to accurately capture the semantic information of software, leading to an improvement in malware detection accuracy. To demonstrate its effectiveness, the proposed method was tested against the Ember datasets, yielding an impressive accuracy of 97.05% and 98.45% respectively. The results of these experiments clearly indicate that this novel approach outperforms existing methods, with an improvement in accuracy ranging from 1.94% to 5.95%. In conclusion, the proposed malware detection method based on PCA downscaling and the integrated SE-ResNet-VIT model offers a cutting-edge solution to the growing problem of malware attacks. With its ability to accurately capture semantic information and improve detection accuracy, this method is poised to be a critical tool in safeguarding against malicious software.
近年来,恶意软件的数量不断增加,为用户带来了严重的安全隐患。为了避免主机系统受到恶意软件的侵害,提高检测的准确率,提出一种基于主成分分析(Principal component analysis, PCA)降维和SE-ResNet-VIT集成模型的恶意软件检测方法。由于软件数据信息具有高维度,多噪点的特征,通过PCA对待检测软件数据进行主成分提取,去除样本数据中的冗余特征项。SE-ResNet-VIT模型是将改进为双线性融合机制的SE-ResNet和VIT (Vision Transformer)中的编码器相结合的集成模型。改进的SE-ResNet模型能够从局部特征中提取更多信息,并通过组合这些特征来提高模型的表示能力。VIT模型能够通过注意力机制来学习数据之间的依赖关系,并能够处理长序列数据。该方法通过结合SE-ResNet和VIT,以两种不同的方式提取特征,能够更准确地捕捉软件的语义信息,从而提高恶意软件检测的准确性。在Ember数据集上进行了对比实验,实验结果表明,该方法的准确率分别为97.05%和98.45%,并与现有的多种检测方法进行对比,在准确率方面分别提高1.94%~5.95%,该方法有更好的检测准确率和泛化能力。
恶意软件检测,主成分分析,SE-ResNet,Vision Transformer,集成模型
Cong Fang1, Jie Zhang2
1School of Computer, Guangdong University of Technology, Guangzhou Guangdong
2School of Automation, Guangdong University of Technology, Guangzhou Guangdong
Received: Mar. 14th, 2023; accepted: Sep. 21st, 2023; published: Sep. 28th, 2023
As the digital age continues to advance, so does the threat of malicious software, commonly known as malware. In recent years, the number of malware attacks has skyrocketed, putting users’ information and systems at risk. To mitigate these security concerns, researchers have developed a novel malware detection method that leverages the power of Principal Component Analysis (PCA) downscaling and an integrated model combining SE-ResNet and VIT (Vision Transformer). The SE-ResNet model, enhanced with a bilinear fusion mechanism, excels at extracting local features and improving the representation capability of the model. Meanwhile, the VIT model, with its attention mechanism, is able to learn inter-data dependencies and process long sequences of data. By combining these two models, the proposed approach is able to accurately capture the semantic information of software, leading to an improvement in malware detection accuracy. To demonstrate its effectiveness, the proposed method was tested against the Ember datasets, yielding an impressive accuracy of 97.05% and 98.45% respectively. The results of these experiments clearly indicate that this novel approach outperforms existing methods, with an improvement in accuracy ranging from 1.94% to 5.95%. In conclusion, the proposed malware detection method based on PCA downscaling and the integrated SE-ResNet-VIT model offers a cutting-edge solution to the growing problem of malware attacks. With its ability to accurately capture semantic information and improve detection accuracy, this method is poised to be a critical tool in safeguarding against malicious software.
Keywords:Malware Detection, Principal Component Analysis, SE-ResNet, Vision Transformer, Ensemble Mode
Copyright © 2023 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
在过去的十年里,互联网实现了飞速的发展,但与此同时,恶意软件及其应用程序也井喷式的增长。恶意软件作者通常会诱导用户下载恶意文件,其中恶意文件包括病毒、特洛伊木马、蠕虫、rootkit、广告软件、勒索软件和一系列恶意的可执行程序。恶意软件会有目的性获取用户信息、窃取用户财产、破坏用户体验和锁定用户主机。根据McAfee2021年度报告,相比2020年,2021年的恶意软件开发量大幅增加,平均每分钟会新增588个恶意软件 [
恶意软件检测有两种基本的分析检测方法:静态分析检测和动态分析检测。静态分析检测是在不执行恶意软件程序的情况下对其进行反编译,并对哈希值、操作码、N-gram、PE (Portable Executable)头信息和字符串等信息进行特征提取,建模分类。而动态分析检测是通过创建虚拟环境执行恶意软件程序并捕获API调用,注册表项更改、新日志条目和网络活动等信息进行特征提取,建模分类。本文是基于静态分析检测方法对反编译后的数据进行降维处理,训练分类。
目前,机器学习中的许多网络模型已经被应用到恶意软件检测中。引入机器学习模型的检测方法与传统需要人工标注的检测方法在效率上大大提升,且减少了人力成本。文献 [
综合上述恶意软件检测方法中存在的问题,本文提出一种基于PCA和SE-ResNet-VIT的恶意软件检测方法。将原始的软件数据转换为浮点型数据,再对高维的软件数据进行PAC降维处理,充分提取数据中的有效主成分,去除数据中的噪声和冗余,再转换成灰度图像输入到SE-ResNet-VIT集成模型中进行检测分类。并在Ember数据集与现有的多种检测方法进行了对比实验,通过实验结果验证该方法的有效性。
本文提出基于PCA和SE-ResNet-VIT的恶意软件检测模型如图1本文网络结构模型图所示,结构包括将原始PE文件转换为浮点型数据、PCA主成分提取降维、最大最小值归一化、改进的SE-ResNet、VIT、对两个模型的结果加权重计算和输出检测结果。
集成模型是一种提高模型准确率的方法,模型之间的差异越大,集成后的性能改善越大 [
卷积神经网络在恶意软件检测领域已经取得不错的效果 [
本文采用Ember数据集,通过反编译工具将其解析,经过提取后得到七组主要特征类,其分别是:通用文件信息类、PE头部信息类、区块信息类、字节统计信息类、字符串信息类、导入和到处函数类。将所有类的信息进行组合打包,添项,将数据转换成维度为2401的浮点型数据。
图1. 本文网络模型结构图
归一化处理,对转换成浮点型的数据进行归一化,将数据标准到[0, 1]的区间内。
其中Yij表示标准化后的值,i表示第几个样本,j表示第几个维度,为该特征项的最大值,为该特征项的最小值,则标准化如公式(1)所示:
Y i j = X i j − X m i n X m a x − X m i n (1)
主成分分析(Principal component analysis, PCA)是机器学习领域中使用最广泛的数据降维算法之一 [
1) 将原始数据组成m行m列矩阵X。对矩阵X进行标准化后得到新矩阵Z:
z i j = x i j − x ¯ j s j , i = 1 , 2 , ⋯ , m ; j = 1 , 2 , ⋯ , n (2)
其中, x ¯ j = ∑ f = 1 m x j m , s j 2 = ∑ i = 1 m x i j m 。
2) 计算出协方差矩阵:
C = Z T Z m − 1 (3)
3) 用特征值分解方法求出协方差矩阵C的特征值及每个特征值对应的特征向量。
4) 将特征向量按对应特征值大小从大到小排序按行排列成矩阵,取 n ' 前行组成矩阵P。
5) Y = P Z 即为矩阵X即为降维到 n ' 维后的数据。
Transformer是由Vaswani A.等人在2017提出的一种机器翻译领域的新模型 [
( Q , K , V ) = softmax ( Q K T d k ) V (4)
其中Q、K和V分别是由Attention中的query向量、key向量、value向量组成的矩阵,为隐藏层的维度,softmax函数的作用是通过指数特性将所有预测结果映射在0到正无穷的区间内,再通过归一化将所有预测结果转化为0到1之间的概率分布。多头注意力机制是由多个并行的Attention构成,定义公式如下:
M u l t i H e a d ( Q , K , V ) = c o n c a t ( h e a d 1 , ⋯ , h e a d h ) W O h e a d i = A t t e n t i o n ( Q W i Q , K W i K , V W i V ) (5)
其中 W i Q ∈ R d m o d l e * d k , W i K ∈ R d m o d l e * d k , W i V ∈ R d m o d l e * d k , W i O ∈ R h d v * d m o d l e 而 d m o d l e , d v 分别表示模型的维度和隐藏层的维度。
在Vision Transformer中,线性嵌入层是的一个重要结构。线性嵌入层将图像分割成多个块,然后将每一块扁平化为一维张量,再将位置编码和类别编码共同嵌入到张量中,并输入到Transformer编码器当中。再由编码器提取特征后输出到全连接层当中,由全连接层执行一个分类任务。本文是一个恶意软件检测的二分类任务,因此Vision Transformer最终输出为良性软件或恶意软件。Vision Transformer检测模型如图3所示。
图2. Transformer Encoder模块结构图
图3. Vision Transformer检测模型
卷积神经网络一直是计算机视觉、机器翻译、图像识别、目标检测等多个领域的主要模型架构。SENet (Squeeze-and-Excitation Networks)是Jie Hu等人在2018年提出的一种用于图像分类的卷积神经网络模型 [
本文通过一种双线性池化融合机制,具体结构如图5所示,通过融合全局池化和最大池化的Squeeze操作,既保留了全局池化将特征信息汇总在一起的优势,又增加了最大池化能够保留了每个池化窗口中的最大值,从而不会丢失特征图中的位置信息。
图4. SENeT网络模型结构图
图5. 改进的SE-ResNet结构图
文实验的环境搭建在CentOS 7操作系统中,其中编程语言采用的是Python 3.7,深度学习框架采用的是Pytorch 1.10.1,中央处理器为Intel(R)Xeon(R)CPU E5-2620 v4 @ 2.10 GHz,显卡为NVIDIA Tesla P100。
本文采用的Endgame在2018年发布的一个关于恶意软件的开源数据集Ember,这是可用于研究Windows平台恶意软件检测的最大数据集之一。Ember数据集扫描了110万个恶意软件样本,其中90万个训练样本,20万个测试样本。而训练样本中包括30万个未标注样本,这些样本在模型训练中没有用处,会在预处理数据集时进行删除,表1是删除未标注样本后的数据分布。
类别 | 训练集 | 测试集 |
---|---|---|
良性软件 | 300,000 | 100,000 |
恶意软件 | 300,000 | 100,000 |
表1. 实验数据的类别与数量
在本文采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1值(F1 Score)对恶意软件检测方法性能进行评估。其指标详细定义为公式(6),(7),(8)和(9):
A c c u r a c y = T P + T N T P + F N + F P + T N (6)
P r e c i s i o n = T P T P + F P (7)
R e c a l l = T P T P + F N (8)
F 1 = 2 ∗ P r e c i s i o n ∗ R e c a l l P r e c i s i o n + R e c a l l (9)
其中TP (True Positive)表示真实数据为恶意软件样本且模型预测结果也为恶意软件的数据总数,TN (True Negative)表示真实数据为良性软件样本且模型预测结果也为良性软件样本的数据总数,FP (False Positive)表示真实数据为良性软件样本且模型预测为恶意软件样本的数据总数,FN (False Negative)表示真实数据为恶意软件样本且模型预测为良性软件样本的数据总数。
本文中使用的PCA提取的主成分特征数目为625,SE-ResNet-VIT网络模型中有两层卷积层,滤波器数目分别为10和20,滤波器大小分别为4*4,6*6,降采样层的大小为2。VIT中设置为6个多头注意力机制,encoder迭代4次。优化器选择SGD,初始学习率为0.003,batch size设置为256,epoch为200。使用warm-up策略来提高优化器SGD在训练过程中的稳定性。
图6是本文提出模型的训练集和测试集准确率变化曲线图。由图可见,模型的训练轮次达到100个Epoch之后,测试集的Accuracy已经停止增长,稳定在0.97,说明模型已经拟合了。
为了验证SE-ResNet-VIT组合模型的检测效果,将组合模型与改进的SE-ResNet和VIT进行比较。由表2的实验结果表明,组合模型在Accuracy、Precision、Recall和F1四个指标方面均有明显提升。
图6. 本文模型准确率变化曲线图
模型 | Accuracy | Precision | Recall | F1 |
---|---|---|---|---|
SE-ResNet50 | 90.26 | 88.15 | 93.02 | 90.52 |
改进SE-ResNet | 94.77 | 95.45 | 94.02 | 94.73 |
VIT | 91.63 | 92.38 | 90.40 | 91.38 |
SE-ResNet-VIT | 96.44 | 97.06 | 95.77 | 96.41 |
表2. 单一模型和组合模型性能对比(%)
为了验证PCA降维消除冗余后的所有软件数据对模型中有着更优异的表现,本文将经过多次降维比对后确定降维后的维度为900。降维后的数据与原始数据使用相同参数的CNN-Transformer模型进行训练并测试模型性能,通过表4的实验数据能够说明,在加入PCA降维之后,能够有效的去除Ember数据集中的冗余特征项,提高CNN-Transformer模型的特征提取效率,从而使得模型在Accuracy提高了0.61,同时单轮训练时间由原来的53.41 s降低到42.75 s,减少10.66 s,模型训练速度大幅降低。实验结果如表3所示:
模型 | Accuracy (%) | 单轮训练时间/s |
---|---|---|
SE-ResNet-VIT | 96.44 | 53.41 |
PCA- SE-ResNet-VIT | 97.05 | 42.75 |
表3. 使用PCA降维后模型性能对比
为了验证本文提出模型性能的先进性,将本文提出的PCA-SE-ResNet-VIT模型与文献 [
模型 | Accuracy | Precision | Recall | F1 |
---|---|---|---|---|
文献 [
|
91.10 | 91.00 | 91.20 | 91.10 |
文献 [
|
95.11 | 96.73 | 95.45 | 96.09 |
文献 [
|
95.68 | 96.37 | 95.11 | 95.74 |
CNN-LSTM | 87.52 | 86.35 | 89.07 | 87.69 |
Resnet50 | 89.95 | 88.97 | 92.35 | 90.63 |
本文模型 | 97.05 | 97.45 | 96.64 | 97.04 |
表4. 不同模型在Ember数据集上的检测效果(%)
本文对恶意软件的原始数据进行了降维,去冗余,并将降维前后的数据和SE-ResNet-VIT集成模型展开研究,合并卷积层和多头注意力机制二者的优势,将其应用到恶意软件检测中。通过在Ember数据集上的实验结果表明,本文提出的方法在Accuracy、Precision、Recall和F1四个评价指标方面均优于文献 [
广州市重点领域研发计划项目(202007010004)。
凡聪,张杰. 基于PCA和SE-ResNet-VIT的恶意软件检测方法PCA and SE-ResNet-VIT Based Malware Detection Method[J]. 计算机科学与应用, 2023, 13(09): 1785-1795. https://doi.org/10.12677/CSA.2023.139177
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
https://doi.org/10.1080/19361610.2020.1796162
https://doi.org/10.1109/ICPR48806.2021.9412227
https://doi.org/10.1609/aaai.v32i1.11409
https://doi.org/10.1007/978-3-030-24274-9_52
https://doi.org/10.1155/2022/8634784
https://doi.org/10.1109/TrustCom50675.2020.00124
https://doi.org/10.1016/j.jclepro.2022.134588
https://doi.org/10.19734/j.issn.1001-3695.2019.08.0565.5
https://doi.org/10.1002/wics.101
https://doi.org/10.1109/CVPR.2018.00745
https://doi.org/10.1109/CVPR.2016.90