1. 城镇大全网
  2. 综合百科

手机root权限怎么开启(一文看懂手机Root的操作与防护)

Root对于任何手机发烧友、电脑玩家或者从事移动设备研发的人来说都不陌生。它代表了大多数移动设备用户能够掌握的最高权限。

从技术上来说,用户有权修改系统文件,甚至控制账号,添加或删除硬件等。但是对于普通用户来说,最大的用处就是卸载“Root之前无法卸载的软件”。有的品牌出厂前安装了一些无法卸载的软件。手机rooted后可以卸载这些软件。Root相当于给了用户自由增减软件的权利。

root的前世

Root这个词起源于Linux/Unix系统。众所周知,Linux/Unix系统的文件系统是从根“/”开始的,形成倒树形文件系统结构。Root是root的英文定义,所以Linux/Unix系统把root帐号的权限作为系统管理员的权限。口碑,root代表Linux/Unix上的最高权限。

在移动设备发展的早期,各种移动设备使用不同的操作系统,其中塞班、Windows Phone、iOS和Android表现突出。随着市场的选择,只有Android和iOS幸存下来,成为流行的手机操作系统。根据POSIX标准协议和开源协议,Android和iOS都应该在Linux/Uinx上保留相应的功能。

其中,Android是基于Linux的系统,而iOS使用的是达尔文(Darwin xnu)作为内核(Darwin来自BSD)。根据开源操作系统,Android和iOS都应该保留所有用户使用Root帐户控制设备的权利。

但现实是Android和iOS都不允许用户使用Root权限,尤其是iOS对Root权限的监控和封锁已经到了前所未有的程度,以至于iOS的Root被称为“越狱”。iOS上的Root过程比Android上的复杂和困难,所以本文主要以Android系统的Root为研究对象,详细介绍Root的前世。

安卓系统的三种根模式

相对于封闭的生态iOS系统,Android的Root模式可谓是从百花齐放到统一万物。不同版本的Android系统获取Root权限的主流方式不同。

在Android手机上,获取Root权限的途径主要有三种:漏洞、OEM官方解锁和工厂模式。其中,通过漏洞获取Root是开发者最早的探索;在工厂模式下获取Root是在骁龙9008模式下通过底层串口将专用ROM刷写入手机中获取Root;官方的解锁方式是OEM厂商提供给部分发烧友的“渠道”。解锁Bootloader锁,就可以得到flash ROM,得到Root。

阶段1:百个漏洞竞争,先锋CVE-2009-2692漏洞

Android系统早期,安全问题被忽视。Linux中出现的很多安全问题都可以在Android中重现。其中,最早公开记录并可追溯的是Znix利用Linux漏洞CVE-2009-2692编写的Android版本权限提升程序。代码如下:

使用蓝牙协议触发发送页面漏洞

特权提升攻击负载

造成这个漏洞的主要原因是sock_sendpage没有检查socket_file_ops数据结构的snedpage字段的指针。有些模块没有sendpage函数,指针初始化为NULL。此时直接调用sendpage会导致直接调用空指针,导致出错,进一步提升权限。Znix直接将已有的有效用户id(euig)和有效用户组(egid)指针赋给0,即Root用户和Root用户组,再将有效用户和有效用户组指针赋给真实用户指针和真实用户组指针,从而达到权限提升的目的。那么这个攻击负载就是利用蓝牙协议和send_page的漏洞触发的。

Znix在Android _ndk_r1版本发布两个月后发布了漏洞。漏洞利用发布后,人们发现在Android上以漏洞的形式获取Root权限是非常可行的,随后越来越多的安全人员和爱好者开始在Android上挖掘系统漏洞,导致了Android上安全问题的井喷。但随着Google的不断修复和SElinux的推出,闹剧在Android 4.4戛然而止,Android系统进入稳定期,Android的根源也进入了新的探索时代。

使用Linux系统的人都知道,Linux上有一个程序叫/usr/bin/su,用户可以通过su命令切换身份。Android是基于Linux的。在Android 1.0-4.4版本中,默认安装su程序,用户使用su可以获得Root,只要su程序的权限是Access: (4755/-RWSR-XR。

第二阶段:混沌中的探索,supersu和超级用户

在Android 4.4版本中,Google基本修复了Linux中可以用来主张权利的漏洞,并限制了利用漏洞主张权利的方式。对于Android 4.4及以上版本,Anroid不预装su程序,使用SElinux,即使拥有4755权限的su也无法达到完美Root。开发者尝试将修改后的su写入Android的/system,这样就可以通过/system下的su程序执行需要Root权限的程序。

写su到/system需要提前解锁安卓手机,比利用漏洞解除权限更稳定。很多大神都开始编写不同的su程序,其中最著名的是chainsDD的su和chainfire的suspersu。但是,仅仅获得Root权限还是不够的,还需要一个分配Root权限的管理工具。koush的超级用户正好填补了这个短板,让这个系统变得完美。

然而好景不长。这种方法引起了谷歌的注意。在后续版本中,Google检查了/system等分区的完整性,导致无法修改系统分区。2018年10月,chainfire宣布不再维持supersu。另一个开发者以一种巧妙的方式让Root再次成为可能。

第三阶段:受混沌启发,走向统一的Magisk

一个名叫topjohnwu的开发者,从supersu中受到启发,他仍然使用supersu的原理获得Root权限,但是他并不对/system等分区做额外的修改,他通过尝试发现,虽然/system等分区无法修改,但是可以在/system分区下进行添加挂载点,于是他用了一种overlay的方法,让用户刷写特殊的boot.img,修改启动时的挂载操作,做出了一个overlay版本的system,所有的操作都在这个system上进行,这样就避开了对原有system的修改,完成原有supersu的功能,而这款软件就是现在大部分人熟知的Magisk。Magisk不仅完成了获取Root,并且集成了Root权限的管理器。 一个叫topjohnwu的开发者受到了supersu的启发。他仍然使用supersu的原理来获得Root权限,但他没有对分区(如/system)进行任何额外的修改。他通过实验发现,虽然分区(如/system)不能修改,但他可以在分区(如/system)下添加挂载点。于是他用了一种叠加的方法,让用户写一个专门的boot.img,修改启动时的挂载操作,做了一个系统的叠加版。所有的操作都是在这个系统上进行的,从而避免了对原系统的修改,完成了原有的supersu功能,而这个软件现在被大多数人称为Magisk。Magisk不仅完成了Root的获取,还集成了Root权限的管理器。

随着topjohnwu加入google,magisk的代码需要接受Google安全团队的审计。magisk某种程度上有官方背书,是目前最稳定的Root模式。

小白怎么能根一个安卓手机

本文将使用TWRP教你如何使用Magisk获得Root权限。在获得Root之前,您需要解锁引导加载程序。请联系OEM来解锁引导加载程序。

顶图特别提醒:Root有一定风险,否则手机无法使用。请谨慎操作,本文对任何后果不承担相应责任。

1、准备adb fastboot命令工具、magisk以及对应的twrp.img(不同厂商需要的twrp镜像不同,请读者自行查询所需的twrp镜像) 1。准备adb fastboot命令工具,magisk和对应的twrp.img(不同厂商需要不同的twrp镜像,请读者自行查询所需twrp镜像)

2。使用adb命令将Magisk放入sdcard。命令如下:

3。进入bootloader界面,输入相应的fastboot命令,进入twrp界面。

4。选择安装,然后选择Magisk.zip,

5。进入安装Magisk的界面,从左到上滑动滑块。如果出现如下界面,证明Magisk安装成功。

6。重启手机后,使用将maigsk.zip改回magisk.apk,并使用以下命令安装Magisk Manager。

然后你可以打开手机里的Magisk,发现Magisk工作正常。

如何检测设备的Root操作

对于安全从业者和一些需要风控的企业来说,需要知道用户的手机是有风险还是Root。

1。包名检测。

由于Magisk是通过Maigsk.apk分发来管理其su权限的,所以可以通过获取包名来查看用户手机上是否有Magisk App,从而得知用户是否使用过Magisk Root。具体代码如下:

试着运行程序,得到如下结果。

在上述方法中,虽然可以检测到用户安装了Magisk,但是由于法律对用户隐私的保护,获取包名的方式会触碰隐私合规的红线,所以这种方法需要一定的权限,使用这种方法时要谨慎。

2。专业的安全产品。

顶级影像设备指纹和顶级影像服务感知防御平台,可有效实时识别根源风险。

顶像设备指纹:能准确识别模拟器、root、越狱、调试、代码注入、多接入、VPN代理等风险。包括,iOS平台钩子,越狱行为,Android root,调试,内存转储,注入,多次打开,模拟器,漏洞攻击等风险行为,WEB平台下浏览器颜色深度和分辨率,浏览器和系统,UA的匹配和一致性,cookie是否被禁用等行为。

顶像业务安全意识防御平台:基于威胁探测、流计算、机器学习等先进技术,集设备风险分析、运营攻击识别、异常行为检测、预警、防护和处置于一体的主动安全防御平台,可实时检测摄像头劫持、设备伪造、设备Root等恶意行为,有效防控各类人脸识别系统风险。具有威胁可视化、威胁溯源、设备关联分析、多账号管理、跨平台支持、主动防御、开放数据访问、防御定制、全流程防控等特点。

写在最后

本文从Root的历史出发,讲述获取Root的发展历史和趣闻,教你完成你的安卓手机从0到1的Root,并提出一些有效的检测Root的方法。根和钩一样,是一把双刃剑。在普通人手中,可以让系统不受约束,带来更好的手机体验。但在黑灰生产者手中,就会成为非法牟利工具。作为安全从业者,我们应该辩证地看待每一项技术,我们应该严厉打击非法行为,为安全事业做出贡献。

上一篇《要想防住你的敌人,先知道对方在攻击什么——论Hook技术的攻防对抗》中,我们提到了Hook的攻击。Hook需要Root吗?答案是否定的,如果开发者有能力修改art源代码,劫持合子,就可以完成无根钩子的操作。根本是为了降低钩子和钩子模块管理工具的使用成本,让钩子操作者可以不再专注于钩子的前置条件,而是更专注于钩子模块的开发。

猜你喜欢:综合百科

综合百科手机root权限怎么开启(一文看懂手机Root的操作与防护)

转载请注明:原文链接 | http://www.nnxc.com.cn/10043347822.html