手机刷机可靠性排行榜与风险评测
最近跟朋友聊起选安卓手机,软件层面我提了三个标准:
- 出厂系统得有一套真正管用的权限管理机制(Android 6.0那个自带的,说实话不太够看);
- 系统更新得跟得上,至少安全补丁不能拖;
- 最好能在不root的情况下,把Google服务给装上去。
朋友听完就笑了,说你这标准一划,市面上九成的安卓机都得被淘汰。这话不假,但除了第三条带点个人偏好,前两条可都是实打实的安全底线。
1.1 权限管理
国内安卓应用生态什么样,大家心里都有数。不少App恨不得把自己做成“瑞士军刀”,功能大杂烩,权限申请清单长得吓人。下面这张来自酷安网的QQ权限截图,就是个典型例子:
另一方面,很多开发者为了图省事、赶进度,或者迫于应用市场的要求(比如早年百度被曝强制接入SDK),会引入一堆第三方SDK,连带申请许多根本用不上的权限。从信息安全的视角看,这种“索权无度”的做法,其实违背了两条基本原则:
- 一是Unix哲学里倡导的“程序应该只做好一件事,并力求做到极致”;
- 二是安全领域公认的“最小权限原则”。
1.2 及时的系统更新
一提到安卓,总绕不开“碎片化”这个词。简单说,就是市面上同时活跃着大量版本各异的系统。看看这份2016年2月至5月的腾讯云分析数据(基于活跃设备),就能直观感受到:
当时,Android 6.0已发布半年多,5.0更是面世超过18个月,但仍有超过一半的用户停留在Android 4.x时代,能升级到6.0的仅占2.72%。系统版本更新慢,往往意味着安全补丁也跟不上。在恶意软件面前,一台缺乏更新的设备,几乎等同于不设防。
举个例子,安卓史上著名的Stagefright漏洞,早在2015年4月就报告给了谷歌。这个远程代码执行漏洞触发条件极其简单,危害巨大。然而一年后的2016年3月,仍有新闻爆出“约8.5亿安卓设备受该漏洞影响”。这背后,正是厂商后续更新支持缺位所导致的普遍困境。
0x02 刷机带来的喜与忧
看到这里,熟悉安卓玩法的朋友可能会不以为然:你说的这些问题,刷个机不就全解决了?
2.1 刷机之喜
确实,刷机看起来像一把“万能钥匙”。想要最新系统?刷入CyanogenMod或者各路大神的AOSP修改版,立刻体验Android 6.0。想要权限管理?获取root后,装Xposed框架配合XPrivacy,或者用LBE安全大师、360极客版这类工具,都能实现精细控制。至于Google服务,直接刷个完整的Gapps包,体验就和Nexus设备没什么两样。甚至安全漏洞,高手们也能自己找补丁、打补丁,动作比官方推送还快。听起来很美好,不是吗?
准备工作
为了验证,我们找来一台手机。首先,从xda论坛找了个热门的第三方ROM——Unofficial CyanogenMod 13,给它刷了进去,并存入了三个联系人和三张图片作为测试数据。
开始下手
现在,模拟一下捡到这台手机的人会怎么做。由于这台三星手机的Bootloader已经解锁,我们可以直接关机,在开机时按住音量下键和Home键进入Fastboot模式,然后刷入Recovery。这里使用三星刷机工具Odin,刷入著名的TWRP Recovery,具体步骤参考了官方教程的“Odin Install Method (No Root Required)”部分。
完成后重启,按住音量上键和Home键,进入刚刷好的TWRP Recovery。默认设置下,TWRP会自动启动ADB,并以MTP模式挂载/data分区。
拿到数据
熟悉安卓的人都知道,一旦获得了ADB权限(而且还是root级别的),这台设备就基本门户大开了。获取联系人数据很简单,通过命令行执行相应指令,就能拷贝出关键文件。如下图所示,其中一个是存储联系人的数据库文件,另一个则是存储信息的sqlite3数据库。




