系好安全带,为 Linux 内核中的更多 Rust 驱动程序做好准备
快速阅读: 据《The Register》最新报道,Rust在Linux内核中的应用逐渐获得认可,多家公司正积极投入Rust开发。尽管存在语言整合的挑战和争议,Linux创始人Linus Torvalds仍支持Rust,预计部分Rust驱动程序将在未来12至18个月内合并入主线内核。Rust因其内存安全性而受到推崇,有助于提升Linux系统的整体安全水平。
Rust在Linux内核中依然生机勃勃,并有望很快带来明显的好处,尽管它与主要基于C的代码库的整合看起来仍有些困难。在最近关于维护者的争议之后,有人质疑Linux维护者是否愿意接纳Rust代码。负责互联网安全研究小组Prossimo内存安全项目的Josh Aas在上周晚些时候称赞了Miguel Ojeda在不涉及编程语言分歧的情况下推动内核内存安全的工作。“Aas表示,虽然我们的目标从来不是用Rust重写整个内核,”他说,“但我们很高兴看到Rust在各个子系统中的优势逐渐被认可。”他又补充道,“现在,多家公司都设有专职工程师致力于Linux内核中的Rust开发。”
自从去年九月微软软件工程师Wedson Almeida Filho因‘非技术问题’离开Rust for Linux项目以来,很明显对Rust的接纳是有界限的。Rust和C内核贡献者之间的紧张关系在今年一月再度升温,原因是担心混合语言代码库带来的挑战——一位维护者将其比喻为癌症。在被敦促干预后,Linux之父Linus Torvalds介入了此事,对双方表达了不满,导致他们离开了Linux维护者的职位。
在此期间,负责Rust for Linux项目的Ojeda发布了‘Rust内核政策’,以明确那些向Linux内核贡献Rust代码的人应继续前行,并强调Linux领导者仍然支持这一倡议。据Aas称,Rust代码的应用范围正在扩大,包括PHY驱动程序、空块驱动程序、DRM恐慌屏幕二维码生成器、Android绑定驱动程序、Apple AGX GPU驱动程序、NVMe驱动程序和Nova GPU驱动程序。“Aas指出,我们预计其中一项将在接下来的十二至十八个月内合并到主线内核中,”他提到了Linux副手Greg Kroah-Hartman去年十一月的评论,认为Rust驱动程序绑定的可用性是一个转折点,这将使得大多数驱动程序子系统开始采用Rust驱动程序。
C++的创造者呼吁帮助保护编程语言免受‘严重攻击’。开源倡议组织在时区混乱后为禁止董事会候选人辩护。开源许可进展如何?进展得顺利吗?
Linux权威人士支持采用Rust作为内核代码,称其崛起不可避免。一旦发生这种情况,Aas表示:“该努力的目标将开始实现。”他继续说道,“运行Rust驱动程序的Linux产品和服务将更加安全,这意味着使用它们的人也将更加安全。”
安全性——即内存安全——是Rust的卖点。Rust提供了解决内存安全漏洞的方法,这些漏洞在允许手动内存管理的编程语言如C和C++中较为常见。尽管其他语言如Python、Java、JavaScript、Swift和C#也常被认为是内存安全的,但Rust因其适用于低级、性能敏感的代码而备受内存安全倡导者的青睐。正如我们最近报道的那样,Rust的公众崇拜及公共部门对此消息的重复传播在C和C++社区引起了警觉。资深的C和C++开发者们还未准备放弃,即使这在理论上是可能的。然而,由几年前启动的Prossimo项目推广的未来,旨在‘将互联网的安全敏感软件基础设施转移到内存安全代码’并‘改变人们对内存安全的看法’,对C和C++开发者而言,边缘化和机会减少的趋势似乎在加剧。
本周早些时候,Aas明确表示,重视内存安全的人士希望看到C和C++被淘汰,尽管普遍认为C和C++在未来几年内将继续存在并需要维护。“Aas在一篇文中写道:‘许多关键软件漏洞源于C和C++代码中的内存安全问题,尽管有方法可以降低风险,比如模糊测试和静态分析,但内存安全漏洞仍然是互联网面临的一大问题。’”
“好消息是,除了极少数必须用汇编语言编写以确保性能和/或安全性的代码外,我们已经知道如何彻底消除内存安全漏洞:通过使用不允许此类错误的语言来编写代码。”他又补充道,“这是一个基本已解决的研究问题,因此我们无需再忍受这样的问题。我们可以像根除天花一样解决这个问题,只需付诸行动。”
在癌症和天花的比喻之间,看起来Linux和Rust社区还有一些问题需要解决。
(以上内容均由Ai生成)