安卓系统用户权限的检测方法、装置和系统.pdf

上传人:xia****o6 文档编号:6191519 上传时间:2019-05-18 格式:PDF 页数:12 大小:920.77KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310557035.0

申请日:

2013.11.11

公开号:

CN103559431A

公开日:

2014.02.05

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 21/31申请公布日:20140205|||实质审查的生效IPC(主分类):G06F 21/31申请日:20131111|||公开

IPC分类号:

G06F21/31(2013.01)I; G06F21/50(2013.01)I

主分类号:

G06F21/31

申请人:

北京国双科技有限公司

发明人:

贺眈

地址:

100086 北京市海淀区双榆树小区知春路76号翠宫饭店8层A间

优先权:

专利代理机构:

北京康信知识产权代理有限责任公司 11240

代理人:

吴贵明;张永明

PDF下载: PDF下载
内容摘要

本发明公开了一种安卓系统用户权限的检测方法、装置和系统。其中,安卓系统用户权限的检测方法包括:监测安卓设备的实际运行状态;判断实际运行状态与目标运行状态是否一致,其中,目标运行状态为安卓设备运行在root权限账户下的状态;以及在判断出实际运行状态与目标运行状态一致的情况下,确定安卓设备的用户权限为root权限。通过本发明,解决了现有技术中无法检测安卓设备用户权限的问题,进而达到了准确检测用户权限类型、保证应用安全性的效果。

权利要求书

权利要求书
1.  一种安卓设备用户权限的检测方法,其特征在于,包括:
监测所述安卓设备的实际运行状态;
判断所述实际运行状态与目标运行状态是否一致,其中,所述目标运行状态为所述安卓设备运行在root权限账户下的状态;以及
在判断出所述实际运行状态与所述目标运行状态一致的情况下,确定所述安卓设备的用户权限为root权限。

2.  根据权利要求1所述的检测方法,其特征在于,监测所述安卓设备的实际运行状态,判断所述实际运行状态与目标运行状态是否一致包括:
获取所述安卓设备中的编译参数;以及
判断所述编译参数中是否包括目标参数,其中,所述目标参数为表示所述安卓设备为测试版本的参数,
其中,在判断出所述编译参数中包括所述目标参数的情况下,确定所述安卓设备的用户权限为root权限。

3.  根据权利要求2所述的检测方法,其特征在于,所述编译参数为所述安卓设备的系统构建标签。

4.  根据权利要求1或2所述的检测方法,其特征在于,监测所述安卓设备的实际运行状态,判断所述实际运行状态与目标运行状态是否一致还包括:
在判断出所述编译参数中不包括所述目标参数的情况下,监测所述安卓设备的系统目录;以及
判断所述系统目录下是否包括目标应用程序,其中,所述目标应用程序为提取用户权限的程序,
其中,在判断出所述系统目录下包括所述目标应用程序的情况下,确定所述安卓设备的用户权限为root权限。

5.  根据权利要求4所述的检测方法,其特征在于,监测所述安卓设备的实际运行状态,判断所述实际运行状态与目标运行状态是否一致还包括:
在判断出所述系统目录下不包括所述目标应用程序的情况下,控制所述安卓设备执行目标命令,其中,所述目标命令为在root权限下运行的命令;
判断所述安卓设备是否成功执行所述目标命令;以及
判断所述安卓设备是否返回运行结果,
其中,在判断出所述安卓设备成功执行所述目标命令,并且返回所述运行结果的情况下,确定所述安卓设备的用户权限为root权限。

6.  一种安卓设备用户权限的检测装置,其特征在于,包括:
监测单元,用于监测所述安卓设备的实际运行状态;
判断单元,用于判断所述实际运行状态与目标运行状态是否一致,其中,所述目标运行状态为所述安卓设备运行在root权限账户下的状态;以及
确定单元,用于在判断出所述实际运行状态与所述目标运行状态一致的情况下,确定所述安卓设备的用户权限为root权限。

7.  根据权利要求6所述的检测装置,其特征在于:
所述监测单元包括:获取模块,用于获取所述安卓设备中的编译参数,
所述判断单元包括:第一判断模块,用于判断所述编译参数中是否包括目标参数,其中,所述目标参数为表示所述安卓设备为测试版本的参数,
其中,在判断出所述编译参数中包括所述目标参数的情况下,所述确定单元确定所述安卓设备的用户权限为root权限。

8.  根据权利要求7所述的检测装置,其特征在于:
所述监测单元还包括:监测模块,用于监测所述安卓设备的系统目录,
所述判断单元还包括:第二判断模块,用于判断所述系统目录下是否包括目标应用程序,其中,所述目标应用程序为提取用户权限的程序,
其中,在判断出所述系统目录下包括所述目标应用程序的情况下,所述确定单元确定所述安卓设备的用户权限为root权限。

9.  根据权利要求8所述的检测装置,其特征在于:
所述监测单元还包括:控制模块,用于控制所述安卓设备执行目标命令,其中,所述目标命令为在root权限下运行的命令,
所述判断单元还包括:第三判断模块,用于判断所述安卓设备是否成功执行所述目标命令;以及
第四判断模块,用于判断所述安卓设备是否返回运行结果,
其中,在判断出所述安卓设备成功执行所述目标命令,并且返回所述运行结果的情况下,所述确定单元确定所述安卓设备的用户权限为root权限。

10.  一种安卓系统用户权限的检测系统,其特征在于,包括:
目标设备,其中,所述目标设备为具有安卓系统的设备;以及
检测装置,其中,所述检测装置为权利要求6至9中任一项所述的安卓系统用户权限的检测装置。

说明书

说明书安卓系统用户权限的检测方法、装置和系统
技术领域
本发明涉及检测领域,具体而言,涉及一种安卓系统用户权限的检测方法、装置和系统。
背景技术
安卓(Android)设备的系统在正常情况下运行于沙盒环境内,并且处于一个比较低的用户权限,这有利于保障设备的运行稳定和数据安全。但是较低的权限使得很多应用的高级功能没有足够的权限来执行,比如说关闭其他应用、卸载应用、获取屏幕信息或者打开网络开关等。用户为了运行这些应用,往往会将设备的系统权限提升为root权限,在root权限下,能够控制系统得所有资源。
在root权限下运行的系统和非root权限下运行的系统存在API执行权限的区别,一些API只能在root权限下运行。有一些对安全要求比较高的应用,在root环境下由于没有沙盒的保护会有安全方面的隐患。有一些应用,比如屏幕截图或者系统安全类应用,如果没有root的权限就无法调用所需要的API,从而无法完成需要的功能。了解系统的运行权限有助于这些应用判断自己的运行环境,从而更好的完成应用的功能。但是,目前的技术方案只能够通过系统的API版和声明的权限列表来决定哪些API可以调用,不能够安全的对一些受限的API进行调用,存在功能受限的问题。同时,目前的技术方法也无法了解系统是否处于root权限账户下运行,对于一些对安全性要求比较高的应用来说,存在比较高的数据安全风险。
针对相关技术中无法检测安卓设备用户权限的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种安卓系统用户权限的检测方法、装置和系统,以解决现有技术中无法检测安卓设备用户权限的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种安卓设备用户权限的检测方法,包括:监测安卓设备的实际运行状态;判断实际运行状态与目标运行状态是否一致,其中,目标运行状态为安卓设备运行在root权限账户下的状态;以及在判断出实际运行状态与目标运行状态一致的情况下,确定安卓设备的用户权限为root权限。
进一步地,监测安卓设备的实际运行状态,判断实际运行状态与目标运行状态是否一致包括:获取安卓设备中的编译参数;以及判断编译参数中是否包括目标参数,其中,目标参数为表示安卓设备为测试版本的参数,其中,在判断出编译参数中包括目标参数的情况下,确定安卓设备的用户权限为root权限。
进一步地,编译参数为安卓设备的系统构建标签。
进一步地,监测安卓设备的实际运行状态,判断实际运行状态与目标运行状态是否一致还包括:在判断出编译参数中不包括目标参数的情况下,监测安卓设备的系统目录;以及判断系统目录下是否包括目标应用程序,其中,目标应用程序为提取用户权限的程序,其中,在判断出系统目录下包括目标应用程序的情况下,确定安卓设备的用户权限为root权限。
进一步地,监测安卓设备的实际运行状态,判断实际运行状态与目标运行状态是否一致还包括:在判断出系统目录下不包括目标应用程序的情况下,控制安卓设备执行目标命令,其中,目标命令为在root权限下运行的命令;判断安卓设备是否成功执行目标命令;以及判断安卓设备是否返回运行结果,其中,在判断出安卓设备成功执行目标命令,并且返回运行结果的情况下,确定安卓设备的用户权限为root权限。
为了实现上述目的,根据本发明的另一方面,提供了一种安卓设备用户权限的检测装置,该检测装置用于执行本发明上述内容所提供的任一种安卓设备用户权限的检测方法。
为了实现上述目的,根据本发明的另一方面,提供了一种安卓设备用户权限的检测装置,包括:监测单元,用于监测安卓设备的实际运行状态;判断单元,用于判断实际运行状态与目标运行状态是否一致,其中,目标运行状态为安卓设备运行在root权限账户下的状态;以及确定单元,用于在判断出实际运行状态与目标运行状态一致的情况下,确定安卓设备的用户权限为root权限。
进一步地,监测单元包括:获取模块,用于获取安卓设备中的编译参数,判断单元包括:第一判断模块,用于判断编译参数中是否包括目标参数,其中,目标参数为表示安卓设备为测试版本的参数,其中,在判断出编译参数中包括目标参数的情况下,确定单元确定安卓设备的用户权限为root权限。
进一步地,监测单元还包括:监测模块,用于监测安卓设备的系统目录,判断单元还包括:第二判断模块,用于判断系统目录下是否包括目标应用程序,其中,目标应用程序为提取用户权限的程序,其中,在判断出系统目录下包括目标应用程序的情况下,确定单元确定安卓设备的用户权限为root权限。
进一步地,监测单元还包括:控制模块,用于控制安卓设备执行目标命令,其中,目标命令为在root权限下运行的命令,判断单元还包括:第三判断模块,用于判断安 卓设备是否成功执行目标命令;以及第四判断模块,用于判断安卓设备是否返回运行结果,其中,在判断出安卓设备成功执行目标命令,并且返回运行结果的情况下,确定单元确定安卓设备的用户权限为root权限。
为了实现上述目的,根据本发明的第三方面,提供了一种安卓系统用户权限的检测系统,包括:目标设备,其中,目标设备为具有安卓系统的设备;以及检测装置,其中,检测装置为本发明上述内容所提供的任一种安卓系统用户权限的检测装置。
本发明采用监测安卓设备的实际运行状态;判断实际运行状态与目标运行状态是否一致,其中,目标运行状态为安卓设备运行在root权限账户下的状态;以及在判断出实际运行状态与目标运行状态一致的情况下,确定安卓设备的用户权限为root权限。通过将安卓设备的实际运行状态与运行在root权限账户下安卓设备的运行状态进行比较,来确定设备是否具有root权限,实现了对安卓设备是否具有root权限进行准确检测,解决了现有技术中无法检测安卓设备用户权限的问题,进而达到了准确检测用户权限类型、保证应用安全性的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的安卓设备用户权限的检测方法的流程图;
图2是根据本发明优选实施例的安卓设备用户权限的检测方法的流程图;
图3是根据本发明实施例的安卓设备用户权限的检测装置的示意图;以及
图4是根据本发明优选实施例的安卓设备用户权限的检测装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
首先,对本发明实施例所用到的技术术语解释如下:
Android系统:Google领导开发的以Linux为基础的开源操作系统,主要应用于移动设备。
Android原生系统:即AOSP(Android Open Source Project),由Google官方推出,可视为Android的官方版本。
Android系统API版本:Google周期性的对Android进行升级,对API和系统特 性进行更改,每次更改被称为是一个API版本,可以在程序中直接获取。
系统沙盒:系统中每个应用运行在单独的沙盒中,应用之间无法互相影响,包括无法互相影响运行状态,无法获得其他应用的数据和信息。
Root权限:Linux系统中最高权限,有控制系统所有资源的权限。在Android系统中意义与Linux系统中相同。
系统提权:提升账户的运行权限到root权限。
ADB:Android Debug Bridge,Android SDK提供的对Android系统的设备进行调试的工具。
Shell环境:Android系统中的命令行交互工具(Command Line Interface),可以执行系统的命令并返回运行的结果。
本发明实施例提供了一种安卓设备用户权限的检测方法,以下对本发明实施例所提供的安卓设备用户权限的检测方法进行具体介绍:
图1是根据本发明实施例的安卓设备用户权限的检测方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤S106:
S102:监测安卓设备的实际运行状态。
S104:判断实际运行状态与目标运行状态是否一致,其中,目标运行状态为安卓设备运行在root权限账户下的状态。
S106:在判断出实际运行状态与目标运行状态一致的情况下,确定安卓设备的用户权限为root权限,即,确定安卓设备的系统运行在root权限的账户下。
本发明实施例所提供的安卓设备用户权限的检测方法,通过将安卓设备的实际运行状态与运行在root权限账户下安卓设备的运行状态进行比较,来确定设备是否具有root权限,实现了对安卓设备是否具有root权限进行准确检测,解决了现有技术中无法检测安卓设备用户权限的问题,进而达到了准确检测用户权限类型、保证应用安全性的效果。
图2是根据本发明优选实施例的安卓设备用户权限的检测方法的流程图,如图2所示,在该优选实施例中,步骤S102中监测安卓设备的实际运行状态包括:获取安卓设备中的编译参数,在本发明实施例中,编译参数为安卓设备的系统构建标签(Build Tag),对应地,步骤S104中判断实际运行状态与目标运行状态是否一致包括:判断编译参数中是否包括目标参数,其中,目标参数为表示安卓设备为测试版本的参数(比如Test Keys),其中,在判断出编译参数中包括目标参数的情况下,确定安卓设备的用户权限为root权限。
在早期的Android系统编译中,公开发布的Android原生版本和其他的正式发行版本的构建标签(Build Tag)总会是Release Keys(表示版本为发行版本),而以测试目的或者调试目的编译的系统,Build Tag是Test Keys(表示版本为测试版本),并且这些以测试为目的或调试为目的的系统,账户的运行权限都为root权限。因此,在本发明优选实施例的检测方法中,通过使用系统命令来获取Build.Tags,判断其中是否包含表示测试版本的参数,并在判断结果为是的情况下,确定安卓设备的用户权限为root权限,即,确定安卓设备的系统运行在root权限的账户下,达到了提高检测准确度的效果。
进一步优选地,在判断出编译参数中不包括目标参数的情况下,步骤S102中监测安卓设备的实际运行状态还包括:监测安卓设备的系统目录,具体地,可以采用对系统目录进行扫描查找的方式进行监测,相应地,步骤S104中判断实际运行状态与目标运行状态是否一致还包括:判断系统目录下是否包括目标应用程序,其中,目标应用程序为提取用户权限的程序,其中,在判断出系统目录下包括目标应用程序的情况下,确定安卓设备的用户权限为root权限。
在安卓设备的系统发布之后,用户如果想进行提权操作,一般会借助一些提权工具。最常见的提权工具就是SuperUser,绝大多数的系统提权工具都是SuperUser的各种变种。因此,在本发明优选实施例中,通过在系统的应用目录中查找SuperUser这个目标应用程序,如果用户安装了SuperUser,则用户的系统运行账户权限一定为root,进一步保证对用户权限检测的准确度。
更进一步优选地,在判断出系统目录下不包括目标应用程序的情况下,步骤S102中监测安卓设备的实际运行状态还包括:控制安卓设备执行目标命令,其中,目标命令为在root权限下运行的命令,比如在系统目录下使用Shell执行“/system/xbin/which su”,相应地,步骤S104中判断实际运行状态与目标运行状态是否一致还包括:判断安卓设备是否成功执行目标命令;以及判断安卓设备是否返回运行结果,其中,在判断出安卓设备成功执行目标命令,并且返回运行结果的情况下,确定安卓设备的用户权限为root权限。
如果安卓设备在系统以root权限的账户运行,则账户的权限提高,可以执行一些非root权限不能执行的命令,拥有所有的系统资源的权限。因此,本发明实施例的检测方法可以构造一个只有在root权限下可以运行的命令并运行,通过命令的运行结果来检查系统的运行账户。在非root权限下,系统的/system/xbin/目录是不向系统运行账户开放的,应用无法访问这个目录。本发明实施例的检测方法在系统目录下使用Shell执行目标命令“/system/xbin/which su”,如果这个目标命令可以成功运行并返回结果,那么系统账户一定运行在root权限下,如果目标命令无法运行或者返回空,那么系统账户一定运行在非root权限下。通过这个方法,可以肯定的判断出系统账户的权限是否是root权限。
本发明优选实施例的安卓设备用户权限的检测方法,通过使用多种检测方法结合,对安卓设备系统的用户权限进行检测,大大提高了检测的准确度,在实际的检测中可以准确的检测出99%以上的设备的用户权限。本发明优选实施例中,多种检测方式共同使用,达到了避免由于单种检测方式失效所造成的误差,降低了误判、漏判的可能性。
本发明实施例还提供了一种安卓设备用户权限的检测装置,该检测装置主要用于执行本发明实施例上述内容所提供的任一种安卓设备用户权限的检测方法,以下对本发明实施例所提供的安卓设备用户权限的检测装置进行具体介绍:
图3是根据本发明实施例的安卓设备用户权限的检测装置的示意图,如图3所示,该检测装置主要包括监测单元10、判断单元20和确定单元30,其中:
监测单元10用于监测安卓设备的实际运行状态。
判断单元20用于判断实际运行状态与目标运行状态是否一致,其中,目标运行状态为安卓设备运行在root权限账户下的状态。
确定单元30用于在判断出实际运行状态与目标运行状态一致的情况下,确定安卓设备的用户权限为root权限。
本发明实施例所提供的安卓设备用户权限的检测装置,通过将安卓设备的实际运行状态与运行在root权限账户下安卓设备的运行状态进行比较,来确定设备是否具有root权限,实现了对安卓设备是否具有root权限进行准确检测,解决了现有技术中无法检测安卓设备用户权限的问题,进而达到了准确检测用户权限类型、保证应用安全性的效果。
图4是根据本发明优选实施例的安卓设备用户权限的检测装置的示意图,如图4所示,在该优选实施例中,监测单元10包括获取模块,判断单元20包括第一判断模块,其中,获取模块用于获取安卓设备中的编译参数,在本发明实施例中,编译参数为安卓设备的系统构建标签(Build Tag),对应地,第一判断模块用于判断编译参数中是否包括目标参数,其中,目标参数为表示安卓设备为测试版本的参数(比如TestKeys),其中,在判断出编译参数中包括目标参数的情况下,确定安卓设备的用户权限为root权限。
在早期的Android系统编译中,公开发布的Android原生版本和其他的正式发行版本的构建标签(Build Tag)总会是Release Keys(表示版本为发行版本),而以测试目的或者调试目的编译的系统,Build Tag是Test Keys(表示版本为测试版本),并且这些以测试为目的或调试为目的的系统,账户的运行权限都为root权限。因此,在本发明优选实施例的检测方法中,通过使用系统命令来获取Build.Tags,判断其中是否包含表示测试版本的参数,并在判断结果为是的情况下,确定安卓设备的用户权限为 root权限,即,确定安卓设备的系统运行在root权限的账户下,达到了提高检测准确度的效果。
进一步优选地,监测单元10还包括监测模块,判断单元20还包括第二判断模块,在判断出编译参数中不包括目标参数的情况下,监测模块用于监测安卓设备的系统目录,具体地,可以采用对系统目录进行扫描查找的方式进行监测,相应地,第二判断模块用于判断系统目录下是否包括目标应用程序,其中,目标应用程序为提取用户权限的程序,其中,在判断出系统目录下包括目标应用程序的情况下,确定安卓设备的用户权限为root权限。
在安卓设备的系统发布之后,用户如果想进行提权操作,一般会借助一些提权工具。最常见的提权工具就是SuperUser,绝大多数的系统提权工具都是SuperUser的各种变种。因此,在本发明优选实施例中,通过在系统的应用目录中查找SuperUser这个目标应用程序,如果用户安装了SuperUser,则用户的系统运行账户权限一定为root,进一步保证对用户权限检测的准确度。
更进一步优选地,监测单元10还包括控制模块,判断单元20还包括第三判断模块和第四判断模块,在判断出系统目录下不包括目标应用程序的情况下,控制模块用于控制安卓设备执行目标命令,其中,目标命令为在root权限下运行的命令,比如在系统目录下使用Shell执行“/system/xbin/which su”,相应地,第三判断模块用于判断安卓设备是否成功执行目标命令,第四判断模块用于判断安卓设备是否返回运行结果,其中,在判断出安卓设备成功执行目标命令,并且返回运行结果的情况下,确定单元确定安卓设备的用户权限为root权限。
如果安卓设备在系统以root权限的账户运行,则账户的权限提高,可以执行一些非root权限不能执行的命令,拥有所有的系统资源的权限。因此,本发明实施例的检测方法可以构造一个只有在root权限下可以运行的命令并运行,通过命令的运行结果来检查系统的运行账户。在非root权限下,系统的/system/xbin/目录是不向系统运行账户开放的,应用无法访问这个目录。本发明实施例的检测方法在系统目录下使用Shell执行目标命令“/system/xbin/which su”,如果这个目标命令可以成功运行并返回结果,那么系统账户一定运行在root权限下,如果目标命令无法运行或者返回空,那么系统账户一定运行在非root权限下。通过这个方法,可以肯定的判断出系统账户的权限是否是root权限。
本发明优选实施例的安卓设备用户权限的检测装置,通过使用多种检测方法结合,对安卓设备系统的用户权限进行检测,大大提高了检测的准确度,在实际的检测中可以准确的检测出99%以上的设备的用户权限。本发明优选实施例中,多种检测方式共同使用,达到了避免由于单种检测方式失效所造成的误差,降低了误判、漏判的可能性。
此外,本发明实施例还提供了一种安卓系统用户权限的检测系统,该检测系统可以是任一包括本发明实施例上述内容所提供的任一种安卓系统用户权限的检测装置的系统,也可以是任一采用本发明实施例上述内容所提供的任一种安卓系统用户权限的检测方法的系统,同时,该检测系统还包括具有安卓系统的目标设备。
从以上的描述中,可以看出,本发明实现了准确检测用户权限类型、保证应用安全性的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

安卓系统用户权限的检测方法、装置和系统.pdf_第1页
第1页 / 共12页
安卓系统用户权限的检测方法、装置和系统.pdf_第2页
第2页 / 共12页
安卓系统用户权限的检测方法、装置和系统.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《安卓系统用户权限的检测方法、装置和系统.pdf》由会员分享,可在线阅读,更多相关《安卓系统用户权限的检测方法、装置和系统.pdf(12页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103559431 A (43)申请公布日 2014.02.05 CN 103559431 A (21)申请号 201310557035.0 (22)申请日 2013.11.11 G06F 21/31(2013.01) G06F 21/50(2013.01) (71)申请人 北京国双科技有限公司 地址 100086 北京市海淀区双榆树小区知春 路 76 号翠宫饭店 8 层 A 间 (72)发明人 贺眈 (74)专利代理机构 北京康信知识产权代理有限 责任公司 11240 代理人 吴贵明 张永明 (54) 发明名称 安卓系统用户权限的检测方法、 装置和系统 (57) 摘。

2、要 本发明公开了一种安卓系统用户权限的检测 方法、 装置和系统。其中, 安卓系统用户权限的检 测方法包括 : 监测安卓设备的实际运行状态 ; 判 断实际运行状态与目标运行状态是否一致, 其中, 目标运行状态为安卓设备运行在 root 权限账户 下的状态 ; 以及在判断出实际运行状态与目标运 行状态一致的情况下, 确定安卓设备的用户权限 为 root 权限。通过本发明, 解决了现有技术中无 法检测安卓设备用户权限的问题, 进而达到了准 确检测用户权限类型、 保证应用安全性的效果。 (51)Int.Cl. 权利要求书 2 页 说明书 7 页 附图 2 页 (19)中华人民共和国国家知识产权局 (1。

3、2)发明专利申请 权利要求书2页 说明书7页 附图2页 (10)申请公布号 CN 103559431 A CN 103559431 A 1/2 页 2 1. 一种安卓设备用户权限的检测方法, 其特征在于, 包括 : 监测所述安卓设备的实际运行状态 ; 判断所述实际运行状态与目标运行状态是否一致, 其中, 所述目标运行状态为所述安 卓设备运行在 root 权限账户下的状态 ; 以及 在判断出所述实际运行状态与所述目标运行状态一致的情况下, 确定所述安卓设备的 用户权限为 root 权限。 2. 根据权利要求 1 所述的检测方法, 其特征在于, 监测所述安卓设备的实际运行状态, 判断所述实际运行状。

4、态与目标运行状态是否一致包括 : 获取所述安卓设备中的编译参数 ; 以及 判断所述编译参数中是否包括目标参数, 其中, 所述目标参数为表示所述安卓设备为 测试版本的参数, 其中, 在判断出所述编译参数中包括所述目标参数的情况下, 确定所述安卓设备的用 户权限为 root 权限。 3. 根据权利要求 2 所述的检测方法, 其特征在于, 所述编译参数为所述安卓设备的系 统构建标签。 4.根据权利要求1或2所述的检测方法, 其特征在于, 监测所述安卓设备的实际运行状 态, 判断所述实际运行状态与目标运行状态是否一致还包括 : 在判断出所述编译参数中不包括所述目标参数的情况下, 监测所述安卓设备的系统。

5、目 录 ; 以及 判断所述系统目录下是否包括目标应用程序, 其中, 所述目标应用程序为提取用户权 限的程序, 其中, 在判断出所述系统目录下包括所述目标应用程序的情况下, 确定所述安卓设备 的用户权限为 root 权限。 5. 根据权利要求 4 所述的检测方法, 其特征在于, 监测所述安卓设备的实际运行状态, 判断所述实际运行状态与目标运行状态是否一致还包括 : 在判断出所述系统目录下不包括所述目标应用程序的情况下, 控制所述安卓设备执行 目标命令, 其中, 所述目标命令为在 root 权限下运行的命令 ; 判断所述安卓设备是否成功执行所述目标命令 ; 以及 判断所述安卓设备是否返回运行结果,。

6、 其中, 在判断出所述安卓设备成功执行所述目标命令, 并且返回所述运行结果的情况 下, 确定所述安卓设备的用户权限为 root 权限。 6. 一种安卓设备用户权限的检测装置, 其特征在于, 包括 : 监测单元, 用于监测所述安卓设备的实际运行状态 ; 判断单元, 用于判断所述实际运行状态与目标运行状态是否一致, 其中, 所述目标运行 状态为所述安卓设备运行在 root 权限账户下的状态 ; 以及 确定单元, 用于在判断出所述实际运行状态与所述目标运行状态一致的情况下, 确定 所述安卓设备的用户权限为 root 权限。 7. 根据权利要求 6 所述的检测装置, 其特征在于 : 所述监测单元包括 。

7、: 获取模块, 用于获取所述安卓设备中的编译参数, 权 利 要 求 书 CN 103559431 A 2 2/2 页 3 所述判断单元包括 : 第一判断模块, 用于判断所述编译参数中是否包括目标参数, 其 中, 所述目标参数为表示所述安卓设备为测试版本的参数, 其中, 在判断出所述编译参数中包括所述目标参数的情况下, 所述确定单元确定所述 安卓设备的用户权限为 root 权限。 8. 根据权利要求 7 所述的检测装置, 其特征在于 : 所述监测单元还包括 : 监测模块, 用于监测所述安卓设备的系统目录, 所述判断单元还包括 : 第二判断模块, 用于判断所述系统目录下是否包括目标应用程 序, 其。

8、中, 所述目标应用程序为提取用户权限的程序, 其中, 在判断出所述系统目录下包括所述目标应用程序的情况下, 所述确定单元确定 所述安卓设备的用户权限为 root 权限。 9. 根据权利要求 8 所述的检测装置, 其特征在于 : 所述监测单元还包括 : 控制模块, 用于控制所述安卓设备执行目标命令, 其中, 所述目 标命令为在 root 权限下运行的命令, 所述判断单元还包括 : 第三判断模块, 用于判断所述安卓设备是否成功执行所述目标 命令 ; 以及 第四判断模块, 用于判断所述安卓设备是否返回运行结果, 其中, 在判断出所述安卓设备成功执行所述目标命令, 并且返回所述运行结果的情况 下, 所。

9、述确定单元确定所述安卓设备的用户权限为 root 权限。 10. 一种安卓系统用户权限的检测系统, 其特征在于, 包括 : 目标设备, 其中, 所述目标设备为具有安卓系统的设备 ; 以及 检测装置, 其中, 所述检测装置为权利要求6至9中任一项所述的安卓系统用户权限的 检测装置。 权 利 要 求 书 CN 103559431 A 3 1/7 页 4 安卓系统用户权限的检测方法、 装置和系统 技术领域 0001 本发明涉及检测领域, 具体而言, 涉及一种安卓系统用户权限的检测方法、 装置和 系统。 背景技术 0002 安卓 (Android) 设备的系统在正常情况下运行于沙盒环境内, 并且处于一。

10、个比较 低的用户权限, 这有利于保障设备的运行稳定和数据安全。但是较低的权限使得很多应用 的高级功能没有足够的权限来执行, 比如说关闭其他应用、 卸载应用、 获取屏幕信息或者打 开网络开关等。用户为了运行这些应用, 往往会将设备的系统权限提升为 root 权限, 在 root 权限下, 能够控制系统得所有资源。 0003 在 root 权限下运行的系统和非 root 权限下运行的系统存在 API 执行权限的区 别, 一些 API 只能在 root 权限下运行。有一些对安全要求比较高的应用, 在 root 环境下由 于没有沙盒的保护会有安全方面的隐患。 有一些应用, 比如屏幕截图或者系统安全类应。

11、用, 如果没有 root 的权限就无法调用所需要的 API, 从而无法完成需要的功能。了解系统的运 行权限有助于这些应用判断自己的运行环境, 从而更好的完成应用的功能。 但是, 目前的技 术方案只能够通过系统的 API 版和声明的权限列表来决定哪些 API 可以调用, 不能够安全 的对一些受限的 API 进行调用, 存在功能受限的问题。同时, 目前的技术方法也无法了解系 统是否处于 root 权限账户下运行, 对于一些对安全性要求比较高的应用来说, 存在比较高 的数据安全风险。 0004 针对相关技术中无法检测安卓设备用户权限的问题, 目前尚未提出有效的解决方 案。 发明内容 0005 本发明。

12、的主要目的在于提供一种安卓系统用户权限的检测方法、 装置和系统, 以 解决现有技术中无法检测安卓设备用户权限的问题。 0006 为了实现上述目的, 根据本发明的一个方面, 提供了一种安卓设备用户权限的检 测方法, 包括 : 监测安卓设备的实际运行状态 ; 判断实际运行状态与目标运行状态是否一 致, 其中, 目标运行状态为安卓设备运行在 root 权限账户下的状态 ; 以及在判断出实际运 行状态与目标运行状态一致的情况下, 确定安卓设备的用户权限为 root 权限。 0007 进一步地, 监测安卓设备的实际运行状态, 判断实际运行状态与目标运行状态是 否一致包括 : 获取安卓设备中的编译参数 ;。

13、 以及判断编译参数中是否包括目标参数, 其中, 目标参数为表示安卓设备为测试版本的参数, 其中, 在判断出编译参数中包括目标参数的 情况下, 确定安卓设备的用户权限为 root 权限。 0008 进一步地, 编译参数为安卓设备的系统构建标签。 0009 进一步地, 监测安卓设备的实际运行状态, 判断实际运行状态与目标运行状态是 否一致还包括 : 在判断出编译参数中不包括目标参数的情况下, 监测安卓设备的系统目录 ; 说 明 书 CN 103559431 A 4 2/7 页 5 以及判断系统目录下是否包括目标应用程序, 其中, 目标应用程序为提取用户权限的程序, 其中, 在判断出系统目录下包括目。

14、标应用程序的情况下, 确定安卓设备的用户权限为 root 权限。 0010 进一步地, 监测安卓设备的实际运行状态, 判断实际运行状态与目标运行状态是 否一致还包括 : 在判断出系统目录下不包括目标应用程序的情况下, 控制安卓设备执行目 标命令, 其中, 目标命令为在 root 权限下运行的命令 ; 判断安卓设备是否成功执行目标命 令 ; 以及判断安卓设备是否返回运行结果, 其中, 在判断出安卓设备成功执行目标命令, 并 且返回运行结果的情况下, 确定安卓设备的用户权限为 root 权限。 0011 为了实现上述目的, 根据本发明的另一方面, 提供了一种安卓设备用户权限的检 测装置, 该检测装。

15、置用于执行本发明上述内容所提供的任一种安卓设备用户权限的检测方 法。 0012 为了实现上述目的, 根据本发明的另一方面, 提供了一种安卓设备用户权限的检 测装置, 包括 : 监测单元, 用于监测安卓设备的实际运行状态 ; 判断单元, 用于判断实际运 行状态与目标运行状态是否一致, 其中, 目标运行状态为安卓设备运行在 root 权限账户下 的状态 ; 以及确定单元, 用于在判断出实际运行状态与目标运行状态一致的情况下, 确定安 卓设备的用户权限为 root 权限。 0013 进一步地, 监测单元包括 : 获取模块, 用于获取安卓设备中的编译参数, 判断单元 包括 : 第一判断模块, 用于判断。

16、编译参数中是否包括目标参数, 其中, 目标参数为表示安卓 设备为测试版本的参数, 其中, 在判断出编译参数中包括目标参数的情况下, 确定单元确定 安卓设备的用户权限为 root 权限。 0014 进一步地, 监测单元还包括 : 监测模块, 用于监测安卓设备的系统目录, 判断单元 还包括 : 第二判断模块, 用于判断系统目录下是否包括目标应用程序, 其中, 目标应用程序 为提取用户权限的程序, 其中, 在判断出系统目录下包括目标应用程序的情况下, 确定单元 确定安卓设备的用户权限为 root 权限。 0015 进一步地, 监测单元还包括 : 控制模块, 用于控制安卓设备执行目标命令, 其中, 目。

17、 标命令为在 root 权限下运行的命令, 判断单元还包括 : 第三判断模块, 用于判断安卓设备 是否成功执行目标命令 ; 以及第四判断模块, 用于判断安卓设备是否返回运行结果, 其中, 在判断出安卓设备成功执行目标命令, 并且返回运行结果的情况下, 确定单元确定安卓设 备的用户权限为 root 权限。 0016 为了实现上述目的, 根据本发明的第三方面, 提供了一种安卓系统用户权限的检 测系统, 包括 : 目标设备, 其中, 目标设备为具有安卓系统的设备 ; 以及检测装置, 其中, 检 测装置为本发明上述内容所提供的任一种安卓系统用户权限的检测装置。 0017 本发明采用监测安卓设备的实际运。

18、行状态 ; 判断实际运行状态与目标运行状态是 否一致, 其中, 目标运行状态为安卓设备运行在 root 权限账户下的状态 ; 以及在判断出实 际运行状态与目标运行状态一致的情况下, 确定安卓设备的用户权限为 root 权限。通过将 安卓设备的实际运行状态与运行在 root 权限账户下安卓设备的运行状态进行比较, 来确 定设备是否具有root权限, 实现了对安卓设备是否具有root权限进行准确检测, 解决了现 有技术中无法检测安卓设备用户权限的问题, 进而达到了准确检测用户权限类型、 保证应 用安全性的效果。 说 明 书 CN 103559431 A 5 3/7 页 6 附图说明 0018 构成。

19、本申请的一部分的附图用来提供对本发明的进一步理解, 本发明的示意性实 施例及其说明用于解释本发明, 并不构成对本发明的不当限定。在附图中 : 0019 图 1 是根据本发明实施例的安卓设备用户权限的检测方法的流程图 ; 0020 图 2 是根据本发明优选实施例的安卓设备用户权限的检测方法的流程图 ; 0021 图 3 是根据本发明实施例的安卓设备用户权限的检测装置的示意图 ; 以及 0022 图 4 是根据本发明优选实施例的安卓设备用户权限的检测装置的示意图。 具体实施方式 0023 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例。

20、来详细说明本发明。 0024 首先, 对本发明实施例所用到的技术术语解释如下 : 0025 Android系统 : Google领导开发的以Linux为基础的开源操作系统, 主要应用于移 动设备。 0026 Android 原生系统 : 即 AOSP(Android Open Source Project), 由 Google 官方推 出, 可视为 Android 的官方版本。 0027 Android 系统 API 版本 : Google 周期性的对 Android 进行升级, 对 API 和系统特性 进行更改, 每次更改被称为是一个 API 版本, 可以在程序中直接获取。 0028 系统沙。

21、盒 : 系统中每个应用运行在单独的沙盒中, 应用之间无法互相影响, 包括无 法互相影响运行状态, 无法获得其他应用的数据和信息。 0029 Root 权限 : Linux 系统中最高权限, 有控制系统所有资源的权限。在 Android 系统 中意义与 Linux 系统中相同。 0030 系统提权 : 提升账户的运行权限到 root 权限。 0031 ADB : Android Debug Bridge, Android SDK 提供的对 Android 系统的设备进行调 试的工具。 0032 Shell 环境 : Android 系统中的命令行交互工具 (Command Line Interf。

22、ace), 可以 执行系统的命令并返回运行的结果。 0033 本发明实施例提供了一种安卓设备用户权限的检测方法, 以下对本发明实施例所 提供的安卓设备用户权限的检测方法进行具体介绍 : 0034 图1是根据本发明实施例的安卓设备用户权限的检测方法的流程图, 如图1所示, 该方法包括如下的步骤 S102 至步骤 S106 : 0035 S102 : 监测安卓设备的实际运行状态。 0036 S104 : 判断实际运行状态与目标运行状态是否一致, 其中, 目标运行状态为安卓设 备运行在 root 权限账户下的状态。 0037 S106 : 在判断出实际运行状态与目标运行状态一致的情况下, 确定安卓设。

23、备的用 户权限为 root 权限, 即, 确定安卓设备的系统运行在 root 权限的账户下。 0038 本发明实施例所提供的安卓设备用户权限的检测方法, 通过将安卓设备的实际 运行状态与运行在 root 权限账户下安卓设备的运行状态进行比较, 来确定设备是否具有 说 明 书 CN 103559431 A 6 4/7 页 7 root 权限, 实现了对安卓设备是否具有 root 权限进行准确检测, 解决了现有技术中无法检 测安卓设备用户权限的问题, 进而达到了准确检测用户权限类型、 保证应用安全性的效果。 0039 图 2 是根据本发明优选实施例的安卓设备用户权限的检测方法的流程图, 如图 2 。

24、所示, 在该优选实施例中, 步骤 S102 中监测安卓设备的实际运行状态包括 : 获取安卓设备 中的编译参数, 在本发明实施例中, 编译参数为安卓设备的系统构建标签 (Build Tag) , 对 应地, 步骤 S104 中判断实际运行状态与目标运行状态是否一致包括 : 判断编译参数中是否 包括目标参数, 其中, 目标参数为表示安卓设备为测试版本的参数 (比如 Test Keys) , 其中, 在判断出编译参数中包括目标参数的情况下, 确定安卓设备的用户权限为 root 权限。 0040 在早期的 Android 系统编译中, 公开发布的 Android 原生版本和其他的正式发行 版本的构建标。

25、签 (Build Tag) 总会是 Release Keys(表示版本为发行版本) , 而以测试目的 或者调试目的编译的系统, Build Tag 是 Test Keys(表示版本为测试版本) , 并且这些以测 试为目的或调试为目的的系统, 账户的运行权限都为 root 权限。因此, 在本发明优选实施 例的检测方法中, 通过使用系统命令来获取 Build.Tags, 判断其中是否包含表示测试版本 的参数, 并在判断结果为是的情况下, 确定安卓设备的用户权限为 root 权限, 即, 确定安卓 设备的系统运行在 root 权限的账户下, 达到了提高检测准确度的效果。 0041 进一步优选地, 在。

26、判断出编译参数中不包括目标参数的情况下, 步骤 S102 中监测 安卓设备的实际运行状态还包括 : 监测安卓设备的系统目录, 具体地, 可以采用对系统目录 进行扫描查找的方式进行监测, 相应地, 步骤 S104 中判断实际运行状态与目标运行状态是 否一致还包括 : 判断系统目录下是否包括目标应用程序, 其中, 目标应用程序为提取用户权 限的程序, 其中, 在判断出系统目录下包括目标应用程序的情况下, 确定安卓设备的用户权 限为 root 权限。 0042 在安卓设备的系统发布之后, 用户如果想进行提权操作, 一般会借助一些提权工 具。 最常见的提权工具就是SuperUser, 绝大多数的系统提。

27、权工具都是SuperUser的各种变 种。因此, 在本发明优选实施例中, 通过在系统的应用目录中查找 SuperUser 这个目标应用 程序, 如果用户安装了 SuperUser, 则用户的系统运行账户权限一定为 root, 进一步保证对 用户权限检测的准确度。 0043 更进一步优选地, 在判断出系统目录下不包括目标应用程序的情况下, 步骤 S102 中监测安卓设备的实际运行状态还包括 : 控制安卓设备执行目标命令, 其中, 目标命令为在 root 权限下运行的命令, 比如在系统目录下使用 Shell 执行 “/system/xbin/which su” , 相 应地, 步骤 S104 中判。

28、断实际运行状态与目标运行状态是否一致还包括 : 判断安卓设备是否 成功执行目标命令 ; 以及判断安卓设备是否返回运行结果, 其中, 在判断出安卓设备成功执 行目标命令, 并且返回运行结果的情况下, 确定安卓设备的用户权限为 root 权限。 0044 如果安卓设备在系统以 root 权限的账户运行, 则账户的权限提高, 可以执行一些 非 root 权限不能执行的命令, 拥有所有的系统资源的权限。因此, 本发明实施例的检测方 法可以构造一个只有在 root 权限下可以运行的命令并运行, 通过命令的运行结果来检查 系统的运行账户。在非 root 权限下, 系统的 /system/xbin/ 目录是。

29、不向系统运行账户开放 的, 应用无法访问这个目录。本发明实施例的检测方法在系统目录下使用 Shell 执行目标 命令 “/system/xbin/which su” , 如果这个目标命令可以成功运行并返回结果, 那么系统账 户一定运行在 root 权限下, 如果目标命令无法运行或者返回空, 那么系统账户一定运行在 说 明 书 CN 103559431 A 7 5/7 页 8 非 root 权限下。通过这个方法, 可以肯定的判断出系统账户的权限是否是 root 权限。 0045 本发明优选实施例的安卓设备用户权限的检测方法, 通过使用多种检测方法结 合, 对安卓设备系统的用户权限进行检测, 大大。

30、提高了检测的准确度, 在实际的检测中可以 准确的检测出 99% 以上的设备的用户权限。本发明优选实施例中, 多种检测方式共同使用, 达到了避免由于单种检测方式失效所造成的误差, 降低了误判、 漏判的可能性。 0046 本发明实施例还提供了一种安卓设备用户权限的检测装置, 该检测装置主要用于 执行本发明实施例上述内容所提供的任一种安卓设备用户权限的检测方法, 以下对本发明 实施例所提供的安卓设备用户权限的检测装置进行具体介绍 : 0047 图3是根据本发明实施例的安卓设备用户权限的检测装置的示意图, 如图3所示, 该检测装置主要包括监测单元 10、 判断单元 20 和确定单元 30, 其中 : 。

31、0048 监测单元 10 用于监测安卓设备的实际运行状态。 0049 判断单元 20 用于判断实际运行状态与目标运行状态是否一致, 其中, 目标运行状 态为安卓设备运行在 root 权限账户下的状态。 0050 确定单元 30 用于在判断出实际运行状态与目标运行状态一致的情况下, 确定安 卓设备的用户权限为 root 权限。 0051 本发明实施例所提供的安卓设备用户权限的检测装置, 通过将安卓设备的实际 运行状态与运行在 root 权限账户下安卓设备的运行状态进行比较, 来确定设备是否具有 root 权限, 实现了对安卓设备是否具有 root 权限进行准确检测, 解决了现有技术中无法检 测安。

32、卓设备用户权限的问题, 进而达到了准确检测用户权限类型、 保证应用安全性的效果。 0052 图 4 是根据本发明优选实施例的安卓设备用户权限的检测装置的示意图, 如图 4 所示, 在该优选实施例中, 监测单元 10 包括获取模块, 判断单元 20 包括第一判断模块, 其 中, 获取模块用于获取安卓设备中的编译参数, 在本发明实施例中, 编译参数为安卓设备的 系统构建标签 (Build Tag) , 对应地, 第一判断模块用于判断编译参数中是否包括目标参 数, 其中, 目标参数为表示安卓设备为测试版本的参数 (比如 TestKeys) , 其中, 在判断出编 译参数中包括目标参数的情况下, 确定。

33、安卓设备的用户权限为 root 权限。 0053 在早期的 Android 系统编译中, 公开发布的 Android 原生版本和其他的正式发行 版本的构建标签 (Build Tag) 总会是 Release Keys(表示版本为发行版本) , 而以测试目的 或者调试目的编译的系统, Build Tag 是 Test Keys(表示版本为测试版本) , 并且这些以测 试为目的或调试为目的的系统, 账户的运行权限都为 root 权限。因此, 在本发明优选实施 例的检测方法中, 通过使用系统命令来获取 Build.Tags, 判断其中是否包含表示测试版本 的参数, 并在判断结果为是的情况下, 确定安。

34、卓设备的用户权限为 root 权限, 即, 确定安卓 设备的系统运行在 root 权限的账户下, 达到了提高检测准确度的效果。 0054 进一步优选地, 监测单元 10 还包括监测模块, 判断单元 20 还包括第二判断模块, 在判断出编译参数中不包括目标参数的情况下, 监测模块用于监测安卓设备的系统目录, 具体地, 可以采用对系统目录进行扫描查找的方式进行监测, 相应地, 第二判断模块用于判 断系统目录下是否包括目标应用程序, 其中, 目标应用程序为提取用户权限的程序, 其中, 在判断出系统目录下包括目标应用程序的情况下, 确定安卓设备的用户权限为 root 权限。 0055 在安卓设备的系统。

35、发布之后, 用户如果想进行提权操作, 一般会借助一些提权工 具。 最常见的提权工具就是SuperUser, 绝大多数的系统提权工具都是SuperUser的各种变 说 明 书 CN 103559431 A 8 6/7 页 9 种。因此, 在本发明优选实施例中, 通过在系统的应用目录中查找 SuperUser 这个目标应用 程序, 如果用户安装了 SuperUser, 则用户的系统运行账户权限一定为 root, 进一步保证对 用户权限检测的准确度。 0056 更进一步优选地, 监测单元10还包括控制模块, 判断单元20还包括第三判断模块 和第四判断模块, 在判断出系统目录下不包括目标应用程序的情况。

36、下, 控制模块用于控制 安卓设备执行目标命令, 其中, 目标命令为在 root 权限下运行的命令, 比如在系统目录下 使用 Shell 执行 “/system/xbin/which su” , 相应地, 第三判断模块用于判断安卓设备是否 成功执行目标命令, 第四判断模块用于判断安卓设备是否返回运行结果, 其中, 在判断出安 卓设备成功执行目标命令, 并且返回运行结果的情况下, 确定单元确定安卓设备的用户权 限为 root 权限。 0057 如果安卓设备在系统以 root 权限的账户运行, 则账户的权限提高, 可以执行一些 非 root 权限不能执行的命令, 拥有所有的系统资源的权限。因此, 本。

37、发明实施例的检测方 法可以构造一个只有在 root 权限下可以运行的命令并运行, 通过命令的运行结果来检查 系统的运行账户。在非 root 权限下, 系统的 /system/xbin/ 目录是不向系统运行账户开放 的, 应用无法访问这个目录。本发明实施例的检测方法在系统目录下使用 Shell 执行目标 命令 “/system/xbin/which su” , 如果这个目标命令可以成功运行并返回结果, 那么系统账 户一定运行在 root 权限下, 如果目标命令无法运行或者返回空, 那么系统账户一定运行在 非 root 权限下。通过这个方法, 可以肯定的判断出系统账户的权限是否是 root 权限。。

38、 0058 本发明优选实施例的安卓设备用户权限的检测装置, 通过使用多种检测方法结 合, 对安卓设备系统的用户权限进行检测, 大大提高了检测的准确度, 在实际的检测中可以 准确的检测出 99% 以上的设备的用户权限。本发明优选实施例中, 多种检测方式共同使用, 达到了避免由于单种检测方式失效所造成的误差, 降低了误判、 漏判的可能性。 0059 此外, 本发明实施例还提供了一种安卓系统用户权限的检测系统, 该检测系统可 以是任一包括本发明实施例上述内容所提供的任一种安卓系统用户权限的检测装置的系 统, 也可以是任一采用本发明实施例上述内容所提供的任一种安卓系统用户权限的检测方 法的系统, 同时。

39、, 该检测系统还包括具有安卓系统的目标设备。 0060 从以上的描述中, 可以看出, 本发明实现了准确检测用户权限类型、 保证应用安全 性的效果。 0061 需要说明的是, 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行, 并且, 虽然在流程图中示出了逻辑顺序, 但是在某些情况下, 可以以不 同于此处的顺序执行所示出或描述的步骤。 0062 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所组成 的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从。

40、而, 可以将它们存储 在存储装置中由计算装置来执行, 或者将它们分别制作成各个集成电路模块, 或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样, 本发明不限制于任何特定的 硬件和软件结合。 0063 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的任何修 说 明 书 CN 103559431 A 9 7/7 页 10 改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。 说 明 书 CN 103559431 A 10 1/2 页 11 图 1 图 2 说 明 书 附 图 CN 103559431 A 11 2/2 页 12 图 3 图 4 说 明 书 附 图 CN 103559431 A 12 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1