Android平台恶意应用检测方法及装置制造方法及图纸

技术编号:16270364 阅读:47 留言:0更新日期:2017-09-22 22:00
本发明专利技术提供一种Android平台恶意应用检测方法及装置,其中,所述方法包括:调用FlowDroid工具,提取待测Android应用的静态数据流特征;利用SUSI技术对待测Android应用的静态数据流特征进行处理,生成待测Android应用的数据流的特征向量;将生成的待测Android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测Android应用是否是恶意应用的检测结果。本发明专利技术能对Android平台恶意应用进行准确检测,避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模及准确获取组件间通信的目标组件的两大挑战,实现对Android应用敏感数据流的准确全面提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性。

【技术实现步骤摘要】
Android平台恶意应用检测方法及装置
本专利技术涉及移动安全及机器学习
,尤其涉及一种Android平台恶意应用检测方法及装置。
技术介绍
在移动智能终端领域,存在大量恶意软件,它们往往能够在用户没有察觉的情况下隐蔽获取用户存储在设备上的隐私数据,并发送到攻击者的邮箱或服务器中,对用户的财政安全和隐私安全带来极大的困扰。随着安卓Android平台智能终端普及,Android智能终端上的隐私窃取攻击与恶意应用检测技术也越来越受到人们重视。目前,现有对Android平台恶意应用进行检测的数据流分析技术主要包括:动态污点追踪和静态数据流分析技术两种。动态污点追踪是通过对敏感数据进行污点标记,并在应用运行时对污点数据进行动态追踪,判断是否发生恶意泄露。静态数据流分析技术是通过构建应用的函数调用图,并对其中可到达函数进行逐一分析,将敏感的源信息进行传播来监控其在整个系统中的信息流流向。但是,动态污点追踪面临如何覆盖程序中所有代码路径的挑战;而且,部分恶意应用能够判断动态监控器的存在,并隐藏其恶意行为,导致检测结果存在一定的假阴性。静态数据流分析技术需要对应用运行流程进行准确的建模;而且,Android应用程序运用了大量的组件间通信,一个组件能够发送intent调用另一个组件,intent中可能被放入数据。如何准确地获取组件间通信的目标组件也是静态数据流分析技术的一个难点。另外,由于近年来机器学习与数据挖掘技术的广泛应用,目前还利用基于传统机器学习算法对Android平台恶意应用进行检测。该类方法首先使用静态方法提取应用的权限、API调用、函数调用等特征,或使用动态方法提取应用的行为、系统参数变化、系统调用等特征;然后,选取机器学习算法,如:决策树、朴素贝叶斯、支持向量机等,对这些特征数据进行训练,构建恶意应用检测模型;并最终利用该模型判断应用的安全性。但是,针对同一类型的应用行为特征,不同的机器学习算法有着不同的检测结果。选取合适的机器学习算法处理合适类型的应用行为特征,对最终的检测结果至关重要。同时,传统的机器学习算法具有浅层的模型结构,对于最终的检测结果有一定的影响。鉴于此,如何提供一种Android平台恶意应用检测方法及装置,以避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模以及需要准确获取组件间通信的目标组件的两大挑战,实现对Android应用敏感数据流的准确全面的提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性,实现对Android平台恶意应用的准确检测成为目前需要解决的技术问题。
技术实现思路
为解决上述的技术问题,本专利技术提供一种Android平台恶意应用检测方法及装置,能够避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模以及需要准确获取组件间通信的目标组件的两大挑战,实现对Android应用敏感数据流的准确全面的提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性,实现对Android平台恶意应用的准确检测。第一方面,本专利技术提供一种Android平台恶意应用检测方法,包括:调用FlowDroid工具,提取待测Android应用的静态数据流特征;利用SUSI技术,对所述待测Android应用的静态数据流特征进行处理,生成待测Android应用的数据流的特征向量;将生成的待测Android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测Android应用是否是恶意应用的检测结果。可选地,在所述将生成的待测Android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型之前,所述方法还包括:获取Android应用样本,所述Android应用样本包括:安全Android应用样本和恶意Android应用样本;调用FlowDroid工具,提取所述Android应用样本的静态数据流特征;利用SUSI技术,对所述Android应用样本的静态数据流特征进行处理,生成Android应用样本的数据流的特征向量;根据所述Android应用样本的数据流的特征向量进行训练,构建深度置信网络检测模型。可选地,所述根据所述样本Android应用的数据流的特征向量进行训练,构建深度置信网络检测模型,包括:将未标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机RBM的输入,采用无监督学习方法,自下而上逐层预训练多层RBM,生成深度置信网络DBN,直至DBN网络处于平衡状态;在所述DBN网络的最后一个隐含层后增加一个分类层;将标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛。可选地,所述将标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛,包括:将标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量输入所述分类层,采用反向传播BP算法,有监督地微调整个网络各层的参数,直至收敛。可选地,在所述获得待测Android应用是否是恶意应用的检测结果之后,所述方法还包括:若待测Android应用是恶意应用,则提示用户所述待测Android应用是恶意应用,并向用户展示待测Android应用是恶意应用的分析报告;若待测Android应用不是恶意应用,则提示用户所述待测Android应用不是恶意应用。第二方面,本专利技术提供一种Android平台恶意应用检测装置,包括:第二提取模块,用于调用FlowDroid工具,提取待测Android应用的静态数据流特征;第二处理模块,用于利用SUSI技术,对所述待测Android应用的静态数据流特征进行处理,生成待测Android应用的数据流的特征向量;检测模块,用于将生成的待测Android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测Android应用是否是恶意应用的检测结果。可选地,所述装置还包括:获取模块,用于获取Android应用样本,所述Android应用样本包括:安全Android应用样本和恶意Android应用样本;第一提取模块,用于调用FlowDroid工具,提取所述Android应用样本的静态数据流特征;第一处理模块,用于利用SUSI技术,对所述Android应用样本的静态数据流特征进行处理,生成Android应用样本的数据流的特征向量;构建模块,用于根据所述Android应用样本的数据流的特征向量进行训练,构建深度置信网络检测模型。可选地,所述构建模块,包括:预训练单元,用于将未标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机RBM的输入,采用无监督学习方法,自下而上逐层预训练多层RBM,生成深度置信网络DBN,直至DBN网络处于平衡状态;增加单元,用于在所述DBN网络的最后一个隐含层后增加一个分类层;微调单元,用于将标记的安全Android应用样本和恶意Android应用样本的数本文档来自技高网
...
Android平台恶意应用检测方法及装置

【技术保护点】
一种Android平台恶意应用检测方法,其特征在于,包括:调用FlowDroid工具,提取待测Android应用的静态数据流特征;利用SUSI技术,对所述待测Android应用的静态数据流特征进行处理,生成待测Android应用的数据流的特征向量;将生成的待测Android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测Android应用是否是恶意应用的检测结果。

【技术特征摘要】
1.一种Android平台恶意应用检测方法,其特征在于,包括:调用FlowDroid工具,提取待测Android应用的静态数据流特征;利用SUSI技术,对所述待测Android应用的静态数据流特征进行处理,生成待测Android应用的数据流的特征向量;将生成的待测Android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测Android应用是否是恶意应用的检测结果。2.根据权利要求1所述的方法,其特征在于,在所述将生成的待测Android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型之前,所述方法还包括:获取Android应用样本,所述Android应用样本包括:安全Android应用样本和恶意Android应用样本;调用FlowDroid工具,提取所述Android应用样本的静态数据流特征;利用SUSI技术,对所述Android应用样本的静态数据流特征进行处理,生成Android应用样本的数据流的特征向量;根据所述Android应用样本的数据流的特征向量进行训练,构建深度置信网络检测模型。3.根据权利要求2所述的方法,其特征在于,所述根据所述样本Android应用的数据流的特征向量进行训练,构建深度置信网络检测模型,包括:将未标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机RBM的输入,采用无监督学习方法,自下而上逐层预训练多层RBM,生成深度置信网络DBN,直至DBN网络处于平衡状态;在所述DBN网络的最后一个隐含层后增加一个分类层;将标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛。4.根据权利要求3所述的方法,其特征在于,所述将标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛,包括:将标记的安全Android应用样本和恶意Android应用样本的数据流的特征向量输入所述分类层,采用反向传播BP算法,有监督地微调整个网络各层的参数,直至收敛。5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述获得待测Android应用是否是恶意应用的检测结果之后,所述方法还包括:若待测Android应用是恶意应用,则提示用户所述待测Android应用是恶意应用,并向用户展示待测Android应用是恶意应用的分析...

【专利技术属性】
技术研发人员:朱大立金昊杨莹
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1