一种基于原型网络的小样本恶意软件分类方法和系统技术方案

技术编号:35305023 阅读:7 留言:0更新日期:2022-10-22 12:54
本发明专利技术公开了一种基于原型网络的小样本恶意软件分类方法和系统,包括以下步骤:(1)使用沙箱动态运行软件样本得到API序列,然后采用N

【技术实现步骤摘要】
一种基于原型网络的小样本恶意软件分类方法和系统


[0001]本专利技术涉及一种信息安全与深度学习技术,具体涉及一种基于原型网络的小样本恶意软件分类方法和系统。

技术介绍

[0002]恶意软件是威胁国家网络空间安全和数字经济建设的最大隐患之一。近年来,随着信息产业的迅速发展,恶意软件在种类和数量上快速增长,一方面,特洛伊木马、网络蠕虫、电脑病毒等传统恶意软件的威胁不断扩大;另一方面,新型恶意软件不断涌现。因此,如何有效地检测和分类恶意软件,是信息安全领域的一个重要的研究主题。
[0003]现有的恶意软件检测和分类方法主要分为静态和动态两大类。静态方法通过对软件样本的代码特征和文件结构进行分析来实现检测和分类。静态方法的优势在于不需要实际运行软件样本,检测代价较小。然而,软件打包、代码混淆等技术可以绕过静态方法。动态方法通过在沙箱中实际运行软件样本,并通过分析其实际行为来实现检测和分类。动态方法的优势在于不受软件打包、代码混淆等扰动的影响。
[0004]API调用是软件动态运行过程中最重要的行为,因此分析API序列是实现恶意软件动态检测和分类的重要手段。API序列分析的主要方法包括序列模式挖掘、依赖图分析、时序模型等。其中,机器学习技术(特别是深度学习技术)由于其自动从大量软件样本中学习规律的能力,已成为恶意软件检测和分类的主流技术。然而,现有基于机器学习的恶意软件检测和分类方法存在以下不足:基于机器学习(特别是深度学习)的恶意软件检测和分类技术需要大量的训练样本来训练模型。然而,在真实环境中,恶意软件样本的获取比较困难(特别是一些新型的恶意软件),导致恶意软件样本的数量通常十分有限。在这种条件下,采用普通的机器学习技术训练出的恶意软件检测和分类模型通常会产生严重的过拟合,导致泛化能力低下。

技术实现思路

[0005]本专利技术解决的技术问题是提供一种基于原型网络的小样本恶意软件分类方法,可以在训练样本数量有限的条件下训练出高准确率的软件样本分类模型。
[0006]本专利技术解决其技术问题所采用的技术方案是:一种基于原型网络的小样本恶意软件分类方法,其特征在于:
[0007]步骤一、软件样本数据获取和预处理:使用沙箱动态运行软件样本得到API序列,然后采用N

Gram算法对API序列进行切分,并采用词嵌入算法学习N

Gram的表征向量;
[0008]步骤二、软件样本表征模型构建:根据N

Gram的表征向量并结合循环神经网络和卷积神经网络构建N

Gram序列的表征模型,获得每个软件样本的表征向量;
[0009]步骤三、软件样本分类模型训练:采用原型网络来构建软件样本分类模型,并采用元学习来训练软件样本分类模型;
[0010]步骤四、软件样本实时分类:给定一个实时软件样本,通过计算其与各个原型的距
离来实现分类。
[0011]进一步的是:步骤一中的软件样本数据获取和预处理的具体方法为:
[0012]1.1、API序列获取:给定一个软件样本集SS,对其中的每个软件样本s
k
,使用沙箱动态运行软件对其进行动态的模拟运行,得到s
k
的API序列as
k
,记SS中所有软件样本的API序列集为ASS;
[0013]1.2、API序列切分:采用N

Gram算法对每个API序列as
k
进行切分,得到对应的N

Gram 序列gs
k
,记SS中所有软件样本的N

Gram序列集为GSS;
[0014]1.3、API表征学习:将GSS中每个N

Gram看成一个词,采用GloVe算法对GSS进行学习,得到每个N

Gram的d维表征向量,记N

Gram gram
k
的表征向量为e
k

[0015]进一步的是:步骤二中的软件样本表征模型构建的具体方法为:
[0016]2.1、训练样本集构建:给定软件样本s
k
,通过截断和填充操作将s
k
的N

Gram序列gs
k
处理成固定长度T,记处理后的N

Gram序列为fgs
k
,则s
k
对应的训练样本为ts
k
=(fgs
k
, label
k
),其中label
k
为s
k
的标注,假定标注类型的数量为N,N为正整数,最终,所有软件样本得到的训练样本集记为TS;
[0017]所述label
k
为正常软件或恶意软件;
[0018]2.2、表征模型构建:融合循环神经网络与卷积神经网络构建表征模型。
[0019]进一步的是:步骤2.2中的表征模型构建的具体方法为:
[0020]所述表征模型包括输入层、循环层和卷积层;
[0021]输入层:将s
k
表示成一个T
×
d大小的矩阵IM
k
。其中,T为s
k
对应的N

Gram序列的长度,d为每个N

Gram的表征向量的维度,
[0022]循环层:将IM
k
输入一个BiLSTM网络,每个d维N

Gram表征向量输入一个BiLSTM 单元,则BiLSTM网络输出为一个T
×
d2大小的矩阵RM
k,
其中,d2为BiLSTM单元输出的隐状态向量的维度,
[0023]卷积层:将RM
k
输入一个CNN网络,该CNN网络的卷积核大小为h
×
d,处理后得到一个T

h+1维的向量cv
k
,并将cv
k
作为软件样本s
k
的表征向量。
[0024]进一步的是:步骤三中的软件样本分类模型训练的具体方法为:
[0025]3.1、支持集和查询集构建:从N个标注类型中随机选取n个,n<N,首先为这n个标注类型每个随机选取k个软件样本,得到大小为n
×
k的软件样本集,称为支持集,记为D
sup
, 为这n个标注类型每个随机选取另外k个软件样本,得到大小为n
×
k的软件样本集,称为查询集,记为D
que

[0026]3.2、原型构建:对D
sup
中的软件样本进行聚类,构建原型集,具体步骤如下:
[0027]3.3、模型训练:基于D
que
对原型网络分类器进行训练,具体步骤如下:...

【技术保护点】

【技术特征摘要】
1.一种基于原型网络的小样本恶意软件分类方法,其特征在于:步骤一、软件样本数据获取和预处理:使用沙箱动态运行软件样本得到API序列,然后采用N

Gram算法对API序列进行切分,并采用词嵌入算法学习N

Gram的表征向量;步骤二、软件样本表征模型构建:根据N

Gram的表征向量并结合循环神经网络和卷积神经网络构建N

Gram序列的表征模型,获得每个软件样本的表征向量;步骤三、软件样本分类模型训练:采用原型网络来构建软件样本分类模型,并采用元学习来训练软件样本分类模型;步骤四、软件样本实时分类:给定一个实时软件样本,通过计算其与各个原型的距离来实现分类。2.如权利要求1所述的基于原型网络的小样本恶意软件分类方法,其特征在于:步骤一中的软件样本数据获取和预处理的具体方法为:1.1、API序列获取:给定一个软件样本集SS,对其中的每个软件样本s
k
,使用沙箱动态运行软件对其进行动态的模拟运行,得到s
k
的API序列as
k
,记SS中所有软件样本的API序列集为ASS;1.2、API序列切分:采用N

Gram算法对每个API序列as
k
进行切分,得到对应的N

Gram序列gs
k
,记SS中所有软件样本的N

Gram序列集为GSS;1.3、API表征学习:将GSS中每个N

Gram看成一个词,采用GloVe算法对GSS进行学习,得到每个N

Gram的d维表征向量,记N

Gram gram
k
的表征向量为e
k
。3.如权利要求2所述的基于原型网络的小样本恶意软件分类方法,其特征在于:步骤二中的软件样本表征模型构建的具体方法为:2.1、训练样本集构建:给定软件样本s
k
,通过截断和填充操作将s
k
的N

Gram序列gs
k
处理成固定长度T,记处理后的N

Gram序列为fgs
k
,则s
k
对应的训练样本为ts
k
=(fgs
k
,label
k
),其中label
k
为s
k
的标注,假定标注类型的数量为N,N为正整数,最终,所有软件样本得到的训练样本集记为TS;所述label
k
为正常软件或恶意软件;2.2、表征模型构建:融合循环神经网络与卷积神经网络构建表征模型。4.如权利要求3所述的基于原型网络的小样本恶意软件分类方法,其特征在于:步骤2.2中的表征模型构建的具体方法为:所述表征模型包括输入层、循环层和卷积层;输入层:将s
k
表示成一个T
×
d大小的矩阵IM
k
。其中,T为s
k
对应的N

Gram序列的长度,d为每个N

Gram的表征向量的维度,循环层:将IM
k
输入一个BiLSTM网络,每个d维N

Gram表征向量e
k
输入一个BiLSTM单元,则BiLSTM网络输出为一个T
×
d2大小的矩阵RM
k
,其中,d2为BiLSTM单元输出的隐状态向量的维度,卷积层:将RM
k
输入一个CNN网络,该CNN网络的卷积核大小为h
×
d,处理后得到一个T

h+1维的向量cv
k
,并将cv
k
作为软件样本s
k
的表征向量。5.如权利要求4所述的基于原型网络的小样本恶意软件分类方法,其特征在于:步骤三中的软件样本分类模型训练的具体方法为:3.1、支持集和查询集构建:从N个标注类型中随机选取n个,首先为这n个标注类型每个
随机选取k个软件样本,得到大小为n
×
k的软件样本集,称为支持集,记为D
sup
,为这n个标注类型每个随机选取另外k个软件样本,得到大小为n
×
k的软件样本集,称为查询集,记为D
que
;3.2、原型构建:对D
sup
中的软件样本进行聚类,构建原型集;3.3、模型训练:基于D
que
对原型网络分类器进行训练,具体步骤如下:3.3.1、软件样本分类:对D
que
中的每个软件样本...

【专利技术属性】
技术研发人员:吕明琪欧阳明
申请(专利权)人:苏州卓联优智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1