敏感权限调用检测方法、系统、设备及存储介质与流程
- 国知局
- 2024-09-14 15:08:23
本申请涉及应用程序,尤其是一种敏感权限调用检测方法、系统、设备及存储介质。
背景技术:
1、在移动应用程序的开发中,需要注意对涉及到的敏感权限的保护。应用程序的敏感权限是指一些对用户隐私和安全具有潜在风险的权限,如获取用户位置信息、访问通讯录、读取短信等。这些敏感权限可能会泄露用户的个人信息,导致数据泄露、隐私侵犯等问题。因此,应用程序在使用这些敏感权限时需要经过用户的明确授权。
2、相关技术中,在开发应用程序时,需要实现敏感权限检查逻辑。现有的技术一般是基于xposed框架开发的,预备一台root手机设备安装xposed环境和敏感权限检查模块,在手机设备上测试,查看相关日志确保敏感权限检查的逻辑能够正常运行。但是,在应用中发现,xposed框架可以对android系统进行深入的修改,包括hook应用程序的方法、修改方法的行为等,恶意开发者可能会利用该框架来实施攻击;而且,该框架的版本和目标应用程序的兼容性可能会受到影响,特别是当android系统更新或者目标应用程序更新时,可能会导致xposed模块无法正常工作或者产生不稳定的行为;该框架的安装和使用需要获取系统root权限,这可能会使得一些用户不愿意使用,因为root权限的获取可能会影响设备的安全性和稳定性,该框架可以用于窃取用户数据或者修改目标应用程序的行为,这可能会对用户的隐私产生潜在风险。
3、综上,相关技术存在的问题亟需得到解决。
技术实现思路
1、本申请的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
2、为此,本申请实施例的一个目的在于提供敏感权限调用检测方法、系统、设备及存储介质。
3、为了达到上述技术目的,本申请实施例所采取的技术方案包括:
4、一方面,本申请实施例提供了敏感权限调用检测方法,所述方法包括:
5、获取目标应用程序对应的敏感权限信息;
6、根据所述敏感权限信息,确定申请所述目标应用程序的敏感权限的系统api信息,根据所述敏感权限信息和所述系统api信息建立列表;
7、基于所述列表,通过asm插桩技术构建目标插件,将所述目标插件集成到所述目标应用程序中;
8、当所述目标应用程序启动时,运行所述目标插件,通过所述目标插件检测各个请求是否调用所述目标应用程序的敏感权限,得到对应的检测结果。
9、另外,根据本申请上述实施例的敏感权限调用检测方法,还可以具有以下附加的技术特征:
10、进一步地,在本申请的一个实施例中,所述根据所述敏感权限信息和所述系统api信息建立列表,包括:
11、在所述目标应用程序中创建本地数据库;
12、在所述本地数据库中,根据建立列表。
13、进一步地,在本申请的一个实施例中,所述列表的属性包括方法类型、方法名、方法签名、是否是反射方法、是否是侵权方法。
14、进一步地,在本申请的一个实施例中,所述通过asm插桩技术构建目标插件,包括:
15、通过asm插桩技术编写gradl e插件;
16、将所述gradle插件确定为目标插件。
17、进一步地,在本申请的一个实施例中,所述通过asm插桩技术编写gradle插件,包括:
18、创建继承自classvisitor的类,所述classvisitor的类中包括有visitmethod方法;
19、根据所述列表,更新所述visitmethod方法。
20、进一步地,在本申请的一个实施例中,所述获取目标应用程序对应的敏感权限信息,包括:
21、获取开发者需要使用到的权限数据;
22、根据权限数据,生成敏感权限信息。
23、另一方面,本申请实施例提供一种敏感权限调用检测系统,所述系统包括:
24、获取单元,用于获取目标应用程序对应的敏感权限信息;
25、建立单元,用于根据所述敏感权限信息,确定申请所述目标应用程序的敏感权限的系统api信息,根据所述敏感权限信息和所述系统api信息建立列表;
26、集成单元,用于基于所述列表,通过asm插桩技术构建目标插件,将所述目标插件集成到所述目标应用程序中;
27、处理单元,用于当所述目标应用程序启动时,运行所述目标插件,通过所述目标插件检测各个请求是否调用所述目标应用程序的敏感权限,得到对应的检测结果。
28、进一步地,在本申请的一个实施例中,所述建立单元具体用于:
29、在所述目标应用程序中创建本地数据库;
30、在所述本地数据库中,根据建立列表。
31、另一方面,本申请实施例提供了一种电子设备,包括:
32、至少一个处理器;
33、至少一个存储器,用于存储至少一个程序;
34、当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的敏感权限调用检测方法。
35、另一方面,本申请实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,上述处理器可执行的程序在由处理器执行时用于实现上述的敏感权限调用检测方法。
36、本申请的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到:
37、本申请实施例所公开的敏感权限调用检测方法、系统、设备及存储介质,获取目标应用程序对应的敏感权限信息;根据所述敏感权限信息,确定申请所述目标应用程序的敏感权限的系统api信息,根据所述敏感权限信息和所述系统api信息建立列表;基于所述列表,通过asm插桩技术构建目标插件,将所述目标插件集成到所述目标应用程序中;当所述目标应用程序启动时,运行所述目标插件,通过所述目标插件检测各个请求是否调用所述目标应用程序的敏感权限,得到对应的检测结果。该方法可以通过asm插桩技术构建目标插件,实现对目标应用程序的敏感权限调用检测,方便精确地控制插桩的位置和内容,实现细粒度的功能扩展和修改。而且,该方法不需要修改源代码,对原有代码结构没有侵入性,安全性较高,复用性更好。
技术特征:1.一种敏感权限调用检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种敏感权限调用检测方法,其特征在于,所述根据所述敏感权限信息和所述系统api信息建立列表,包括:
3.根据权利要求2所述的一种敏感权限调用检测方法,其特征在于,所述列表的属性包括方法类型、方法名、方法签名、是否是反射方法、是否是侵权方法。
4.根据权利要求1所述的一种敏感权限调用检测方法,其特征在于,所述通过asm插桩技术构建目标插件,包括:
5.根据权利要求4所述的一种敏感权限调用检测方法,其特征在于,所述通过asm插桩技术编写gradle插件,包括:
6.根据权利要求1所述的一种敏感权限调用检测方法,其特征在于,所述获取目标应用程序对应的敏感权限信息,包括:
7.一种敏感权限调用检测系统,其特征在于,所述系统包括:
8.根据权利要求7所述的一种敏感权限调用检测系统,其特征在于,所述建立单元具体用于:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于实现如权利要求1-6中任一项所述的一种敏感权限调用检测方法。
技术总结本申请公开了一种敏感权限调用检测方法、系统、设备及存储介质,获取目标应用程序对应的敏感权限信息;根据敏感权限信息,确定申请目标应用程序的敏感权限的系统API信息,根据敏感权限信息和系统API信息建立列表;基于列表,通过ASM插桩技术构建目标插件,将目标插件集成到目标应用程序中;当目标应用程序启动时,运行目标插件,通过目标插件检测各个请求是否调用目标应用程序的敏感权限,得到对应的检测结果。该方法可以通过ASM插桩技术构建目标插件,实现对目标应用程序的敏感权限调用检测,方便精确地控制插桩的位置和内容,安全性较高,复用性更好。本申请可广泛应用于应用程序技术领域内。技术研发人员:招启荣受保护的技术使用者:深圳联友科技有限公司技术研发日:技术公布日:2024/9/12本文地址:https://www.jishuxx.com/zhuanli/20240914/297101.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。