微软全面拥抱Rust:核心基础重构,驱动模块即将跟进
众所周知,微软数十年来一直在为解决 Windows 系统的安全漏洞而努力,其中最令人头疼的问题之一,就是去年 7 月由 CrowdStrike 引发的那场全球性系统崩溃事件,其影响之广甚至达到了“地震级”关注。
编辑 | 云昭
出品 | 51CTO技术栈(微信号:blog51cto)
时光飞逝,五年多过去,微软已将未来的筹码押在了 Rust 这门语言上。
大家可能还记得,长年以来微软一直在为 Windows 的安全性问题头疼不已,其中一场噩梦般的经历,就是去年 7 月 CrowdStrike 在全球范围内造成的计算机蓝屏事故,那次事件引起了业界的高度关注。
如今,这家巨头决定采用 Rust 来彻底解决这个问题,并希望整个行业都能跟上这一步伐。
先别着急,带大家认识一下微软的 Rust 转型之路。实际上,微软在 Rust 的应用上已经积累了相当深厚的经验!
Windows 的部分内核已用 Rust 重写
今年 9 月,微软 Azure CTO Mark Russinovich 在 RustConf 2025 大会上发表了主题演讲《从蓝屏到安全革新:微软的 Rust 实践》。他将 Windows 内核中持续存在的安全漏洞比作“一个不断渗漏的地下油库——每次只漏几滴,但问题始终存在。
图片
问题的根源在于:C 和 C++。这些代码表面看起来没有问题,但一旦崩溃就会造成严重后果,甚至很容易被黑客利用。微软自己的内核模块,特别是负责图形和窗口管理的 Win32k.sys,几乎每个月都会出现提权漏洞。
于是,他们开始用 Rust 重写部分内核组件——不是全部,而是一些关键模块。如果你现在打开 Windows 的 System32 文件夹,就会看到一个名为 win32kbase_rs.sys 的文件,那就是运行在内核层的 Rust 代码。
为什么 Rust 版本的内核如此可靠?
关键在于:安全研究人员在 Rust 版本中发现漏洞时,系统会直接崩溃,而不会被攻击者利用,Russinovich 这样解释道。
“我们认为这是成功的改造,”他说,“如果这部分代码是用 C++ 编写的,这个漏洞可能导致权限提升,而不是一次无法利用的蓝屏事件。”
微软还重写了 DirectWrite(字体渲染引擎),这个组件多年来问题不断。两位开发人员花了 6 个月时间,编写了 15.4 万行 Rust 代码。新版不仅比旧版运行更快,而且摆脱了那些老毛病。
Rust 全面渗透 Azure
除了 Windows 内核,作为微软旗下的 Azure 云平台部门,更是在 Rust 应用上身体力行。
Russinovich 多年来一直在微软内部推动 Rust 的采用。早在他有权下达正式指令前,他就告诉团队:别再使用 C/C++ 启动新项目,除非你愿意面对垃圾回收带来的麻烦,否则就该选择 Rust。
如今,作为 Azure CTO 兼副总裁,他把话说死了:
“继续使用或新增 C++ 项目风险太大,绝对不能做。”
实际落地起来,动作更是雷厉风行:
Caliptra 硬件根信任从 ROM 到固件再到模拟器,全都用 Rust 编写。Azure Boost(管理服务器、处理网络卸载的系统)明确规定:所有处理“不可信输入”的部分必须用 Rust 重写,新版 Agent 也要使用 Rust。Hyper-V(微软的虚拟机管理器,是其最安全的系统之一,可在 1.5 毫秒内启动)已开始 Rust 化,ARM64 模拟支持就是用 Rust 实现的。微软还推出了 OpenVMM(开源虚拟机管理器),兼容 Hyper-V、Windows、Linux 和 KVM,完全采用 Rust 编写。还有 Hyperlight 项目,一个用 Rust 编写的开源库,通过虚拟化保护来安全执行小型函数调用。此外,今年微软还推出了 Azure Rust SDK。
Office与数据系统也换Rust重写了性能更好、内存占用更少
Office 团队遇到的挑战是:DiskANN(语义搜索系统)能够支撑 Bing 的几百个节点,但扛不住 Office 的数百万文档。
结果,团队果断用 Rust 进行了重构。新版性能更高、内存占用更少。Office 的某些团队甚至说服自己“全面转向Rust”,认为即使是 C# 在并发处理上也不如 Rust 高效。Azure Data Explorer 则展示了大规模迁移的过程:一位开发人员花了一年时间将存储层移植到 Rust,后来查询引擎也跟进了。现在它能处理数百 PB 数据,其中 Rust 代码有 35 万行,C# 仍有 230 万行,而 C++ 的份额正越来越少。
Rust 与现有系统的集成
微软发布了一个 MSBuild 的 Cargo 插件,让团队能够将 Rust 模块嵌入 C++/C# 项目中。
Russinovich 坦言这是出于现实考虑:“我们不能让团队直接抛弃数百万行能稳定运行的代码。”
插件机制很简单:Rust 代码用 Cargo 编译,MSBuild 将其作为依赖处理。但为此微软投入了大量精力解决链接和 ABI 的兼容性问题。插件已开源,方便其他公司复用。
给AI用的《实用 Rust 指南》
微软还发布了内部的《Pragmatic Rust Guidelines》——企业级 Rust 开发手册,分为两个版本:人类版:给新人看,覆盖错误处理模式、FFI 最佳实践、异步运行时选择等。AI 优化版:专门为 Copilot 这类 AI 助手格式化,可以直接放进提示词里,AI 就会遵循这些指南。
这表明微软不仅重视开发者体验,也考虑到AI辅助编程的普及。
图片
重写“皇冠上的明珠”:SymCrypt
Russinovich 宣布微软正在用 Rust 重写 SymCrypt——微软的核心加密库,支撑着 Windows、Azure 和 Office 的所有加密功能。
更重要的是,微软研究院使用 Rust 的形式化验证工具,能够证明新代码在数学上的正确性,并能反向翻译回 C++ 方便集成。
新的后量子算法(如ML-KEM)也直接用 Rust 从零实现。这意味着微软不仅在试点,而是将 Rust 定位为加密领域的主力语言。
不止,就连三方驱动也要Rust化
更激进的是,微软还希望硬件厂商和驱动开发者用 Rust 编写驱动程序。
他们搞了个windows-drivers-rs框架,将 Rust 接入 Windows 驱动工具包(WDK):wdk-build:把 Cargo 接入 Windows 构建系统wdk-sys:提供 Windows 驱动 API 的原始访问wdk:提供更安全的封装cargo-wdk:像普通 Rust 项目一样创建和编译驱动
你现在已经能写KMDF、UMDF、WDM驱动,并在 Windows 11 上加载运行。不过因为 Windows 内核 API 并非为内存安全设计,很多地方还得写不安全的 Rust。微软正在开发安全封装,让大部分驱动都能用“安全Rust”编写。
微软内部开发者一开始也对Rust头疼
根据微软的内部调研,开发者刚开始接触 Rust 时普遍感到不适应,特别是那些有 C++ 背景的人。但几个月后,他们逐渐适应了 Rust 的借用检查机制,甚至觉得写起来更得心应手。
他们最喜欢的是:性能提升+消灭特定类型bug最不喜欢的是:混用 C++ / C# 痛苦异步调试难动静态链接有问题
但 Rust 的魅力就在于,即使大家吐槽这些问题,也没人真的想放弃使用 Rust。
微软移植的秘密武器:用AI把C++翻译成Rust
微软正在研发 AI 工具,能够利用 GraphRAG 技术自动将整个 C++ 代码库翻译成 Rust,同时保持原有结构和功能。
Russinovich 演示了一个工具,能将 Python 应用自动翻译成 Rust,并保持项目结构与功能一致。
他展示了一个 200 行左右的 Python 横版小游戏。传统 LLM 翻译出来的是“垃圾代码”,而 GraphRAG 工具能生成可编译、可运行的 Rust 版本。
虽然还不清楚能否扩展到百万行 C++ 工程,但如果成熟,这将解决 Rust 最大的采用障碍:移植成本过高。
微软的半条命已经交给了Rust
“我们相信,像 Rust 这样的内存安全语言代表了软件工程的未来。”
美国 NSA 也早在 2024 年就支持迁移到内存安全语言,Linux 内核也已开始支持 Rust。行业趋势正在形成。
微软希望硬件厂商用 Rust 写驱动,自己就不用独扛安全大旗。只要安全改善能被证明,工具足够完善,整个生态就能逐步转型。
而早期结果表明:Rust 代码在关键系统里能“安全地失败”,而不是被利用。
而微软已经在多个核心系统实践中证明了这一点,现在他们希望整个生态跟上。
Russinovich 坦言:“Rust 正在渗透微软的核心基础设施,并且只会加速推进。”
从 Windows 内核、Office 数据系统的重写,再到与现有软件的集成和 GraphRAG 技术的大量代码移植,再到三方驱动框架的 Rust 化,可以看出微软对 Rust 的投入远不止“尝试”。
可以确定的是,结合 AI 翻译工具和无缝架构构建集成,Rust 的门槛正在降低,可能引发行业拐点。
而Rust的普及,注定离不开软件巨头们的倾力投入。
就比如微软,已经把半条命押注在了 Rust 上。
参考链接:https://thenewstack.io/microsofts-rust-bet-from-blue-screens-to-safer-code/
相关攻略
《锈蚀酒馆》手游备受关注,玩家可通过关注官方专区动态、订阅游戏社区APP的开测提醒,或查询整合性手游开测时间表来主动追踪公测进展。及时掌握这些渠道的信息,有助于提前了解游戏测试安排。
备受期待的《锈蚀酒馆》(RustyBar)即将正式上线,已在手游玩家社群中引发了广泛讨论。许多玩家都在探寻:这款游戏的实际体验究竟如何?是否值得投入精力深入游玩?本文将为您深度解析其核心玩法机制与独特的废土美学风格。 锈蚀酒馆RustyBar游戏深度评测与玩法解析 概括而言,《RustyBar》是一
如果你接触过C、Ja va这类语言,大概率对“空指针异常”这个运行时错误不陌生。它就像程序里一颗隐蔽的冲击波,不知道什么时候会引爆。而Rust,则选择了一条更彻底的路:它从语言设计的根源上,直接移除了“空指针”这个概念。这并非凭空想象,其灵感很大程度上借鉴了函数式语言Haskell的思路。 空指针的
rust-analyzer是唯一应启用的Rust插件,必须禁用rust-lang rust;若无反应,先检查是否被VSCode静默禁用、PATH中cargo rustc是否可用、项目是否以Cargo toml为根目录打开、rust-src组件是否安装。 在VSCode里折腾Rust开发,插件选择其实
Sublime Text 配置 Rust 开发环境:避开那些“装了也白装”的坑 想给 Sublime Text 配上得心应手的 Rust 开发环境?这事儿听起来简单,但实际操作时,你会发现从语法高亮到智能感知,每一步都可能藏着“陷阱”。尤其是那个关键的 rust-analyzer,它可不是靠 car
热门专题
热门推荐
上海启动全球首颗光计算卫星研制,其天基光计算具备抗辐照、低功耗特性,适应太空环境,可支撑在轨大算力任务。目前芯片太空验证已完成,全链条研制能力基本形成。产业面临成本与规模化挑战,需重构航天制造体系。长三角已成立创新联合体聚焦七大技术攻坚,上海将天基计算列为未来。
苹果与OpenAI合作因商业回报未达预期出现裂痕。腾讯地图推出AI骑手模式优化配送。百度成立模型委员会强化AI布局。荣耀将发布搭载云台系统的RobotPhone。Anthropic拟以9000亿美元估值融资。阿里发布智能体开发工作台Qoder1 0。千问APP接入药监局数据。发那科与英伟达深化合作,利用AI加速机器人开发。
面对海量书籍资源,数字化管理工具至关重要。小满图书管理侧重会员与库存管理,适合书店。库存管理通轻量化,支持多货品进销存。藏书馆兼具藏书管理与数字阅读功能。移动图书馆对接高校资源,提供学术服务。个人图书馆专注个人知识收集与创作。各类软件功能各异,需根据核心需求选择。
英文朗读软件能有效辅助学习。推荐几款特色应用:全能型《朗读器》操作简便;《朗读者》结合翻译与朗读;《英文翻译》支持长文朗读;《朗读大师》擅长图像识别与发音反馈;《中英文翻译》提供系统化学习路径。根据需求选择工具并坚持练习,可提升理解与发音能力。
飞机是远距离出行的高效选择,提前购票可锁定行程并享受优惠。主流购票平台包括飞猪旅行、携程旅行、航班管家、美团、飞行卡和去哪儿旅行。这些应用不仅提供机票预订,还整合酒店、景点门票、本地生活等服务,满足用户对价格、一站式规划或特定优惠的不同需求。





