安卓平台应用软件的权限管理方法、装置及系统与流程

文档序号:34264485发布日期:2023-05-25 05:53阅读:78来源:国知局
安卓平台应用软件的权限管理方法、装置及系统与流程

本发明涉及应用权限,尤其是涉及一种安卓平台应用软件的权限管理方法、装置及系统。


背景技术:

1、随着移动互联网的发展,移动应用软件已渗透各行各业,在每一个人的工作、生活中占据着极为重要的角色。与此同时,网络安全等级保护也进入了2.0时代,移动终端的安全性逐渐成为国家政府、企业单位、个人用户关注的重点。安卓系统是目前使用最广泛的移动操作系统,根据global stats 2022年8月最新统计,安卓系统在移动操作系统领域占据了71.54%的市场份额。在此背景下,安卓系统的安全性变得尤为重要。

2、然而,一些应用软件的开发人员在应用配置文件中声明了大量该应用软件未曾使用的或者自身功能之外的权限,其中的普通级别权限会由系统不经检查地自动授予该应用软件,这些权限即使该应用软件不曾使用,也可能会被应用中某些恶意第三方库滥用;而对于危险级别的权限,虽然需要经用户点击授权才可以使用,但一些用户很容易忽视这些内容而直接授权应用权限请求,导致了不合理权限的使用,降低了安卓系统的安全性。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种安卓平台应用软件的权限管理方法、装置及系统,能够有效保障用户隐私数据的安全,提升了安卓系统的安全性。

2、为了实现上述目的,本发明实施例采用的技术方案如下:

3、第一方面,本发明实施例提供了一种安卓平台应用软件的权限管理方法,包括:在应用软件安装过程中,解析所述应用软件的声明权限和实际使用权限;基于所述声明权限和所述实际使用权限对过度声明的权限进行限制;对权限定义文件及所述应用软件的功能描述文件进行语义分析,确定所述应用软件完成自身功能需要使用的期望权限;在所述应用软件安装或运行过程中,基于所述期望权限拦截不合理的权限使用。

4、进一步,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述基于所述期望权限拦截不合理的权限使用的步骤,包括:在所述应用软件安装过程中,对所述应用软件的权限状态信息表中各权限类别增加第二标志位;其中,所述第二标志位的初始值为ture,所述第二标志位用于指示是否允许该权限类别的使用;在所述应用软件对应的包结构中增加名称为期望权限变量的成员变量;其中,所述期望权限变量的变量类型为字符串列表类型,所述期望权限变量用于存储所述应用软件完成自身功能需要使用的期望权限的名称;将所述权限状态信息表中威胁等级为危险级别,且未存储于所述期望权限变量的权限类别的第二标志位设置为false;当接收到访问资源请求时,基于所述第二标志位对不合理的权限申请进行拦截。

5、进一步,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述基于所述第二标志位对不合理的权限申请进行拦截的步骤,包括:若所述权限状态信息表中的第一标志位以及所述访问资源请求对应的目标权限的第二标志位同时为true,允许所述访问资源请求,否则拒绝所述访问资源请求;其中,所述第一标志位用于指示安卓系统是否对所述应用软件授予权限。

6、进一步,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述基于所述期望权限拦截不合理的权限使用的步骤,包括:当接收到访问资源请求时,判断所述访问资源请求所申请的目标权限是否存在于所述应用软件的期望权限变量中;当所述目标权限不存在于所述期望权限变量中,且所述目标权限的威胁等级为危险级别时,拒绝所述访问资源请求,否则,允许所述访问资源请求。

7、进一步,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述对所述应用软件的权限定义文件及功能描述文件进行语义分析,确定所述应用软件完成自身功能需要使用的期望权限的步骤,包括:在所述应用软件对应的包结构中增加名称为期望权限变量的成员变量;其中,所述期望权限变量的变量类型为字符串列表类型,所述期望权限变量用于存储所述应用软件完成自身功能需要使用的期望权限的名称;基于所述权限定义文件中功能描述为key值的权限组且所述权限组内威胁等级为危险级别的权限的功能描述构建功能权限映射表;遍历所述应用软件的功能描述文本,计算所述功能描述文本与所述功能权限映射表中各权限的功能描述的语义相似度,将所述语义相似度大于预设阈值的权限作为期望权限存入所述期望权限变量中。

8、进一步,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述解析所述应用软件的声明权限和实际使用权限的步骤,包括:对所述应用软件程序包中的可执行文件进行反编译转换生成smali文件;基于api-权限映射表对所述smali文件进行api调用解析,确定所述应用软件的实际使用权限;基于包解析器对所述应用软件的manifest文件进行解析得到所述应用软件的声明权限。

9、进一步,本发明实施例提供了第一方面的第六种可能的实施方式,其中,,所述基于所述声明权限和所述实际使用权限对过度声明的权限进行限制的步骤,包括:在所述应用软件对应的包结构中增加名称为实际使用权限变量的成员变量;其中,所述实际使用权限变量的变量类型为字符串列表类型,所述实际使用权限变量用于存储所述应用软件实际使用的权限名称;将所述包结构中的声明权限变量的值替换为所述实际使用权限变量中的值;等于所述实际使用权限,以限制过度声明权限的使用。

10、第二方面,本发明实施例还提供了一种安卓平台应用软件的权限管理装置,包括:静态分析模块,用于在应用软件安装过程中,解析所述应用软件的声明权限和实际使用权限;权限限制模块,用于基于所述声明权限和所述实际使用权限对过度声明的权限进行限制;语义分析模块,用于对权限定义文件及所述应用软件的功能描述文件进行语义分析,确定所述应用软件完成自身功能需要使用的期望权限;权限拦截模块,用于在所述应用软件安装或运行过程中,基于所述期望权限拦截不合理的权限使用。

11、第三方面,本发明实施例提供了一种安卓平台应用软件的权限管理系统,包括:静态分析模块、语义分析模块、存储结构和拦截模块;所述存储结构包括应用软件对应的包结构和权限状态信息表,所述包结构中字符串列表类型的成员变量包括:声明权限变量、实际使用权限变量和期望权限变量,所述权限状态信息表的成员变量包括第一标志位和第二标志位;所述第一标志位用于指示安卓系统是否对所述应用软件授予权限,所述第二标志位的初始值为ture,所述第二标志位用于指示是否允许该权限类别的使用;所述静态分析模块用于在应用软件安装过程中,解析所述应用软件的声明权限和实际使用权限,将解析得到的所述实际使用权限存储至所述包结构的实际使用权限变量中;所述语义分析模块用于对所述应用软件的权限定义文件及功能描述文件进行语义分析,确定所述应用软件完成自身功能需要使用的期望权限,并将所述期望权限存储至所述包结构的期望权限变量中;所述拦截模块用于基于所述声明权限和所述实际使用权限对过度声明的权限进行限制,基于所述期望权限拦截不合理的权限使用。

12、进一步,所述拦截模块用于将所述应用软件对应的包结构中的声明权限变量的值替换为所述实际使用权限变量中记录的权限,将所述应用软件的权限状态信息表中不存在于所述期望权限变量中且属于危险级别的权限的第二标志位修改为false;

13、所述拦截模块还用于在接收到访问资源请求时,判断所述权限状态信息表中的第一标志位以及所述访问资源请求对应的目标权限的第二标志位是否同时为true,若是则允许所述访问资源请求,否则拒绝所述访问资源请求。

14、本发明实施例提供了一种安卓平台应用软件的权限管理方法、装置及系统,该方法包括:在应用软件安装过程中,解析应用软件的声明权限和实际使用权限;基于声明权限和实际使用权限对过度声明的权限进行限制;对权限定义文件及应用软件的功能描述文件进行语义分析,确定应用软件完成自身功能需要使用的期望权限;在应用软件安装或运行过程中,基于期望权限拦截不合理的权限使用。本发明通过在应用软件安装过程中,对应用软件的过度声明权限进行限制,并解析应用软件完成自身功能需要使用的期望权限,可以限制应用软件实际不会使用到的过度声明权限,同时拦截不合理的权限使用,解决了应用软件过度声明权限及申请不合理权限的问题,能够有效保障用户隐私数据的安全,提升了安卓系统的安全性。

15、本发明实施例的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明实施例的上述技术即可得知。

16、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1