工具
Quarkslab Titan M 安全芯片研究工具
Quarkslab 发布的 Google Pixel 手机 Titan M 安全芯片研究工具:包括用于 Titan M(Citadel)固件文件的 Ghidra 加载器;可在 Android 上跟踪并发送芯片基于 protobuf 的命令的 nosclient,内含基于 libprotobuf-mutator 的黑盒模糊测试器;sigrok SPI 抓包解析器;以及把固件镜像转换为芯片 SPI rescue 功能所用 rec 文件的脚本。仓库还收录 Black Hat Europe 2021 白皮书与幻灯片、ROOTS'21 论文和 Black Hat USA 2022 幻灯片,介绍固件逆向、嗅探芯片与应用处理器之间的 SPI 通信,以及黑盒与基于仿真的模糊测试;作者称所发现的漏洞均已向 Google 披露。
- 目标
- 固件 · 协议
- 类别
- 固件工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 这是没有标签或软件包的研究发布:最后一次提交在 2022-08-22,添加了 Black Hat USA 2022 幻灯片,两天前 nosclient 已为该演讲更新。幻灯片介绍的基于仿真的模糊测试器不在仓库中,仓库也未提交任何 Titan M 固件镜像、Boot ROM 转储或密钥。
- 固件文件须来自分析者自己的 Pixel 设备;白皮书指出 Titan M 首次随 Pixel 3 推出。用 nosclient 发送命令需要设备的 root 权限,白皮书对此有说明;SPI 解析器读取的是分析者自行抓取的 sigrok CSV 导出文件。
- citadelimgloader 使用 Gradle 针对由 GHIDRA_INSTALL_DIR 指定的本地 Ghidra 安装构建,未说明支持的 Ghidra 版本。nosclient 在初始化 libnos(AOSP)、protobuf、libprotobuf-mutator 和 sqlite 子模块后,可用 CMake 构建 Linux 版或借助 NDK 构建 Android arm64 版,也可使用随附的 Debian 10 Docker 镜像(NDK r21e)构建。
- ROOTS'21 论文报告,黑盒模糊测试器在数秒内重新发现了多个已知漏洞,并在当时最新的固件中发现一个新漏洞;这些是作者在自有设备上得到的结果。README 称该工具集还包含针对一个已知漏洞的利用代码;本条目只介绍其分析工具。
- LICENSE 为 Apache-2.0。模糊测试器附带一个生成的 libradamsa.c,文件内没有单独的许可声明;客户端包含由 nugget/app 消息定义生成的 protobuf 源码和少量 KeyMint 枚举头文件;演讲 PDF 未说明许可。本次未构建或运行任何工具,所审来源未确立 REA 或 AI 使用。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · quarkslab/titanm · 修订 7b6c252
- citadelimgloader/README.md GitHub · quarkslab/titanm · 修订 7b6c252
- nugget_toolkit/README.md GitHub · quarkslab/titanm · 修订 7b6c252
- nugget_toolkit/fuzzer/README.md GitHub · quarkslab/titanm · 修订 7b6c252
- nugget_toolkit/Dockerfile GitHub · quarkslab/titanm · 修订 7b6c252
- bin2rec/Readme.md GitHub · quarkslab/titanm · 修订 7b6c252
- .gitmodules GitHub · quarkslab/titanm · 修订 7b6c252
- BHEU_2021/EU-21-Rossi_Bellom-2021_A_Titan_M_Odyssey-wp.pdf GitHub · quarkslab/titanm · 修订 7b6c252
- ROOTS/DamianoMelotti_ReversingAndFuzzingTheGoogleTitanMChip_paper.pdf GitHub · quarkslab/titanm · 修订 7b6c252
- BHUSA_2022/Titan_BHUSA.pdf GitHub · quarkslab/titanm · 修订 7b6c252
- LICENSE GitHub · quarkslab/titanm · 修订 7b6c252