ROM 完整性认证密钥 (Attestation Keys) 大规模泄露,影响 465 对密钥,几乎所有需要验证设备 ROM 完整性的应用都受到牵连。 — 来源 Google Issue Tracker: https://apvi.issues.chromium.org/~
首先,你需要先理解什么是 非对称加密 (Wikipedia 讲的比较深奥,建议自行 Google,就不打广告了.jpg)
了解非对称加密后,你就明白:1. 公钥和私钥是成对出现的,即便有了公钥无法得知私钥。2. 现有科技几乎无法破解算法,从公钥推算出私钥。
搞明白以上知识点后我们再细说:
市面上所有 OEM Android 定制 OS (无论是 OPPO Vivo 小米还是三星),都强制在系统的加密芯片 (如 TEE) 中内置一个 Google 官方的预设私钥,以通过 Google ROM 安全认证。
你可能听说过 ”刷机后 TEE 熔断“、”BL 解锁后 TEE 物理熔断“ 的故事,其中一个目的就是防止藏在物理安全芯片 — TEE 的密钥被提取出来,而此次大规模的密钥泄露极大可能就是由内鬼泄露出来的。
如果你掌握了这个密钥,那么就可以绕过 TEE 等安全措施,随意签发出 ”系统完整“ 的良民证,通过 SafetyNET 等设备完整性检查机制,甚至能绕过一些银行的 Google Attestation Keys 认证机制(当然国内的银行肯定是没有的啦)。
继续谈一下之前说的 SafetyNet, 大概分为三个等级:
BASIC_INTEGRITY, @ 本地简单检测
STRONG, @ 加强版 BI
PLAY_RECOGNIZED @ 联网加强版 STRONG
由于 BASIC 检测的项目比较少,目前已经可以刷入模块轻松绕过,而想要通过 STRONG 验证就比较麻烦了,而这次密钥泄露能轻松绕过的就是 STRONG 级别。
但影响最大的确是 pi (PLAY_RECOGNIZED):由于 Google 吊销了大部分的密钥对,而 pi 是联网实时查询的,意味着受到影响的 ROM 将无法通过 pi 认证。
再谈设备完整性检查机制:金融银行、DRM 流媒体、游戏反作弊类 APP 依赖这个机制检测设备 ROM 是否被篡改,如果检测到系统不完整则代表设备可能已经被 ROOT 或者 bootloader 已被解锁,将会触发 APP 的危险熔断机制。
截止本条消息发送前 (2024/11/18),Google 暂未对消息提出更多置评,只是发布了 P1 级公告预警 APP 开发者,笔者推测很可能包含大部分 Android ROM,吊销证书清单。
至少波及的 APP 范围:
- 手机银行
- 移动支付
- 带有反作弊的网游
- 付费流媒体 DRM
会导致很长一段时间 (需要等待所有 OEM 厂商跟上补丁) APP 都无法正常检测用户真实的 Root 以及 BL 锁状态,可能出现误判或被绕过检测,而黑产的滥用将更加猖獗。
如果黑产掌握了这部分密钥,将能无视包括 SafetyNet (本地检测部分) 、目前所存的系统完整性检测手段、Root 部分检测、伪造 BL 锁状态检测。
意味着任何一方开发的 ROM 都能 ”受到 Google 认证“,甚至能通过硬件级别的 Verified Boot (不确定,需要读者反馈)
For application developers: Ensure that your counterabuse mechanisms are varied and have some level of defense-in-depth, so that service is not fully denied or compromised due to an issue like this. — source
特地提到了一个词 ”defense-in-depth“ (防御纵深),提醒开发者不要单纯依赖 ROM 的系统完整性认证 API,而是应该结合
Tags: #Android #网络安全 #信任链危机 #安全事故 #信息泄露
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🆒1