System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及通信软件领域,尤其涉及一种权限检测方法、装置及存储介质。
技术介绍
1、相关技术中,可以对系统服务与权限检查进行关联,对系统调用与权限检查进行关联,然后对应用程序接口(application programming interface,api)所用到的系统服务和系统调用进行关联,将对应的api识别为受限api,将受限api与对应的权限关联形成规范文档,并将该规范文档上传至对应网站。例如,可以将该规范文档上传至关于安卓(android)操作系统的网站。
2、但通过上述方式形成的规范文档仅仅对api进行权限规范,从规范文档的生成到api的正确使用,过程复杂,会降低代码的安全性和研发效率。且在该规范文档存在使用规范不明确的地方,或者缺少规范时,还需要对该规范文档中的api进行权限检测。目前,主要针对整个操作系统进行代码分析,来进行权限检测,不仅会耗费大量的人力资源,还会耗费大量的时间。
技术实现思路
1、为克服相关技术中存在的问题,本公开提供一种权限检测方法、装置及存储介质。以解决代码的安全性和研发效率低的,以及权限检测所耗费的人力资源多和所耗费的时间长的问题。
2、根据本公开实施例的第一方面,提供一种权限检测方法,包括:
3、在检测到针对目标应用程序的编译指令的情况下,确定所述目标应用程序需要调用的目标应用程序接口;
4、确定调用各个所述目标应用程序接口所需的目标权限;
5、将各个所述目标权限与所述目标应用程序对应的
6、基于所述权限比对结果,生成针对所述权限规范文件的检测结果。
7、在一些实施例中,所述确定所述目标应用程序需要调用的目标应用程序接口,包括:
8、将预设原生数据库中与所述目标应用程序对应的应用程序接口,确定为所述目标应用程序接口;
9、其中,所述预设原生数据库根据应用程序使用的历史应用程序接口生成。
10、在一些实施例中,所述方法还包括:
11、从开源数据库中,确定中与所述目标应用程序对应的开源应用程序接口,和/或从系统数据库中,确定中与所述目标应用程序对应的系统应用程序接口;
12、基于所述开源应用程序接口和/或所述系统应用程序接口,对所述预设原生数据库进行更新;
13、所述将预设原生数据库中与所述目标应用程序对应的应用程序接口,确定为所述目标应用程序接口,包括:
14、将更新后的所述预设原生数据库中与所述目标应用程序对应的应用程序接口,确定为所述目标应用程序接口。
15、在一些实施例中,所述从系统数据库中,确定中与所述目标应用程序对应的系统应用程序接口,包括:
16、通过针对所述目标应用程序定义的第一访问请求,从所述第一系统数据库中确定第一系统应用程序接口;
17、通过针对所述目标应用程序定义的第二访问请求,从所述第二系统数据库中确定第二系统应用程序接口;其中,所述第一系统数据库与所述第二系统数据库中的应用程序接口的来源不同。
18、在一些实施例中,所述确定调用各个所述目标应用程序接口所需的目标权限,包括:
19、对各个所述目标应用程序接口的调用图谱进行图谱分析,得到分析结果;
20、在所述分析结果指示所述目标应用程序接口的调用图谱中存在权限参数的情况下,从所述调用图谱中获取所述目标权限。
21、在一些实施例中,所述基于所述权限比对结果,生成针对所述权限规范文件的检测结果,包括:
22、在所述权限比对结果指示至少一个所述目标权限不存在于所述权限规范文件的情况下,确定所述权限规范文件不完整;
23、在所述权限比对结果指示各个所述目标权限均存在于所述权限规范文件的情况下,确定所述权限规范文件完整。
24、在一些实施例中,所述方法还包括:
25、在所述权限规范文件不完整的情况下,确定编译失败,并输出权限更新提示;
26、在检测到基于所述权限更新提示输入的权限更新指令的情况下,基于所述目标权限对所述权限规范文件进行更新。
27、在一些实施例中,所述方法还包括:
28、在所述权限规范文件完整的情况下,确定编译成功,并生成所述目标应用程序的安装包。
29、根据本公开实施例的第二方面,提供一种权限检测装置,包括:
30、第一确定模块,配置为在检测到针对目标应用程序的编译指令的情况下,确定所述目标应用程序需要调用的目标应用程序接口;
31、第二确定模块,配置为确定调用各个所述目标应用程序接口所需的目标权限;
32、比对模块,配置为将各个所述目标权限与所述目标应用程序对应的权限规范文件中的预设权限进行比对,得到权限比对结果;
33、获取模块,配置为基于所述权限比对结果,得到针对所述权限规范文件的检测结果。
34、在一些实施例中,所述第一确定模块,配置为:
35、将预设原生数据库中与所述目标应用程序对应的应用程序接口,确定为所述目标应用程序接口;
36、其中,所述预设原生数据库根据应用程序使用的历史应用程序接口生成。
37、在一些实施例中,所述装置还包括:
38、第三确定模块,配置为从开源数据库中,确定中与所述目标应用程序对应的开源应用程序接口,和/或从系统数据库中,确定中与所述目标应用程序对应的系统应用程序接口;
39、第一更新模块,配置为基于所述开源应用程序接口和/或所述系统应用程序接口,对所述预设原生数据库进行更新;
40、所述第一确定模块,配置为:
41、将更新后的所述预设原生数据库中与所述目标应用程序对应的应用程序接口,确定为所述目标应用程序接口。
42、在一些实施例中,所述第三确定模块,配置为:
43、通过针对所述目标应用程序定义的第一访问请求,从所述第一系统数据库中确定第一系统应用程序接口;
44、通过针对所述目标应用程序定义的第二访问请求,从所述第二系统数据库中确定第二系统应用程序接口;其中,所述第一系统数据库与所述第二系统数据库中的应用程序接口的来源不同。
45、在一些实施例中,所述第二确定模块,配置为:
46、对各个所述目标应用程序接口的调用图谱进行图谱分析,得到分析结果;
47、在所述分析结果指示所述目标应用程序接口的调用图谱中存在权限参数的情况下,从所述调用图谱中获取所述目标权限。
48、在一些实施例中,所述获取模块,配置为:
49、在所述权限比对结果指示至少一个所述目标权限不存在于所述权限规范文件的情况下,确定所述权限规范文件不完整;
50、在所述权限比对结果指示各个所述目标权限均存在于所述权限规范文件的情况下,确定所述权限规范文件完整。本文档来自技高网...
【技术保护点】
1.一种权限检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标应用程序需要调用的目标应用程序接口,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述从系统数据库中,确定中与所述目标应用程序对应的系统应用程序接口,包括:
5.根据权利要求1所述的方法,其特征在于,所述确定调用各个所述目标应用程序接口所需的目标权限,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于所述权限比对结果,生成针对所述权限规范文件的检测结果,包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
9.一种权限检测装置,其特征在于,包括:
10.一种权限检测装置,其特征在于,包括:
11.一种非临时性计算机可读存储介质,当所述存储介质中的指令由权限检测装置的处理器执行时,使得所述装置能够执行上述权利要求1
...【技术特征摘要】
1.一种权限检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标应用程序需要调用的目标应用程序接口,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述从系统数据库中,确定中与所述目标应用程序对应的系统应用程序接口,包括:
5.根据权利要求1所述的方法,其特征在于,所述确定调用各个所述目标应用程序接口所需的目标权限,包括:
6.根据权利要求1所述...
【专利技术属性】
技术研发人员:方俊飞,
申请(专利权)人:北京小米移动软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。