一种Android应用程序敏感行为的风险检测方法及装置制造方法及图纸

技术编号:20623136 阅读:34 留言:0更新日期:2019-03-20 14:41
本申请公开了一种Android应用程序敏感行为的风险检测方法及装置,该方法包括:获取Android应用程序安装包中的smali文件;判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令;所述调用敏感函数用于执行敏感行为;根据判断结果,确定所述Android应用程序是否能够执行敏感行为。这种根据smali文件的文件内容中是否包含用于调用敏感函数的调用指令的检测方式,使得应用程序的风险检测人员可以根据smali文件的文件内容中是否包含用于调用敏感函数的调用指令的判断结果,来确定Android应用程序是否能够执行敏感行为,从而解决了现有技术中如何检测Android应用程序是否能够执行敏感行为的问题。

A Risk Detection Method and Device for Sensitive Behavior of Android Applications

This application discloses a risk detection method and device for sensitive behavior of Android application. The method includes: obtaining SmalI file in Android application installation package; determining whether the file content of the SmalI file contains call instructions for calling sensitive functions; calling sensitive functions for performing sensitive behavior; and determining that the Android should be based on the judgement result. Can the program perform sensitive behavior? According to whether the file content of SmalI file contains calling instructions for calling sensitive functions, the risk detectors of the application program can determine whether the Android application can perform sensitive actions according to the judgment result of whether the file content of SmalI file contains calling instructions for calling sensitive functions, thus solving the existing technology. How to detect whether Android applications can perform sensitive behavior?

【技术实现步骤摘要】
一种Android应用程序敏感行为的风险检测方法及装置
本申请涉及计算机
,尤其涉及一种Android应用程序敏感行为的风险检测方法及装置。
技术介绍
目前,随着Android(安卓)操作系统的不断发展和普及,越来越多的用户使用Android操作系统上的应用程序(简称Android应用程序)。与此同时,Android应用程序的开发者和使用者所面临的安全问题也日益增多。在实际应用中,Android应用程序通常能够执行某些敏感行为,比如获取移动设备的设备信息、向用户发送短信、读取移动设备上的通讯录、获取用户的位置信息、使用移动设备上的摄像头、监听用户的通话等。然而,Android应用程序执行这些敏感行为时,还可能会给用户带来个人信息泄露的风险。但是现有技术没有公开检测Android应用程序是否能够执行敏感行为的技术方案。因此,检测Android应用程序是否能够执行敏感行为,是本申请所要解决的技术问题。
技术实现思路
本申请实施例中提供了一种Android应用程序敏感行为的风险检测方法及装置,用以解决现有技术中的问题。为了解决上述技术问题,本申请是这样实现的:第一方面,本申请提供了一种Android应用程序敏感行为的风险检测方法,该方法包括:获取Android应用程序安装包中的smali文件;判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令;所述调用敏感函数用于执行敏感行为;根据判断结果,确定所述Android应用程序是否能够执行敏感行为。优选地,所述获取Android应用程序安装包中的smali文件,具体包括:解压Android应用程序安装包,对解压后的classes.dex文件进行反编译,获取反编译后的smali文件。优选地,所述判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令,具体包括:将所述smali文件的文件内容与敏感函数调用指令库的内容进行匹配,判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令。优选地,所述将所述smali文件的文件内容与敏感函数调用指令库的内容进行匹配,具体包括:通过操作系统的关键字搜索命令遍历所述smali文件的文件内容,将所述smali文件的文件内容与敏感函数调用指令库的内容进行匹配。优选地,所述根据判断结果,确定所述Android应用程序是否能够执行敏感行为,具体包括:若判断结果为所述smali文件的文件内容中包含用于调用敏感函数的调用指令,则确定所述Android应用程序能够执行敏感行为;若判断结果为所述smali文件的文件内容中不包含用于调用敏感函数的调用指令,则确定所述Android应用程序不能够执行敏感行为。第二方面,本申请提供了一种Android应用程序敏感行为的风险检测装置,该装置包括:文件获取单元,用于获取Android应用程序安装包中的smali文件;指令判断单元,用于判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令;所述调用敏感函数用于执行敏感行为;风险确定单元,用于根据判断结果,确定所述Android应用程序是否能够执行敏感行为。采用本申请实施例中提供的上述至少一个技术方案,可以达到如下效果:当Android应用程序安装包中smali文件的文件内容包含用于调用敏感函数的调用指令时,说明Android应用程序能够调用敏感函数,也就说明Android应用程序能够执行该敏感函数对应的敏感行为。因此,采用本申请所提供的该方法,通过判断smali文件的文件内容中是否包含用于调用敏感函数的调用指令,来确定Android应用程序是否能够执行敏感行为,可以解决现有技术中如何检测Android应用程序是否能够执行敏感行为的问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请的一个实施例中提供的一种Android应用程序敏感行为的风险检测方法的流程示意图;图2为本申请的一个实施例中提供的一种Android应用程序敏感行为的风险检测装置的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下结合附图,详细说明本申请各实施例中提供的技术方案。实施例1为解决现有技术中的问题,本申请实施例1提供了一种Android应用程序敏感行为的风险检测方法。由于Android操作系统中包括用于执行敏感行为的功能函数(简称敏感函数),Android应用程序能够通过调用敏感函数来执行敏感行为。因此,可以通过检测Android应用程序安装包中smali文件的文件内容是否包含用于调用敏感函数的调用指令,来确定该Android应用程序是否能够执行敏感行为,从而解决现有技术中的问题。该Android应用程序敏感行为的风险检测方法的执行主体,可以是用于检测Android应用程序的服务器或服务器上所运行的检测系统(或检测程序);又或者,该Android应用程序敏感行为的风险检测方法的执行主体可以是用于检测Android应用程序的客户端(或用户端)等。为便于描述本申请实施例1,以下详细说明均以该Android应用程序敏感行为的风险检测方法的执行主体为检测Android应用程序的服务器上所运行的检测系统(以下简称为检测系统)为例,对该Android应用程序敏感行为的风险检测方法进行介绍。请参见说明书附图1,其为本申请实施例1提供的一种Android应用程序敏感行为的风险检测方法的流程示意图,该流程具体包括如下步骤:步骤11:获取Android应用程序安装包中的smali文件。本申请实施例1中,在一种实施方式中,所述Android应用程序安装包,是指待检测的Android(安卓)操作系统上应用程序(Application,简称APP)的安装包,比如可以是已载入应用市场或者即将载入应用市场的需要检测的Android操作系统上各应用程序的安装包。本申请实施例1中,在一种实施方式中,所述安装包是指Android安装包,即APK文件(AndroidPackage)。该APK文件中包含了一个Android应用程序的所有内容。本申请实施例1中,在一种实施方式中,所述APK文件可以理解为Android应用程序的程序文件所压缩成的一个压缩包,但是该APK文件是以.apk作为文件的后缀名。比如可以是:xxx.apk,其中,所述xxx是Android应用程序的开发者所命名的文件名。本申请实施例1中,在一种实施方式中,所述APK文件经过解压后所包含的文件及文件夹如下述所示,主要分别是:AndroidManifest.xml文件、classes.dex文件、resources.arsc文件,以及assets文件夹、lib文件夹、META-INF文件夹、res文件夹。其中,所述AndroidManifest.xml文件是每个APK文件中都必须包含的一类文件,该文件用于描述应用程序的名字、版本、权限、本文档来自技高网...

【技术保护点】
1.一种Android应用程序敏感行为的风险检测方法,其特征在于,包括:获取Android应用程序安装包中的smali文件;判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令;所述调用敏感函数用于执行敏感行为;根据判断结果,确定所述Android应用程序是否能够执行敏感行为。

【技术特征摘要】
1.一种Android应用程序敏感行为的风险检测方法,其特征在于,包括:获取Android应用程序安装包中的smali文件;判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令;所述调用敏感函数用于执行敏感行为;根据判断结果,确定所述Android应用程序是否能够执行敏感行为。2.如权利要求1所述的方法,其特征在于,所述判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令,具体包括:将所述smali文件的文件内容与敏感函数调用指令库的内容进行匹配,判断所述smali文件的文件内容中是否包含用于调用敏感函数的调用指令。3.如权利要求2所述的方法,其特征在于,所述将所述smali文件的文件内容与敏感函数调用指令库的内容进行匹配,具体包括:通过操作系统的关键字搜索命令遍历所述smali文件的文件内容,将所述smali文件的文件内容与敏感函数调用指令库的内容进行匹配。4.如权利要求1所述的方法,其特征在于,所述根据判断结果,确定所述Android应用程序是否能够执行敏感行为,具体包括:若判断结果为所述smali文件的文件内容中包含用于调用敏感函数的调用指令,则确定所述Android应用程序能够执行敏感行为;若判断结果为所述smali文件的文件内容中不包含用于调用敏感函数的调用指令,则确定所述Android应用程序不能够执行敏感行为。5.如权利要求1所述的方法,其特征在于,所述获取Android应用程序安装包中的smali文件,具体包括:解压Android应用程序安装包,对解压后的classes.dex文件进...

【专利技术属性】
技术研发人员:阚志刚徐磊刘义张志勇张陈陈陈彪林凯
申请(专利权)人:北京梆梆安全科技有限公司
类型:发明
国别省市:北京,11

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

1