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

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

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之家
相关推荐

2011-07-27 12:58:43

Android MarAndroid应用商店

2011-08-15 23:49:22

2017-09-18 15:04:11

VMwareNSX容器

2010-05-07 14:22:43

SpringSourcGemStoneSpring

2021-04-05 18:06:36

谷歌安卓Google Play

2023-09-01 18:20:43

Chrome代码测试版

2019-03-22 10:20:39

加速Windows 10启动

2011-07-29 15:02:22

LifeSize视频协作

2020-12-10 20:00:04

数字货币比特币区块链

2010-11-08 14:24:36

新浪微博投票

2011-04-01 15:10:33

Java云计算

2009-11-30 18:35:05

BizSparkDreamSparkWebSiteSpar

2014-01-08 10:22:28

思科Videoscape

2015-10-19 14:57:51

2021-11-19 23:19:22

网络安全零信任微分段

2009-12-28 10:08:07

OracleSQLDevelope开发框架

2010-03-15 09:40:19

Windows 8研发

2009-08-26 14:48:05

C#委托与事件

2024-05-10 15:09:34

点赞
收藏

51CTO技术栈公众号