一种安卓漏洞动态检测方法、系统、电子设备、存储介质技术方案

技术编号:38331792 阅读:12 留言:0更新日期:2023-07-29 09:14
本发明专利技术提出了一种安卓漏洞动态检测方法、系统、电子设备、存储介质,所述方法结合深度信念网络(Deep Belief Network,DBN)与增强的门控循环单元(Gated Recurrent Unit,GRU)模型实现高效准确的智能安卓应用的漏洞检测。所述方法从安卓软件包Apk中采集文件特性,通过DEX访问控制以及动态分析,提取静态特征与动态特征;进一步进行数据预处理,包括特征选择、数据归一化、数据转换和标签编码,将数据集转换成分类器可接受的格式;并采用基于GPU加速与深度学习驱动的方式来检测安卓应用中的漏洞。度学习驱动的方式来检测安卓应用中的漏洞。度学习驱动的方式来检测安卓应用中的漏洞。

【技术实现步骤摘要】
一种安卓漏洞动态检测方法、系统、电子设备、存储介质


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

技术介绍

[0002]当前,智能设备的使用数量呈指数级的增长,根据Gartner发布的报告,2021年,全球将有41亿智能移动设备。Android系统作为一个开源和通用的平台,一直以来是电信行业的领先巨头,也是各种智能手机厂商的产业标准,目前在全球智能手机行业中占有约74%的市场份额。除了智能手机外,安卓系统还为智能手表、平板电脑等产品提供智能系统平台支撑。
[0003]随着Android系统的盛行,网络攻击者将其视为重要的研究与攻击目标。其中安卓恶意软件是一种常见的攻击手段。恶意软件开发者可以结合现有或未公开的的操作系统漏洞来制作复杂的恶意软件,并通过这些软件以对安卓数据和系统造成的破坏,如权限升级、信息窃取、远程控制和隐私泄露等。此外,Android智能手机上很少安装防病毒软件。即使是安装了相关软件也可能无法非常有效地利用它来识别感染。由于Android恶意软件对企业和终端用户的影响巨大,对智能设备安全造成不可忽视的影响,因此对开展安卓系统漏洞检测的研究势在必行。

技术实现思路

[0004]为解决现有技术存在的上述问题,本专利技术的目的在于设计一种安卓漏洞动态检测方案,其结合深度信念网络(deep belief network,DBN)与增强的门控循环单元(Gated Recurrent Unit,GRU)模型实现高效准确的智能安卓APP漏洞检测。
[0005]本专利技术第一方面公开了一种安卓漏洞动态检测方法。所述方法包括:步骤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、通过标准性能评估指标对所述检测结果进行评估,从而完成安卓漏洞检测。
[0006]根据本专利技术第一方面的方法,所述标准性能评估指标包括:准确度、精确度、召回率、F1

score和AU

ROC中的一个或多个;所述深度学习的训练数据集采用安卓数据集。
[0007]根据本专利技术第一方面的方法,在所述步骤S2中,从获取的所述清单文件中生成特征向量,作为所述静态特征的一部分;具体包括:结构化地从所述安卓软件包APK文件中提取manifest文件,通过编写python脚本,从所述manifest文件中提取相关信息并生成所述特征向量。
[0008]根据本专利技术第一方面的方法,在所述步骤S4中,对所述数据集进行所述特征选择、所述数据归一化具体包括:执行所述步骤S1中编写的所述python脚本,使用python标准缩放函数对所述数据集进行归一化处理。
[0009]其中,从公开数据集CICAndMal2017中收集测试使用的APK文件,基于Jupyter环境编写Python脚本处理安卓文件的特性。
[0010]通过对APK文件提取DEX访问控制进行分析,进而从Android软件包中提取代码、清单文件、API

IA和访问授权等静态特征。
[0011]使用自动化测试工具MonkeyRunner以及动态分析工具Inspeckage,依据doFinal、connected、getLongitude等API特性,提取数据加解密、网络数据传输、SMS、位置信息获取等动态特征。
[0012]将所述代码、清单文件、API

IA和访问授权等静态特征,编码成二进制静态特征向量,将所述的数据加解密、网络数据传输、SMS、位置信息编码成时间序列形式动态特征向量,静态特征向量与动态特征向量共同构成生成Android数据集。
[0013]对该Android数据集进行特征选择、数据归一化、数据转换和标签编码,形成分类器可接受的数据集格式;
[0014]构建用于静态检测的DBN分类器模型,所设计的分类器由三层RBM(受限玻尔兹曼机)堆叠而成,每层RMB具备显层和隐层,层内无连接,层与层之间全连接。
[0015]所设计的DBN分类器模型经预训练与微调两个步骤,预训练过程中,learning rate设置为e=0.5,batch_size设置为256,epochs设置为10,所有层训练结束后,再结合监督学习算法对参数进行微调。
[0016]所设计的DBN分类器模型预训练过程,设计算法如下:
[0017]Start:
[0018]Loop:
[0019]Step1:训练第一个RBM,确定其权重和偏移量;
[0020]Step2:使用第一个RBM的隐层参数作为第二个RBM的输入进行训练;
[0021]Step3:训练第二个RBM后,将第二个RBM堆叠在第一个RBM上方;
[0022]Step4:If(所有RBM训练完毕)
[0023]End Loop
[0024]End
[0025]所设计的DBN分类器模型微调过程,设计算法如下:
[0026]Start:
[0027]设e为学习率,p
j
为j层神经元被使用当前生成权值的前一层神经元的当前状态驱动时的激活概率,q
j
是神经元j被使用当前认知权重的前一层神经元激活概率
[0028]Step1:将RBM层(首层除外)的权重分为认知权重Δw
ij
和生成权重Δg
kj

[0029]Step2:使用认知权值从下到上驱动神经元,相邻层的神经元的二进制状态则用来
训练生成权重Δg
kj
=es
k
(s
j

p
j
),其中k为j的上层神经元。
[0030]Step3:使用从上到下的生成连接驱动网络,相邻层的神经元状态被用来学习从下到上的认知连接,得到认知权重Δw
ij
=es
i
(s
j

q<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安卓漏洞动态检测方法,其特征在于,所述方法包括:步骤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、通过标准性能评估指标对所述检测结果进行评估,从而完成安卓漏洞检测。2.根据权利要求1所述的一种安卓漏洞动态检测方法,其特征在于:所述标准性能评估指标包括:准确度、精确度、召回率、F1

score和AU

ROC中的一个或多个;所述深度学习的训练数据集采用安卓数据集。3.根据权利要求2所述的一种安卓漏洞动态检测方法,其特征在于,在所述步骤S2中,从获取的所述清单文件中生成特征向量,作为所述静态特征的一部分;具体包括:结构化地从所述安卓软件包APK文件中提取manifest文件,通过编写python脚本,从所述manifest文件中提取相关信息并生成所述特征向量。4.根据权利要求3所述的一种安卓漏洞动态检测方法,其特征在于,在所述步骤S4中,对所述数据集进行所述特征选择、所述数据归一化具体包括:执行所述步骤S1中编写的所述python脚本,使用python标准缩放函数对所述数据集进行归一化处理。5.一种安卓漏洞动态检测系统,其特征在于,所述系统包括:第一处理单元,被配置为:从公开数据集CICAndMal2017中获取待检测的安卓软件包APK文件,基于Jupyter环境编写Python脚本处理安卓文件的特性;第二处理单元,被配置为:对所述安...

【专利技术属性】
技术研发人员:谷允捷吴志勇吴庆张伟吕天航胡琪闫吉宇江玉朝朱怀东代培武李艳斌管乐乐
申请(专利权)人:中国人民解放军六一六六零部队
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1