打开网易新闻 查看精彩图片

手机基带是个什么东西?你可以把它理解成手机的"翻译官"——你刷视频、打电话、收短信,全靠它跟基站暗送秋波。问题是,这位翻译官已经在C/C++的泥潭里泡了三十多年,漏洞比 Swiss cheese 还透气。

谷歌Project Zero团队前几年在三星Exynos基带里刨出24个漏洞,18个"严重"级别。补丁打了,但代码体量摆在那儿,就像给漏水的船打补丁——补得过来吗?

换语言?说得轻巧。基带要实时处理信号,Python、C#这类带垃圾回收的语言,运行时突然卡一下扫内存,通话直接断给你看。C/C++快是快,但手动管理内存就像让程序员徒手拆炸弹,手一抖就是缓冲区溢出。

Rust这时候站出来了。没有垃圾回收器,靠编译时的"借用检查器"强行卡死内存规则——违规代码直接编译失败,连跑的机会都没有。谷歌选了个刁钻的切入点:DNS解析器。这东西要处理外部不可信数据,历来是内存攻击的重灾区。

团队把开源Rust库hickory-proto扒光标准库依赖,编译成机器码塞进原有架构。新增体积371KB,在基带内存里连个水花都溅不起来。恶意DNS数据包撞上来,会被Rust的安全屏障直接弹飞。

Pixel 10成了第一款搭载这玩意的机型。谷歌的野心很明显:先拿DNS试水,再慢慢往基带里塞更多Rust组件。毕竟重写数兆字节的祖传代码不现实,但关键模块逐个替换,倒是个务实的路子。

一位参与项目的工程师在内部复盘时提到,移植过程中最头疼的不是Rust本身,而是说服现有工具链接受这个"外来户"。