基于卷积神经网络的恶意APK的筛查方法与流程

文档序号:19589303发布日期:2020-01-03 10:03阅读:来源:国知局

技术特征:

1.一种基于卷积神经网络的恶意安卓安装包apk的筛查方法,应用深度卷积神经网络对apk数据集建模,使用apk原始数据作为输入,采用apk的函数调用关系图,根据函数调用设计相应的深度卷积神经网络进行特征自动抽取,由此检测apk是否恶意;分为模型训练过程和用训练好的模型进行apk检测过程;具体包括如下步骤:

(一)模型训练过程具体包括如下步骤:

1)针对apk训练数据集,反编译apk,解析出函数调用关系图;所述函数调用关系图上的每个节点对应一个函数;

2)根据安全敏感函数或高频率函数,针对所述函数调用关系图上的部分节点进行卷积,通过卷积提取得到卷积结果为一个向量,该向量为函数调用关系图上的节点调用的多个函数的信息;

3)将结果传入深度卷积神经网络模型的池化算法层,将相同维数的一系列向量提取成与该维数相同的一个向量;

4)再接入卷积神经网络模型的隐藏层和输出层;

5)根据输出结果和应该得到的正确结果,计算误差,并反向传播,更新深度卷积神经网络模型参数;

(二)用训练好的深度卷积神经网络模型进行apk检测,具体包括如下步骤:

1)对待筛查的apk数据,反编译apk,解析出函数调用关系图;

2)利用训练好的模型,根据安全敏感函数或高频率函数进行卷积;

3)将卷积结果传入训练好的模型的池化算法层;

4)接入训练好的模型的隐藏层和输出层;

5)得到检测结果,即得出待筛查的apk是不是恶意apk。

2.如权利要求1所述筛查方法,其特征是,模型训练过程中的步骤2)根据安全敏感函数或高频率函数进行卷积具体包括如下步骤:

21)选取apk的函数调用关系图上的节点,所述节点对应的函数为安全敏感函数或高频率函数;

22)针对选取的函数节点进行卷积,采用的卷积公式如式1:

其中,p代表此时卷积的节点,为正在卷积的函数;x1,i为节点p直接调用的第i个函数节点,wconv1为对其卷积的参数,x2,i为节点p间接调用的第i个函数节点,wconv2为对其卷积的参数;n1为p直接调用的函数节点的个数;n2为节点p间接调用的函数个数;

23)通过卷积提取得到卷积结果为一个向量,该向量为节点p调用的多个函数的信息。

3.如权利要求1所述筛查方法,其特征是,在模型训练过程中,在采用训练数据集进行模型训练之后,还不断用交叉验证集进行测试;在用交叉验证集测试时,只预测结果,不更新参数;通过不断训练并调整模型参数设定,使得模型在交叉验证集上达到最高准确率;最后用测试集来测试模型,得到的准确率为模型准确率。

4.如权利要求1所述筛查方法,其特征是,所述池化算法采用求和或最大值方式。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1