一种安卓漏洞动态检测方法、系统、电子设备、存储介质与流程

文档序号:34947247发布日期:2023-07-29 05:16阅读:96来源:国知局
一种安卓漏洞动态检测方法、系统、电子设备、存储介质与流程

本发明属于网络安全和漏洞扫描,尤其涉及一种安卓漏洞动态检测方法、系统、电子设备、存储介质。


背景技术:

1、当前,智能设备的使用数量呈指数级的增长,根据gartner发布的报告,2021年,全球将有41亿智能移动设备。android系统作为一个开源和通用的平台,一直以来是电信行业的领先巨头,也是各种智能手机厂商的产业标准,目前在全球智能手机行业中占有约74%的市场份额。除了智能手机外,安卓系统还为智能手表、平板电脑等产品提供智能系统平台支撑。

2、随着android系统的盛行,网络攻击者将其视为重要的研究与攻击目标。其中安卓恶意软件是一种常见的攻击手段。恶意软件开发者可以结合现有或未公开的的操作系统漏洞来制作复杂的恶意软件,并通过这些软件以对安卓数据和系统造成的破坏,如权限升级、信息窃取、远程控制和隐私泄露等。此外,android智能手机上很少安装防病毒软件。即使是安装了相关软件也可能无法非常有效地利用它来识别感染。由于android恶意软件对企业和终端用户的影响巨大,对智能设备安全造成不可忽视的影响,因此对开展安卓系统漏洞检测的研究势在必行。


技术实现思路

1、为解决现有技术存在的上述问题,本发明的目的在于设计一种安卓漏洞动态检测方案,其结合深度信念网络(deep belief network,dbn)与增强的门控循环单元(gatedrecurrent unit,gru)模型实现高效准确的智能安卓app漏洞检测。

2、本发明第一方面公开了一种安卓漏洞动态检测方法。所述方法包括:步骤s1、从公开数据集cicandmal2017中获取待检测的安卓软件包apk文件,基于jupyter环境编写python脚本处理安卓文件的特性;步骤s2、对所述安卓软件包apk文件提取dex访问控制并进行分析,以从所述安卓软件包apk文件中获取代码、清单文件、api-ia和访问授权作为静态特征;步骤s3、利用自动化测试工具monkeyrunner和动态分析工具inspeckage,基于api特性提取所述安卓软件包apk文件的数据加解密信息、网络数据传输信息、sms和位置信息作为动态特征;其中,所述api特性包括dofinal、connected和getlongitude;步骤s4、对包含所述静态特征和所述动态特征的数据集进行特征选择、数据归一化、数据转换和标签编码,形成分类器可接受的数据集格式;步骤s5、将使用所述分类器可接受的数据集格式的所述数据集输入到基于gpu加速与深度学习驱动的安卓应用漏洞检测模型,以检测安卓生态系统中的网络威胁和攻击,并获得检测结果;步骤s6、通过标准性能评估指标对所述检测结果进行评估,从而完成安卓漏洞检测。

3、根据本发明第一方面的方法,所述标准性能评估指标包括:准确度、精确度、召回率、f1-score和au-roc中的一个或多个;所述深度学习的训练数据集采用安卓数据集。

4、根据本发明第一方面的方法,在所述步骤s2中,从获取的所述清单文件中生成特征向量,作为所述静态特征的一部分;具体包括:结构化地从所述安卓软件包apk文件中提取manifest文件,通过编写python脚本,从所述manifest文件中提取相关信息并生成所述特征向量。

5、根据本发明第一方面的方法,在所述步骤s4中,对所述数据集进行所述特征选择、所述数据归一化具体包括:执行所述步骤s1中编写的所述python脚本,使用python标准缩放函数对所述数据集进行归一化处理。

6、其中,从公开数据集cicandmal2017中收集测试使用的apk文件,基于jupyter环境编写python脚本处理安卓文件的特性。

7、通过对apk文件提取dex访问控制进行分析,进而从android软件包中提取代码、清单文件、api-ia和访问授权等静态特征。

8、使用自动化测试工具monkeyrunner以及动态分析工具inspeckage,依据dofinal、connected、getlongitude等api特性,提取数据加解密、网络数据传输、sms、位置信息获取等动态特征。

9、将所述代码、清单文件、api-ia和访问授权等静态特征,编码成二进制静态特征向量,将所述的数据加解密、网络数据传输、sms、位置信息编码成时间序列形式动态特征向量,静态特征向量与动态特征向量共同构成生成android数据集。

10、对该android数据集进行特征选择、数据归一化、数据转换和标签编码,形成分类器可接受的数据集格式;

11、构建用于静态检测的dbn分类器模型,所设计的分类器由三层rbm(受限玻尔兹曼机)堆叠而成,每层rmb具备显层和隐层,层内无连接,层与层之间全连接。

12、所设计的dbn分类器模型经预训练与微调两个步骤,预训练过程中,learningrate设置为e=0.5,batch_size设置为256,epochs设置为10,所有层训练结束后,再结合监督学习算法对参数进行微调。

13、所设计的dbn分类器模型预训练过程,设计算法如下:

14、start:

15、loop:

16、step1:训练第一个rbm,确定其权重和偏移量;

17、step2:使用第一个rbm的隐层参数作为第二个rbm的输入进行训练;

18、step3:训练第二个rbm后,将第二个rbm堆叠在第一个rbm上方;

19、step4:if(所有rbm训练完毕)

20、end loop

21、end

22、所设计的dbn分类器模型微调过程,设计算法如下:

23、start:

24、设e为学习率,pj为j层神经元被使用当前生成权值的前一层神经元的当前状态驱动时的激活概率,qj是神经元j被使用当前认知权重的前一层神经元激活概率

25、step1:将rbm层(首层除外)的权重分为认知权重δwij和生成权重δgkj;

26、step2:使用认知权值从下到上驱动神经元,相邻层的神经元的二进制状态则用来训练生成权重δgkj=esk(sj-pj),其中k为j的上层神经元。

27、step3:使用从上到下的生成连接驱动网络,相邻层的神经元状态被用来学习从下到上的认知连接,得到认知权重δwij=esi(sj-qj)。

28、end

29、构建用于检测的gru分类器模型,所设计的分类器模型包括前置单元、中间单元、输出单元三个部分。前置单元包括一个gru输入层;中间层包含三个gru层,神经元数分别为128,256,512,三个gru层均通过正则化的dropout层耦合,且dropout比率设置为0.2;输出单元是由sigmod函数驱动的全连接层。

30、所设计的gru分类器模型使用学习率为0.0001的adam优化器。为了准确评估模型的loss与accuracy,使用early halting以及checkpoint机制,防止过拟合与欠拟合。

31、将android数据集的静态特征向量输入所设计的dbn分类器,将android数据集动态变量输入所设计的到深度学习驱动的gpu加速的gru模型,用以检测android生态系统中的复杂网络威胁和攻击,获得检测结果;

32、通过标准的性能评估指标对检测结果进行评估,智能化完成安卓漏洞的检测。

33、该标准的性能评估指标包括:准确度、精确度、召回率、f1-score(统计学中用来衡量二分类模型精确度的一种指标)、au-roc(带有凸包的接收器操作特性曲线)。

34、从android软件包中提取清单文件、从该清单文件中生成特征向量的方法分别为:通过对apk文件提取dex访问控制进行分析,进而从android软件包中提取代码、清单文件、api-ia和访问授权等静态特征。通过编写python脚本,提取有效信息并且生成特征向量。

35、使用自动化测试工具monkeyrunner以及动态分析工具inspeckage,依据dofinal、connected、getlongitude等api特性,提取数据加解密、网络数据传输、sms、位置信息获取等动态特征。根据本发明的第一方面的方法,将所述代码、清单文件、api-ia和访问授权等静态特征,编码成二进制静态特征向量,将所述的数据加解密、网络数据传输、sms、位置信息编码成时间序列形式动态特征向量,静态特征向量与动态特征向量共同构成生成android数据集。

36、对该数据集进行特征选择、数据归一化的方法分别为:执行python脚本,使用python标准缩放函数对数据集进行归一化处理。

37、构建用于静态检测的dbn分类器模型,所设计的分类器由三层rbm(受限玻尔兹曼机)堆叠而成,每层rmb具备显层和隐层,层内无连接,层与层之间全连接。

38、所设计的dbn分类器模型经预训练与微调两个步骤。

39、所设计的dbn分类器预训练过程与微调过程均涉及相关算法。

40、构建用于数据分类的gru分类器模型,所设计的分类器模型包括前置单元、中间单元、输出单元三个部分。

41、前置单元包括一个gru输入层。

42、中间层包含三个gru层,神经元数分别为128,256,512,三个gru层均通过正则化的dropout层耦合,且dropout比率设置为0.2。

43、输出单元是由sigmod函数驱动的全连接层。

44、该深度学习的训练数据集采用android数据集。

45、该android数据集包括:android恶意软件数据集。

46、该android数据集还包括android应用程序集合:cicandmal2017,androzoo。

47、本发明第二方面公开了一种安卓漏洞动态检测系统。所述系统包括:第一处理单元,被配置为:从公开数据集cicandmal2017中获取待检测的安卓软件包apk文件,基于jupyter环境编写python脚本处理安卓文件的特性;第二处理单元,被配置为:对所述安卓软件包apk文件提取dex访问控制并进行分析,以从所述安卓软件包apk文件中获取代码、清单文件、api-ia和访问授权作为静态特征;第三处理单元,被配置为:利用自动化测试工具monkeyrunner和动态分析工具inspeckage,基于api特性提取所述安卓软件包apk文件的数据加解密信息、网络数据传输信息、sms和位置信息作为动态特征;其中,所述api特性包括dofinal、connected和getlongitude;第四处理单元,被配置为:对包含所述静态特征和所述动态特征的数据集进行特征选择、数据归一化、数据转换和标签编码,形成分类器可接受的数据集格式;第五处理单元,被配置为:将使用所述分类器可接受的数据集格式的所述数据集输入到基于gpu加速与深度学习驱动的安卓应用漏洞检测模型,以检测安卓生态系统中的网络威胁和攻击,并获得检测结果;第六处理单元,被配置为:通过标准性能评估指标对所述检测结果进行评估,从而完成安卓漏洞检测。

48、根据本发明第二方面的系统,所述标准性能评估指标包括:准确度、精确度、召回率、f1-score和au-roc中的一个或多个;所述深度学习的训练数据集采用安卓数据集。

49、根据本发明第二方面的系统,所述第二处理单元被配置为,从获取的所述清单文件中生成特征向量,作为所述静态特征的一部分;具体包括:结构化地从所述安卓软件包apk文件中提取manifest文件,通过编写python脚本,从所述manifest文件中提取相关信息并生成所述特征向量。

50、根据本发明第二方面的系统,所述第四处理单元被配置为,对所述数据集进行所述特征选择、所述数据归一化具体包括:执行所述第一处理单元编写的所述python脚本,使用python标准缩放函数对所述数据集进行归一化处理。

51、替换地,所述系统包括:数据采集模块,被配置为,从android生态系统中的android软件包中提取代码、清单文件和类,从该清单文件中生成特征向量,将该代码、清单文件、类、特征向量生成android数据集;数据预处理模块,被配置为,对该android数据集进行特征选择、数据归一化、数据转换和标签编码,形成分类器可接受的数据集格式;模型工程模块,被配置为,构建用于数据分类的gru分类器模型,将可接受的数据集格式的所述android数据集,输入到深度学习驱动的gpu加速的gru模型,用以检测android生态系统中的复杂网络威胁和攻击,获得检测结果;检测评估模块,被配置为,通过标准的性能评估指标对检测结果进行评估,智能化完成安卓漏洞的检测。

52、标准的性能评估指标包括:准确度、精确度、召回率、f1-score(统计学中用来衡量二分类模型精确度的一种指标)。

53、从android软件包中提取清单文件、从该清单文件中生成特征向量的方法分别为:结构化地从android apk中提取manifest文件、通过编写python脚本,从manifest文件中提取有效信息并且生成特征向量。

54、对该数据集进行特征选择、数据归一化的方法分别为:执行python脚本,使用python标准缩放函数对数据集进行归一化处理。

55、该深度学习的训练数据集采用android数据集。

56、该android数据集包括:android恶意软件数据集。

57、该android数据集还包括android应用程序集合:androzoo。

58、构建用于静态检测的dbn分类器模型,所设计的分类器由三层rbm(首先玻尔兹曼机)堆叠而成,每层rmb具备显层和隐层,层内无连接,层与层之间全连接。

59、构建用于动态检测的gru分类器模型,所设计的分类器模型包括前置单元、中间单元、输出单元三个部分。前置单元包括一个gru输入层;中间层包含三个gru层,神经元数分别为128,256,512,三个gru层均通过正则化的dropout层耦合,且dropout比率设置为0.2;输出单元是由sigmod函数驱动的全连接层。

60、所设计的dbn分类器模型经预训练与微调两个步骤,预训练过程中,learningrate设置为0.5,batch_size设置为256,epochs设置为10,所有层训练结束后,再结合监督学习算法对参数进行微调。

61、所设计的dbn分类器模型包括预训练过程及相关算法。

62、所设计的dbn分类器模型微调过程及相关算法。

63、所设计的系统包括将android数据集的静态特征向量输入所设计的dbn分类器,将android数据集动态变量输入所设计的到深度学习驱动的gpu加速的gru模型,用以检测android生态系统中的复杂网络威胁和攻击,获得检测结果

64、本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第一方面所述的一种安卓漏洞动态检测方法中的步骤。

65、本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第一方面所述的一种安卓漏洞动态检测方法中的步骤。

66、综上,本发明的技术方案是一种灵活、创新和可扩展的基于深度学习的检测机制,结合深度信念网络与门控循环单元(gru)构建检测方法,分别对android应用程序中的静态信息与动态信息进行识别识别android环境中的多类攻击,并对恶意安卓app漏洞进行检测分类。

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