之前群里有某安全公司员工宣传其手机取证软件,号称国内最强团队,无所不破。

先下结论,吹牛逼。

首先明白何为取证,取证通常是公安,边检,司法等政府部门用于提取手机内个人信息的一个过程,包括软件安装信息,图片文档,聊天记录等。取证有软件取证和硬件取证两种,硬件取证通常就是把手机接入定制系统,利用adb工具和硬件算力进行一些文件解密和破解操作。

取证不代表手机安全被突破,面对暴力机构,一切密码都不是问题。取证的大部分场景都是面向已经解锁的手机,在用户配合的前提下进行的。

这里我想科普下手机,主要是安卓的一些安全措施,因为苹果虽然我也有但从不用,也不懂。

要讲安卓安全,首先就要说Bootloader。BootLoader的核心的功能就是确保启动一个可信的操作系统以及恢复系统。

当按下电源时,CPU上电,运行PBL模块,这是一个写死在cpu里的只读存储区,PBL会紧接着启动XBL(也叫SBL),XBL主要作用是主要是初始化一些硬件环境(如DDR, clocks 和 USB 等)和代码安全环境 (TrustZone),当然,最重要的还是验证并加载下一个组件——ABL(Android Boot Loader,也叫 aboot)。

XBL是可以刷写和升级的,9008(也叫EDM)模式就是在这个区。通常手机刷机损坏,通过9008都是可以救回的。

PBL和XBL实现了软硬件解耦。

XBL 执行完之后会验证并加载 ABL,ABL 的主要功能是从设备验证并加载 bootimg 然后启动 Linux Kernel 进而启动用户操作系统。ABL 功能比较复杂,它内部运行着一个 mini 的操作系统,这个操作系统就是 lk(Little Kernel),同时ABL还提供了fastboot协议。

BootLoader 的各个启动过程串起来就是一个启动链,这个启动链的各个阶段在进行过渡和跳转的时候是需要进行验证的。也就是说,上一阶段在启动下一阶段的时候,会验证下一阶段的代码是否可信;只有在验证通过的情况下,整个启动过程才会继续进行。

解锁bootloader ,实际上就是让 BootLoader 启动链上某些阶段的签名验证不生效。实际上,我们通常所说的解锁 BootLoader 特指让 ABL(aboot) 在加载 bootimage 时不进行验证。

那有没有可能篡改签名呢,因为安卓启动是从上到下的一个链式启动,你修改了bootimage签名,但最终无法通过上一级的验签,而最上一级验签,在硬件厂商如高通手里。当然也不是说PBL就坚如磐石,一样是会有漏洞的。

进入正题。

现在,警方拿到一部带有锁屏密码的手机,在百度或者谷歌搜索的帮助下,两分钟就用adb删除了锁屏密码,获取了一切信息。

这只发生在臆想和搜索引擎中。

安卓的锁屏密码,早已不是搜索引擎中的那么脆弱,锁屏密码不是存在数据库或文件中,而是HAL中,并需要过TEE。

在没有解锁手机的情况下,新设备也是无法使用adb的,更谈不上bootloader 解锁。

即使这部手机是已经解了bootloader的,通过重启手机进入rec模式,在默认开启全盘加密的模式下,没有开机密码也是无法读取数据的。

好,在手机未解锁的情况下可以用9008模式进行刷机,但是,9008刷机后用户数据也是会被清除的。

即使是9008,也不是可以随意进入的,一些手机厂商,比如小米,会锁定9008模式,只有在使用授权账号或有厂家授权密钥(可以买到)的情况下,才能进入9008模式刷机。

2022年,曾经爆出过利用SIM解锁安卓设备的漏洞,但是比较滑稽的是,这个漏洞无法解锁中国产安卓机,因为国产手机都重写过解锁相关代码。

但是,又有例外了,部分国产手机,可以通过云平台解锁,在用户不配合的情况下,通过钓鱼或其他途径即可解锁。
 
 
Back to Top