基于机器码字节流的端到端的深度学习恶意软件分类方法技术

技术编号:37331010 阅读:11 留言:0更新日期:2023-04-21 23:08
本发明专利技术公开了一种基于机器码字节流的端到端的深度学习恶意软件分类方法,以恶意软件机器码字节流为输入,经过恶意软件领域表示向量编码、恶意软件全区信息抽取模块、残差链接模块、分类输出模块的处理,从而给出该恶意软件的分类结果。本发明专利技术在准确表征原恶意软件特征的同时尽可能减少特征向量长度,进而减少计算量,解决恶意软件检测时对专家知识强依赖的问题,提高恶意软件分类模型的泛化能力,降低人力消耗,提高安全应急响应速度,给出了实现的技术细节,提供了可以解释的分类判断理由,提高了恶意软件分类准确率和分类精度,使恶意软件即使经过修饰之后也能够被正确检测和分类,保证计算机系统的安全稳定运行,满足日益严峻的网络安全态势。严峻的网络安全态势。严峻的网络安全态势。

【技术实现步骤摘要】
基于机器码字节流的端到端的深度学习恶意软件分类方法


[0001]本专利技术涉及网络安全
,尤其涉及一种基于机器码字节流的端到端的深度学习恶意软件分类方法。

技术介绍

[0002]在云计算、大数据、无纸化办公盛行的时代,个人隐私数据、公司业务数据等敏感数据量,办公自动化系统、云文档系统、企业资源规划系统等计算机系统已经成为人们工作生活中不可或缺的部分。然而,随着计算机技术的发展,恶意攻击者为了窃取数据资产开发出大量新型恶意软件,网络攻击体量不断扩大、恶意软件变异速度逐渐加快、恶意软件检测难度大幅提升。恶意软件对网络安全态势造成了极大威胁,阻碍工作生产正常进行。在这一背景下,网络安全的重要性越来越凸显,网络安全技术的研究也成了一个非常大的热点。
[0003]入侵检测系统(Intrusion Detection System,IDS)是一种用来检测入侵、并对入侵进行主动防御的网络安全技术。在入侵检测系统中,最重要的一环就是监控计算机运行状态,检测出恶意软件,并进行必要的安全处置。传统的恶意软件入侵检测方法主要采用基于指纹库的方法,即将恶意软件的哈希、异常行为等信息建立指纹库,与每一次操作与指纹库内的信息进行匹配,以确定被保护设备是否被恶意软件攻击。但是随着越来越多、越来越新颖的网络攻击出现,该方法存在着检测效果差、泛化性能不足、维护指纹库工作量巨大等缺点。
[0004]随着人工智能技术的不断发展,机器学习和深度学习方法被安全研究员应用于恶意软件检测领域。现有的基于机器学习的恶意软件检测方法可以依靠特征向量通过梯度下降算法等优化方式进行训练,对训练及特征进行自动拟合,在新样本出现时有一定的泛化能力。虽然决策树、随机森林、朴素贝叶斯等机器学习算法避免了维护指纹库的工作量,但是特征向量的选择仍然强依赖专家知识,当特征向量不够科学时,模型往往性能较差。并且由于模型根据构造好的特征向量进行分类,误报情况较多,对正常软件存在误伤情况。现有研究表明单一的机器学习算法应用己经难以提高检测系统在复杂数据环境下的检测性能。
[0005]近年来,深度学习技术在计算机视觉、自然语言处理等领域取得了突破性进展,展现出比机器学习技术更强大的特征抽取和特征表示能力。因此利用卷积神经网络、深度神经网络等将深度学习技术作为特征选择或特征提取的手段应用于恶意软件检测与分类系统中,以期获得更能反映待检测样本的特征,系统通过这些特征进行模式识别,不仅可以有效检测出未知攻击类型和已知攻击类型的变种,还可以降低特征抽取阶段对专家知识的依赖。虽然深度学习可以有效提取恶意软件的高维向量表示,但是仍存在以下缺点:(1)特征抽取规则不明确,容易被恶意软件经过简单修饰和混淆的变异样本绕过逃避检测或使恶意软件检测器分类出错;(2)模型参数量大,对运行设备的硬件资源有一定要求;(3)对恶意软件的运行原理理解不足,深度学习模型可解释性差,难以向安全人员提供可以解释的分类判断理由。
[0006]为了应对日益严峻的网络安全态势,需要开发出一种新的深度学习恶意软件分类
方法,不仅要能够提高恶意软件的检测精度、提高模型的泛化能力、降低对专家知识的依赖,还需要提高检测模型的抗干扰能力,使恶意软件即使经过修饰之后也能够被正确检测和分类,保证计算机系统的安全稳定运行。

技术实现思路

[0007]本专利技术针对现有基于深度学习的恶意软件检测技术的缺点,提出一种基于机器码字节流的端到端的深度学习恶意软件分类方法。
[0008]为了实现上述目的,本专利技术提供如下技术方案:
[0009]一种基于机器码字节流的端到端的深度学习恶意软件分类方法,包括以下步骤:
[0010]S1、以恶意软件样本机器码字节流为输入,经过恶意软件领域表示向量编码,输出恶意软件邻域信息;所述恶意软件领域表示向量编码利用一维卷积实现对恶意软件向量的纵向降维,利用一维池化实现对恶意软件向量的横向降维;
[0011]S2、恶意软件邻域信息经过恶意软件全区信息抽取模块,输出恶意软件全局信息;所述恶意软件全区信息抽取模块使用自注意力机制处理降维后的恶意软件表示向量;
[0012]S3、恶意软件邻域信息和全局信息共同输入残差链接模块,输出恶意软件表示向量;
[0013]S4、恶意软件表示向量经过分类输出模块的处理,输出恶意软件分类结果。
[0014]进一步地,步骤S1字节流输入前先修改机器码字节流的两个标志位来使样本无害化,然后截取前204800字节作为分类依据,将长度为204800的机器码字节流作为输入。
[0015]进一步地,所述步骤S1中恶意软件领域表示向量编码的过程为:
[0016](1)首先将Embedding编码结果e经过一个参数独立的卷积层进行高维特征抽取得到两个(400*32)的向量c
m
和c
p
,卷积运算的公式如下所示:
[0017][0018]其中x为输入向量,kernel为卷积核,i、j、p、q为卷积相对坐标;
[0019](2)对c
m
和c
p
两个向量求Hadamard运算得到一个(400*32)的低维向量c
h
,Hadamard运算为向量按位相乘,其计算公式如下所示:
[0020][0021](3)然后对其进行一维池化降维,得到(400*1)的恶意软件中间向量表示r
c
,其计算公式如下所示:
[0022][0023]卷积层Sigmoid激活函数计算公式如下所示:
[0024][0025]Hadamard运算ReLU激活函数计算公式如下所示:
[0026]ReLU(x)=max(0,x)
ꢀꢀ
(5)
[0027]其中x为输入值。
[0028]进一步地,所述步骤S2中恶意软件全区信息抽取模块的过程为:
[0029]恶意软件表示向量r
c
经过重新排列形成(25*16)的向量,建模为一个包含25个单
词的句子,每个单词由长度为16的向量表示,经过一个自注意力层提取恶意软件长距离之间的可用信息,得到一个(400*1)的恶意软件概要信息向量表示r
a
,自注意力机制计算公式如下所示:
[0030][0031]其中words代表恶意软件表示向量r
c
转化成的25个长度为16的word组成的矩阵,W
Q
、W
K
、W
V
均为模型通过训练得到的参数矩阵,Q、K、V分别是25个word对应的自注意力机制中定义的查询、键、值三个向量组成的矩阵;
[0032][0033]采用8头注意力模型,最终输出结果r
a
为包含恶意软件全文信息的表示向量,公式如下所示:
[0034][0035]其中i代表第i个注意力头,W
iQ
、均为模型通过训练得到的参数矩阵,注意力机制的第i个头根据Q、K、V计算该本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于机器码字节流的端到端的深度学习恶意软件分类方法,其特征在于,包括以下步骤:S1、以恶意软件样本机器码字节流为输入,经过恶意软件领域表示向量编码,输出恶意软件邻域信息;所述恶意软件领域表示向量编码利用一维卷积实现对恶意软件向量的纵向降维,利用一维池化实现对恶意软件向量的横向降维;S2、恶意软件邻域信息经过恶意软件全区信息抽取模块,输出恶意软件全局信息;所述恶意软件全区信息抽取模块使用自注意力机制处理降维后的恶意软件表示向量;S3、恶意软件邻域信息和全局信息共同输入残差链接模块,输出恶意软件表示向量;S4、恶意软件表示向量经过分类输出模块的处理,输出恶意软件分类结果。2.根据权利要求1所述的基于机器码字节流的端到端的深度学习恶意软件分类方法,其特征在于,步骤S1字节流输入前先修改机器码字节流的两个标志位来使样本无害化,然后截取前204800字节作为分类依据,将长度为204800的机器码字节流作为输入。3.根据权利要求1所述的基于机器码字节流的端到端的深度学习恶意软件分类方法,其特征在于,所述步骤S1中恶意软件领域表示向量编码的过程为:(1)首先将Embedding编码结果e经过一个参数独立的卷积层进行高维特征抽取得到两个(400*32)的向量c
m
和c
p
,卷积运算的公式如下所示:其中x为输入向量,kernel为卷积核,i、j、p、q为卷积相对坐标;(2)对c
m
和c
p
两个向量求Hadamard运算得到一个(400*32)的低维向量c
h
,Hadamard运算为向量按位相乘,其计算公式如下所示:i为行号、j为列号
ꢀꢀꢀꢀ
(2)(3)然后对其进行一维池化降维,得到(400*1)的恶意软件中间向量表示r
c
,其计算公式如下所示:i为行号、j为列号
ꢀꢀꢀꢀ
(3)卷积层Sigmoid激活函数计算公式如下所示:其中x为输入值
ꢀꢀꢀꢀ
(4)Hadamard运算ReLU激活函数计算公式如下所示:ReLU(x)=max(0,x)
ꢀꢀ
(5)其中x为输入值。4.根据权利要求1所述的基于机器码字节流的端到端的深度学习恶意软件分类方法,其特征在于,所述步骤S2中恶意软件全区信息抽取模块的过程为:恶意软件表示向量r
c
经过重新排列形成(25*16)的向量,建模为一个包含25个单词的句子,每个单词由长度为16的向量表示,经过一个自注意力层提取恶意软件长距离之间的可用信息,得到一个(400*1)的恶意软件概要信息向量表示r
a
,自注意力机制计算公式如下所示:
其中words代表恶意软件表示向量r
c
转化成的25个长度为16的word组成的矩阵,W
Q
、W
K
、W
V
均为模型通过训练得到的参数矩阵,Q、K、V分别是25个word对应的自注意...

【专利技术属性】
技术研发人员:李小勇侯子晗李灵慧高雅丽苑洁
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1