【技术实现步骤摘要】
一种基于机器学习的安卓隐私泄露检测方法及系统
[0001]本专利技术涉及网络安全
,具体描述一种基于机器学习的安卓隐私泄露检测方法及系统。
技术介绍
[0002]安卓系统是移动设备中使用最为广泛的操作系统,安卓手机的普及在一定程度上促进了安卓应用软件的发展。但由于软件数量十分庞大且应用市场缺少严格的管理制度,导致大量应用软件在上架之前未能进行充分的安全检测,致使许多恶意软件涌入市场。现阶段用户会将大量的敏感信息储存在手机的应用软件中,恶意软件的存在使得用户的敏感信息极容易被泄露,给用户的隐私安全造成一定的威胁。
[0003]安卓隐私泄露检测方法主要分为静态分析检测和动态分析检测。静态分析对应用软件的源码以及字节进行分析,但现阶段开发人员会对恶意软件进行加壳以及混淆操作,导致静态分析检测方法的检测率降低。动态分析一般采取动态污点分析方法,不再需要获取软件源码,只需动态运行软件,即可实时监控软件是否产生危险行为。该方法可以有效检测敏感信息的泄露。动态污点分析的弊端也很明显,该技术需要修改安卓底层系统源码,并 ...
【技术保护点】
【技术特征摘要】
1.一种基于机器学习的安卓隐私泄露检测方法,其特征在于它包括以下步骤:(1)收集安卓应用软件样本,筛选与隐私泄露相关的关键特征;(2)对步骤(1)筛选后的特征进行提取和处理,进行向量化表示;(3)将根据步骤(2)向量化后的特征信息输入到Stacking模型进行训练,使用五折交叉验证方法降低过拟合的概率,同时优化安卓隐私泄露检测模型,并输出优化后的模型;(4)根据步骤(2)提取安卓应用软件所申请的敏感权限特征信息和敏感API特征信息,并结合步骤(3)所得到优化后的模型进行安卓隐私泄露检测,判断应用软件是否具有隐私泄露的风险,若模型检测结果为“1”,代表安卓应用软件具有隐私泄露的风险;模型检测结果为“0”,代表安卓应用软件不具有隐私泄露的风险。2.根据权利要求1所述一种基于机器学习的安卓隐私泄露检测方法,其特征在于所述步骤(1)中安卓应用软件样本是由两部分构成;其中一部分是利用爬虫方法在应用商店获取的安卓应用软件,另一部分是工信部所发布的违规安卓应用软件名单中具有隐私泄露风险的样本;并在此样本集中随机划分出样本集的70%作为训练数据集,30%作为测试集。3.根据权利要求1所述一种基于机器学习的安卓隐私泄露检测方法,其特征在于所述步骤(1)中的筛选具体是指:从收集到的安卓应用软件样本中随机抽取30%的样本集,收集安卓应用软件权限信息,将安卓应用软件权限按照被调用频率从高到低进行排序,并与安卓官方所声明的24个危险级别权限进行对比,确定敏感权限特征信息,选取与隐私数据相关的API和与敏感权限特征信息相关的API,确定敏感API特征信息,将筛选后的敏感权限特征信息和敏感API特征信息作为本检测方法的关键特征。4.根据权利要求1所述一种基于机器学习的安卓隐私泄露检测方法,其特征在于所述步骤(2)具体是指:提取安卓应用软件的关键特征,使用AAPT工具获取安卓应用软件所申请的权限信息,动态安装运行安卓应用软件,使用Xposed框架进行实时监控,截获并记录安卓应用软件的敏感API特征信息,再使用One
‑
Hot编码方法对截获的敏感权限特征信息和敏感API特征信息进行向量化表示。5.根据权利要求4所述一种基于机器学习的安卓隐私泄露检测方法,其特征在于所述使用AAPT工具获取权限信息具体是指:使用AAPT中的“aapt d permissions”语句获取安卓应用软件的权限列表;所述使用Xposed框架进行实时监控,截获并记录安卓应用软件的敏感API特征信息具体是指:使用Android Studio软件编写Hook模块,向模块中加入Log语句,安卓应用软件调用敏感API特征信息后,模块输出Log语句,进行最终记录;所述使用One
‑
Hot编码方法对截获的敏感权限特征信息和敏感API特征信息进行向量化表示具体是指:将提取到的安卓应用软件的敏感权限特征信息和安卓应用软件的敏感API特征信息进行One
‑
Hot向量化转换,即:若安卓应用软件申请的权限信息为敏感权限,则此时向量化表示为1;若没有申请敏感权限,则向量化表示为0,将进行One
‑
Hot向量化转换后的特征信息按照敏感权限特征信息在前,敏感API特征信息在后进行排列,形成一个n*1大小的矩阵序列。6.根据权利要求5所述一种基于机器学习的安卓隐私泄露检测方法,其特征在于所述敏感权限特征信息包括在安卓应用软件的良性应用软件和隐私泄露风险应用软件中被申请频率较高的权限特征、安卓官方声明危险权限特...
【专利技术属性】
技术研发人员:赵春蕾,步志亮,宫良一,王嬉,杨艺,李梅彤,
申请(专利权)人:天津理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。