著录项信息
专利名称 | 一种Android平台下root权限管控方法 |
申请号 | CN201510422975.8 | 申请日期 | 2015-07-17 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2015-11-11 | 公开/公告号 | CN105045625A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/445 | IPC分类号 | G;0;6;F;9;/;4;4;5;;;G;0;6;F;2;1;/;5;4查看分类表>
|
申请人 | 上海斐讯数据通信技术有限公司 | 申请人地址 | 浙江省湖州市吴兴区爱山街道新天地商务写字楼1019室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 湖州帷幄知识产权运营有限公司 | 当前权利人 | 湖州帷幄知识产权运营有限公司 |
发明人 | 何家飞;王赞 |
代理机构 | 上海硕力知识产权代理事务所(普通合伙) | 代理人 | 郭桂峰 |
摘要
本发明提供一种Android平台下root权限管控方法,所述管控方法包括建立并保存增加了允许授予root权限的应用程序包名的rootagent可执行文件;Android init进程通过读取配置文件以启动rootagent可执行文件对应的rootagent服务;应用程序在申请root权限之前,先判断rootagent服务进程是否正在运行;rootagent服务进程将提交申请的应用程序的进程ID与rootagent服务进程中允许授予root权限的应用程序包名对应进程ID匹配,匹配成功则提交申请的应用程序被授予root权限,否则拒绝。使用本发明,能够精确限制只对个别应用进行root授权,同时,通过设置系统属性即可方便快速的对root权限进行开启与关闭操作。
1.一种Android平台下root权限管控方法,其特征在于,所述管控方法包括:
步骤1:建立并保存rootagent可执行文件,将rootagent可执行文件保存在Android平台下,所述rootagent可执行文件是在su可执行文件基础上增加了允许授予root权限的应用程序包名;
步骤2:Android init进程启动,Android init进程通过读取配置文件启动rootagent可执行文件对应的rootagent服务,并配置自定义系统属性persist.company.rootagent为
1时启动rootagent服务,为0时停止rootagent服务;
步骤3:应用程序在申请root权限之前,先判断rootagent服务进程是否正在运行,如果正在运行,则跳转步骤4,如果未运行,则提交申请无效;
步骤4:rootagent服务进程将提交申请的应用程序的进程ID与rootagent服务进程中允许授予root权限的应用程序包名对应进程ID匹配,匹配成功则提交申请的应用程序被授予root权限,否则拒绝;
步骤2中,Android init进程启配置自定义系统属性persist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务之后,用户通过用户输入接口直接开启或关闭rootagent服务。
2.根据权利要求1所述的Android平台下root权限管控方法,其特征在于:
rootagent服务进程中允许授予root权限的应用程序包名为一个以上。
3.根据权利要求1所述的Android平台下root权限管控方法,其特征在于:
rootagent可执行文件被保存在Android平台的system/xbin/目录下。
4.根据权利要求1所述的Android平台下root权限管控方法,其特征在于:
Android init进程的进程ID为1。
5.根据权利要求1所述的Android平台下root权限管控方法,其特征在于:
Android init进程读取的配置文件为init.rc配置文件。
6.根据权利要求1所述的Android平台下root权限管控方法,其特征在于:
su可执行文件为Android平台下默认的获取root权限的二进制可执行文件。
7.根据权利要求2所述的Android平台下root权限管控方法,其特征在于:
用户输入接口为Android平台所在终端的触摸屏。
一种Android平台下root权限管控方法\n技术领域\n[0001] 本发明涉及Android平台的终端领域,尤指一种Android平台下root权限管控方法。\n背景技术\n[0002] Android系统是一种谷歌发布的基于Linux的的开源操作系统,与Linux系统一样,Android系统也有超级管理员root用户,该用户有系统最高权限,对所有对象都可以操作,如可以对任意的进程进行启动和停止,可以清除多余的系统应用,静默安装或卸载应用,隐私行为监控等。正因为root权限如此强大,拥有如此多的系统权限,开启root权限有非常大的安全隐患,若被恶意软件获取,则可能给用户造成很大的意想不到的损失,所以,Android手机厂商软件一般都会默认关闭root权限。但是,对于Android厂商来说,总有一个或几个应用为了具备更好的用户体验或某项功能,需要root权限的支持,这种情况下,希望在保持对root权限限制的同时,能够精准控制root权限局限于某些应用,不被更多的其它系统应用或第三方应用获取破解。\n[0003] 发明名称为《一种基于签名验证的Android程序ROOT授权方法》的中国专利申请公开了一种只有具有手机厂商指定签名的程序才能获取root权限的方法,通过比对申请root权限的应用的签名信息与手机厂商指定的签名信息,来做出是否赋予root权限的决定。此方法必须由厂商实现,对root权限的限制局限在了厂商系统软件,因为只有系统软件才会有这个签名信息,但是这种方法却一概赋予所有系统软件root权限了,限制的也不够严格[0004] 发明名称为《一种在Android系统上获取root权限的方法》的中国专利申请公开了一种通过PC端adb工具使用命令adb shell am broadcast发送特定广播来修改自定义属性值sys.adb.debug,重启adb服务后,执行adb服务时会根据sys.adb.debug属性做出是否打开root权限的决定。正如该申请中所说,此方法具有一定的特殊性和保密性,貌似只适用于手机厂商内部人员测试使用,应用通过此方法获取root权限来实现自己的功能。\n[0005] 上述两个专利都不能同时实现保持对root权限限制以及精准控制root权限局限于某些应用这两项要求,为此,需要一种新的Android平台下root权限管控方法,能够在实现上述这两项要求,为使用具有Android平台的终端的用户提供更多便利。\n发明内容\n[0006] 本发明为了解决上述技术不适用于对某些应用精确授予root权限的问题,提供一种Android平台下root权限管控方法,一方面,能够替换原有的全面限制root权限的局面,实现针对设定应用的局部放权,另一方面,为用户提供控制接口,能够直接控制root权限的开启和关闭。\n[0007] 为了实现上述目的,本发明提供了一种Android平台下root权限管控方法,所述管控方法包括:\n[0008] 建立并保存rootagent可执行文件,将rootagent可执行文件保存在Android平台下,所述rootagent可执行文件是在su可执行文件基础上增加了允许授予root权限的应用程序包名;\n[0009] Android init进程启动,Android init进程通过读取配置文件启动rootagent可执行文件对应的rootagent服务,并配置自定义系统属性persist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务;\n[0010] 应用程序在申请root权限之前,先判断rootagent服务进程是否正在运行,如果正在运行,则跳转步骤4,如果未运行,则提交申请无效;\n[0011] rootagent服务进程将提交申请的应用程序的进程ID与rootagent服务进程中允许授予root权限的应用程序包名对应进程ID匹配,匹配成功则提交申请的应用程序被授予root权限,否则拒绝。\n[0012] 可选地,所述管控方法中:步骤2中,Android init进程启配置自定义系统属性persist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务之后,用户通过用户输入接口直接开启或关闭rootagent服务。\n[0013] 可选地,所述管控方法中:rootagent服务进程中允许授予root权限的应用程序包名为一个或一个以上。\n[0014] 可选地,所述管控方法中:rootagent可执行文件被保存在Android平台的system/xbin/目录下。\n[0015] 可选地,所述管控方法中:Android init进程的进程ID为1。\n[0016] 可选地,所述管控方法中:Android init进程读取的配置文件为init.rc配置文件。\n[0017] 可选地,所述管控方法中:su可执行文件为Android平台下默认的获取root权限的二进制可执行文件。\n[0018] 可选地,所述管控方法中:用户输入接口为Android平台所在终端的触摸屏。\n[0019] 本发明由于采用了上述技术方案,从而具有以下优点:\n[0020] 本发明在利用Android init进程的属性服务和通过配置文件控制service的特性,极大提高了对root权限开关的便捷性;通过在原有su程序基础上自实现rootagent服务,将root权限的授予精确限制下来,最大程度的保证了root权限授予的安全性,防止root权限泛滥,威胁系统安全。\n附图说明\n[0021] 下面结合附图和具体实施方式对本发明作进一步详细说明:\n[0022] 图1为本发明的Android平台下root权限管控方法的方法流程图。\n具体实施方式\n[0023] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。\n[0024] 由于root权限过于强大,Android平台下root权限是默认关闭的,用户无法直接通过用户控制接口进行Android平台下root权限的打开和关闭,获取root权限的方法主要通过二进制可执行文件su和android应用程序Superuser.apk,其它应用通过执行su命令请求root权限,而su将请求应用的用户ID发送给Superuser,由Superuser授予应用root权限。这种root权限打开和关闭方式对应普通用户来说过于专业,难度较大,同时,一旦打开root权限,将面临所有应用都能使用root权限,容易造成较大的安全隐患。现有技术中并没有很好解决上述问题的技术方案。\n[0025] 为了解决上述问题,本发明提供了一种Android平台下root权限管控方法和安装方法,通过建立并保存能够开启预设应用的rootagent可执行文件,在Android平台启动时由Android init进程启动,并为用户配置开启关闭接口,从而在精确控制root权限局限于某些应用的同时,为用户提供了方便。\n[0026] 首先,请参考图1,图1为本发明的Android平台下root权限管控方法的结构方框,所述管控方法包括:\n[0027] 步骤1:建立并保存rootagent可执行文件,将rootagent可执行文件保存在Android平台下,所述rootagent可执行文件是在su可执行文件基础上增加了允许授予root权限的应用程序包名;\n[0028] 步骤2:Android init进程启动,Android init进程通过读取配置文件启动rootagent可执行文件对应的rootagent服务,并配置自定义系统属性\npersist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务;\n[0029] 步骤3:应用程序在申请root权限之前,先判断rootagent服务进程是否正在运行,如果正在运行,则跳转步骤4,如果未运行,则提交申请无效;\n[0030] 步骤4:rootagent服务进程将提交申请的应用程序的进程ID与rootagent服务进程中允许授予root权限的应用程序包名对应进程ID匹配,匹配成功则提交申请的应用程序被授予root权限,否则拒绝。\n[0031] 可选地,步骤2中,Android init进程启配置自定义系统属性\npersist.company.rootagent为1时启动rootagent服务,为0时停止rootagent服务之后,用户通过用户输入接口直接开启或关闭rootagent服务;rootagent服务进程中允许授予root权限的应用程序包名为一个或一个以上;rootagent可执行文件被保存在Android平台的system/xbin/目录下;Android init进程的进程ID为1;Android init进程读取的配置文件为init.rc配置文件;su可执行文件为Android平台下默认的获取root权限的二进制可执行文件;用户输入接口为Android平台所在终端的触摸屏。\n[0032] 另外,本发明中的使用Android平台的终端包括处理器,含单核处理器或多核处理器。处理器也可称为一个或多个微处理器、中央处理单元(CPU)等等。更具体地,处理器可为复杂的指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器,或实现指令集组合的处理器。处理器还可为一个或多个专用处理器,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器、或能够处理指令的任何其他类型的逻辑部件。处理器用于执行本发明所讨论的操作和步骤的指令。\n[0033] 本发明中的Android平台的终端包括存储器,可包括一个或多个易失性存储设备,如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。存储器可存储包括由处理器或任何其他设备执行的指令序列的信息。例如,多种操作系统、设备驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用程序的可执行代码和/或数据可被加载在存储器中并且由处理器执行。\n[0034] 本领域技术人员应该认识到,上述的具体实施方式只是示例性的,是为了使本领域技术人员能够更好的理解本专利内容,不应理解为是对本专利保护范围的限制,只要是根据本专利所揭示精神所作的任何等同变更或修饰,均落入本专利保护范围。
法律信息
- 2023-01-31
专利权质押合同登记的生效
IPC(主分类): G06F 9/445
专利号: ZL 201510422975.8
申请日: 2015.07.17
授权公告日: 2018.07.31
登记号: Y2023330000072
登记生效日: 2023.01.11
出质人: 湖州帷幄知识产权运营有限公司
质权人: 湖州吴兴农村商业银行股份有限公司高新区绿色支行
发明名称: 一种Android平台下root权限管控方法
- 2021-03-23
专利权的转移
登记生效日: 2021.03.11
专利权人由蚌埠立超信息科技有限公司变更为湖州帷幄知识产权运营有限公司
地址由233000 安徽省蚌埠市燕山路8319号(上理工科技园6号302室)变更为313000 浙江省湖州市吴兴区爱山街道新天地商务写字楼1019室
- 2021-01-01
专利权的转移
登记生效日: 2020.12.21
专利权人由杭州吉吉知识产权运营有限公司变更为蚌埠立超信息科技有限公司
地址由310000 浙江省杭州市滨江区西兴街道江淑路260号10242室变更为233000 安徽省蚌埠市燕山路8319号(上理工科技园6号302室)
- 2020-12-04
专利权的转移
登记生效日: 2020.11.20
专利权人由上海斐讯数据通信技术有限公司变更为杭州吉吉知识产权运营有限公司
地址由201616 上海市松江区思贤路3666号变更为310000 浙江省杭州市滨江区西兴街道江淑路260号10242室
- 2018-07-31
- 2015-12-09
实质审查的生效
IPC(主分类): G06F 9/445
专利申请号: 201510422975.8
申请日: 2015.07.17
- 2015-11-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-03-26
|
2013-12-23
| | |
2
| |
2013-09-25
|
2013-06-27
| | |
3
| |
2015-04-29
|
2013-10-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |