CN112884061A - 一种基于参数优化元学习的恶意软件家族分类方法 - Google Patents
一种基于参数优化元学习的恶意软件家族分类方法 Download PDFInfo
- Publication number
- CN112884061A CN112884061A CN202110259214.0A CN202110259214A CN112884061A CN 112884061 A CN112884061 A CN 112884061A CN 202110259214 A CN202110259214 A CN 202110259214A CN 112884061 A CN112884061 A CN 112884061A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- task
- malicious software
- learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于参数优化元学习的恶意软件家族分类方法,包括恶意软件文件预处理、神经网络模型训练、模型测试和模型微调步骤。本发明将原始恶意软件转化为可视化的灰度图像,将灰度图像进行特征提取并使用基于参数优化的元学习方法加以训练;在训练过程中,对于类精度低的恶意软件家族的灰度图像样本作为困难样本,加入下一轮训练任务继续训练分类器,以便实现所有恶意软件的准确分类。本发明可以在网络模型简单、样本少的情况下实现恶意软件的高精度分类,且具有较高的泛化能力。
Description
技术领域
本发明涉及一种恶意软件家族分类方法,尤其涉及一种基于参数优化元学习的恶意软件家族分类方法,属于网络安全技术领域。
背景技术
随着网络应用的发展和物联网的盛行,恶意软件成了网络安全的主要威胁之一。从2019年到2020年,恶意软件增长了近1亿。同时,攻击者又通过代码变换、代码插入、子程序重构等方法产生了恶意软件的变种来逃避杀毒软件的检测。因此,恶意软件检测与分类成了网络安全领域一个非常重要的课题,尤其随着大数据时代的到来,需要提出一个更简单且有效的方法去分类恶意软件家族。
在恶意软件分类领域,目前主要使用的是以机器学习为代表的方法来分类,通过将原始二进制文件样本可视化为图片,从而把恶意软件分类问题转化为图片分类问题,并且取得了很好的分类精度。但对于模型的复杂度以及样本的数量等问题,这些方法没有考虑率模型的开销以及合适的策略去处理样本不平衡,并且对于新出现的恶意家族的样本,传统的机器学习方法分类效果较差。
发明内容
本发明要解决的技术问题是提供一种基于参数优化元学习的恶意软件家族分类方法。
为了解决上述技术问题,本发明采用的技术方案是:
一种基于参数优化元学习的恶意软件家族分类方法,包括如下步骤:
步骤1:恶意软件文件预处理:将样本恶意软件文件逐一转换为灰度图像样本;所述灰度图像样本随机划分为训练集Dtrain,验证集Dval,测试集Dtest;
步骤2:神经网络模型训练:
步骤2-1:抽取训练数据:从训练集Dtrain随机抽取样本构成1个以上任务,每个任务包括支撑集Dsupport和搜索集Dquery;
步骤2-2:使用支撑集Dsupport中的灰度图像样本来计算模型参数,进行第一次梯度更新;损失函数使用交叉熵损失函数,计算方法为:
其中,x(j)和y(j)是第j灰度图像样本和标签,fφ是初始化参数为φ的神经网络模型;lT(fφ)是交叉熵损失函数,θ'i是第i个任务支撑集样本计算的第一次更新参数,α为学习率,是损失函数对初始化参数φ的梯度;
步骤2-3:以第一次更新参数θ'i为初始参数,使用搜索集Dquery中的灰度图像样本学习模型参数,使损失函数之和最小;
步骤2-4:以第一次更新参数θ'i为模型参数,以任务中灰度图像样本的损失函数总和为目标函数,优化模型参数,模型参数更新方法为:
步骤2-5:计算任务中灰度图像样本在当前模型参数条件下各恶意软件家族的训练精度,并根据训练精度进行恶意软件家族排序,对于准确率低于预设阈值的恶意软件家族将所使用的灰度图像样本作为困难样本加入下一轮训练的任务中;
步骤2-6:判断本次与上次训练的模型参数对各恶意软件家族分类的训练精度之差是否小于收敛阈值或是否为最后一个任务,如果是,结束转向步骤3,否则转向步骤2-2;
步骤3:模型测试:在测试集Dtest中随机选择1批以上任务进行模型测试,计算各恶意软件家族分类的准确率、精确率、召回率、f1-score指标;
步骤4:模型微调:随机在训练集中抽取1个以上任务,用任务中支撑集Dsupport中的灰度图像样本对步骤3训练好的模型进行微调,微调方法与步骤2相同,用Dquery集去测试模型输出准确率。
进一步,所述神经网络模型包含四个结构相同的神经块,各神经块包括一个卷积层,一个BatchNorm层和一个ReLu非线性层;各神经块的输出经2×2的最大池化层后进入分类层Linear,输出分类概率。
更进一步,第一个卷积块中卷积核的大小为3×3×6,输出的特征图的大小为40×40×6;第二个卷积块中卷积核的大小为3×3×16,输出的特征图的大小为20×20×16;第三个卷积块中卷积核的大小为3×3×32,输出特征图的大小为10×10×32;第四个卷积块中卷积核的大小为3×3×32,输出特征图的大小为5×5×32。
采用上述技术方案所取得的技术效果在于:
1、本发明利用元学习提取基于任务的样本,使用样本数量少也可以保证分类精度,本发明为恶意软件分类提供有力支撑;2、本发明采用了困难样本挖掘方法再训练网络模型,进一步提高分类精度,更好的保证网络安全;3、本发明模型简单,所用的参数量少,计算量小。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,一种基于参数优化元学习的恶意软件家族分类方法,包括以下步骤:
步骤1:恶意软件文件预处理:将样本恶意软件文件逐一转换为灰度图像样本;所述灰度图像样本随机划分为训练集Dtrain,验证集Dval,测试集Dtest;
步骤2:神经网络模型训练:
步骤2-1:抽取训练数据:从训练集Dtrain随机抽取样本构成1个以上任务,每个任务包括支撑集Dsupport和搜索集Dquery;
步骤2-2:使用支撑集Dsupport中的灰度图像样本来计算模型参数,进行第一次梯度更新;损失函数使用交叉熵损失函数,计算方法为:
其中,x(j)和y(j)是第j灰度图像样本和标签,fφ是初始化参数为φ的神经网络模型;lT(fφ)是交叉熵损失函数,θ'i是第i个任务支撑集样本计算的第一次更新
步骤2-3:以第一次更新参数θ'i为初始参数,使用搜索集Dquery中的灰度图像样本学习模型参数,使损失函数之和最小;
步骤2-4:以第一次更新参数θ'i为模型参数,以任务中灰度图像样本的损失函数总和为目标函数,优化模型参数,模型参数更新方法为:
步骤2-5:计算任务中灰度图像样本在当前模型参数条件下各恶意软件家族的训练精度,并根据训练精度进行恶意软件家族排序,对于准确率低于预设阈值的恶意软件家族将所使用的灰度图像样本作为困难样本加入下一轮训练的任务中;
步骤2-6:判断本次与上次训练的模型参数对各恶意软件家族分类的训练精度之差是否小于收敛阈值或是否为最后一个任务,如果是,结束转向步骤3,否则转向步骤2-2;
步骤3:模型测试:在测试集Dtest中随机选择1批以上任务进行模型测试,计算各恶意软件家族分类的准确率、精确率、召回率、f1-score指标;
步骤4:模型微调:随机在训练集中抽取1个以上任务,用任务中支撑集Dsupport中的灰度图像样本对步骤3训练好的模型进行微调,微调方法与步骤3相同,用Dquery集去测试模型输出准确率。
所述神经网络模型包含四个结构相同的神经块,各神经块包括一个卷积层,一个BatchNorm层和一个ReLu非线性层;各神经块的输出经2×2的最大池化层后进入分类层Linear,输出分类概率。
第一个卷积块中卷积核的大小为3×3×6,输出的特征图的大小为40×40×6;第二个卷积块中卷积核的大小为3×3×16,输出的特征图的大小为20×20×16;第三个卷积块中卷积核的大小为3×3×32,输出特征图的大小为10×10×32;第四个卷积块中卷积核的大小为3×3×32,输出特征图的大小为5×5×32。
本实施例本发明采用了两个流行的数据集进行模型训练和测试,分别为Mailimg数据集和kaggle数据集。kaggle数据集上有5种恶意家族样本(5way1shot10batch)和分类未知恶意软件家族样本。
对下载的官方原始数据集进行预处理,其中包括.asm文件和.byte文件。这里使用的是.byte文件。首先,删除该文件的特殊字符,如多余的“空格”和“?”;然后,将其转化为二进制文件;最后,使用B2M算法将二进制文件映射为灰度图。例如:将一个随机的二进制序列转化为十进制0101001010100000→01010010,10100000→81,160。即对于一个8位的二进制B=(b7,b6,b5,b4,b3,b2,b1,b0)转化为十进制I=(b0×20+b1×21+b2×22…+b7×27),根据给定的宽度,这个一维数组可以看作是具有一定宽度的二维矩阵,然后利用B2M算法将该二维矩阵映射为灰度图像。因为文件大小不一样,所以生成的图片大小不一样。为了方便数据处理,提高模型的收敛速度和精度,在图片进入模型前将图片同一尺寸,本实施例为80×80,并将图片像素值/255,将像素值归一到0-1之间作为神经网络的输入。为了方便模型训练,将数据样本以.npy的形式保存。
本实施例设置数据迭代器,根据Sampler从Dataset中获取样本,使用python中的DataLoader加载数据。这里读取10批任务,每个任务包括support集(也就是传统的训练集),由于是5分类,每类1个样本,所以共5个样本;query集(也就是传统的测试集),这里每类取15个,共75个样本。所以训练一轮需要读取10×(5+75)=800个样本。
kaggle_train.npy文件进入四层卷积模型进行特征提取,输入的样本尺寸是80×80,进过卷积和池化,最后输出的特征图大小为5×5×32。模型微调时对预处理的样本重新划分。将9个恶意家族中的5个用来训练,剩下的4个恶意家族用来测试模型对于未知类型的样本的分类准确率。
本实施例在Mailing数据集上,处理5分类任务的准确率平均99.89%,处理20分类任务的准确率达99.83%,处理25分类的任务的准确率达98%。在BIG-2015数据集上,分类精度达98.34%。
本发明提出了一个新的恶意软件分类方法,即基于参数优化元学习的恶意软件分类方法。相对于深度学习中批处理训练样本,本发明是批训练任务,并且使用了一个训练初始化参数的算法,使模型能够学到一个好的初始化参数技能,当遇到新任务时通过少量的梯度下降就能有很好的表现。另外,为了提高分类精度,本发明利用了困难样本挖掘的方法去有意的重新采样去训练模型。而且该模型模型结构简单,分类结果也非常可观。本发明的后续工作中还可以设置检测功能,依据训练好的模型不管是对未知的还是已知的恶意软件家族都能很好的分类并预测。
Claims (3)
1.一种基于参数优化元学习的恶意软件家族分类方法,其特征在于:包括如下步骤:
步骤1:恶意软件文件预处理:将样本恶意软件文件逐一转换为灰度图像样本;所述灰度图像样本随机划分为训练集Dtrain,验证集Dval,测试集Dtest;
步骤2:神经网络模型训练:
步骤2-1:抽取训练数据:从训练集Dtrain随机抽取样本构成1个以上任务,每个任务包括支撑集Dsupport和搜索集Dquery;
步骤2-2:使用支撑集Dsupport中的灰度图像样本来计算模型参数,进行第一次梯度更新;损失函数使用交叉熵损失函数,计算方法为:
步骤2-3:以第一次更新参数θ′i为初始参数,使用搜索集Dquery中的灰度图像样本学习模型参数,使损失函数之和最小;
步骤2-4:以第一次更新参数θ′i为模型参数,以任务中灰度图像样本的损失函数总和为目标函数,优化模型参数,模型参数更新方法为:
步骤2-5:计算任务中灰度图像样本在当前模型参数条件下各恶意软件家族的训练精度,并根据训练精度进行恶意软件家族排序,对于准确率低于预设阈值的恶意软件家族将所使用的灰度图像样本作为困难样本加入下一轮训练的任务中;
步骤2-6:判断本次与上次训练的模型参数对各恶意软件家族分类的训练精度之差是否小于收敛阈值或是否为最后一个任务,如果是,结束转向步骤3,否则转向步骤2-2;
步骤3:模型测试:在测试集Dtest中随机选择1批以上任务进行模型测试,计算各恶意软件家族分类的准确率、精确率、召回率、F1-score指标;
步骤4:模型微调:随机在训练集中抽取1个以上任务,用任务中支撑集Dsupport中的灰度图像样本对步骤3训练好的模型进行微调,微调方法与步骤2相同,用Dquery集去测试模型输出准确率。
2.根据权利要求1所述的基于参数优化元学习的恶意软件家族分类方法,其特征在于:所述神经网络模型包含四个结构相同的神经块,各神经块包括一个卷积层,一个BatchNorm层和一个ReLu非线性层;各神经块的输出经2×2的最大池化层后进入分类层Linear,输出分类概率。
3.根据权利要求1所述的基于参数优化元学习的恶意软件家族分类方法,其特征在于:第一个卷积块中卷积核的大小为3×3×6,输出的特征图的大小为40×40×6;第二个卷积块中卷积核的大小为3×3×16,输出的特征图的大小为20×20×16;第三个卷积块中卷积核的大小为3×3×32,输出特征图的大小为10×10×32;第四个卷积块中卷积核的大小为3×3×32,输出特征图的大小为5×5×32。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110259214.0A CN112884061A (zh) | 2021-03-10 | 2021-03-10 | 一种基于参数优化元学习的恶意软件家族分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110259214.0A CN112884061A (zh) | 2021-03-10 | 2021-03-10 | 一种基于参数优化元学习的恶意软件家族分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112884061A true CN112884061A (zh) | 2021-06-01 |
Family
ID=76054062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110259214.0A Pending CN112884061A (zh) | 2021-03-10 | 2021-03-10 | 一种基于参数优化元学习的恶意软件家族分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112884061A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836530A (zh) * | 2021-09-18 | 2021-12-24 | 河北师范大学 | 一种基于MAAM和CliqueNet的恶意软件检测和家族分类方法 |
CN114021122A (zh) * | 2021-11-02 | 2022-02-08 | 北京航空航天大学 | 一种基于时序网络的交互增强型恶意变种检测方法 |
CN115225310A (zh) * | 2022-05-18 | 2022-10-21 | 中国科学院信息工程研究所 | 基于优化元学习的轻量恶意软件流量检测方法及装置 |
CN117892301A (zh) * | 2024-01-15 | 2024-04-16 | 湖北大学 | 少样本恶意软件的分类方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765458A (zh) * | 2019-09-19 | 2020-02-07 | 浙江工业大学 | 一种基于深度学习的恶意软件检测方法及其装置 |
CN111552964A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于静态分析的恶意软件分类方法 |
-
2021
- 2021-03-10 CN CN202110259214.0A patent/CN112884061A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765458A (zh) * | 2019-09-19 | 2020-02-07 | 浙江工业大学 | 一种基于深度学习的恶意软件检测方法及其装置 |
CN111552964A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于静态分析的恶意软件分类方法 |
Non-Patent Citations (1)
Title |
---|
CHELSEA FINN等: "Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks", 《ARXIV.ORG》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836530A (zh) * | 2021-09-18 | 2021-12-24 | 河北师范大学 | 一种基于MAAM和CliqueNet的恶意软件检测和家族分类方法 |
CN113836530B (zh) * | 2021-09-18 | 2024-03-19 | 河北师范大学 | 一种基于MAAM和CliqueNet的恶意软件检测和家族分类方法 |
CN114021122A (zh) * | 2021-11-02 | 2022-02-08 | 北京航空航天大学 | 一种基于时序网络的交互增强型恶意变种检测方法 |
CN114021122B (zh) * | 2021-11-02 | 2024-05-03 | 北京航空航天大学 | 一种基于时序网络的交互增强型恶意变种检测方法 |
CN115225310A (zh) * | 2022-05-18 | 2022-10-21 | 中国科学院信息工程研究所 | 基于优化元学习的轻量恶意软件流量检测方法及装置 |
CN115225310B (zh) * | 2022-05-18 | 2024-05-07 | 中国科学院信息工程研究所 | 基于优化元学习的轻量恶意软件流量检测方法及装置 |
CN117892301A (zh) * | 2024-01-15 | 2024-04-16 | 湖北大学 | 少样本恶意软件的分类方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112884061A (zh) | 一种基于参数优化元学习的恶意软件家族分类方法 | |
CN110765458B (zh) | 一种基于深度学习的恶意软件图像格式检测方法及其装置 | |
Al-Qaisi et al. | Wave file features extraction using reduced LBP | |
CN109800754A (zh) | 一种基于卷积神经网络的古字体分类方法 | |
CN110390347B (zh) | 针对深度神经网络的条件引导式对抗生成测试方法与系统 | |
CN108805833B (zh) | 基于条件对抗网络的字帖二值化背景噪声杂点去除方法 | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
CN111552964A (zh) | 一种基于静态分析的恶意软件分类方法 | |
CN111832650A (zh) | 基于生成对抗网络局部聚合编码半监督的图像分类方法 | |
CN111832580B (zh) | 结合少样本学习与目标属性特征的sar目标识别方法 | |
CN106250871A (zh) | 城市管理案件分类方法及装置 | |
CN114491115B (zh) | 一种基于深度哈希的多模型融合的集成图像检索方法 | |
CN114972886A (zh) | 一种图像隐写分析方法 | |
CN113282926B (zh) | 一种基于三通道图像的恶意软件分类方法 | |
CN116258917B (zh) | 一种基于tf-idf转移熵的恶意软件分类方法及装置 | |
CN115292538A (zh) | 一种基于深度学习的地图线要素提取方法 | |
CN116935130A (zh) | 基于ResNet和OCR的图片联合分类方法、装置、电子设备及介质 | |
Anggoro et al. | Classification of Solo Batik patterns using deep learning convolutional neural networks algorithm | |
CN115565078A (zh) | 基于加权交叉熵损失的遥感图像场景分类和语义分割方法 | |
Guo et al. | Automatic rock classification algorithm based on ensemble residual network and merged region extraction | |
CN114896598A (zh) | 一种基于卷积神经网络的恶意代码检测方法 | |
Khankeshizadeh et al. | Building detection in VHR remote sensing images using a novel dual attention residual-based U-Net (DAttResU-Net): An application to generating building change maps | |
CN110309870A (zh) | 一种图像分类的方法 | |
Singh et al. | Transfer and Deep Learning‐Based Gurmukhi Handwritten Word Classification Model | |
CN114708467B (zh) | 基于知识蒸馏的不良场景识别方法及系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210601 |