利索能及
我要发布
收藏
专利号: 2019107767055
申请人: 东北大学秦皇岛分校
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于卷积神经网络的恶意软件操作码分析方法,其特征在于:包括以下步骤:S1.获取训练样本;所述训练样本为已知类型的软件的执行程序,所述类型包括良性和恶意;

S2.对所述训练样本进行反编译处理,得到所述训练样本的smali文件,并从smali文件中获取Dalvik字节码;

S3.根据Android操作码常量列表获取操作码序列文件,并用独热向量表示;

S4.在嵌入层中将独热向量转化为具有固定大小的向量;

S5.将转化后的独热向量乘以随机权重矩阵,生成矩阵M,输入到卷积神经网络;

S6.在卷积层中使用卷积核对矩阵M进行卷积处理,得到特征映射,提取不同卷积核的特征映射集矩阵C;

卷积核的特定卷积操作定义如下:Cj=f1(Conv(M,wj)+bj)其中bj和wj是第j个卷积核的相应偏差参数和权重参数,f1为相应的RELU激活函数,j个卷积核对n‑h+1窗口执行完整的卷积运算,提取的不同卷积核的特征映射归纳如下:T

C=[c1|c2…|cp]

S7.在k‑max池化中,对矩阵C进行最大合并操作,提取最重要的k个特征值,得到隐藏层的特征向量Z;

S8.固定大小的向量Z形成全连接层,在全连接层中,对向量Z进行操作得到输出特征y;

并使用softmax函数处理输出特征y,把多类输出值转化为相对概率,获得相对概率分布p;

S9.针对所获得的概率分布p和标签概率分布计算交叉熵损失函数Lk;

损失函数Lk的定义如下:

其中Lk表示通过输入第k个样本计算的损失函数,p(l=i|y)是softmax函数输出向量的第i个值,表示样本属于第i类的概率; 标签li前面有一个求和符号,范围是从1到T类的数量; T=2表示全连接层的输出数;L表示一批b个数据样本的损失函数的平均值,它可以解释为预测值与通过构建模型获得的真实值之间的差异,定义如下:S10.根据计算出的交叉熵损失函数Lk,估计模型预测值与真实值的差异,并使用梯度下降法进行优化,获得最佳的Android程序检测模型;

S11.基于输出计算和最小化损失函数,迭代地更新模型参数并优化所提出的Android程序检测模型。

2.根据权利要求1所述的基于卷积神经网络的恶意软件操作码分析方法,其特征在于:所述步骤S3中,用独热向量表示的操作码序列中,每个操作码对应256个位置中的一个位置,出现过的操作码表示为1,没有出现的表示为0。

3.根据权利要求1所述的基于卷积神经网络的恶意软件操作码分析方法,其特征在于:所述步骤S7中,k为3或5。

4.根据权利要求1所述的基于卷积神经网络的恶意软件操作码分析方法,其特征在于:所述步骤S8中,在全连接层中对向量Z进行操作,计算前一层权重的总和值,获得每个元素的准确结合,得到输出特征y;softmax函数用处理分类器的方式处理输出特征y。

5.根据权利要求1所述的基于卷积神经网络的恶意软件操作码分析方法,其特征在于:所述步骤S10中,在损失函数最小化时,用梯度下降优化法逐步调整最小化损失函数和相应模型的参数值,获得最佳的Android程序检测模型。