自2023年以来,微软积极将Rust语言整合进Windows系统,并鼓励驱动程序开发者采用Rust进行开发。Rust以其内存安全性优势,有效规避传统C语言中常见的内存相关漏洞。微软通过开源项目windows-drivers-rs和新的cargo-wdk扩展包,简化了Rust驱动程序的开发流程,使其能够便捷地生成项目、配置链接和构建步骤。长远来看,微软旨在为Rust开发者提供与Visual Studio相当的构建工具和配置选项,并计划在中期实现WDK的自动安装、NT_TARGET_VERSION支持及ARM64的全面兼容。此外,微软正与Rust专家合作,为内核模式和用户模式驱动程序设计更安全的抽象,部分安全结构和API已在Windows内核中发布。
🛡️ **提升系统安全性**:Rust语言的内存安全性特性,如所有权和借用系统,能够有效防止缓冲区溢出、空指针解引用等常见的内存安全漏洞,从而显著增强Windows操作系统的整体安全性。
🚀 **简化开发流程**:微软推出的`windows-drivers-rs`开源项目以及`cargo-wdk`扩展包,极大地简化了使用Rust进行Windows驱动程序开发的流程。`cargo-wdk`能够自动生成预配置的项目模板,处理链接、构建步骤和依赖项,并调用WDK工具,使得Rust驱动开发体验更加接近于在Visual Studio中使用C语言的传统方式。
🛠️ **未来发展规划**:微软的长期目标是为Rust开发者在Cargo环境中提供与Visual Studio同等的构建工具和配置选项。中期计划则包括实现WDK的自动安装、对`NT_TARGET_VERSION`的全面支持,以及对ARM64架构的完整支持,以进一步拓展Rust在Windows驱动开发领域的应用。
🔒 **安全抽象设计**:Windows驱动程序框架(WDF)团队正与Rust专家紧密合作,为内核模式驱动程序(KMD)和用户模式驱动程序(UMD)设计更高级别的安全抽象。同时,其他微软团队也在开发超越WDF的、适用于核心内核和第三方驱动程序开发的安全结构和API,其中一些已经集成到Windows内核中。
快科技9月3日消息,自2023年以来,微软一直在将Rust更多地集成到Windows系统中,最近微软开始推动驱动程序开发者使用这种语言进行开发。
Rust提供了与传统编程语言(如C)不同的内存安全性,可以防止与内存相关的安全漏洞;此外,它还提供了出色的C/C++驱动代码互操作性,使得过渡变得更加容易。
今年7月,微软分享了一些关于Surface团队如何在这一领域提供帮助的初步细节,他们创建了新的开源项目windows-drivers-rs,这是一个帮助使用Rust进行Windows驱动开发的平台。
今天,微软发布了更多关于其进展的细节,为了使Rust驱动程序的开发变得更加容易,微软引入了一个新的cargo-wdk扩展包。
这个Cargo扩展可以生成带有预配置链接、构建步骤和依赖项的空驱动程序项目,并且能够调用WDK工具,就与在Visual Studio中用C语言构建驱动程序的情况类似。
微软表示,其长期目标是在Cargo环境中为Rust开发者提供与Visual Studio中相同的构建工具和配置选项,中期计划包括自动安装WDK、支持NT_TARGET_VERSION、全面支持ARM64等。
微软还强调了Windows驱动程序框架(WDF)团队正在与Rust专家合作,为内核模式驱动程序(KMD)和用户模式驱动程序(UMD)设计更安全的抽象。
其他微软团队正在开发超出WDF范围的安全结构和API,用于核心内核和第三方驱动程序开发,其中一些已经在Windows内核中发布。
最后微软表示,在未来几个月内,它将分享更多关于驱动程序开发最佳实践的信息,其中包括使用CodeQL进行静态分析。
