[发明专利]一种基于卷积神经网络的PE恶意软件检测方法在审
申请号: | 202010317111.0 | 申请日: | 2020-04-21 |
公开(公告)号: | CN111651762A | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 韩科;池灏;金韬 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;H04L29/06;G06N3/04;G06N3/08 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 万尾甜;韩介梅 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 卷积 神经网络 pe 恶意 软件 检测 方法 | ||
1.一种基于卷积神经网络的PE恶意软件检测方法,其特征在于,该方法包括如下:
步骤1:对原始样本进行预处理,构建数据集,获得训练集、验证集、测试集;
步骤2:构建神经网络分类模型:使用类似Resnet的多层残差结构,通过多个Block块的叠加来构造网络,对于每一个块内采用深度可分离卷积的方式,在块的入口和出口通过1*1的卷积核来变换通道层Channel的数目,通过传统卷积核的卷积结果和空洞卷积核的卷积结果在通道层叠加的方式来增加神经网络每一层的感受野;
步骤3:评估模型鲁棒性:通过半黑盒攻击的快速梯度下降算法产生对抗样本所需的平均迭代次数以及给定迭代次数内生成对抗样本的成功率,来作为模型鲁棒性的评判标准。
2.根据权利要求1所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,步骤1所述的对原始样本进行预处理,具体如下:
对收集到的PE恶意软件,先进行加壳检查,对于有壳的恶意软件进行脱壳处理,对于无法识别的壳或是无法进行脱壳处理的恶意软件,将其过滤掉,转交人工分析或是动态分析处理;将处理后的PE恶意软件打上恶意标签,如果有具体的恶意软件家族类别,则以家族类别做标签,对于正常的PE软件打上正常标签后与过滤并标签处理后的恶意软件混合,对于数据集中每一个软件,通过PE软件格式解析获得的其节地址、空闲空间地址等重要属性,之后通过末尾填充0字节和截断的方式使所有软件的二进制代码长度统一到一个定值,将得到的数据以0.8:0.1:0.1的比例分为训练集,验证集,测试集。
3.根据权利要求1所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,步骤2所述的构建神经网络分类模型,具体为:
步骤2.1使用embedding层将二进制PE软件代码的0-255的离散值映射为一个四维的连续向量,该向量作为初始的通道层输入;
步骤2.2通过多个Block块的叠加来构造类似Resnet的多层残差结构网络,对于每一个块内采用深度可分离卷积的方式,在块的入口和出口通过1*1的卷积核来变换通道层Channel的数目,通过传统卷积核的卷积结果和空洞卷积核的卷积结果在通道层叠加的方式来增加神经网络每一层的感受野;
步骤2.3使用softmax层作为最终的概率输出,并用交叉熵函数作为损失函数;使用Xavier作为全连接层的权重初始化,使用He-normal作为卷积核的权重初始化,使用Adam优化器和初始为0.001随迭代轮数递减的的学习速率进行20个轮次的迭代,之后使用SGD优化器进行损失极小值搜寻,并且每进行一轮迭代即在验证集上进行验证,直到验证集的平均交叉熵损失函数提升小于一个预定阈值;
步骤2.4对于步骤2.3训练所得的神经网络模型,在测试集上进行测试,输出检测结果的混淆矩阵,进而得到检测的精确率、查全率结果。
4.根据权利要求3所述的基于卷积神经网络的PE恶意软件检测方法,其特征在于,使用知识蒸馏技术进一步提升步骤2.4中所得模型的精确率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010317111.0/1.html,转载请声明来源钻瓜专利网。