泄露的文件显示,谷歌曾计划为GrapheneOS添加一项关键的Pixel 11安全功能,但随后将其取消

GrapheneOS——这一多年来仅预装在谷歌Pixel手机上的、经过隐私强化处理的Android分支系统——表示无法正确支持全新的Pixel 11系列。 经过一周的强行移植尝试,开发团队发现Pixel 11的Tensor G6芯片缺少对“内存标记扩展”(Memory Tagging Extension,简称MTE)的硬件支持——这是自2023年Pixel 8以来每款Pixel芯片都具备的一项安全功能。
MTE 的基本原理如下:手机内存是一个由无数小存储单元组成的巨大网格。许多漏洞利用的原理是诱骗应用程序从错误的存储单元中读取或向其写入数据——这些单元本不该被触及。 MTE 通过在每个 16 字节的内存块以及每个获准访问该内存块的指针上贴上一张“隐形便签”来阻止这种情况。当程序尝试读写时,如果“便签”不匹配,芯片会立即“踩下刹车”,终止该进程,而不是悄无声息地让漏洞利用得逞。 GrapheneOS 在整个操作系统中都采用了 MTE 技术,并声称这能彻底扼杀整类远程黑客攻击,使其甚至无法启动。 该团队表示,谷歌似乎为了节省成本而从Pixel 11中移除了MTE;谷歌尚未对此置评。GrapheneOS目前建议用户,若想运行该系统,应跳过Pixel 11,转而购买Pixel 8、9或10。
移除MTE实际上能为谷歌节省什么
德克萨斯大学奥斯汀分校、加州大学伯克利分校、谷歌和Ampere Computing的研究人员发表的一篇研究论文(arXiv:2601.11786)让我们了解了在实际硬件中实现MTE所需的成本,同时也揭示了企业通过跳过该技术所能节省的开支。
这些“便签”本身非常小:每16字节内存仅占用4位,开销约为3.125%。ARM的规范并未规定芯片制造商必须将这些“便签”存储在何处,仅要求它们必须存在于某个位置。这就是各家公司实现方式各不相同的原因。 ARM 自身的参考设计会预留一块专用的 RAM 区域,并在缓存未命中时执行两次独立的内存读取操作——一次用于数据,一次用于其“便签”。而生产服务器芯片的 Ampere 则将“便签”附着在通常用于纠错的位上,并通过一次操作同时获取数据和“便签”。 这两种方法没有孰优孰劣之分;ARM 正是有意设计了这种灵活性。
更大的成本并非芯片上额外需要的 3.125% 内存,而是芯片在每次内存访问时必须执行的额外工作。每当你的手机访问内存时,都必须检查那个小标签,这需要专门的比较电路。 为了随机分配标签以防止攻击者预测,芯片内需集成一个随机数生成器;而若不偷工减料,要构建一个具有足够熵且运行迅速的随机数生成器实属不易。此外,用于写入标签的几条特殊指令需要在芯片内拥有独立的处理通道,而非复用常规路径。
» Notebookcheck多媒体笔记本电脑Top 10排名
» Notebookcheck游戏笔记本电脑Top 10排名
» Notebookcheck低价办公/商务笔记本电脑Top 10排名
» Notebookcheck高端办公/商务笔记本电脑Top 10排名
» Notebookcheck工作站笔记本电脑Top 10排名
» Notebookcheck亚笔记本电脑Top 10排名
» Notebookcheck超级本产品Top 10排名
» Notebookcheck变形本产品Top 10排名
» Notebookcheck平板电脑Top 10排名
» Notebookcheck智能手机Top 10排名
» Notebookcheck评测过最出色的笔记本电脑屏幕
» Notebookcheck售价500欧元以下笔记本电脑Top 10排名
» Notebookcheck售价300欧元以下笔记本电脑Top 10排名
不妨将一个乱序执行的CPU核心想象成一个厨房:几位厨师同时提前处理订单的不同部分,不一定按照订单的先后顺序进行,只要没有任何步骤依赖于尚未准备好的部分即可。 这通常就是现代乱序执行内核保持高速运行的方式:它不会原地等待;在较慢的步骤赶上之前,它会处理任何可处理的内容。
MTE的严格SYNC模式给这个“厨房”的某个环节——写入内存——带来了麻烦。 通常情况下,核心可以将数据写入内存,并在写入操作在后台完成的同时继续处理接下来的几条指令。但在 MTE SYNC 模式下,每次写入操作都必须先检查其小标签并确认其有效性,在检查通过之前,核心不被允许进行下一次写入。 这并非意味着整个厨房完全停滞:烹饪(读取、运算、分支等)仍能照常以乱序方式进行。具体来说,只有“将做好的菜肴端上桌”这一步,现在必须一次一个、按顺序进行,并且每次都要等待标签检查。 在紧凑循环中反复向内存写入数据的代码会持续感受到这种影响,这正是某些基准测试速度下降高达 6.64 倍的原因。而主要进行读取、计算或分支操作的代码几乎不会察觉,因为变慢的流水线部分并非其依赖的部分。
即使在 MTE 的轻量级模式下,常规的“Big”核心仍出现了高达 1.82 倍的性能下降,而这正是谷歌目前自家的“高级保护”功能所采用的模式。 与此同时,安培(Ampere)的服务器芯片和苹果的新款 M5 几乎察觉不到 MTE 的启用,平均开销仅为 2–3%,最坏情况下的性能下降也不超过 10%。 这一差距证明,这些性能下降并非某种不可避免的物理定律;它们反映了特定芯片的工程师在实现该功能时表现得有多好(或多差)。而了解 Tensor 的情况后,我们对其并不抱太大期望。
有人检查了引导程序,没错,它确实不见了
现在已有证据证明这一点,而不仅仅依赖于GrapheneOS自身的说法。一位网名为Romashka的开发者(他同时运营着Telegram频道“Mystic Leaks”),通过反汇编器(一种能将编译后的代码还原为半可读形式的工具)深入分析了Pixel 10(内部代号“deepspace”)和Pixel 11 (内部代号“spacecraft”)的引导加载程序,并利用反汇编器——一种能将编译后的代码还原为半可读形式的工具——进行了深入分析。 在 Pixel 10 的引导加载程序中,MTE 随处可见:诸如“gs_mte_enable”之类的函数名、“MTE cmdline override ON”之类的调试信息,甚至还有“fastboot_oem_cmd_mte”之类的隐藏命令。

在 Pixel 11 的引导加载程序中搜索相同的内容,则一无所获。连一丝痕迹都没有。 这确实是一个颇具意义的差异:如果谷歌只是简单地关闭了MTE开关,你仍然会期望在代码中找到这些函数名称和消息,只是它们未被使用。而它们的完全缺失表明,相关代码已被彻底移除,而不仅仅是被关闭。这恰恰印证了GrapheneOS在放弃移植后所说的话。
泄露的内部文件显示,MTE原本计划用于Tensor G6,但后来被取消
几年前,谷歌芯片团队(内部代号为 gChips)的多份泄露内部文件显示,MTE 功能在早期就被纳入规划范围,随后却被有意移除。
一份关于“Malibu”(G6的内部代号)的非常早期的路线图幻灯片中,将MTE列为该芯片基础规格的一部分,表述为“Hela(谷歌自研核心互连架构)+ SLC中的MTE”。 这指向了另一份名为“谷歌系统级缓存(GSLC)架构规范”的泄露幻灯片,其修订历史可追溯至2022年5月。在“P0功能”列表(即最高优先级)下,该文档将“MTE支持”列为第二项,但该项已被红色划线标记。 虽然我们不知道这条被划掉的条目何时被添加,但可以确定的是,谷歌曾为G6规划过一种不同的MTE实现方案,并在因未知原因取消该方案之前一直在完善该方案。
摩托罗拉的解决方案有一个名字:悟空
此外,GrapheneOS 正与摩托罗拉敲定一笔交易,旨在首次将该操作系统引入非 Pixel 手机;而高通已开始在其最新芯片(包括骁龙 8 Elite Gen 5)中添加 MTE 支持。
NotebookCheck获悉,摩托罗拉正在开发一款内部代号为“悟空”的旗舰手机,该机型将基于高通下一代旗舰芯片骁龙8 Elite Extreme Gen 6(SM8975)打造,该芯片将于9月22日的骁龙峰会上正式亮相。 截至目前,这是唯一一款计划搭载该芯片的摩托罗拉设备。 如果“悟空”最终成为摩托罗拉首款搭载 GrapheneOS 的机型,它将成为首款同时具备完整 MTE 支持、高通旗舰芯片以及 GrapheneOS 支持的手机——这是目前无论花多少钱,Pixel 11 都无法提供的配置。
需要说明的是:由于尚处于开发初期,相关规格甚至“Wukong”这个代号均来自内部资料,在官方正式公布前仍可能发生变动。摩托罗拉尚未确认该手机的存在。
最后但同样重要的是:对于大多数人来说,MTE真的那么重要吗?
对于普通购买Pixel 11的消费者而言,我认为失去MTE并非如这篇报道所描述的那般灾难性。
MTE是基于概率的,并非绝对保证。 特定越界访问完全绕过标签检查的概率为1/16,且同一论文中引用的研究 (TikTag)利用投机执行在真实的Pixel硬件上突破了标记保密性,这意味着即使它提供的保护,在实际应用中也不如“15/16”所暗示的那样可靠。而且,关键在于,普通手机用户实际上几乎无需担心的漏洞,从根本上说都不是内存安全漏洞。 网络钓鱼、恶意应用权限、SIM卡交换、跟踪软件以及账户劫持,这些都与MTE所防范的威胁毫无关联。就连GrapheneOS本身也承认,针对第三方应用的防护是需要用户主动启用的,且鲜少被使用;Signal甚至根本未启用该功能。
MTE真正发挥价值之处,在于GrapheneOS自身所针对的威胁模型:那些成本高昂、依赖可靠性的零点击攻击链——这类攻击链售价高达数百万美元,几乎专用于针对记者、异见人士和政府目标,而非普通消费者。这确实是一个真实且重要的用例,只是其适用范围较为狭窄。 如果你是受到国家行为体监视的高风险目标,那么手机崩溃而非被悄无声息地控制,确实意义重大。但如果你面临的实际风险只是在酒吧里弄丢手机,或者点击了短信中的恶意链接,那么这项功能的相关性就低得多。 对于大多数人来说,践行良好的操作安全(OPSEC)、使用唯一密码、避免扫描随机二维码,以及不要将个人信息散布到每个索要信息的网站上,所提供的现实保护作用,远比任何硅级内存安全功能都要大。
但这并不意味着 Pixel 11 的芯片退化就无关紧要。 GrapheneOS 的用户群体正是最受此事影响的人群,而失去整整一代 Pixel 设备的支持,对该项目来说确实是一次沉重打击。 但必须坦率承认,MTE更像是一项针对企业或高风险用户的、高价值的缓解措施,只是碰巧被纳入了消费级芯片中,而非普通Pixel 11用户会察觉其缺失的功能。 而谷歌走到这一步的过程颇具讽刺意味:正是这家公司最初将 MTE 推向了主流——在 Android 阵营中几乎领先于所有其他厂商,率先在 Tensor 芯片中集成该技术,资助相关研究,并围绕它构建了一整套安全模式。 如今,其内部文件却显示,谷歌在下一代芯片中集成了MTE,并对此进行了详细记录,却在发布前悄然将其移除。在这件事上,没有哪家公司能比谷歌更胜一筹——它完全是靠自己的技术,将这项功能从芯片中剔除掉了。
来源
GrapheneOS 通过 X 发布,Romashka(Mystic Leaks)通过 Telegram 发布,ARM (1),(2),arXiv:2601.11786v1,IEEE: TikTag:利用投机执行破解 ARM 的内存标记扩展(付费墙),Google 安全博客,NotebookCheck 研究










