Android 重大密钥泄露事件,将重创 Google 设备认证体系
本文目录
RefID: Q29weS1yaWdodDphcmNoaXZlcy9zZWN1cml0eS8yMDI0LWFuZHJvaWQtcm9tLWF0dGVzdGF0aW9uLWtleXMtbGVhayB8ICBoYXRzLWxhbmQgbWVudQ==
本文配图
RefID: Q29weS1yaWdodDphcmNoaXZlcy9zZWN1cml0eS8yMDI0LWFuZHJvaWQtcm9tLWF0dGVzdGF0aW9uLWtleXMtbGVhayB8ICBoYXRzLWxhbmQgbWVudQ==
事件概述#
Android 系统爆出了一个 P1 级的安全事故:ROM 完整性认证密钥 (Attestation Keys) 大规模泄露。这次泄露涉及 465 对密钥,影响范围之广、涉及厂商之多、泄露规模之大可以继 美团信用卡数据泄露事件 成为 2024 年又一大奇观。
被吊销的密钥对清单: https://android.googleapis.com/attestation/status
SafetyNet 时代的谢幕#
说到 Android 的设备完整性认证,就不得不提到一位即将退休的老将 SafetyNet。
自 2015 年发布开始,保护着 Android ROM 生态安全近十年,计划于 2025 年 1 月 31 日正式被 Play Integrity API 替代。
诞生背景#
还记得几年刚接触 Android 开发时,那时候的 Android 生态:
ROOT 权限是一键获得的,付费 APP 是十分钟内被破解的;
支付安全完全就是笑话的,手游挂哥是 QQ 群内遍地横行的。
在这种不能说是稳中向好,至少也可以说是一败涂地的大环境下,Google 终于推出了 SafetyNet。
(查看大图)
Play Integrity 的推出#
(查看大图)
非对称加密基础#
首先需要理解非对称加密的基本概念:
- 公钥和私钥是成对出现的,即便有了公钥无法得知私钥
- 现有科技几乎无法单从公钥逆向推算出私钥
Android 系统认证机制#
市面上所有 OEM Android 定制 OS(无论是 OPPO Vivo 小米还是三星),都强制在系统的加密芯片 (如 TEE) 中内置一个 Google 官方的预设私钥,以通过 Google ROM 安全认证。
什么是 TEE 熔断?#
说到 TEE 熔断,就不得不提到手机的安全启动链。当我们解锁 BootLoader(俗称 BL)时,手机会触发一个不可逆的物理熔断机制 —— TEE 芯片中的某些安全区域会被永久禁用。即便你后面回锁 BL,这些被熔断的功能也无法恢复了。
很多读者就会好奇:什么仇什么怨啊,至于这样吗?
密钥保护的考量#
其实这个设计和 TEE 里存储的一个关键信息有关 —— Google 预设的私钥。每个通过认证的 Android 设备的 TEE 中,都必须内置这个由 Google 签发的密钥。它就像是设备的"良民证",用来向各类安全服务证明设备的可信状态。
熔断机制就是为了防止有人通过解锁 BL 后,从 TEE 中提取出这个密钥。但现实是:即便再缜密的安全设计也会坍塌在社工(内鬼)手段。
(查看大图)
影响范围#
这次事件影响了几乎所有依赖 GMS 的 Play Integrity 设备认证 和 Safety Net 机制的应用场景。手机银行等支付类应用首当其冲,或许唯一的好消息就是可以尝试解救床底下堆灰多年强制 OEM 锁的旧手机。
赛季加强名单#
- 手机银行洗钱黑产哥 (主要非国内银行,例如 HSBC) 将获得略微加强
- 各类手游的挂哥将获得暂时性 buff 增益
- 各大 BT/PT 种子站获得史诗级加强
Google 官方建议#
Google 特别强调了 "defense-in-depth" (防御纵深) 概念,建议开发者:
- 不要单纯依赖 ROM 的系统完整性认证 API
- 结合多种防护手段:
尝试获取 root 权限× 错误示范,别学读取设备已安装应用包名×- 网络风控模型 ✔️
- 行为特征比对 ✔️
版权声明#
本文经授权同意转载至以下平台,您可以自由转载,但请务必保留本文链接。
| 平台 | ID | 链接 |
|---|---|---|
| Telegram (首发) | @affyes | 传送门 |
Copyright (c) Hat's Blog www.hats-land.com
Released Date @ 2024-11-18
GPG Signature: 'https://www.hats-land.com/gpg-public.txt' (F166C5F4F897B96A07390B8574E3D911A0E70FEC)-----BEGIN PGP MESSAGE-----
hF4DYvdQZ6S+TycSAQdAgPBEtWaqsJgfaqaRboIhzk+CiPHy2mujnQ84hLN28EUw
NQQCjSTnrucJ/N6iX4xgXT2gceGjZzCM/RXYLgt1fhGo+qfuZ+BblAY2vd4LLw0x
1MCBAQkCEIHGCHqNYFjLETLrcdmeE4H9wJ4mYq6InycpMlDgxYMgZB4divkpbk6J
JZ9S18hcsFkCFLSSY439YOqm3PsJ70YdNv0e1L6671xDwbdT9fuCEjG+zwU3hWAR
m+usmwMw0+wtBF331ZgAcA6rb8177jC9URZg4VTVoZcVoJofnUVG1+eyduQ/yVrP
83DuHFNv+driVK6OEjb1bGzzh0Ln+Q1xmBbW9rJ8KY9qhuw27Nd9VdNcYckJsPUG
3NMNcD0/YAekMaOysnL//oc6GcYDeDv5XDtkYcJ2ZuA+t9qmcwoJjJ+pyYZ38rG7
Wh1Xjrf/i/pUAQSEoeKrEFUI76Cg0Agc0BfjbVjyHd6qGgR8bw2E5f+lwfVZN7jZ
EzPgRLy3m2m2YvzN4TttjddlMh+4DS9TjK6m3PkaqfP1QeXi
=sFM0
-----END PGP MESSAGE-----
岛屿回声
评论组件正在抵达这座岛屿…