[发明专利]一种基于卷积神经网络的恶意软件识别方法及系统有效
申请号: | 201810730246.2 | 申请日: | 2018-07-05 |
公开(公告)号: | CN109002715B | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 赵立超;史闻博;李丹;黄涛 | 申请(专利权)人: | 东北大学秦皇岛分校 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 066004 河北*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 卷积 神经网络 恶意 软件 识别 方法 系统 | ||
1.一种基于卷积神经网络的恶意软件识别方法,其特征在于,所述方法包括:
获取样本软件的操作码和权限信息,所述样本软件为已知类型的软件,所述类型包括恶意软件和非恶意软件;
将所述操作码转换为十进制数;
将转换后的操作码进行预处理;
将预处理后的操作码与所述权限信息混合;
将混合后的数据作为特征矩阵输入卷积神经网络,对所述卷积神经网络进行训练,所述卷积神经网络的输出为所述样本软件的恶意概率和非恶意概率;
判断所述卷积神经网络输出的恶意概率或非恶意概率的准确度是否达到设定值;
如果是,则停止训练卷积神经网络,采用训练好的卷积神经网络对待识别软件进行识别;
如果否,则根据所述卷积神经网络输出的恶意概率或非恶意概率的准确度调整训练过程中的权重参数,继续训练卷积神经网络;
所述将所述操作码转换为十进制数,具体包括:
将所述操作码两两分割;
将每两个代码为一组转换为十进制数;
所述将转换后的操作码进行预处理,具体包括:
将每个十进制数加2,换行用1代替;
所述对所述卷积神经网络进行训练,具体包括:
将混合后的数据作为特征矩阵输入卷积神经网络,对所述卷积神经网络进行训练,其中,将卷积层的输出矩阵平均分为三份,每份矩阵的每行中选取三个值组成reshape层的输入矩阵,三个值为所在行排前三大的数值;
对卷积神经网络各层的训练过程,具体如下:
将特征混合得到的一维矩阵N*1乘以一个1*256权重后变为N*256的矩阵后输入卷积神经网络,权重先随机初始化,然后在训练期间通过反向传播进行更新,并与其余网络参数一起进行更新;
Embedding Layer:将N*256的矩阵乘以256*8的权重矩阵得到N*8的矩阵;
Reshape层:将N*8的矩阵变为1*N*8*1的矩阵;
卷积层:将1*N*8*1的矩阵经过k*8*64的卷积核得到1*(N-k+1)*1*64的矩阵;
trunkk层:将卷积层输出的矩阵平均分为三份,在每份中取最大的三个值,得到1*9*1*64的矩阵;
Reshape层:将1*9*1*64的矩阵变成9*64的矩阵;
全连接层:用1*9的全连接权重矩阵乘以上一步得到的9*64的矩阵变成1*64的矩阵;
全连接层:将1*64的矩阵乘以64*16的全连接权重矩阵变成1*16的矩阵;
全连接层:将1*16的矩阵乘以16*2的全连接矩阵变成1*2的矩阵获得最终解果(x,y)即预测应用是恶意和非恶意的概率;
在上述过程中权重开始是随机初始化的,然后根据神经网络的误测精度反向传播进行权重的调整直至神经网络的精度达到要求。
2.根据权利要求1所述的恶意软件识别方法,其特征在于,所述将预处理后的操作码与所述权限信息混合,具体包括:
将预处理后的操作码排在所述权限信息后,得到一个一维矩阵。
3.根据权利要求1所述的恶意软件识别方法,其特征在于,所述采用训练好的卷积神经网络对待识别软件进行识别,具体包括:
获取待识别软件的操作码和权限信息;
将所述待识别软件的操作码转换为十进制数;
将所述待识别软件转换后的操作码进行预处理;
将所述待识别软件预处理后的操作码与所述权限信息混合;
将所述待识别软件混合后的数据作为特征矩阵输入卷积神经网络,进行识别。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学秦皇岛分校,未经东北大学秦皇岛分校许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810730246.2/1.html,转载请声明来源钻瓜专利网。