微软详细介绍下一代 Windows 11 驱动程序的增强功能

微软详细介绍下一代 Windows 11 驱动程序的增强功能

微软将 Rust 集成到 Windows 驱动程序开发中

自 2023 年中期以来,微软一直致力于将 Rust 融入 Windows 操作系统。这项计划始于 Rust 成功融入 Windows 内核,如今已发展到鼓励驱动程序开发人员采用这种创新的编程语言。

开源windows-drivers-rs项目启动

今年 7 月,微软推出了这个开源windows-drivers-rs项目,这是 Surface 团队的一项努力,旨在简化使用 Rust 进行 Windows 驱动程序开发。该框架旨在提高使用 Rust 开发驱动程序的效率,为 C 等传统语言提供更现代的替代方案。

cargo-wdk板条箱介绍

最近,微软宣布了对该计划的增强,特别是推出了cargo-wdkcrate。这个新的 Cargo 扩展通过生成带有预配置构建步骤、依赖项和链接的空驱动程序项目来简化驱动程序的创建过程。它还可以利用 Windows 驱动程序工具包 (WDK) 工具(例如 InfV​​erif),从而模拟在 Visual Studio 中使用 C 语言构建驱动程序的体验。

使用 Rust 的优势

Rust 凭借其卓越的内存安全特性,在 C 等传统编程语言中脱颖而出。这一特性显著降低了内存相关安全漏洞的风险。此外,Rust 与 C 和 C++ 驱动程序代码拥有卓越的兼容性,使开发人员的迁移更加便捷。

未来目标和发展

微软的长期愿景是为 Cargo 生态系统中的 Rust 开发者提供与 Visual Studio 中提供的构建工具和配置选项相匹配的构建工具和配置选项。中期目标是实现 Windows Driver Kit 的自动安装、对 NT_TARGET_VERSION 的支持以及完全的 ARM64 兼容性等增强功能。

Rust 在驱动程序开发中的现状

目前,该windows-drivers-rs框架支持 Rust 中的特定驱动程序类型;然而,它仍然需要大量的不安全代码。微软正在积极与 Rust 专家合作,为内核模式驱动程序 (KMD) 和用户模式驱动程序 (UMD) 创建更安全的抽象。此外,还有多个团队正在开发针对核心内核功能和第三方驱动程序开发的安全结构和 API,其中一些创新已经集成到 Windows 内核中。

理解驱动程序开发中的抽象

对于那些可能不熟悉该术语的人来说,此处的抽象是指用户模式和内核模式之间的安全转换过程。内核模式在最高特权级别运行,而用户模式在较低特权级别运行,这凸显了安全高效转换的重要性。

后续步骤和最佳实践

展望未来,微软计划提供有关驱动程序开发的更多见解和最佳实践,包括使用 CodeQL 进行静态分析。值得注意的是,该公司已于 7 月更新了第三方驱动程序静态分析指南,以配合 Windows 11 版本 25H2 的发布。

要了解有关这些发展的更多信息,您可以访问Microsoft 官方技术社区网站上的完整博客文章。

来源和图片

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注