1.一种基于卷积神经网络的恶意软件识别方法,其特征在于,所述方法包括:获取样本软件的操作码和权限信息,所述样本软件为已知类型的软件,所述类型包括恶意软件和非恶意软件;
将所述操作码转换为十进制数;
将转换后的操作码进行预处理;
将预处理后的操作码与所述权限信息混合;
将混合后的数据作为特征矩阵输入卷积神经网络,对所述卷积神经网络进行训练,所述卷积神经网络的输出为所述样本软件的恶意概率和非恶意概率;
判断所述卷积神经网络输出的恶意概率或非恶意概率的准确度是否达到设定值;
如果是,则停止训练卷积神经网络,采用训练好的卷积神经网络对待识别软件进行识别;
如果否,则根据所述卷积神经网络输出的恶意概率或非恶意概率的准确度调整训练过程中的权重参数,继续训练卷积神经网络。
2.根据权利要求1所述的恶意软件识别方法,其特征在于,所述将所述操作码转换为十进制数,具体包括:将所述操作码两两分割;
将每两个代码为一组转换为十进制数。
3.根据权利要求1所述的恶意软件识别方法,其特征在于,所述将转换后的操作码进行预处理,具体包括:将每个十进制数加2,换行用1代替。
4.根据权利要求1所述的恶意软件识别方法,其特征在于,所述将预处理后的操作码与所述权限信息混合,具体包括:将预处理后的操作码排在所述权限信息后,得到一个一维矩阵。
5.根据权利要求1所述的恶意软件识别方法,其特征在于,所述对所述卷积神经网络进行训练,具体包括:将混合后的数据作为特征矩阵输入卷积神经网络,对所述卷积神经网络进行训练,其中,将卷积层的输出矩阵平均分为三份,每份矩阵的每行中选取三个值组成reshape层的输入矩阵,三个值为所在行排前三大的数值。
6.根据权利要求1所述的恶意软件识别方法,其特征在于,所述采用训练好的卷积神经网络对待识别软件进行识别,具体包括:获取待识别软件的操作码和权限信息;
将所述待识别软件的操作码转换为十进制数;
将所述待识别软件转换后的操作码进行预处理;
将所述待识别软件预处理后的操作码与所述权限信息混合;
将所述待识别软件混合后的数据作为特征矩阵输入卷积神经网络,进行识别。
7.一种基于卷积神经网络的恶意软件识别系统,其特征在于,所述系统包括:样本获取模块,用于获取样本软件的操作码和权限信息,所述样本软件为已知类型的软件,所述类型包括恶意软件和非恶意软件;
转换模块,用于将所述操作码转换为十进制数;
预处理模块,用于将转换后的操作码进行预处理;
混合模块,用于将预处理后的操作码与所述权限信息混合;
训练模块,用于将混合后的数据作为特征矩阵输入卷积神经网络,对所述卷积神经网络进行训练,所述卷积神经网络的输出为所述样本软件的恶意概率和非恶意概率;
准确度判断模块,用于判断所述卷积神经网络输出的恶意概率或非恶意概率的准确度是否达到设定值;
识别模块,用于当所述卷积神经网络输出的恶意概率或非恶意概率的准确度达到设定值时,则停止训练卷积神经网络,采用训练好的卷积神经网络对待识别软件进行识别;
所述训练模块还用于当所述卷积神经网络输出的恶意概率或非恶意概率的准确度没有达到设定值时,则根据所述卷积神经网络输出的恶意概率或非恶意概率的准确度调整训练过程中的权重参数,继续训练卷积神经网络。
8.根据权利要求7所述的恶意软件识别系统,其特征在于,所述转换模块,具体包括:分割单元,用于将所述操作码两两分割;
转换单元,用于将每两个代码为一组转换为十进制数。
所述预处理模块,具体包括:
预处理单元,用于将每个十进制数加2,换行用1代替。
所述混合模块,具体包括:
混合单元,用于将预处理后的操作码排在所述权限信息后,得到一个一维矩阵。
9.根据权利要求7所述的恶意软件识别系统,其特征在于,所述训练模块,具体包括:训练单元,用于将混合后的数据作为特征矩阵输入卷积神经网络,对所述卷积神经网络进行训练,其中,将卷积层的输出矩阵平均分为三份,每份矩阵的每行中选取三个值组成reshape层的输入矩阵,三个值为所在行排前三大的数值。
10.根据权利要求7所述的恶意软件识别系统,其特征在于,所述识别模块,具体包括:待识别软件获取单元,用于获取待识别软件的操作码和权限信息;
待识别软件转换单元,用于将所述待识别软件的操作码转换为十进制数;
待识别软件与处理单元,用于将所述待识别软件转换后的操作码进行预处理;
待识别软件混合单元,用于将所述待识别软件预处理后的操作码与所述权限信息混合;
待识别软件识别单元,用于将所述待识别软件混合后的数据作为特征矩阵输入卷积神经网络,进行识别。