微软正在通过引入 Rust 语言,来改进下一代 Windows 11 驱动程序的开发方式。Rust 以内存安全性和卓越的 C/C++ 互操作性著称,被视为驱动程序开发的理想选择。
与传统的 C 语言相比,Rust 能有效避免缓冲区溢出、空指针解引用等常见问题,从根本上减少内存相关的安全漏洞。自 2023 年中期起,微软便开始逐步将 Rust 引入 Windows 生态系统,以推动更安全的底层开发。
作为拥抱 Rust 战略的一部分,Surface 团队正在积极投身 Rust 在驱动层的应用实践。

windows-drivers-rs 项目
在今年 7 月,微软推出了开源项目 windows-drivers-rs,为开发者提供使用 Rust 编写 Windows 驱动程序所需的工具和资源。该项目的目标是简化 Rust 驱动的开发流程,降低门槛,并提供与现有 Windows 驱动开发工具链高度兼容的环境。
关键措施与工具
为进一步支持 Rust 驱动开发,微软在 windows-drivers-rs 项目中引入了 cargo-wdk crate。
- 该扩展能够生成预配置的空驱动程序项目,内置构建步骤与依赖项。
- 它还可调用 Windows Driver Kit (WDK) 工具(如 InfVerif),让开发者以类似 Visual Studio 构建 C 驱动的方式,快速完成 Rust 驱动的开发与调试。
这使得 Rust 开发者能够在 Cargo 环境 下,获得与 Visual Studio 用户相同的构建体验与配置选项。
技术层面的改进
在安全性方面,Rust 的所有权机制和类型系统能避免大多数内存安全问题,为驱动程序提供更加稳固的底层保障。
与此同时,微软的 Windows 驱动框架(WDF)团队 正与 Rust 专家合作,设计更安全的抽象层,用于 KMD(内核模式驱动程序) 与 UMD(用户模式驱动程序)。这些抽象确保了从用户模式到内核模式的切换过程中,系统依旧能保持稳定与安全。
微软计划在未来几个月内,进一步公布 驱动程序开发最佳实践,包括利用 CodeQL 静态分析来强化代码质量。
除此之外,微软还将扩展 WDF 之外的安全结构与 API,为 Windows 内核及第三方驱动开发提供更高等级的保护。
via Microsoft
Bug 会更多,Windows 不做测试就放出