一个信息安全洁癖者眼中的安卓刷机(安卓2.2刷机包)

时间:2022-10-12 21:18:05来源:网络整理
导读近期在跟朋友一次关于安卓机器选购的闲聊中,提及了三个软件方面的选购标准:国内安卓应用的环境无须多说。提到安卓系统的时候,我们常常说到一个词「碎片化」。虽然安卓系

0x01 从购买标准思考

在最近和朋友讨论购买安卓机的时候,我提到了三个软件购买标准:

当时朋友吐槽“只要画出这个标准,90%的安卓手机就淘汰了”,但其实除了第三项是我个人拥有的,其他两项都是相关的大问题到系统安全。

1.1 权限管理

国内的Android应用环境就不用说了。一方面,有些应用总是试图把自己变成一个工具箱的大杂烩,申请大量的权限(图为宽网提供的QQ版部分权限截图):

另一方面,为了减少工作量,加快开发进度,或因登录应用分发市场的需求(如百度被曝被迫接入SDK或与“百度全家桶”相关"),许多应用程序可以访问某些第三方应用程序。第三方SDK申请了很多不必要的权限。作为一个长期受Unix哲学影响的信息安全极客,在我看来,这种权限的申请有悖于以下两个原则: 1.2 及时更新系统

在提到Android系统时,我们经常会用到“碎片化”这个词。所谓碎片化,是指市场上同时存在多个不同版本的安卓系统(数据来自腾讯云分析,2016.2-2016.5活跃设备数据):

山寨安卓机怎么刷机_安卓刷机字体包_安卓2.2刷机包

从图中我们可以看出,在Android 6.0发布半年多,Android 5.0发布18个多月后,超过一半的用户仍然停留在较早的Android 4.x版本上,而升级到 Android 6.0 的用户只有 2.72%。安卓系统的更新虽然不等同于安卓安全补丁的更新,但很大程度上反映了很多安卓设备缺乏后续更新,甚至部分机型出厂后也没有任何更新。面对恶意程序,这种缺乏更新的安卓系统是不安全的,甚至是毫无防备的。例如,2015 年 4 月向 Google 报告了 Android 上著名的 Stagefright 漏洞,这是一个触发条件非常简单的远程代码执行漏洞,而今年 3 月的一则新闻报道称,一年内仍有 8.5 亿台 Android 设备被曝光。怯场利用。而这 8.5 亿用户由于缺乏后续厂商的更新,仍然面临着漏洞的威胁。0x02 闪现带来的欢乐和担忧

很多对Android有一定了解的朋友可能会对上面的选择标准嗤之以鼻:“你说的都是没用的东西,因为我们可以刷机。”

2.1 闪烁的喜悦

诚然,我上面提到的几乎所有问题都可以通过刷机解决。如果你想要最新的系统,我们可以刷上流行的CyanogenMod或者各种民间AOSP修改版,立即享受最新的Android 6.0体验。要管理权限,我们可以在刷su文件后安装Xposed模块和XPrivacy来管理权限,SuperSU获取root权限。我们可以安装 LBE 安全大师或 360 极客版以获得傻瓜式的管理权限。至于 Gapps,更不用说,只需选择 Gapps 包的库存版本,您就可以获得完整的 Gapps 体验,就像您使用最近的 Nexus 手机一样。还有安全漏洞。如果你是高手或者极客,可以自己写最新的安全漏洞补丁,或者找xda等论坛的民间补丁,以root权限安装,并在官网推送安全补丁。漏洞的补丁之前就完成了,比谁都安全。它看起来很漂亮,不是吗?

2.2 担心闪退

中国传统文化常提到“善恶并存”,闪现亦然。目前大部分机型刷机步骤如下:

PS本文不会讨论少数通过系统漏洞获得root权限,刷入第三方recovery的机型,这样就不需要解锁Bootloader,比如索尼、魅族、夏普等一些机器。这三个步骤中,第三个解决了我提到的问题,而前两个引入了一些新的安全问题。

首先介绍一下Bootloader和解锁的概念。Bootloader是指在操作系统内核运行之前运行的一个小程序。通过这个小程序,硬件初始化等,其实就相当于电脑的BIOS。Bootloader锁是指一些厂商出于安全原因限制bootloader的功能,使其只能运行厂商认证的操作系统和系统自带的Recovery(通常厂商只会认证手机出厂自带recovery和ROM及后续更新)。解锁Bootloader就是解除这个限制,允许手机执行任意ROM或Recovery,从而允许第三方ROM和Recovery运行。并刷入第三方Recovery,自然可以自由刷入第三方ROM、获取root权限、刷入Gapps等等。但是解锁后,您并不是唯一可以利用恢复功能的人。如果您的手机不小心丢失或被盗,有心人可以通过您解锁的Bootloader和第三方Recovery绕过您设置的锁屏密码,获取您的数据,并将其刷入其他系统,以便您最终泄露信息并丢失你的手机。PS比较欣慰的一点是Android 6.0引入了全盘加密机制,开启全盘加密后可以很大程度上避免信息泄露。但是你仍然会因为被闪而丢失你的手机。下面我们使用三星Note2进行相关演示。刷入Gapps等。但是解锁后,您并不是唯一可以利用恢复功能的人。如果您的手机不小心丢失或被盗,有心人可以通过您解锁的Bootloader和第三方Recovery绕过您设置的锁屏密码,获取您的数据,并将其刷入其他系统,以便您最终泄露信息并丢失你的手机。PS比较欣慰的一点是Android 6.0引入了全盘加密机制,开启全盘加密后可以很大程度上避免信息泄露。但是你仍然会因为被闪而丢失你的手机。下面我们使用三星Note2进行相关演示。刷入Gapps等。但是解锁后,您并不是唯一可以利用恢复功能的人。如果您的手机不小心丢失或被盗,有心人可以通过您解锁的Bootloader和第三方Recovery绕过您设置的锁屏密码,获取您的数据,并将其刷入其他系统,以便您最终泄露信息并丢失你的手机。PS比较欣慰的一点是Android 6.0引入了全盘加密机制,开启全盘加密后可以很大程度上避免信息泄露。但是你仍然会因为被闪而丢失你的手机。下面我们使用三星Note2进行相关演示。有心人可以绕过你通过你解锁的Bootloader和第三方Recovery设置的锁屏密码,获取你的数据,刷入其他系统,这样你就可以最终泄露信息,丢失手机。PS比较欣慰的一点是Android 6.0引入了全盘加密机制,开启全盘加密后可以很大程度上避免信息泄露。但是你仍然会因为被闪而丢失你的手机。下面我们使用三星Note2进行相关演示。有心人可以绕过你通过你解锁的Bootloader和第三方Recovery设置的锁屏密码,获取你的数据,刷入其他系统,这样你就可以最终泄露信息,丢失手机。PS比较欣慰的一点是Android 6.0引入了全盘加密机制,开启全盘加密后可以很大程度上避免信息泄露。但是你仍然会因为被闪而丢失你的手机。下面我们使用三星Note2进行相关演示。0 引入了全盘加密机制,可以在很大程度上避免开启全盘加密后的信息泄露。但是你仍然会因为被闪而丢失你的手机。下面我们使用三星Note2进行相关演示。0 引入了全盘加密机制,可以在很大程度上避免开启全盘加密后的信息泄露。但是你仍然会因为被闪而丢失你的手机。下面我们使用三星Note2进行相关演示。

0x03 拿起一部带有解锁引导加载程序的手机

为了验证上述说法,我们使用了三星 Note2 (N7100) 的非官方 CyanogenMod 进行测试。

3.1 准备工作

首先,我们刷写了从 xda 找到的最流行的 ROM,即手机的非官方 CyanogenMod 13 ROM,并存储了三个联系人和三张图片。

山寨安卓机怎么刷机_安卓刷机字体包_安卓2.2刷机包

然后安卓2.2刷机包,我们给手机添加一个图案锁屏密码。从图中可以看出,我们已经需要输入解锁图案才能进入系统。

安卓2.2刷机包_山寨安卓机怎么刷机_安卓刷机字体包

3.2 入门

现在,让我们开始模拟接电话的人。由于三星手机已经解锁了Bootloader,我们可以先关机,然后在开机的时候长按音量下键和Home键进入Fastboot模式,直接刷入Recovery。这里我们使用三星刷机工具Odin刷机大名鼎鼎的TWRP,刷机步骤参考Odin安装方法(无需root)部分。

接下来我们重启手机,按住音量上键和Home键进入Recovery模式,也就是启动我们刚刚刷过的TWRP。TWRP 的默认模式会自动启动 ADB 并通过 MTP 挂载 /data 分区。

安卓2.2刷机包_山寨安卓机怎么刷机_安卓刷机字体包

3.3 获取数据

熟悉安卓系统的人都知道,有了adb权限(以及root级别),这款安卓手机基本就可以玩了。首先我们需要通过命令行执行下面的命令来复制如图所示的两个文件,前者是存储联系人的数据库,后者是存储短信的sqlite3数据库。

安卓2.2刷机包_安卓刷机字体包_山寨安卓机怎么刷机

接下来,我们编写一个小解析程序,将数据库文件转换为人类可读的格式。

安卓2.2刷机包_安卓刷机字体包_山寨安卓机怎么刷机

执行程序后,我们直接输出预先存储的三个联系人——Alice、Bob和Cirno的姓名和手机号码的对应关系:

然后我们得到之前保存的照片,可以通过MTP挂载Android手机直接复制。

安卓刷机字体包_山寨安卓机怎么刷机_安卓2.2刷机包

0x04 临时规避策略——全盘加密注意!开启全盘加密会大大降低手机闪存的读写性能。如果您对读写性能有较高要求,请慎重考虑是否开启该功能。

注意!在启用全盘加密之前,请务必备份您的手机数据。一旦在加密过程中发生不可预见的问题并失败,您将无法再次访问您的数据。

通过以上实验,我们可以看到,一旦bootloader解锁且没有任何加密措施的手机丢失,在恶意攻击者面前基本是毫无防备的。但实际上,我们有一些方法可以规避这种风险。Google 在 Android 5.0 中引入了一种叫做“全盘加密”的机制,可以对手机的 /data 分区进行加密。但是,由于无法平衡性能损失和安全问题,谷歌已经放弃了是否将该功能应用到主要 OEM 的选择。在CM13中,提供了一个开关,让用户可以决定是否开启手机全盘加密。我们只需开启全盘加密功能,即可有效规避上述风险。开启全盘加密后,在 Recovery 模式下数据分区不会自动挂载,adb 将无法访问数据分区中的数据。具体表现如下:

注意!开启全盘加密会大大降低手机闪存的读写性能。如果您对读写性能有较高要求安卓2.2刷机包,请慎重考虑是否开启该功能。

注意!在启用全盘加密之前,请务必备份您的手机数据。一旦在加密过程中发生不可预见的问题并失败,您将无法再次访问您的数据。

0x05结尾的碎念

写这篇文章的初衷是为了发现部分朋友对安卓刷机带来的风险没有一个清晰的认识。他们认为闪蒸生根是灵丹妙药,可以解决一切害处,而且没有副作用。除了安全之外,它还带来了许多其他风险。当然,手机 OEM 可以比我前面提到的方法更好地解决这个问题。比如刚才提到的bootloader解锁带来的隐患,如果手机厂商可以修改bootloader解锁的效果,比如在支持第三方操作系统的同时增加bootloader级别的开机密码,或许能够在很大程度上避免信息泄露。冒险。

最新文章