1.一种恶意软件的检测方法,其特征在于,所述方法包括:获取训练样本,所述训练样本为已知类型的软件的执行程序,所述类型包括良性和恶意;
对所述训练样本反编译和编号处理,得到所述训练样本处理后的源代码;
采用粒子群算法为处理后的所述源代码中的各代码分配权重,得到加权后的源代码;
以加权后的源代码为输入矩阵,训练卷积神经网络,且在训练过程中,采用粒子群算法调整各代码的权重,得到输出为准确度的卷积神经网络;
判断所述卷积神经网络的准确度是否达到设定值;
如果是,则停止训练卷积神经网络,采用训练好的卷积神经网络对待检测软件进行检测;
如果否,则继续采用粒子群算法调整各代码的权重,训练卷积神经网络;
所述采用粒子群算法为所述源代码中的各代码分配权重,得到加权后的源代码,具体包括:将所述源代码排成一个n*1的矩阵,每一行代表一个特征,记为初始特征矩阵;
采用粒子群算法对每个特征计算出一个权重;
将每个特征与对应的权重相乘;
所述采用粒子群算法调整所述源代码中的各代码的权重,具体包括:根据所述准确度采用调整粒子群算法调整所述源代码中的各代码的权重;
将调整后的权重与所述初始特征矩阵中对应的处理后的源代码相乘。
2.根据权利要求1所述的恶意软件的检测方法,其特征在于,所述以加权后的源代码为输入矩阵,训练卷积神经网络,具体包括:设置卷积神经网络的内层参数top K,K=3;
以加权后的源代码为输入矩阵,训练卷积神经网络。
3.根据权利要求1所述的恶意软件的检测方法,其特征在于,所述对所述训练样本反编译和编号处理,具体包括:采用反编译软件对所述训练样本进行反编译;
将反编译得到的源代码根据Dalvik代码表进行编号处理。
4.一种恶意软件的检测系统,其特征在于,所述系统包括:训练样本获取模块,用于获取训练样本,所述训练样本为已知类型的软件的执行程序,所述类型包括良性和恶意;
训练样本处理模块,用于对所述训练样本反编译和编号处理,得到所述训练样本处理后的源代码;
权重计算模块,用于采用粒子群算法为处理后的所述源代码中的各代码分配权重,得到加权后的源代码;
卷积神经网络训练模块,用于以加权后的源代码为输入矩阵,训练卷积神经网络,且在训练过程中,采用粒子群算法调整各代码的权重,得到输出为准确度的卷积神经网络;
准确度判断模块,用于判断所述卷积神经网络的准确度是否达到设定值;
检测模块,用于在所述卷积神经网络输出的准确度达到设定值时,停止训练卷积神经网络,采用训练好的卷积神经网络对待检测软件进行检测;
权重调整模块,用于在所述卷积神经网络输出的准确度没有达到设定值时,继续采用粒子群算法调整所述源代码中的各代码的权重,训练卷积神经网络;
所述权重计算模块具体包括:
初始特征矩阵确定单元,用于将所述源代码排成一个n*1的矩阵,每一行代表一个特征,记为初始特征矩阵;
权重计算单元,用于采用粒子群算法对每个特征计算出一个权重;
加权单元,用于将每个特征与对应的权重相乘;
所述权重调整模块具体包括:
权重调整单元,用于根据所述准确度采用调整粒子群算法调整所述源代码中的各代码的权重;
调整特征矩阵确定单元,用于将调整后的权重与所述初始特征矩阵中对应的处理后的源代码相乘。
5.根据权利要求4所述的恶意软件的检测系统,其特征在于,所述卷积神经网络训练模块具体包括:参数设置单元,用于设置卷积神经网络的内层参数top K,K=3;
训练单元,用于以加权后的源代码为输入矩阵,训练卷积神经网络。
6.根据权利要求4所述的恶意软件的检测系统,其特征在于,所述反编译模块具体包括:反编译单元,用于采用反编译软件对所述训练样本进行反编译;
编号处理单元,用于将反编译得到的源代码根据Dalvik代码表进行编号处理。