谷歌宣布正在用Rust语言重写Android安全的关键组件

日期:2023-10-17 14:44:27 / 人气:146

10月10日,谷歌声称去年正在将Android的原生代码从C++迁移到Rust。目前,谷歌在其博客中发表了一篇文章,展示了使用Rust语言的新进展。
据悉,谷歌正在使用Rust语言重写在Linux内核之外执行的Android的关键安全组件,从而进一步减少安全漏洞。
▲图来源谷歌安全博客
谷歌声称,去年的调查显示,Android的安全漏洞数量从2019年的223个减少到2022年的85个。经过分析,谷歌认为内存漏洞的减少主要与Rust代码比例的增加有关。
IT之家注:Rust language考虑内存安全。在编译时,Rust可以捕获大部分内存安全问题,避免生产环境中的相关漏洞。
在Android 13中,大约21%的新原生代码是用Rust开发的。从官方来说,这些组件大部分都是用户级的系统服务(也就是运行在Linux中),但是目前很多组件还是用C++编写的,很多安全关键的组件都是运行在Linux内核之外的裸机环境中。目前,为了加强Android设备的安全性,谷歌正在逐步增加在裸机环境中使用Rust的比例。
谷歌声称,相关开发者在Rust中重写了Android虚拟化框架的受保护虚拟机(pVM)固件,从而为pVM信任的根提供了安全基础。
▲图来源谷歌安全博客
据悉,pVM的作用类似于Bootloader,基于开源项目U-Boot。不过U-Boot的设计也有一些不足。很多研究者发现U-Boot存在整数下溢、内存崩溃等安全漏洞,尤其是VirtIO驱动,在“边界检查”方面存在很多问题。
谷歌表示,他们已经修复了U-Boot中发现的问题,通过改用Rust,未来可以避免更多类似的内存安全漏洞。
▲图来源谷歌安全博客
因为Google想要支持在裸机环境下使用Rust语言,所以也贡献了一系列新的项目,比如pVM固件的VirtIO驱动。谷歌已经修复了现有虚拟驱动程序中的一系列错误,并增加了新功能。
谷歌还计划发布更多Rust软件包,并支持在各种平台上开发裸机程序。谷歌提到,虽然在裸机上使用Rust仍有许多限制,但它可以提供比C或C++语言更高的安全性和生产率,谷歌未来将继续扩大Rust的使用范围。
参考"

作者:奇亿娱乐




现在致电 5243865 OR 查看更多联系方式 →

COPYRIGHT 奇亿娱乐 版权所有