应用的启动方法、装置、设备和存储介质制造方法及图纸

技术编号:29308753 阅读:17 留言:0更新日期:2021-07-17 02:04
本公开涉及一种应用的启动方法、装置、设备和存储介质,涉及计算机应用技术领域,其中,方法包括:响应于属于共享应用的第一应用的应用启动请求,获取第一应用的预设开发权限和共享权限;判断共享权限中是否包括与预预设开发权限不一致的至少一个候选共享权限;若包括至少一个候选共享权限,则判断至少一个候选共享权限中是否包括属于预设的系统权限的目标共享权限;若包含目标共享权限,则启动第一应用并关闭目标共享权限对应的系统功能。由此,对于共享权限的应用,根据应用本身的权限信息进行系统权限的启用,避免直接基于共享权限进行权限验证导致权限被滥用和放大的问题,提高了应用的权限开放安全性。应用的权限开放安全性。应用的权限开放安全性。

【技术实现步骤摘要】
应用的启动方法、装置、设备和存储介质


[0001]本公开涉及计算机应用
,尤其涉及一种应用的启动方法、装置、设备和存储介质。

技术介绍

[0002]通常,终端设备的系统(比如安卓系统)中每个应用为沙盒管理,应用之间数据是独立并安全的。有一种特殊情况是同签名的应用之间可以共享权限(shareduid,对于开发来说,是android:sharedUserId属性)。拥有shareuid的应用之间共享的权限范围包括Android权限、数据目录等。
[0003]然而,上述共享应用时,如A应用和B应用,A应用申请了系统权限并授权了,这时B应用在不需要定义,不需要申请的情形下也直接授权了该系统权限,从而,B应用在启动时直接开通对应的系统权限,此时会带来系统权限滥用和放大问题。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种应用的启动方法、装置、设备和存储介质。
[0005]第一方面,本公开提供了一种应用的启动方法,包括以下步骤:响应于属于共享应用的第一应用的应用启动请求,获取所述第一应用的预设开发权限和共享权限;判断所述共享权限中是否包括与所述预设开发权限不一致的至少一个候选共享权限;若包括所述至少一个候选共享权限,则判断所述至少一个候选共享权限中是否包括属于预设的系统权限的目标共享权限;若包含所述目标共享权限,则启动所述第一应用并关闭所述目标共享权限对应的系统功能。
[0006]第二方面,本公开提供了一种应用的启动装置,包括:获取模块,用于响应于属于共享应用的第一应用的应用启动请求,获取所述第一应用的预设开发权限和共享权限;第一判断模块,用于判断所述共享权限中是否包括与所述预设开发权限不一致的至少一个候选共享权限;第二判断模块,用于在包括所述至少一个候选共享权限时,判断所述至少一个候选共享权限中是否包括属于预设的系统权限的目标共享权限;启动模块,用于在包括所述目标共享权限时,启动所述第一应用并关闭所述目标共享权限对应的系统功能。
[0007]第三方面,本公开提供了一种电子设备,包括:处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行如上述第一方面实施例所提到的应用的启动方法。
[0008]第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上述第一方面实施例所提到的应用的启动方法。
[0009]本公开实施例提供的技术方案与现有技术相比具有如下优点:
[0010]响应于属于共享应用的第一应用的应用启动请求,获取第一应用的预设开发权限
和共享权限,进而,判断共享权限中是否包括与预设开发权限不一致的至少一个候选共享权限,若包括至少一个候选共享权限,则判断至少一个候选共享权限中是否包括属于预设的系统权限的目标共享权限,最后,若包含目标共享权限,则启动第一应用并关闭目标共享权限对应的系统功能。由此,对于共享权限的应用,根据应用本身的权限信息进行系统权限的启用,避免直接基于共享权限进行权限验证导致权限被滥用和放大的问题,提高了应用的权限开放安全性。
附图说明
[0011]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0012]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]图1是根据本公开一个实施例的应用的启动方法的流程图;
[0014]图2是根据本公开一个实施例的应用的启动场景的示意图;
[0015]图3是根据本公开另一个实施例的应用的启动方法的流程图;
[0016]图4是根据本公开另一个实施例的应用的启动方法的流程图;
[0017]图5是根据本公开另一个实施例的应用的启动方法的流程图;
[0018]图6是根据本公开一个实施例的应用的启动场景的示意图;
[0019]图7是根据本公开另一个实施例的应用的启动方法的流程图;
[0020]图8是根据本公开一个实施例的应用的启动装置的结构示意图。
具体实施方式
[0021]为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0022]在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0023]正如以上所提到的,现有技术中共享应用之间,直接共享权限导致应用的系统权限可能被滥用或者放大的问题。
[0024]举例而言,当“手机管家”和“设置”两个应用为共享应用时,即这两个应用共享权限(uid=1000),“手机管家”申请了联网权限,这时“设置”并没有在它的AndroidMainifest文件中申请,但是也共享即拥有了联网的权限。共享权限的逻辑发生在系统启动应用的进程的时候,想像用户在桌面手动点击打开设置应用的场景,系统会根据“设置”的uid查找属于该uid的权限集合,当发现权限集合中包含联网权限("android.permission.INTERNET"),即把联网权限对应的系统权限的gid(比如是3003)赋给“设置”的启动进程信息,并传递给虚拟机,继续传递给linux系统底层,最后的结果是“设置”这个应用的进程安装启动时,也拥有3003这个联网的权限。这样就是共享权限的发生逻
辑,显然会造成权限放大和滥用。
[0025]为了解决上述技术问题,本公开提出一种方法,可以针对共享权限的应用,根据应用本身的权限需要进行权限验证,避免了系统权限被放大或者滥用的技术问题。
[0026]其中,本公开实施例的系统权限可以理解为应用所在终端设备的系统底层权限,通常与终端设备的硬件相关联,比如,对于安卓系统的终端设备,系统权限可以包括上网,蓝牙,音频等底层权限,这些权限的开通是在系统底层传递开通的。
[0027]本公开实施例提供的上述技术方案,可应用于任意系统中可共享权限的应用之间,执行主体可以是手机管家等权限授权端设备。
[0028]具体而言,图1是根据本公开一个实施例的应用的启动方法的流程图,如图1所示,该方法包括:
[0029]步骤101,响应于属于共享应用的第一应用的应用启动请求,获取第一应用的预设开发权限和共享权限。
[0030]在实际执行过程中,第一应用在启动时,会直接在底层将有系统权限的底层功能一并加入启动进程中开启,因此,为了避免系统权限被放大,响应于属于共享应用的第一应用的应用启动请求,获取第一应用的预设开发权限和共享权限。
[0031]其中,判断第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用的启动方法,其特征在于,包括以下步骤:响应于属于共享应用的第一应用的应用启动请求,获取所述第一应用的预设开发权限和共享权限;判断所述共享权限中是否包括与所述预设开发权限不一致的至少一个候选共享权限;若包括所述至少一个候选共享权限,则判断所述至少一个候选共享权限中是否包括属于预设的系统权限的目标共享权限;若包含所述目标共享权限,则启动所述第一应用并关闭所述目标共享权限对应的系统功能。2.如权利要求1所述的方法,其特征在于,所述判断所述至少一个候选共享权限中是否包括属于预设的系统权限的目标共享权限,包括:查询预设映射关系表,判断存在与所述至少一个候选共享权限匹配到的系统权限,其中,确定匹配到所述系统权限的候选共享权限为所述目标共享权限。3.如权利要求1所述的方法,其特征在于,所述判断所述至少一个候选共享权限中是否包括属于预设的系统权限的目标共享权限,包括:获取每个所述候选共享权限对应的功能标识;判断所述功能标识是否属于预设的系统功能标识;若属于所述系统功能标识,则确定对应的候选共享权限为所述目标共享权限。4.如权利要求1所述的方法,其特征在于,所述启动所述第一应用并关闭所述目标共享权限对应的系统功能,包括:获取所述第一应用的初始启动进程信息;提取所述初始启动进程信息中与所述目标共享权限对应的目标启动信息;删除所述初始启动进程信息中的所述目标启动信息,以获取并运行目标启动进程信息。5.如权利要求1

4任一所述的方法,其特征在于,还包括:响应于所述第一应用的功能权限的验证请求,判断所述功能权限是否属于所述预设开...

【专利技术属性】
技术研发人员:黄超华
申请(专利权)人:珠海市魅族科技有限公司
类型:发明
国别省市:

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

1