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

恶意软件识别模型构建、识别方法及介质和设备技术

技术编号:23933259 阅读:26 留言:0更新日期:2020-04-25 02:13
本实施例公开了恶意软件识别模型构建、识别方法及介质和设备,首先构建编码器网络和解码器网络,针对于构建的编码器网络和解码器网络进行训练,获取到生成器网络,同时构建鉴别器网络;并且通过训练样本对生成器网络和鉴别器网络进行训练;在发明专利技术中,鉴别器网络包括两个输出模型,一个单输出的标准置信度输出,一个多输出的分类器输出。本发明专利技术构建的恶意软件识别模型,通过鉴别器网络输出的标准置信度可以检测出未知新奇的恶意软件,而通过鉴别器网络的多分类器的输出可以检测出恶意软件具体所属类别,考虑了恶意软件的开集识别问题,有利于在现实世界中进行恶意软件的检测与分类。

Construction of malware identification model, identification methods, media and devices

【技术实现步骤摘要】
恶意软件识别模型构建、识别方法及介质和设备
本专利技术属于涉及信息安全和模式识别领域,特别涉及一种恶意软件识别模型构建、识别方法及介质和设备。
技术介绍
恶意软件,如恶意脚本、漏洞利用、后门、蠕虫、特洛伊木马、间谍软件、rootkit等,给计算机系统带来严重危害,影响用户的正常操作,是当今互联网面临的最可怕和主要的安全威胁之一。近年来,恶意软件数量都呈指数增长。为了应对大量的恶意软件,有必要对恶意软件进行分类分析。利用深度神经网络使得恶意软件分类任务得到较好的结果,然而,由于恶意软件研究领域天然的对抗性,恶意软件作者会不断地发布新的恶意软件家族,所以在相对开放的恶意软件分类环境中,待测样本可能属于训练集中的已知家族或训练集中不存在的新家族,若采用传统的分类方式,则会造成错误分类。可见,现有的封闭集合的恶意软件检测方法已经不能满足恶意软件家族日益增长的现实环境,如何在开放集合中对已知类的恶意软件进行分类,同时对未知类的恶意软件进行识别是恶意软件检测面临的一个新的问题。
技术实现思路
本专利技术的第一目的在于克服现有技术的缺点与不足,提供一种恶意软件识别模型构建方法,通过该方法可以构建出恶意软件识别模型,以识别出已知恶意软件分类中的恶意软件和未知新奇的恶意软件。本专利技术第二目的在于提供一种恶意软件识别模型识别方法,该方法能够准确的识别出已知恶意软件分类中的恶意软件和未知新奇的恶意软件。本专利技术第三目的在于提供一种恶意软件识别模型构建装置。本专利技术第四目的在于提供一种存储介质。本专利技术第五目的在于提供一种计算设备。本专利技术的第一目的通过下述技术方案实现:一种恶意软件识别模型构建方法,所述方法包括:获取带标签的各类恶意软件样本,构成训练集;构建编码器网络和解码器网络,并且将编码器网络的输出作为解码器网络的输入;将训练样本的特征向量作为编码器网络的输入,对编码器网络和解码器网络进行训练,将训练完成的解码器网络作为生成器网络;构建鉴别器网络,该网络包括两个输出模型,一个单输出的标准置信度输出,一个多输出的分类器输出;通过训练样本训练生成器网络和鉴别器网络,如下:S1、将训练样本的特征向量输入到鉴别器网络,得到多分类器输出,计算多分类输出的误差loss1,根据误差loss1更新鉴别器网络;S2、将随机生成的高斯噪声与训练集中各训练样本的标签向量输入到生成器网络中,得到第一生成样本;将上述对应标签向量下得到的第一生成样本和对应标签向量输入到鉴别器网络中,得到标准置信度输出,计算标准置信度输出的误差loss2;同时将训练样本的特征向量输入到鉴别器网络,得到标准置信度输出,计算标准置信度输出的误差loss3;通过误差loss2和loss3更新生成器网络和鉴别器网络;S3、将随机生成的高斯噪声与训练集中各训练样本的标签向量输入到生成器网络中,得到第二生成样本;将上述对应标签向量下得到的第二生成样本和对应标签向量输入到鉴别器网络中,得到标准置信度输出,计算标准置信度输出的误差loss4;利用误差loss4更新生成器网络和鉴别器网络;S4、重复多次执行步骤S1至S3,得到训练完成的生成器网络和鉴别器网络,作为恶意软件识别模型。优选的,针对于获取带标签的各类恶意软件样本,将其中几类恶意软件本划分为新奇类恶意软件本,其他类恶意软件样本按照一定比例划分为训练集和验证集;将新奇类恶意软件样本加入到验证集中;所述方法还包括如下步骤:通过验证集对当前恶意软件识别模型进行验证,具体过程如下:S5、根据验证集中验证样本的标签,将验证样本分为正常数据和新奇数据的类别;所述正常数据指的是属于训练集中恶意软件分类的数据;新奇数据指的是不属于训练集中所有恶意软件分类的数据;S6、将各验证样本的特征向量输入到当前恶意软件识别模型的鉴别器网络中,得到各验证样本的置信度;对为正常数据的各验证样本的置信度取平均值,作为上限a1;同时对为新奇数据的各验证样本的置信度取平均值,作为下限a2;S7、计算步骤S6中上限a1和下限a2的差值△a,以下限a2为起始值,以差值△a的1/n为步长,分别设置各阈值ai,ai=a2+(△a/n)i,i=1,2,…,n,n为定值;选择上述各阈值ai,分别对验证集中各验证样本的数据类别进行判定,具体为:将验证集中各验证样本的置信度与当前选择的阈值ai进行比较,若验证样本的置信度高于当前选择的阈值ai,则将该验证样本判定为正常数据,否则将该验证样本判定为新奇数据;S8、将每次所选择的阈值情况下,步骤S7所判定出的各验证样本的数据类别与步骤S5中个验证样本的数据类别进行比较,确定出每次所选择的阈值情况下,恶意软件识别模型的误判率;选取最小的误判率,将该误判率下与验证样本进行比较的阈值ai,作为标准阈值;同时判定最小的误判率是否大于一定值;若是,则进入步骤S9;若否,将当前恶意软件识别模型作为最终的恶意软件识别模型;S9、重新执行步骤S1到S4,对当前恶意软件识别模型进行再训练,将再训练后的恶意软件识别模型作为当前恶意软件识别模型;然后返回到步骤S6。更进一步的,所述验证样本的置信度计算方法如下:其中,xi表示第i个验证样本,为验证样本xi的置信度,yi为验证样本xi的标签;Doutput(xi,yi)表示验证样本xi输入到鉴别器网络后,鉴别器网络的基本置信度输出,XV为验证集;其中:其中表示验证样本xi输入到鉴别器网络后,鉴别器网络中第j个分类器的输出值,F为鉴别器网络中多分类器的输出类别总数。优选的,对编码器网络和解码器网络进行训练的过程如下:S11、将训练样本的特征向量输入到编码器网络中,通过编码器网络压缩得到潜在向量;S12、将对应训练样本下,编码器网络输出的潜在向量与对应训练样本的标签进行卷积运算后输入到解码器网络中,由解码器网络输出与编码器网络输入特征维度相同维度的还原特征向量;S13、计算还原特征向量和训练样本输入到编码器网络的原始特征向量之间的重构误差,并进行反向传播,更新编码器网络和解码器网络的参数,经过多伦迭代后,得到训练完成的编码器网络和解码器网络。优选的,所述编码器网络包括依次连接的输入层、第一卷积层、最大池化层、第二卷积层和全连接层;所述解码器网络包括依次连接的嵌入层、全连接层、批归一化层、第一反卷积序列层、第二反卷积序列层和卷积层;所述解码器网络的嵌入层前面设置有卷积层;所述鉴别器网络包括嵌入层、全连接层、第一卷积序列层、第二卷积序列层、多分类器输出层和鉴别器输出层,其中嵌入层、全连接层、第一卷积序列层、第二卷积序列层依次连接,多分类器输出层和鉴别器输出层分别连接第二卷积序列层,多分类器输出层输出多分类结果;鉴别器输出层输出标准置信度结果。本专利技术的第二目的通过下述技术方案实现:一种恶意软件识别方法,所述方法如下:调用本专利技术第一目的恶意软件识别本文档来自技高网...

【技术保护点】
1.一种恶意软件识别模型构建方法,其特征在于,所述方法包括:/n获取带标签的各类恶意软件样本,构成训练集;/n构建编码器网络和解码器网络,并且将编码器网络的输出作为解码器网络的输入;/n将训练样本的特征向量作为编码器网络的输入,对编码器网络和解码器网络进行训练,将训练完成的解码器网络作为生成器网络;/n构建鉴别器网络,该网络包括两个输出模型,一个单输出的标准置信度输出,一个多输出的分类器输出;/n通过训练样本训练生成器网络和鉴别器网络,如下:/nS1、将训练样本的特征向量输入到鉴别器网络,得到多分类器输出,计算多分类输出的误差loss1,根据误差loss1更新鉴别器网络;/nS2、将随机生成的高斯噪声与训练集中各训练样本的标签向量输入到生成器网络中,得到第一生成样本;将上述对应标签向量下得到的第一生成样本和对应标签向量输入到鉴别器网络中,得到标准置信度输出,计算标准置信度输出的误差loss2;同时将训练样本的特征向量输入到鉴别器网络,得到标准置信度输出,计算标准置信度输出的误差loss3;通过误差loss2和loss3更新生成器网络和鉴别器网络;/nS3、将随机生成的高斯噪声与训练集中各训练样本的标签向量输入到生成器网络中,得到第二生成样本;将上述对应标签向量下得到的第二生成样本和对应标签向量输入到鉴别器网络中,得到标准置信度输出,计算标准置信度输出的误差loss4;利用误差loss4更新生成器网络和鉴别器网络;/nS4、重复多次执行步骤S1至S3,得到训练完成的生成器网络和鉴别器网络,作为恶意软件识别模型。/n...

【技术特征摘要】
1.一种恶意软件识别模型构建方法,其特征在于,所述方法包括:
获取带标签的各类恶意软件样本,构成训练集;
构建编码器网络和解码器网络,并且将编码器网络的输出作为解码器网络的输入;
将训练样本的特征向量作为编码器网络的输入,对编码器网络和解码器网络进行训练,将训练完成的解码器网络作为生成器网络;
构建鉴别器网络,该网络包括两个输出模型,一个单输出的标准置信度输出,一个多输出的分类器输出;
通过训练样本训练生成器网络和鉴别器网络,如下:
S1、将训练样本的特征向量输入到鉴别器网络,得到多分类器输出,计算多分类输出的误差loss1,根据误差loss1更新鉴别器网络;
S2、将随机生成的高斯噪声与训练集中各训练样本的标签向量输入到生成器网络中,得到第一生成样本;将上述对应标签向量下得到的第一生成样本和对应标签向量输入到鉴别器网络中,得到标准置信度输出,计算标准置信度输出的误差loss2;同时将训练样本的特征向量输入到鉴别器网络,得到标准置信度输出,计算标准置信度输出的误差loss3;通过误差loss2和loss3更新生成器网络和鉴别器网络;
S3、将随机生成的高斯噪声与训练集中各训练样本的标签向量输入到生成器网络中,得到第二生成样本;将上述对应标签向量下得到的第二生成样本和对应标签向量输入到鉴别器网络中,得到标准置信度输出,计算标准置信度输出的误差loss4;利用误差loss4更新生成器网络和鉴别器网络;
S4、重复多次执行步骤S1至S3,得到训练完成的生成器网络和鉴别器网络,作为恶意软件识别模型。


2.根据权利要求1所述的恶意软件识别模型构建方法,其特征在于,针对于获取带标签的各类恶意软件样本,将其中几类恶意软件本划分为新奇类恶意软件本,其他类恶意软件样本按照一定比例划分为训练集和验证集;将新奇类恶意软件样本加入到验证集中;
所述方法还包括如下步骤:通过验证集对当前恶意软件识别模型进行验证,具体过程如下:
S5、根据验证集中验证样本的标签,将验证样本分为正常数据和新奇数据的类别;所述正常数据指的是属于训练集中恶意软件分类的数据;新奇数据指的是不属于训练集中所有恶意软件分类的数据;
S6、将各验证样本的特征向量输入到当前恶意软件识别模型的鉴别器网络中,得到各验证样本的置信度;对为正常数据的各验证样本的置信度取平均值,作为上限a1;同时对为新奇数据的各验证样本的置信度取平均值,作为下限a2;
S7、计算步骤S6中上限a1和下限a2的差值△a,以下限a2为起始值,以差值△a的1/n为步长,分别设置各阈值ai,ai=a2+(△a/n)i,i=1,2,…,n,n为定值;选择上述各阈值ai,分别对验证集中各验证样本的数据类别进行判定,具体为:将验证集中各验证样本的置信度与当前选择的阈值ai进行比较,若验证样本的置信度高于当前选择的阈值ai,则将该验证样本判定为正常数据,否则将该验证样本判定为新奇数据;
S8、将每次所选择的阈值情况下,步骤S7所判定出的各验证样本的数据类别与步骤S5中个验证样本的数据类别进行比较,确定出每次所选择的阈值情况下,恶意软件识别模型的误判率;选取最小的误判率,将该误判率下与验证样本进行比较的阈值ai,作为标准阈值;同时判定最小的误判率是否大于一定值;
若是,则进入步骤S9;
若否,将当前恶意软件识别模型作为最终的恶意软件识别模型;
S9、重新执行步骤S1到S4,对当前恶意软件识别模型进行再训练,将再训练后的恶意软件识别模型作为当前恶意软件识别模型;然后返回到步骤S6。


3.根据权利要求2所述的恶意软件识别模型构建方法,其特征在于,所述验证样本的置信度计算方法如下:



其中,xi表示第i个验证样本,为验证样本xi的置信度,yi为验证样本xi的标签;Doutput(xi,yi)表示验证样本xi输入到鉴别器网络后,鉴别器网络的基本置信度输出,XV为验证集;
其中:






其中表示验证样本xi输入到鉴别器网络后,鉴别器网络中第j个分类器的输出值,F为鉴别器网络中多分类器的输出类别总数。


4.根据权利要求1所述的恶意软件识别模型构建方法,其特征在于,对编码器网络和解码器网络进行训练的过程如下:
S11、将训练样本的特征向量输入到编码器网络中,通过编码器网络压缩得到潜在向量;
S12、将对应训练样本下,编码器网络输出的潜在向量与对应训练样本的标签进行...

【专利技术属性】
技术研发人员:孙玉霞李文灏任羽
申请(专利权)人:暨南大学
类型:发明
国别省市:广东;44

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

1