5

谷歌宣布正使用 Rust 语言重写 Android 关键组件,进一步增强内存安全性

 8 months ago
source link: https://www.51cto.com/article/769404.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

谷歌宣布正使用 Rust 语言重写 Android 关键组件,进一步增强内存安全性

作者:漾仔 2023-10-11 10:49:52
谷歌正在使用 Rust 语言,重写在 Linux 核心之外执行的 Android 关键安全组件,从而进一步减少安全漏洞。
8991c7c81641e2ba2de576dc42f7e79375c260.jpg

10 月 10 日消息,谷歌在去年声称正在将 Android 原生代码从 C++ 迁移到 Rust,目前谷歌在博客中发布文章,展示了当前使用 Rust 语言的新进展。

据悉,谷歌正在使用 Rust 语言,重写在 Linux 核心之外执行的 Android 关键安全组件,从而进一步减少安全漏洞。

▲ 图源 谷歌安全博客
▲ 图源 谷歌安全博客

谷歌声称,去年调查显示,Android 的安全漏洞,从 2019 年的 223 个降低到 2022 年的 85 个,经过分析,谷歌认为内存漏洞减少的情况,主要与 Rust 代码的比例增加有关。

IT之家注:Rust 语言考虑了内存安全性,在编译的时候,Rust 就能够捕捉到大多数的内存安全问题,避免相关漏洞在生产环境中出现。

在 Android 13 中,就已经有约 21%的新原生代码以 Rust 开发,官方提到,这些组件大多数是在用户层面的系统服务(即 Linux 中运行),但目前还有许多组件依然使用 C++ 进行编写,而其中许多安全关键组件,都在 Linux 核心之外的裸机环境中运行,当下谷歌为了强化 Android 设备的安全性,正逐渐提高在裸机环境使用 Rust 的比例。

谷歌声称,相关开发人员在 Rust 中重写了 Android 虚拟化框架的受保护虚拟机 (pVM) 固件,从而为 pVM 信任根提供了安全基础。

▲ 图源 谷歌安全博客
▲ 图源 谷歌安全博客

据悉,pVM 的作用与 Bootloader 类似,其建立在开源项目 U-Boot 之上,不过 U-Boot 在设计时有所缺憾,有许多研究人员已经发现 U-Boot 存在整数下溢(Integer Underflow)和内存损坏等安全漏洞,特别是 VirtIO 驱动程序,在“边界检查”方面,其存在许多问题。

谷歌表示,他们已经修复了在 U-Boot 中发现的问题,而通过转用 Rust,还可以在未来避免出现更多类似的内存安全漏洞。

▲ 图源 谷歌安全博客
▲ 图源 谷歌安全博客

由于谷歌要支持 Rust 语言在裸机环境中使用,也因此贡献一系列新的项目,像是在 pVM 固件的 VirtIO 驱动程序方面,谷歌便修复了现有 virtio-drivers 中的一系列错误问题,还添加了新功能。

谷歌还计划发布更多的 Rust 软件包,并支持各平台的裸机程序开发,谷歌提到,虽然在裸机上应用 Rust 还有许多限制,但是相对于 C 或 C++ 语言,Rust 可以提供更高的安全性和生产力,谷歌未来还会继续扩大 Rust 的使用。

责任编辑:庞桂玉 来源: IT之家

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK