2013-08-22 14:45:39
分享

Android手机获得ROOT权限的潜在威胁

标签:Android手机,ROOT权限,威胁

  网上超多的教程(甚至还有所谓的“一键ROOT”的方法),这些教程会让你惊奇的发现,获得ROOT好简单哦。理想状态下,每个用户做这个步骤之前都应该知道为什么要取得ROOT,更重要的是,如何在此之前保存他们手机中的信息。

  但是,这不是一个理想的世界。我每天都看到新手一拿到手机就立刻刷ROOT,然后再问:取了ROOT有什么用?

  我们不能完全责怪用户,因为很多教程都没有强调刷ROOT可能导致的严重后果,会危及到你手上设备的安全性。

  更矛盾的地方是,这些教程都假设读者已经有了一定技术水准,但往往这些教程却又归类到新手教程!我的观点是,很多用户根本不需要ROOT权限!

  在开始讨论之前,先问你自己以下2个问题:

  1.你有几次细读过菜市场里下载的软件或者游戏的使用协议?

  2. 你有几次看了软件使用协议中的权限要求(full internet, gps location, read contacts等等)后会问“嗯,为什么这个游戏需要这些权限呢?”

  你是不是还是照安装不误呢?

  事实就是,绝大多数的用户根本不会在意ANDROID程序所要求的这些权限,他们会照安装不误。

  虽然菜市场已经通知了用户软件所需的权限,但这远远不够。因为用户还是不知道这些权限和安全又什么关系。一旦你批准了这些软件所要求的权限。

  你就等于向这些软件敞开了你家的大门。譬如,程序可以随意的将你手机里联系人的信息发送到他们的服务器。我确定你妈妈因此而收到**邮件或者广告公司的电话骚扰的时候,肯定不会很开心。

  再举个例子,有些软件也许没有什么恶意,但设计的却极其的烂。因为开发者也是人,也会犯错。

  有时,程序员会选择一个他们认为安全的协议,但实际上却是很危险的。

  或者他们决定让所有用户使用SINGLE SIGN ON,但却将用户的SSO信息在DEBUGGING CODE中在控制台输出出来。

  又或者有些恶意软件,可以让别人远程清空你的手机,或者将你手机里的信息传送回指定服务器后再清空你的手机(也许已经有这样的软件了)。

  我以上所说的这些例子表明,即便是非ROOT权限的程序都有可能很危险(对新手来说),那么那些获得ROOT权限的程序呢?

  好,现在回到我们所要讨论的主题上来。

  当然,很多MOD的固件已经包括了超级用户程序,但这就够了嘛?和WINDOWS中账户控制消息或者其他操作系统中类似的程序一样,这个程序只是告诉用户当程序需要超级用户权限,但不会(不能?)告诉我们程序需要用这权限来干嘛!!

  有多少次,我们会选择“一直允许”(我也是),却不知道知道这个程序到底要干嘛。我们到底如何能知道呢?

  大多数人无法知道这些。只能靠别的用户来告诉我们。或者我们完全信任程序的开发者?但你敢100%信任一个完全没见过面的人?

  在很多但不是所有情况下,这些程序都是开源的,所以我们可以读它们的代码来评估风险。

  但,这是一把双刃剑,别人也可以在代码中加入后门,冠以定制版的大名,堂而皇之进入你的手机。

  一百个程序中有一个这样的程序,也就够你受的了。

  但一个恶意的并或者ROOT权限的软件到底可以干什么呢?

  两个字:任意事情!

  我和我的朋友讨论了一下,总结出以下几点:

  将GMAIL换成所谓的“定制版”

  将你的输入法更换成有按键记录功能的输入法

  将手机里的程序或者数据删除

  下载并试图安装修改过的固件

  下载特定的程序,可以夜间在后台拨打收费电话号码。

  侵入你的菜市场账户,并“替你”购买软件。

  更多。。。

  幸运的是,这样的程序还没出现。但愿以后也不会有。

  很有可能你现在已经开始想了:“天哪,这些东西真吓人。。。”,那么,身为作者的我也会感到高兴。

  如果用户能知道乱用ROOT权限的潜在威胁,并时刻牢记这一点,这样可以更好的保护他们自己的设备和信息。

  在使用一个软件并信任开发者之前,做一下功课,网上搜索一下。

  安全起见,也不要在超级用户程序里选择“ALWAYS ALLOW”,虽然这样也无法完全保障你设备的安全。

  其实,有些功能其实完全不应该需要ROOT权限的。

  譬如,很多用户取得ROOT权限只是为了添加一些自己的主题。

  如果ANDROID原生就能支持自己添加主题,那很多用户就不需要ROOT了。

  还有些用户ROOT是为了优化手机使之运行的更快。那为什么不把这些优化程序直接集成到官方固件中去呢?

  譬如说因为G1的储存空间相当有限,我们不得不使用APP2SD将程序安装到SD卡中去。为什么这个程序就不能集成到官方固件中去呢?

  我有两部ANDROID设备,G1和G2,两台都ROOT了。我刚拿到G1的时候就ROOT了,就是为了将程序安装到SD卡。

  说实话,那时候我也不知道我究竟在干吗。

  到了G2的时候,一开始几个月我都没有ROOT,只是最近看到了所谓的“一键ROOT”的方法,才忍不住刷了。

  肯定有读者要问,你这帖子到底想说什么?

  老实的说,看到越来越多的ANDROID新手认为不ROOT就不能正常工作,让我感到很沮丧。

  这帖子就是要破除这个迷思,并让用户时刻牢记安全的重要性。