谷歌用 Rust 改造 Pixel 10 手机基带:组件增加 371KB,可阻断内存攻击

IT之家 4 月 14 日消息,科技媒体 Ars Technica 昨日(4 月 13 日)发布博文,报道称谷歌重新审视基带安全策略,Pixel 10 手机的基带中植入一个 Rust 语言编写的安全组件。

IT之家援引博文介绍,蜂窝基带系统本质上是一个独立的操作系统,运行着积累数十年的 C 和 C++ 代码,不像安卓系统一样具备妥善的安全防护,日益成为黑客攻击的目标。

Baseband(基带)是负责处理手机所有无线通信功能的专用处理器和固件系统。基带独立于主操作系统运行,管理蜂窝网络连接、通话、短信和数据传输。由于需要处理复杂的 2G/3G/4G/5G 协议栈,基带固件通常包含数百万行代码。

蜂窝基带核心问题在于内存管理,手动管理内存容易引发缓冲区溢出、内存泄漏等漏洞,攻击者可利用这些缺陷远程控制设备。

谷歌 Project Zero 团队近年来在 Exynos 基带中发现超过 24 个漏洞,其中 18 个被评为“严重”级别。虽然漏洞已被修补,但代码复杂性决定了依然存在很多隐患。

那么为何不彻底抛弃 C/C++ 呢?嵌入式系统的惯性是主因。厂商基于 3GPP 规范开发基带已数十年,技术债务沉重。

更重要的是,基带需要实时收发数据,C/C++ 的执行速度优势明显。Python、C# 等内存安全语言依赖垃圾回收机制,运行时会扫描并释放内存,这种延迟对实时基带而言完全不可接受。

Rust 提供了第三条路径。它没有垃圾回收器,而是通过“借用检查器”(Borrow Checker)在编译阶段强制执行内存安全规则。

一旦代码违反内存规则,编译直接失败,从源头杜绝“忘记释放内存”等人为错误。这种零开销抽象特性,让 Rust 既能保证安全,又不牺牲实时性能。

由于众多厂商将基带内部逻辑视为商业机密,因此谷歌也无法重写数十年积累的数兆字节机器码,因此选择 DNS 解析器作为精准切入点。

随着蜂窝功能向数据网络迁移,DNS 成为手机核心组件,需要解析不可信的外部数据,这正是内存攻击的高发区。

谷歌选用开源 Rust 库 hickory-proto,将其移植到现有 C/C++ 基带代码中。团队移除了标准库依赖,将其编译为机器码并嵌入原有架构。

整个 Rust 组件仅增加 371KB 体积,在 Pixel 基带充裕的内存空间中完全可控。在此机制下,攻击者试图通过恶意 DNS 数据包触发内存漏洞后,会直接撞上 Rust 的安全屏障。

Pixel 10 手机成为首款搭载该安全基带的机型,谷歌希望此举能推动行业采用类似方案,并为未来在基带中集成更多内存安全组件铺平道路。

谷歌用 Rust 改造 Pixel 10 手机基带:组件增加 371KB,可阻断内存攻击

Pixel 10 手机

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章来源于互联网:IT之家-谷歌用 Rust 改造 Pixel 10 手机基带:组件增加 371KB,可阻断内存攻击

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注