返回资讯中心
外部精选
软件工程
#开发者实时流

技术分析:商业手机解锁工具如何利用设备漏洞

来源标题:Demystifying phone unlocking tools: A technical overview

一篇技术分析文章拆解了商业手机取证工具的技术原理,指出这些工具并非魔法,而是将安全研究者公开的同类漏洞利用系统化、商业化,针对每种硬件和软件组合开发漏洞利用并打包成自动化流程,操作者无需专业知识即可使用。文章按设备生命周期各阶段梳理了被利用的具体攻击面,后续将发布样本分析和防御措施。

Hacker News 最新iloveyoutwo2026/11/14 · 今天30 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

这篇文章是我们在一个题为《手机解锁工具及其获取途径》的演讲基础上整理而成的文字版。该演讲曾以非公开形式在多个活动和机构中分享,包括 Primavera Hacker 25、Freedom of the Press Foundation 以及 Public Interest Technology Group。本文从技术角度概述商业取证工具如何攻破移动设备,重点放在设备生命周期各阶段所利用的具体攻击面。后续文章将聚焦样本分析与防御措施。另见本系列之前的文章:

商业手机解锁工具并不神奇。它们利用的漏洞类别,与安全研究人员在会议和学术论文中公开发表的并无二致。它们的不同之处不在于技术的新颖性,而在于系统化的商业化利用:针对每一种硬件与软件组合获取或开发 exploit,并将稳定性做到一定程度,再打包成几乎不需要操作人员具备专业知识的自动化流程。

本文旨在揭开这些工具技术基础的面纱。对于能够物理接触到设备的取证人员来说,可用的攻击向量受制于一些边界清晰的环节:启动链、可信执行环境、安全元件(若存在)以及内核的外设驱动栈。本文主要详述 Android 内部机制,但 iOS 的对应概念在技术上是相似的。

本文引用的许多背景研究来自 Quarkslab,他们在 TEE 和 Android 数据加密架构方面的大量公开成果,对于理解这些工具极具价值。他们的工作,加上 Amnesty International 安全实验室及其他 NGO 的报告,以及 GrapheneOS 项目的分析,为本文的论断提供了实证基础。

在考察攻击向量之前,有必要先理解现代 Android 设备的硬件安全架构。以下各节描述取证工具最终必须攻破或绕过的组件。

现代基于 ARM 的移动处理器实现了 TrustZone,这是一种硬件安全扩展,将处理器划分为两个执行环境:Normal World 和 Secure World。Normal World 运行 Android 操作系统、用户应用和 Linux 内核。Secure World 运行一个独立的精简操作系统 Trusted OS,以及称为可信应用(Trusted Applications,TA)的小型专用程序。

SoC 示意图:Normal World 与 Secure World 分区,TEE 运行可信应用,并通过 SPI 与可选的安全元件通信

两个世界共享相同的物理处理器核心,但在硬件上相互隔离:Normal World 无法直接读写 Secure World 的内存。二者之间的通信通过 monitor 完成——monitor 是一段运行在最高特权级(ARMv8 上为 EL3)的代码,负责处理由 Secure Monitor Call(SMC)指令触发的上下文切换。每个物理处理器核心实际上提供两个虚拟核心,由 Secure Configuration Register 中的 Non-Secure 位决定任一时刻哪个世界处于活动状态。

Trusted OS 承载关键的安全服务。其中两个与设备解锁直接相关:

不同的 SoC 厂商搭载不同的 TrustZone 实现。Google(以及整个 AOSP)使用 TrustyOS;Qualcomm 使用 QSEE;Samsung 使用 TEEGRIS(在 Samsung 设备的 Exynos 和 MediaTek SoC 上均是如此);Huawei 使用 TrustedCore;Trustonic 的 Kinibi 也常见于 MediaTek 和 Exynos SoC。各实现的安全属性各不相同。

安全元件(Secure Element,SE)是一块物理上独立的防篡改硬件芯片,在 TEE 之外提供额外一层安全保护。与运行在同一 SoC 上的 Secure World 不同,安全元件是一个独立的处理器,拥有自己的启动链、自己的固件以及自己的加密密钥存储。

在 Android 生态中,安全元件通过 StrongBox API(Android 9 引入)对外提供。Google 的 Pixel 手机从 Pixel 3 开始搭载 Titan M 芯片作为其安全元件,Pixel 6 起升级为 Titan M2。在 Apple 设备上,对应的是 Secure Enclave Processor(SEP)。

安全元件在设备加密中的作用是保管密钥加密密钥,并在硬件层面强制执行凭证验证的速率限制——即便主 SoC 被完全攻破,这一硬件也无法被篡改。这是一个重要的区别:在没有安全元件的设备上,攻破 TEE 就足以提取或绕过由凭证派生的密钥。而在带有安全元件的设备上,攻击者还必须额外攻破一块独立的加固芯片。

遗憾的是,通常只有旗舰设备才配备安全元件。大多数中端和入门设备仅依靠 TEE 来保护凭证。这一架构上的差距,是决定设备在关机状态下能否抵御取证解锁的最重要单一因素。

启动链建立了一条从不可变硬件到运行中操作系统的信任链。每一阶段在执行下一阶段之前都会校验其完整性。

启动流程图:Boot ROM → Preloader → Trusted OS 与 Monitor(Secure World)/ Bootloader → OS(Normal World),安全元件运行自己的启动链

Boot ROM:上电时执行的第一段代码。它在制造时被烧录进硅片,原则上不可更改、无法打补丁(现代有少数例外,用于部署漏洞补丁)。Boot ROM 校验并加载下一阶段(preloader 或二级 bootloader)。它构成了硬件的信任根。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →