Google 使用 Rust 语言重写了其 Android 虚拟化框架中受保护虚拟机的固件,并希望开发者也这样做,假如你也在处理固件。
在上周四的一篇博客文章中,Google Android 工程师 Ivan Lozano 和 Dominik Maier 深入探讨了用 Rust 替换传统 C 和 C++ 代码的技术细节。
Lozano 与 Maier 这样说道:
“你将看到使用嵌入式 Rust 替代品来提高安全性是多么容易,我们甚至会演示 Rust工具链如何处理专门的裸机目标”。
对于一种以学习曲线陡峭而闻名的编程语言来说,“简单”并不是一个常见的词。
让 C 和 C++ 开发人员用 Rust 的眼光看待世界也并不是件容易的事。
就在上周,Rust for Linux 项目的一名维护者就辞职了,理由是遭到Linux 内核开发人员的抵制。这个项目的目标是将 Rust 代码纳入基于 C 的 Linux 内核中。
“问题是,你会不会强迫我们所有人学习 Rust”那一位 Linux 内核贡献者在今年早些时候的一次会议上的热烈讨论中说道。
虽然推广Rust有这样那样的难点,Google 还是在鼓励那些愿意这样做转换的开发者们。
Lozano 和 Maier 两人还指出,固件通常使用内存不安全的语言(如 C 或 C++)编写,但缺乏高级安全机制,而 Rust 提供了一种避免内存安全漏洞(如缓冲区溢出和释放后使用)的方法,这些漏洞是大型代码库中多数重大漏洞的根源。
两个人还这样说道:“Rust 提供了一种内存安全的 C 和 C++ 替代方案,具有可比的性能和代码大小。此外,它还支持与 C 的互操作性,且没有任何开销。”
如果您留意过我们之前的文章,美国联邦政府最近一直在强调这一主题,并在领先科技巨头与一种非营利计划的支持下,用 Rust 重写关键开源项目和相关组件。
特别是美国网络安全和基础设施安全局去年建议软件供应商“将减少并最终消除其产品线中的内存安全漏洞作为企业的最高目标”。
Google已经响应并接受了这个想法,并得出技术的相关结论,其 Rust 开发人员的生产力是C++ 工程师的两倍。
Google Android 编程语言工程总监兼 Rust 基金会董事会主席 Lars Bergstrom 表示:
“我们已经认识到 Rust 在构建各个层面的安全可靠软件方面发挥着关键作用。”
“在 Google,我们正在增加 Rust 在Android、Chromium等平台上的使用,以减少内存安全漏洞。我们致力于与 Rust 生态系统合作,推动其更大规模的采用,并为开发人员提供成功所需的资源和培训。将 Rust 引入嵌入式和固件的工作解决了技术堆栈的另一个关键部分。”
看来Rust要重写大部分的软件了?各位如何看,欢迎留言~
作者:万能的大雄
参考:
https://security.googleblog.com/2024/09/deploying-rust-in-existing-firmware.html
https://www.memorysafety.org/
https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products
本文为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。