微软推进Rust在Windows驱动开发中的应用

自 2023 年以来,微软持续加强 Rust 在 Windows 系统中的应用。目前,Windows 内核已能在引入 Rust 代码的情况下启动。微软近期也在推动驱动开发向 Rust 语言过渡。

今年 7 月,Surface 团队披露了在 Rust 驱动开发方向的工作进展,并推出开源项目 windows-drivers-rs,旨在为 Rust 驱动开发提供平台支持。微软今日公布了更多细节。

为简化 Rust 驱动开发流程,微软在 windows-drivers-rs 中引入了新的 cargo-wdk crate。该 Cargo 扩展可自动生成包含预配置链接、构建步骤和依赖项的空白驱动项目,并可调用 WDK 工具(如 InfVerif),类似于在 Visual Studio 中使用 C 语言构建驱动的方式。

Rust 相较于 C 等传统语言具备内存安全特性,可有效减少与内存相关的安全漏洞;同时,Rust 与 C / C++ 在驱动代码层面具有良好的互操作性,降低了迁移门槛。

微软表示,其长期目标是在 Cargo 环境中为 Rust 开发者提供与 Visual Studio 相同的构建工具和配置选项。中期计划包括自动安装 WDK、支持 NT_TARGET_VERSION、全面支持 ARM64 等。

目前,windows-drivers-rs 已能支持部分类型的驱动开发,但仍需使用较多的 unsafe 代码。微软指出,Windows Driver Framework (WDF) 团队正与 Rust 专家合作,为内核模式驱动(KMD)和用户模式驱动(UMD)设计更安全的抽象层。

微软认为,抽象层本质是实现用户模式(最低权限)到内核模式(最高权限)的安全转换机制。同时,微软其他团队也在开发适用于核心内核及第三方驱动的安全结构体和 API,其中部分已随 Windows 内核发布。

微软还承诺,将在未来几个月内公布更多驱动开发的最佳实践,其中包括利用 CodeQL 进行静态分析。今年 7 月,微软已更新 Windows 11 25H2 版本的第三方驱动静态分析指南。

免责声明:本文内容由开放的智能模型自动生成,仅供参考。

最新文章
Copyright © DoNews 2000-2025 All Rights Reserved
蜀ICP备2024059877号-1