首页> 中国专利> 一种Android平台下root权限管控方法

一种Android平台下root权限管控方法

摘要

本发明提供一种Android平台下root权限管控方法,所述管控方法包括建立并保存增加了允许授予root权限的应用程序包名的rootagent可执行文件;Android?init进程通过读取配置文件以启动rootagent可执行文件对应的rootagent服务;应用程序在申请root权限之前,先判断rootagent服务进程是否正在运行;rootagent服务进程将提交申请的应用程序的进程ID与rootagent服务进程中允许授予root权限的应用程序包名对应进程ID匹配,匹配成功则提交申请的应用程序被授予root权限,否则拒绝。使用本发明,能够精确限制只对个别应用进行root授权,同时,通过设置系统属性即可方便快速的对root权限进行开启与关闭操作。

著录项

  • 公开/公告号CN105045625A

    专利类型发明专利

  • 公开/公告日2015-11-11

    原文格式PDF

  • 申请/专利权人 上海斐讯数据通信技术有限公司;

    申请/专利号CN201510422975.8

  • 发明设计人 何家飞;王赞;

    申请日2015-07-17

  • 分类号G06F9/445(20060101);G06F21/54(20130101);

  • 代理机构上海硕力知识产权代理事务所;

  • 代理人郭桂峰

  • 地址 201616 上海市松江区思贤路3666号

  • 入库时间 2023-12-18 12:02:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-31

    专利权质押合同登记的生效 IPC(主分类):G06F 9/445 专利号:ZL2015104229758 登记号:Y2023330000072 登记生效日:20230111 出质人:湖州帷幄知识产权运营有限公司 质权人:湖州吴兴农村商业银行股份有限公司高新区绿色支行 发明名称:一种Android平台下root权限管控方法 申请日:20150717 授权公告日:20180731

    专利权质押合同登记的生效、变更及注销

  • 2018-07-31

    授权

    授权

  • 2015-12-09

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20150717

    实质审查的生效

  • 2015-11-11

    公开

    公开

说明书

技术领域

本发明涉及Android平台的终端领域,尤指一种Android平台下root权限管控方法。

背景技术

Android系统是一种谷歌发布的基于Linux的的开源操作系统,与Linux系统一样,Android系统也有超级管理员root用户,该用户有系统最高权限,对所有对象都可以操作,如可以对任意的进程进行启动和停止,可以清除多余的系统应用,静默安装或卸载应用,隐私行为监控等。正因为root权限如此强大,拥有如此多的系统权限,开启root权限有非常大的安全隐患,若被恶意软件获取,则可能给用户造成很大的意想不到的损失,所以,Android手机厂商软件一般都会默认关闭root权限。但是,对于Android厂商来说,总有一个或几个应用为了具备更好的用户体验或某项功能,需要root权限的支持,这种情况下,希望在保持对root权限限制的同时,能够精准控制root权限局限于某些应用,不被更多的其它系统应用或第三方应用获取破解。

发明名称为《一种基于签名验证的Android程序ROOT授权方法》的中国专利申请公开了一种只有具有手机厂商指定签名的程序才能获取root权限的方法,通过比对申请root权限的应用的签名信息与手机厂商指定的签名信息,来做出是否赋予root权限的决定。此方法必须由厂商实现,对root权限的限制局限在了厂商系统软件,因为只有系统软件才会有这个签名信息,但是这种方法却一概赋予所有系统软件root权限了,限制的也不够严格

发明名称为《一种在Android系统上获取root权限的方法》的中国专利申请公开了一种通过PC端adb工具使用命令adbshellambroadcast发送特定广播来修改自定义属性值sys.adb.debug,重启adb服务后,执行adb服务时会根据sys.adb.debug属性做出是否打开root权限的决定。正如该申请中所说,此方法具有一定的特殊性和保密性,貌似只适用于手机厂商内部人员测试使用,应用通过此方法获取root权限来实现自己的功能。

上述两个专利都不能同时实现保持对root权限限制以及精准控制root权限局限于某些应用这两项要求,为此,需要一种新的Android平台下root权限管控方法,能够在实现上述这两项要求,为使用具有Android平台的终端的用户提供更多便利。

发明内容

本发明为了解决上述技术不适用于对某些应用精确授予root权限的问题,提供一种Android平台下root权限管控方法,一方面,能够替换原有的全面限制root权限的局面,实现针对设定应用的局部放权,另一方面,为用户提供控制接口,能够直接控制root权限的开启和关闭。

为了实现上述目的,本发明提供了一种Android平台下root权限管控方法,所述管控方法包括:

建立并保存rootagent可执行文件,将rootagent可执行文件保存在Android平台下,所述rootagent可执行文件是在su可执行文件基础上增加了允许授予root权限的应用程序包名;

Androidinit进程启动,Androidinit进程通过读取配置文件启动rootagent可执行文件对应的rootagent服务,并配置自定义系统属性persist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务;

应用程序在申请root权限之前,先判断rootagent服务进程是否正在运行,如果正在运行,则跳转步骤4,如果未运行,则提交申请无效;

rootagent服务进程将提交申请的应用程序的进程ID与rootagent服务进程中允许授予root权限的应用程序包名对应进程ID匹配,匹配成功则提交申请的应用程序被授予root权限,否则拒绝。

可选地,所述管控方法中:步骤2中,Androidinit进程启配置自定义系统属性persist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务之后,用户通过用户输入接口直接开启或关闭rootagent服务。

可选地,所述管控方法中:rootagent服务进程中允许授予root权限的应用程序包名为一个或一个以上。

可选地,所述管控方法中:rootagent可执行文件被保存在Android平台的system/xbin/目录下。

可选地,所述管控方法中:Androidinit进程的进程ID为1。

可选地,所述管控方法中:Androidinit进程读取的配置文件为init.rc配置文件。

可选地,所述管控方法中:su可执行文件为Android平台下默认的获取root权限的二进制可执行文件。

可选地,所述管控方法中:用户输入接口为Android平台所在终端的触摸屏。

本发明由于采用了上述技术方案,从而具有以下优点:

本发明在利用Androidinit进程的属性服务和通过配置文件控制service的特性,极大提高了对root权限开关的便捷性;通过在原有su程序基础上自实现rootagent服务,将root权限的授予精确限制下来,最大程度的保证了root权限授予的安全性,防止root权限泛滥,威胁系统安全。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细说明:

图1为本发明的Android平台下root权限管控方法的方法流程图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。

由于root权限过于强大,Android平台下root权限是默认关闭的,用户无法直接通过用户控制接口进行Android平台下root权限的打开和关闭,获取root权限的方法主要通过二进制可执行文件su和android应用程序Superuser.apk,其它应用通过执行su命令请求root权限,而su将请求应用的用户ID发送给Superuser,由Superuser授予应用root权限。这种root权限打开和关闭方式对应普通用户来说过于专业,难度较大,同时,一旦打开root权限,将面临所有应用都能使用root权限,容易造成较大的安全隐患。现有技术中并没有很好解决上述问题的技术方案。

为了解决上述问题,本发明提供了一种Android平台下root权限管控方法和安装方法,通过建立并保存能够开启预设应用的rootagent可执行文件,在Android平台启动时由Androidinit进程启动,并为用户配置开启关闭接口,从而在精确控制root权限局限于某些应用的同时,为用户提供了方便。

首先,请参考图1,图1为本发明的Android平台下root权限管控方法的结构方框,所述管控方法包括:

步骤1:建立并保存rootagent可执行文件,将rootagent可执行文件保存在Android平台下,所述rootagent可执行文件是在su可执行文件基础上增加了允许授予root权限的应用程序包名;

步骤2:Androidinit进程启动,Androidinit进程通过读取配置文件启动rootagent可执行文件对应的rootagent服务,并配置自定义系统属性persist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务;

步骤3:应用程序在申请root权限之前,先判断rootagent服务进程是否正在运行,如果正在运行,则跳转步骤4,如果未运行,则提交申请无效;

步骤4:rootagent服务进程将提交申请的应用程序的进程ID与rootagent服务进程中允许授予root权限的应用程序包名对应进程ID匹配,匹配成功则提交申请的应用程序被授予root权限,否则拒绝。

可选地,步骤2中,Androidinit进程启配置自定义系统属性persist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务之后,用户通过用户输入接口直接开启或关闭rootagent服务;rootagent服务进程中允许授予root权限的应用程序包名为一个或一个以上;rootagent可执行文件被保存在Android平台的system/xbin/目录下;Androidinit进程的进程ID为1;Androidinit进程读取的配置文件为init.rc配置文件;su可执行文件为Android平台下默认的获取root权限的二进制可执行文件;用户输入接口为Android平台所在终端的触摸屏。

另外,本发明中的使用Android平台的终端包括处理器,含单核处理器或多核处理器。处理器也可称为一个或多个微处理器、中央处理单元(CPU)等等。更具体地,处理器可为复杂的指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器,或实现指令集组合的处理器。处理器还可为一个或多个专用处理器,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器、或能够处理指令的任何其他类型的逻辑部件。处理器用于执行本发明所讨论的操作和步骤的指令。

本发明中的Android平台的终端包括存储器,可包括一个或多个易失性存储设备,如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。存储器可存储包括由处理器或任何其他设备执行的指令序列的信息。例如,多种操作系统、设备驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用程序的可执行代码和/或数据可被加载在存储器中并且由处理器执行。

本领域技术人员应该认识到,上述的具体实施方式只是示例性的,是为了使本领域技术人员能够更好的理解本专利内容,不应理解为是对本专利保护范围的限制,只要是根据本专利所揭示精神所作的任何等同变更或修饰,均落入本专利保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号