一种基于门控循环单元的混合模型恶意软件检测方法

文档序号:35195282发布日期:2023-08-21 15:34阅读:30来源:国知局
一种基于门控循环单元的混合模型恶意软件检测方法

本发明属于软件安全,涉及安卓系统的恶意软件检测方法,采用深度神经网络(deep neural networks,dnn)和门控循环单元(gated recurrent unit,gru)两种神经网络技术,针对软件静态特征和动态特征,提出了一种新的基于门控循环单元的混合模型恶意软件检测方法。


背景技术:

1、随着互联网技术的不断发展,以安卓系统为主的各种移动设备已经越来越普及,与此同时安全问题逐渐增多,如肆意拨打电话、隐私泄露等多种恶意行为,给用户的数据和财产安全造成较大的损失;恶意软件种类的不断增多和攻击方式的不断变化,给以android为主要系统的移动终端市场带来了巨大的经济损失。因此,开展基于android系统的恶意软件检测和安全防护研究具有良好的应用价值。然而,传统的静态恶意软件检测方法虽然检测效率较高,但是检测准确率较低。


技术实现思路

1、本发明所要解决的技术问题是:

2、为了避免现有技术的不足之处,本发明提供一种基于门控循环单元的混合模型恶意软件检测方法,该方法采用深度神经网络和门控循环单元两种技术,将移动终端软件的静态特征和动态特征相结合,分别利用两种深度学习技术的优势对软件进行检测与分类。

3、为了解决上述技术问题,本发明采用的技术方案为:

4、一种基于门控循环单元的混合模型恶意软件检测方法,其特征在于步骤如下:

5、步骤1:对apk数据集进行反编译,提取静态特征序列;

6、步骤2:将提取的静态特征序列根据离散与否进行分类,使用one-hot进行处理,形成静态特征向量;

7、步骤3:利用inspeckage工具获取程序动态特征数据;

8、步骤4:提取属性数据库,构造基于时间序列的特征向量,形成动态特征向量;

9、步骤5:将步骤2得到的静态特征向量作为深度神经网络dnn的输入,进行训练;

10、步骤6:将步骤4得到的动态特征向量作为门控循环单元gru网络的输入,进行训练;

11、步骤7:将步骤5和步骤6训练得到的特征进行特征融合,利用反向传播算法进行分类;

12、步骤8:利用softmax函数输出恶意软件检测结果。

13、1.根据权利要求1所述基于门控循环单元的混合模型恶意软件检测方法,其特征在于:静态特征向量提取具体包括以下步骤:

14、第一步:原始数据获取:先从apk文件中获得androidmanifest.xml文件、dex文件以及汇编共享库文件.so文件;

15、第二步:特征提取:分别从第一步获得的文件中获取所需特征:从文件androidmanifest.xml中获得权限特征;将dex文件进行反编译,获取字节码操作符以及api调用特征;将.so汇编共享库文件进行反编译获取共享库函数特征;

16、第三步:特征向量生成:将提取到的特征分为存在型特征向量和离散型特征向量;然后分别使用one-hot热编码技术将特征向量转换成相应的二进制向量。

17、本发明进一步的技术方案:步骤3中提取动态特征具体步骤如下:

18、step1:使用inspeckage工具,监控app运行信息;

19、step2:通过应用程序的动态日志文件,查看程序xml文件实时读写记录;

20、step3:基于检测到的日志行为特征,构建属性数据库;

21、step4:将属性数据库映射为特征向量。

22、本发明进一步的技术方案:所述的深度神经网络dnn包括2个,分别训练静态特征向量中的存在型特征向量和离散型特征向量两种类型特征;每个dnn包括一个输入、一个输出、三个隐藏层,每层只接收来自前一层的连接并且每层都是完全连接的。

23、本发明进一步的技术方案:门控循环单元gru训练学习过程如下:

24、step1:输入特征向量xt,激活函数σ,权重矩阵w,偏差b;

25、step2:计算更新门状态zt=σ(wzht-1+wzzt);

26、step3:当zt==0时,输出ht和ht-1是非线性函数关系;

27、step4:当zt==1时,输出ht和ht-1是线性函数关系;

28、step5:计算重置门状态:rt=σ(wrht-1+wrrt);

29、step6:判断如果rt==0,输出h′只与当前输入xt相关,与历史状态无关;

30、step7:判断如果rt==1,输出h′与当前输入xt和历史状态ht-1均相关;

31、step8:复位rt,计算h′,h′t-1=ht-1⊙rt,h′=tanh(wxt+wh′t-1);

32、step9:更新内存,ht=z⊙ht-1+(1-z)⊙h′

33、step10:输出ht;

34、其中,xt是原始输入的矢量,⊙是逐元素乘法,ht是从ht-1中得到的隐藏状态,而时间步骤t中的输入矢量xt是重置门的输出,zt是更新门的输出。

35、本发明进一步的技术方案:反向传播算法的选择交叉熵损失函数,其定义如下:

36、

37、其中,ai表示函数输出向量a的第i个值,其中(1,t)代表i的范围,y表示向量1*t,其中里面的t个值,只有一个是1其余都是0,1代表的就是真实的标签对应的位置。

38、一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1所述的方法。

39、一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1所述的方法。

40、本发明的有益效果在于:

41、目前越来越多的安卓软件非法窃取用户的隐私和信息,安装大量恶意应用程序等等,给用户带来了严重的安全威胁,其中一些恶意软件通过申请过多与软件自身功能不相干的权限来获得用户信息,实现其搜集用户隐私的目的。传统的静态恶意软件检测方法虽然检测效率较高,但是检测准确率较低,针对这些问题,本发明提出了一种基于门控循环单元的混合模型恶意软件检测方法,该方法采用深度神经网络和门控循环单元两种技术,将移动终端软件的静态特征和动态特征相结合,分别利用两种深度学习技术的优势对软件进行检测与分类。针对静态特征的离散与否,将特征分为离散型特征向量和存在型特征向量,分别输入dnn网络进行训练;针对获取的动态特征的时间序列特性,采用了能更好地处理更长时间的操作序列的gru神经网络,同时它具有较少的参数以及更快的训练速度,具有良好的泛化效果。最后,分别将输出的特征向量输入到全连接层,作为最后混合模型的输入,最终根据softmax函数,将输出映射到区间(0,1),最后以概率的形式输出分类结果,达到恶意软件检测的目的。本发明解决了单一检测方法准确率较低的问题,有效提高了恶意软件检测的准确率,具有好的实用价值。

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