[Rust] Android 支持 Rust 编程语言,以避免内存缺陷
💥 内容涉及著作权,均归属作者本人。若非作者注明,默认欢迎转载:请注明出处,及相关链接。
Summary: C/C++ 语言中的内存安全漏洞,构成了 Android 平台上高达 70% 的高严重性安全漏洞。google 的想法是切换到 Rust 这样的内存安全语言,以做到首先防止 bug 发生。 谷歌指出:“Rust 使用编译时检查,来强制执行对象的生命周期/所有权。以及通过运行时检查,来确保内存访问有效,从而提供了内存安全保证。”
本文主要摘选自 thehackernews 发表于 thehackernews 网站在 2021 年 4 月 7 日的文章 Android to Support Rust Programming Language to Prevent Memory Flaws。
谷歌周二(2021-04-06)宣布,其开源版本的 Android 操作系统,将增加对 Rust 编程语言的支持,以防止内存安全漏洞。
为此,在过去的 18 个月里,该公司一直在用 Rust 构建 Android 开源项目(AOSP)的一部分。并且计划扩大这一项目的规模,以覆盖操作系统的更多方面。
“像 Java 和 Kotlin 这样的受监管的/托管类语言,是 Android App 开发的最佳选择,”谷歌说 Android 操作系统广泛使用 Java,有效地保护了大部分 Android 平台不受内存缺陷的影响。不幸的是,对于操作系统的底层,Java 和 Kotlin 不是一个选项。”
Android 平台中,C/C++ 语言编写的代码,在分析不可靠的输入时需要强大的隔离。谷歌表示,在严格约束和特殊的沙箱技术中,包含此类代码的技术很昂贵,导致延迟问题和额外的内存开销。
C/C++ 语言中的内存安全漏洞,构成了 Android 平台上高达 70% 的高严重性安全漏洞。google 的想法是切换到 Rust 这样的内存安全语言,以做到首先防止 bug 发生。
谷歌指出:“Rust 使用编译时检查,来强制执行对象的生命周期/所有权。以及通过运行时检查,来确保内存访问有效,从而提供了内存安全保证。”
尽管有明显的优势,但谷歌并不打算重写底层 OS,或者替换所有现有的 C/C++ 代码。而是将其安全的语言 Rust,努力集中在新的或最近修改的代码中,这些代码具有更高的内存错误可能性。
谷歌正在对 Rust 进行一些努力,包括彻底重写 Android 的蓝牙协议栈 Gabeldorsche,该协议从去年在 Android 11 上开始测试。此外,google 公司还为其开源 Fuchsia 操作系统,开发了一个基于 Rust 的网络堆栈。
谢谢您的阅读!
原文链接:Android to Support Rust Programming Language to Prevent Memory Flaws