掌桥专利:专业的专利平台
掌桥专利
首页

一种系统权限的确定方法、装置、存储介质及电子设备

文献发布时间:2023-06-19 11:22:42


一种系统权限的确定方法、装置、存储介质及电子设备

技术领域

本发明涉及权限检测技术领域,具体涉及一种系统权限的确定方法、装置、存储介质及电子设备。

背景技术

随着智能设备的快速发展,用户在智能设备上产生的个人信息也越来越多,而个人信息能否被获取,取决于该智能设备是否开启对应的系统权限,其中,系统权限可以包括读取通话记录、读取通讯录、读取短信和获取位置信息等。

然而,目前一些APP存在强制授权、过度索权、超范围收集个人信息等越权问题。因此,如何一种系统权限的确定方法,能够对APP的系统权限进行准确获取,以便进一步判断APP是否越权,是本领域技术人员亟待解决的一大技术难题。

发明内容

有鉴于此,本发明实施例提供了一种系统权限的确定方法,能够对APP的系统权限进行准确获取,以便进一步判断APP是否越权。

为实现上述目的,本发明实施例提供如下技术方案:

一种系统权限的确定方法,包括:

获取待确定系统权限的应用程序的安装包文件;

基于所述安装包文件,确定所述应用程序调用的接口,所述接口至少包括接口类名以及方法名;

基于所述接口类名以及所述方法名,判断所述应用程序调用的接口是否为受权限保护的接口,如果是,将所述权限存储至目标权限特征文件;

基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型;

将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表。

可选的,所述基于所述安装包文件,确定所述应用程序调用的接口,包括:

将所述安装包文件的格式确定成预设压缩格式的文件;

基于dex2jar工具,将所述预设压缩格式的文件转换成目标文件;

获取所述目标文件中与预设接口调用对应的虚拟机指令;

基于所述虚拟机指令的参数,获取所述应用程序调用的接口的接口类名以及方法名。

可选的,所述基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型,包括:

将所述目标文件以及所述目标权限特征文件输入所述预训练模型,进行迁移学习,生成所述目标模型。

可选的,所述将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表,包括:

将所述待确定系统权限的应用程序的目标文件输入所述目标模型,由所述目标模型输出所述受保护权限列表。

一种系统权限的确定装置,包括:

获取模块,用于获取待确定系统权限的应用程序的安装包文件;

确定模块,用于基于所述安装包文件,确定所述应用程序调用的接口,所述接口至少包括接口类名以及方法名;

判断模块,用于基于所述接口类名以及所述方法名,判断所述应用程序调用的接口是否为受权限保护的接口,如果是,将所述权限存储至目标权限特征文件;

训练模块,用于基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型;

输出模块,用于将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表。

可选的,所述确定模块包括:

确定单元,用于将所述安装包文件的格式确定成预设压缩格式的文件;

转换单元,用于基于dex2jar工具,将所述预设压缩格式的文件转换成目标文件;

第一获取单元,用于获取所述目标文件中与预设接口调用对应的虚拟机指令;

第二获取单元,用于基于所述虚拟机指令的参数,获取所述应用程序调用的接口的接口类名以及方法名。

可选的,所述训练模块包括:

生成单元,用于将所述目标文件以及所述目标权限特征文件输入所述预训练模型,进行迁移学习,生成所述目标模型。

可选的,所述输出模块包括:

输出单元,用于将所述待确定系统权限的应用程序的目标文件输入所述目标模型,由所述目标模型输出所述受保护权限列表。

一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任意一项上述的系统权限的确定方法。

一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行任意一项上述的系统权限的确定方法。

基于上述技术方案,本发明实施例提供了一种系统权限的确定方法、装置、存储介质及电子设备,该确定方法首先获取待确定系统权限的应用程序的安装包文件。然后基于所述安装包文件,确定所述应用程序调用的接口,其中,所述接口至少包括接口类名以及方法名。之后,基于所述接口类名以及所述方法名,判断所述应用程序调用的接口是否为受权限保护的接口,如果是,将所述权限存储至目标权限特征文件。并基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型,最后,将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表。可见,本方案通过机器学习的方式,从安装包文件中提取出受保护权限列表,既能保证正确率,又能提高效率,降低成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种系统权限的确定方法的流程示意图;

图2为本发明实施例提供的一种系统权限的确定方法的又一流程示意图;

图3为本发明实施例提供的一种系统权限的确定方法的又一流程示意图;

图4为本发明实施例提供的一种系统权限的确定方法的又一流程示意图;

图5为本发明实施例提供的一种系统权限的确定装置的结构示意图;

图6为本发明实施例提供的一种系统权限的确定系统的硬件架构图。

具体实施方式

请参阅图1,图1为本发明实施例提供的一种系统权限的确定方法的流程示意图,该确定方法包括步骤:

S11、获取待确定系统权限的应用程序的安装包文件;

通常,应用程序的安装包文件格式为.apk,该格式可以在电子设备上直接进行软件的安装,在本步骤中,可以通过在电子设备的所有文件或预设路径的文件中,查找文件格式为.apk的文件,确定成安装包文件。

S12、基于所述安装包文件,确定所述应用程序调用的接口。

其中,所述接口至少包括接口类名以及方法名。具体的,在本实施例中,如图2所示,本发明实施例还提供了一种基于所述安装包文件,确定所述应用程序调用的接口的具体实现步骤,包括:

S21、将所述安装包文件的格式确定成预设压缩格式的文件;

S22、基于dex2jar工具,将所述预设压缩格式的文件转换成目标文件;

S23、获取所述目标文件中与预设接口调用对应的虚拟机指令;

S24、基于所述虚拟机指令的参数,获取所述应用程序调用的接口的接口类名以及方法名。

正如上文所述,应用程序的安装包文件的文件格式为.apk,在本实施例中,首先将.apk格式修改成预设压缩格式,如,修改成.zip格式。然后对该预设压缩格式的文件进行解压缩处理,生成.dex格式,需要说明的是,本实施例并不限定解压缩的软件类型,如,可以采用7z软件对压缩文件进行解压缩处理,又如,可以采用zip压缩软件对该压缩文件进行解压缩处理。

在进行了解压缩处理后,运用dex2jar工具,将解压后的文件.dex格式文件转换成目标文件,如转换成.smali格式文件。

之后遍历Smali文件,找到与API调用相关的Dalvik指令,其中,与API调用相关的Dalvik指令如下表1所示,再根据Dalvik指令随后的参数获取应用程序所调用的API,其中包括了API类名和方法名。

表1

S13、基于所述接口类名以及所述方法名,判断所述应用程序调用的接口是否为受权限保护的接口,如果是,将所述权限存储至目标权限特征文件;

结合上述步骤,在获取了应用程序所调用的API后,对API进行字符串匹配,如果该API是受权限保护的API,则将该受保护的权限存储在该应用程序对应的权限特征文件中。至此,每个smali文件对应一个权限特征文件,权限特征文件存储了所有该smali文件调用的受保护的权限。

示意性的,在本实施例中,预置有受权限保护的API的列表,假设该列表包括权限1、权限2、权限3以及权限4。而本实施例中待确定系统权限的应用程序所调用的API为权限1,由于权限1属于受权限保护的API的列表,因此将权限1存储至权限特征文件中。同理,假设本实施例中待确定系统权限的应用程序所调用的API为权限6,由于权限6不属于受权限保护的API的列表,因此不能将权限6存储至权限特征文件中,可以不进行任何处理。

S14、基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型;

S15、将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表。

具体的,如图3所示,本发明实施例提供了一种基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型的具体实现方式,包括步骤:

S31、将所述目标文件以及所述目标权限特征文件输入所述预训练模型,进行迁移学习,生成所述目标模型。

即将.smali格式的文件和步骤S13得到的目标权限特征文件输入预训练模型,如输入BERT预训练模型,进行迁移学习,得到训练好的目标模型。

相应的,将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表,还可以通过如图4所示的方式实现,包括步骤:

S41、将所述待确定系统权限的应用程序的目标文件输入所述目标模型,由所述目标模型输出所述受保护权限列表。

即将未进行过权限检测的smali文件,输入训练好的目标模型,得到该smali文件对应的受保护权限列表。该受保护权限列表,可以如下文所示:

(,)

(,)

(,)

(,)

(,)

(,)

(,)

(,)

(,)

可见,本方案通过机器学习的方式,从安装包文件中提取出受保护权限列表,既能保证正确率,又能提高效率,降低成本。

在上述实施例的基础上,如图5所示,本发明实施例还提供了一种系统权限的确定装置,包括:

获取模块51,用于获取待确定系统权限的应用程序的安装包文件;

确定模块52,用于基于所述安装包文件,确定所述应用程序调用的接口,所述接口至少包括接口类名以及方法名;

判断模块53,用于基于所述接口类名以及所述方法名,判断所述应用程序调用的接口是否为受权限保护的接口,如果是,将所述权限存储至目标权限特征文件;

训练模块54,用于基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型;

输出模块55,用于将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表。

其中,所述确定模块包括:

确定单元,用于将所述安装包文件的格式确定成预设压缩格式的文件;

转换单元,用于基于dex2jar工具,将所述预设压缩格式的文件转换成目标文件;

第一获取单元,用于获取所述目标文件中与预设接口调用对应的虚拟机指令;

第二获取单元,用于基于所述虚拟机指令的参数,获取所述应用程序调用的接口的接口类名以及方法名。

在上述实施例的基础上,本实施例中的训练模块可以包括:

生成单元,用于将所述目标文件以及所述目标权限特征文件输入所述预训练模型,进行迁移学习,生成所述目标模型。

除此,输出模块可以包括:

输出单元,用于将所述待确定系统权限的应用程序的目标文件输入所述目标模型,由所述目标模型输出所述受保护权限列表。

所述系统权限的确定装置包括处理器和存储器,上述获取模块、确定模块、判断模块、训练模块以及输出模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来从安装包文件中提取出受保护权限列表,既能保证正确率,又能提高效率,降低成本。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述系统权限的确定方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述系统权限的确定方法。

本发明实施例提供了一种设备,如图6所示,设备包括至少一个处理器61、以及与处理器连接的至少一个存储器62、总线63;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的屏幕显示装置方法。本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

获取待确定系统权限的应用程序的安装包文件;

基于所述安装包文件,确定所述应用程序调用的接口,所述接口至少包括接口类名以及方法名;

基于所述接口类名以及所述方法名,判断所述应用程序调用的接口是否为受权限保护的接口,如果是,将所述权限存储至目标权限特征文件;

基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型;

将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表。

可选的,所述基于所述安装包文件,确定所述应用程序调用的接口,包括:

将所述安装包文件的格式确定成预设压缩格式的文件;

基于dex2jar工具,将所述预设压缩格式的文件转换成目标文件;

获取所述目标文件中与预设接口调用对应的虚拟机指令;

基于所述虚拟机指令的参数,获取所述应用程序调用的接口的接口类名以及方法名。

可选的,所述基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型,包括:

将所述目标文件以及所述目标权限特征文件输入所述预训练模型,进行迁移学习,生成所述目标模型。

可选的,所述将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表,包括:

将所述待确定系统权限的应用程序的目标文件输入所述目标模型,由所述目标模型输出所述受保护权限列表。

综上,本发明实施例提供了一种系统权限的确定方法、装置、存储介质及电子设备,该确定方法首先获取待确定系统权限的应用程序的安装包文件。然后基于所述安装包文件,确定所述应用程序调用的接口,其中,所述接口至少包括接口类名以及方法名。之后,基于所述接口类名以及所述方法名,判断所述应用程序调用的接口是否为受权限保护的接口,如果是,将所述权限存储至目标权限特征文件。并基于所述安装包文件以及所述目标权限特征文件,训练预训练模型成目标模型,最后,将所述待确定系统权限的应用程序的安装包文件输入所述目标模型,输出所述待确定系统权限的应用程序的受保护权限列表。可见,本方案通过机器学习的方式,从安装包文件中提取出受保护权限列表,既能保证正确率,又能提高效率,降低成本。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 一种系统权限的确定方法、装置、存储介质及电子设备
  • 业务系统权限管理方法、装置、电子设备及存储介质
技术分类

06120112900798