微软加速推进Rust在Windows驱动开发中的应用
自2023年起,微软逐步加大对Rust语言在Windows系统中的应用力度,近期开始鼓励驱动程序开发者采用Rust进行开发。
Rust在内存安全性方面相比传统语言(如C)更具优势,能有效防止内存相关漏洞的出现。同时,它还能与C/C 代码良好协作,便于逐步迁移现有项目。
今年7月,微软曾透露Surface团队在推动Rust用于驱动开发方面的一些尝试,并介绍了新开源项目windows-drivers-rs,该项目旨在为Windows驱动程序的Rust开发提供支持。
近日,微软进一步披露了相关进展,并推出了一款名为cargo-wdk的新Cargo扩展包,以提升Rust开发驱动的便利性。该扩展能够生成包含预设链接配置、构建流程和依赖项的空白驱动项目,并可调用Windows驱动开发工具包(WDK)中的工具,实现方式与在Visual Studio中使用C语言开发驱动类似。
微软表示,其长远目标是让Rust开发者在Cargo环境中获得与Visual Studio中相似的构建工具和配置选项。中期计划则包括实现WDK的自动安装、支持NT_TARGET_VERSION定义、全面适配ARM64架构等。
此外,微软还提到,Windows驱动程序框架(WDF)团队正与Rust专家协作,为内核模式和用户模式驱动程序设计更安全的抽象层。同时,其他团队也在开发适用于核心内核和第三方驱动开发的安全结构和接口,其中部分成果已集成进Windows内核。
未来几个月内,微软计划发布更多关于驱动开发最佳实践的指导内容,其中包括使用CodeQL进行静态代码分析的相关方法。