当前位置: 首页 > 专利查询>福州大学专利>正文

基于卷积神经网络的恶意代码检测方法技术

技术编号:39280879 阅读:9 留言:0更新日期:2023-11-07 10:55
本发明专利技术公开了基于卷积神经网络的恶意代码检测方法,包括以下步骤:收集代码数据集并标注,将标注后的代码数据集按设定的数量比例划分为训练集和测试集;使用词袋模型将代码数据集的代码文件转换为词袋向量,采用TF

【技术实现步骤摘要】
基于卷积神经网络的恶意代码检测方法


[0001]本专利技术属于软件工程
,特别涉及基于卷积神经网络的恶意代码检测方法。

技术介绍

[0002]恶意代码根据其行为和执行过程分为许多类别,如蠕虫、病毒、特洛伊木马、rootkit、后门、间谍软件、逻辑炸弹、广告软件和勒索软件。攻击计算机系统是为了破坏计算机资源,获取经济利益,窃取私人和机密数据,使用计算资源,使系统无法获得服务等等。恶意代码的编写者和安全人员之间便是一场无止休的军备竞赛,一方面,安全人员在不断寻找新方法去提高恶意代码的检测能力,另一方面,恶意软件编写者也在不断提高代码的混淆能力以试图躲过检测。
[0003]现有技术中基于卷积神经网络的恶意代码检测方法,包括:公开号为“CN113806746A”的中国专利技术专利申请提出基于改进CNN网络的恶意代码检测方法,通过图像化技术将恶意代码转换成灰度图像特征,再通过N

Gram技术提取恶意代码的操作码序列特征,通过特征融合技术将全局特征和局部特征进行特征融合,得到的融合特征输入到改进的卷积神经网络模型训练并选用合适的分类器进行检测。公开号为“CN114238977A”的中国专利技术专利申请提出一种融合efficient

net和1d

cnn的恶意代码家族分类方法,将恶意代码的二进制文件分别转换为1维矢量和图像后,分别输入两个网络,将其特征图进行了金字塔融合。公开号为“CN116257851A”的中国专利技术专利申请提出的一种基于CNN和Vi Transformer的软件恶意代码识别方法,对恶意代码源程序进行反汇编操作;将反汇编后的数据转换为灰度图;将灰度图输入到CNN网络,得到局部特征图;将局部特征图输入到转化模块中进行编码处理;将编码后的数据输入到Transformer模块中,得到恶意代码识别结果。以上专利技术均是将代码转换为图像后输入卷积网络模型进行检测,将代码转换为图像形式时,会丢失一些细节和语义信息,代码中的标识符、注释、缩进等都包含着重要的信息,但在转换为图像时可能无法很好地保留,这可能导致模型无法充分利用代码的结构和语义信息;另外,由于图像是具有固定大小的二维数据,而代码的长度和结构可能各不相同,在将代码转换为图像时,需要确定一个固定的图像大小,可能需要进行填充或截断操作,这可能会引入冗余信息或丢失部分代码信息;使得检测的效率及准确率不足。
[0004]词袋模型是一种常用的文本表示方法,它在文本处理任务中有广泛的应用。公开号为“CN110096591A”的中国专利技术专利申请提出基于词袋模型的长文本分类方法,首先获取待分类的长文本;根据预设规则滤除所述长文本中的噪音字符;基于第一词袋模型,从滤除所述噪音字符的长文本提取第一词袋特征向量,所述第一词袋模型的词典包括若干词语;基于第二词袋模型,从滤除所述噪音字符的长文本提取第二词袋特征向量,所述第二词袋模型的词典包括若干单个文字;基于分类模型,根据所述第一词袋特征向量和第二词袋特征向量对所述待分类的长文本进行分类以得到分类数据。

技术实现思路

[0005]本专利技术提供基于卷积神经网络的恶意代码检测方法,旨在解决现有卷积神经网络对恶意代码进行检测存在的效率及准确率不足的问题。
[0006]为解决上述技术问题,本专利技术提出基于卷积神经网络的恶意代码检测方法,包括以下步骤:
[0007]S1:收集代码数据集并标注,所述代码数据集包括恶意代码文件及正常代码文件,所述标注的内容为代码文件的类别,包括恶意文件及正常文件,将标注后的代码数据集按设定的数量比例划分为训练集和测试集。
[0008]S2:使用词袋模型按预设规则将所述代码数据集中的代码文件转换为词袋向量,采用TF

IDF方法将转换后的训练集进行归一化。
[0009]S3:构建用于恶意代码检测的卷积神经网络模型,所述卷积神经网络模型包括依序设置的卷积网络、池化网络及全连接网络,所述卷积网络使用残差结构的卷积块,用于提取词袋向量特征,所述池化网络用于降低卷积网络输出的特征矩阵的维度,所述全连接网络用于对输入的特征向量进行分类。
[0010]S4:使用所述训练集中的词袋向量对卷积神经网络模型进行训练,使用所述测试集评估出最佳模型。
[0011]S5:使用词袋模型将待检测代码文件转换后输入至所述最佳模型,最佳模型输出待检测代码文件的类别。
[0012]优选的,所述卷积网络将输入的词袋向量复制为两个子集,第一子集依次经过卷积、批量归一化、ReLU激活、卷积及批量归一化操作后,与第二子集相加,相加后的特征矩阵经过一次ReLU激活操作作为每个卷积块的操作。
[0013]优选的,所述TF

IDF方法对转换后的训练集进行归一化具体如下:
[0014][0015]式中,v
norm
为归一化后的词袋向量,v为原始的词袋向量,TF为词频,表示单词在代码文件中出现的频率,IDF为逆文本频率,表示单词在代码文件中区分力指标。TF和IDF的计算方法如下:
[0016][0017][0018]式中,TF
i
为单词i在一代码文件中出现的频率,n
i
为单词i在一代码文件中出现的次数,∑
j
n
j
为一代码文件中所有单词出现的次数之和,IDF
i
为单词i的逆文本频率,∑d表示训练集代码文件的总数量,d
i
表示训练集中包含单词i的代码文件数量。
[0019]优选的,所述步骤S4对训练结果的评估采用F0.5分数,将F0.5分数首次大于80的模型作为最佳模型。
[0020]优选的,所述F0.5分数的计算公式如下:
[0021][0022]式中,Precision表示精确率,Recall表示召回率,计算方法如下:
[0023][0024][0025]式中,TP表示真正例,FP表示假正例,FN表示假反例。
[0026]优选的,所述卷积网络的卷积核大小设置为3
×
3。
[0027]优选的,所述池化网络采用池化核大小为2
×
2、步幅为2的最大池化方法。
[0028]优选的,所述全连接网络的输出结果可以表示为:
[0029]y=Wx+b
[0030]式中,y是全连接网络的输出结果,W是全连接网络的权重矩阵,x是输入全连接网络的特征向量,b是偏置向量,W的维度为(n
out
,n
in
),其中n
out
是输出神经元的数量,n
in
是输入全连接网络特征向量的长度。
[0031]与现有技术相比,本专利技术具有以下技术效果:
[0032]1.本专利技术使用训练好的卷积神经网络模型对恶意代码进行检测,首先使用词袋模型按预设规则将所述代码数据集中的代码文件转换为词袋向量,将词袋向量输入卷积神经网络中进行训练或检测,避免现本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于卷积神经网络的恶意代码检测方法,其特征在于,包括以下步骤:S1:收集代码数据集并标注,所述代码数据集包括恶意代码文件及正常代码文件,所述标注的内容为代码文件的类别,包括恶意文件及正常文件,将标注后的代码数据集按设定的数量比例划分为训练集和测试集;S2:使用词袋模型按预设规则将所述代码数据集中的代码文件转换为词袋向量,采用TF

IDF方法将转换后的训练集进行归一化;S3:构建用于恶意代码检测的卷积神经网络模型,所述卷积神经网络模型包括依序设置的卷积网络、池化网络及全连接网络,所述卷积网络使用残差结构的卷积块,用于提取词袋向量特征,所述池化网络用于降低卷积网络输出的特征矩阵的维度,所述全连接网络用于对输入的特征向量进行分类;S4:使用所述训练集中的词袋向量对卷积神经网络模型进行训练,使用所述测试集评估出最佳模型;S5:使用词袋模型将待检测代码文件转换后输入至所述最佳模型,最佳模型输出待检测代码文件的类别。2.根据权利要求1所述的基于卷积神经网络的恶意代码检测方法,其特征在于,所述卷积网络将输入的词袋向量复制为两个子集,第一子集依次经过卷积、批量归一化、ReLU激活、卷积及批量归一化操作后,与第二子集相加,相加后的特征矩阵经过一次ReLU激活操作作为每个卷积块的操作。3.根据权利要求1所述的基于卷积神经网络的恶意代码检测方法,其特征在于,所述TF

IDF方法对转换后的训练集进行归一化具体如下:式中,v
norm
为归一化后的词袋向量,v为原始的词袋向量,TF为词频,表示单词在代码文件中出现的频率,IDF为逆文本频率,表示单词在代码文件中区分力指标;TF和IDF的计算方法如下:法如下:式中,TF
i
为单词i在一代码文件中出现的频率,...

【专利技术属性】
技术研发人员:方城
申请(专利权)人:福州大学
类型:发明
国别省市:

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

1