有很多基于应用程序的生根方法。最近的评论9到根植Android设备的免费软件应用程序,指向其中的一些,并且可能有更多应用程序(付费或其他方式)。
据我了解,
加分
容易生根
不需要笔记本电脑或计算机
缺点
基于漏洞利用,因此如果操作系统更新拒绝漏洞利用,则可能无法正常工作
难以脱根(正如我在某些设备华为荣耀6的论坛上看到的那样)
问题:
- 除了上面的优点和缺点是什么?
- 如果设备同时具有两种选择-基于应用程序的生根和开发人员的方法生根,我应该选择哪一个?
注意:我不是在寻求应用程序的建议或推荐。
有很多基于应用程序的生根方法。最近的评论9到根植Android设备的免费软件应用程序,指向其中的一些,并且可能有更多应用程序(付费或其他方式)。
据我了解,
加分
容易生根
不需要笔记本电脑或计算机
缺点
基于漏洞利用,因此如果操作系统更新拒绝漏洞利用,则可能无法正常工作
难以脱根(正如我在某些设备华为荣耀6的论坛上看到的那样)
问题:
注意:我不是在寻求应用程序的建议或推荐。
Answers:
使用正式流程生根有一些好处。
许多手机都正式支持它。这意味着您可以使用制造商记录的过程以及来自官方来源或可信赖的第三方(CWM或TWRP)的工具,而不必运行从某些狡猾的网站获得的工具。
因为它是正式支持的,所以在大多数情况下,系统更新不会改变过程,因此您无需四处寻找“最新”的生根方法。相反,软件更新往往会修补漏洞,因此利用方法通常会在更新后停止工作。
由于上述原因,在您“软根”安装之后,您可能会想不安装系统更新,因为该更新修补了该漏洞并停止了您的生根方法的工作。通过正式程序,没有理由继续使用易受攻击的旧版本。
一键式方法(在问题中提到)的便利性以及以这种方式进行操作还有其他优点。
将引导加载程序解锁为“硬根”将擦除电话,因此您必须重新进行设置并从备份中恢复数据。通常,通过漏洞进行的“软生根”不需要擦除电话,这可以更加方便。
由于生根会修改系统分区,因此通常您之后便无法进行OTA更新:更新程序会识别出系统已被修改,并且无法使用。但是某些电话上的某些 “软根”方法可以避免此问题,因此您可以进行OTA更新,而不必取消根或刷新新的系统映像。这也容易一些。无论哪种方式,您在更新后仍然都必须重新植根。
由于您不必解锁引导加载程序,因此没有诱惑将其解锁。这具有安全优势,即人们无法将新的ROM刷新到您的手机中(例如,如果ROM被盗并且他们想绕开屏幕锁定或恢复出厂设置保护)。
Beeshyams关于安全性的说法很重要,但是在我看来,这与问题无关。最好指出或提醒人们,每种“软根”方法都利用了一个安全漏洞,恶意软件可以使用相同的漏洞在手机上安装rootkit。但是,无论是否使用此漏洞,都存在。安全风险来自生根方法的可能性。通过利用此漏洞来使手机扎根不会使其变得更容易利用,甚至更糟。
如果您的手机可以通过生根应用/漏洞扎根,那么它很容易受到恶意软件的攻击。无论您是使用root还是使用哪种方法,这都是相同的。不使用漏洞利用程序(而是通过“硬根”操作或仅通过不生根)不会保护您免受恶意软件的侵害,也不会减少您的攻击风险。
根据OP的要求,来自聊天的一些详细信息:
这个问题很好,但是很难回答:还有更多需要考虑的事情。
因此,以上可能算作“基于反应用程序” –但是,如果该设备已经存在这样的应用程序,那么我们无能为力。即使我们说“反过来比较安全”,也不能防止我们遭受第二名的伤害。当然,我们可以在购买设备之前检查一下-但是谁说第二天这种应用程序不会弹出?
感谢AndrewT 在聊天室上发布了一个链接,并将本研究报告作为答案之一。该答案完全基于本文(2015年5月),并强调了用户常见的可理解方面(对于感兴趣的人有很多与安全性相关的资料)
除了上面的优点和缺点是什么?
如果设备同时具有两种选择-基于应用程序的生根和开发人员的方法生根,我应该选择哪一个?
答: 这都是关于恶意软件漏洞的。使用Root漏洞利用存在巨大的安全风险,并且超过了其他任何优势
软根: 通过运行软件(即,根漏洞)直接获得根-通过直接安装在设备上或adb通过PC连接要求外壳
硬根: 通过更新包或ROM从外部刷新su二进制文件可获得根
即使合法,许多方便的一键式根方法也可以通过利用Android系统中的漏洞来运行。如果不仔细控制,恶意软件作者可能会滥用此类漏洞利用,以获得未经授权的root特权。
如Android Malware Genome Project中所述 , 36.7%(共1260个)恶意软件样本已嵌入至少一个根漏洞。
这些精心设计的漏洞利用得不到很好的保护,如果落入他人之手,将非常危险。
该论文涵盖了78个研究过的漏洞利用。通常,影响的顺序(从最高到最低):
内核利用:由于其特权地位,针对Linux内核很自然地实现了对Android设备的完全控制,例如TowelRoot
库漏洞:针对Android系统进程使用的库的漏洞,或用于支持不同应用程序的外部库的漏洞,例如ZergRush漏洞,Volume Manager守护程序使用的libsysutils
应用程序和应用程序框架应用程序层的根漏洞:针对系统应用程序或服务的漏洞,主要包括setuid实用程序,系统应用程序或服务引入的易受攻击的逻辑。例子是一个易受攻击的setuid实用程序,仅存在于具有命令注入漏洞的XoomFE设备上
供应商特定的内核或驱动程序:供应商要么自定义内核(例如,Qualcomm的自定义Linux内核分支),要么为各种外设(例如摄像机,声音)提供供应商特定的设备驱动程序。这样的代码在内核空间内运行,其妥协也可能导致对设备的完全控制。
明智的做法是,如下图
很容易。可以从Google搜索中轻松获得,这使恶意软件作者可以利用这些漏洞轻而易举。谷歌搜索73个漏洞导致其中68个可用-46个带有源代码,22个带有二进制文件
有效利用漏洞的主要要求(从最困难到最小)(恶意软件标签包含很多此类实例)
需要用户交互:(研究了78个中的6个)
adb通过PC连接需要外壳:(研究了78个中的17个)。对于某些漏洞利用,adb由于以下最常见的原因,因此需要外壳连接:
该漏洞可以成功修改一个设置,在local.prop该设置中adb仅对shell 启用root 。
该漏洞需要写入由组shell和组可写(不是世界可写)拥有的文件
该漏洞利用针对adb守护进程,该进程要求攻击进程与shell用户一起运行。例如,Rage Against the Cage漏洞针对adb守护程序缺少对返回值的检查的漏洞。setuid()
重新启动:(研究了78个中的6个)通常,许多root漏洞至少需要重新启动一次。例如,符号链接攻击将允许攻击者删除权限较弱的系统所拥有的文件,并在同一位置建立指向受保护文件的链接。重新启动后,相应的初始化脚本将尝试将原始文件的权限更改为可全局写入,这实际上将更改链接文件的权限
无权限或没有权限:( 研究的78个中的44个)此漏洞没有硬性要求,但是,其中一些漏洞可能需要某些Android权限,例如READ LOGS才能将进程所有者放入特定用户组。
由于根漏洞利用非常敏感,并且可能会被各种Android恶意软件利用,因此,期望Android平台上的防病毒软件能够识别其中的大多数,包括由根提供商实施的那些。总体而言,结果表明,Android平台上的最新安全产品仍无法有效解决根漏洞
使用4种具有代表性的Android防病毒产品测试了具有167个漏洞的最大提供商(名称未透露)。由于最初从提供商数据库下载的漏洞利用程序打包了实际的漏洞利用代码并采用了篡改检测机制,因此研究为每种漏洞利用都设计了3个不同的版本:
直接从提供者服务器获取原始漏洞,并进行打包和篡改检测。
解压漏洞,将所有实际的漏洞逻辑暴露给防病毒产品。
重新包装漏洞利用,禁用篡改检测。
大型根提供商设计的漏洞利用二进制文件出奇地“干净”,因为所有主要的防病毒软件都很难检测到它们,如下表所示
简单。除非您有能力应对后果,否则请远离软根方法