Workflow
告别漏洞百出的 C++!微软用 Rust 赌上未来,内核和 Office 都在“锈”化

微软推动Rust语言采用的核心战略 - 公司正积极采用Rust语言重写关键系统组件,以解决长期存在的内存安全漏洞问题,将安全问题从可能导致被攻击者接管的漏洞转变为可预测的系统崩溃[4] - 公司内部已出台强制性政策,在Azure等核心平台禁止新项目使用C/C++,并强制要求处理非可信数据的模块必须使用Rust语言编写[8][9] - 公司认为Rust等内存安全语言代表了安全软件工程的未来,是应对从边缘设备到云端各环节安全挑战的关键举措,并已获得美国国家安全局(NSA)等机构的公开支持[26][27] 具体实施案例与成效 - 在Windows系统内核中,已出现用Rust重写的win32kbase_rs.sys文件,成功将可能导致权限提升的漏洞转化为可预测的蓝屏崩溃,无法被攻击者利用[4][6] - 重写DirectWrite字体渲染器,2名开发者耗时6个月完成15.4万行代码,重写后运行速度更快且消除了原有类型的漏洞[6] - Azure Boost系统强制要求处理非可信数据的模块使用Rust,Hyper-V虚拟机监控程序也已开始采用Rust进行优化,包括ARM64架构模拟支持[9][10] - Office团队用Rust重写DiskANN语义搜索系统,在保持准确率的前提下性能大幅提升、内存占用降低,促使娱乐设备部门决定全面采用Rust[15][16] - Azure数据资源管理器的数据存储层和查询引擎迁移至Rust,目前可处理数百PB级别数据,系统包含35万行Rust代码,C++代码占比持续下降[16] 开发生态系统构建与推广 - 公司为驱动开发者构建了完整的windows-drivers-rs框架,旨在使Rust成为全球驱动开发者的首选语言之一,支持开发KMDF、UMDF或WDM驱动程序[18] - 公司计划创建安全包装器,以减少驱动开发中“不安全”Rust代码的使用,让大部分驱动代码能用安全的Rust编写,目前已有内部实验版本[19] - 内部调查显示,开发者度过初期适应期后对Rust评价积极,尤其青睐其带来的性能提升和彻底消除某类漏洞的能力,尽管对混合编程、异步调试等存在抱怨[21][22][23] 未来技术方向与行业影响 - 公司正在开发基于AI的代码迁移工具,利用GraphRAG技术生成代码库的语义表示,使语言模型能理解代码逻辑,从而自动将整个C++代码库迁移到Rust,以解决迁移的人力成本障碍[24] - 公司将Rust的应用从自身代码库延伸至整个生态系统,通过推动硬件厂商采用Rust编写驱动程序来提升Windows系统安全性,而非仅依靠自身努力[27] - Rust已被应用于公司最核心的系统,包括内核、虚拟机监控程序和加密库,且这一进程正在不断加速[28]