写点什么

微软 CTO 在 Rust Nation UK 大会上详解成功经验、挑战及对 Rust 编程语言的承诺

  • 2025-05-23
    北京
  • 本文字数:1893 字

    阅读完需:约 6 分钟

大小:932.18K时长:05:18
微软 CTO 在 Rust Nation UK 大会上详解成功经验、挑战及对 Rust 编程语言的承诺

微软 Azure 首席技术官 Mark Russinovich近期的 Rust Nation UK 大会上深入探讨了推动 Rust 编程语言采用的关键因素。他通过微软产品的实际案例展示了 Rust 的应用成果,并详细介绍了如何利用生成式 AI 加速从 C/C++ 向 Rust 迁移的持续努力。

 

采用 Rust 的最初动机是源于对安全漏洞的全面分析。Russinovick 表示


这一切始于我们对 C/C++ 长期存在问题的审视……根据微软安全响应中心在过去十年中对所有产品漏洞的统计,70% 的安全问题都源于 C++ 中的内存操作不当。随着攻击者持续针对这类漏洞发起攻击,这种趋势仍在延续,造成了大量安全事故。

 

其他科技巨头和安全机构也得出了相似结论。谷歌零日计划(Project Zero)安全研究团队的报告显示,时年发现的 58 个在野零日漏洞中,有 39 个(67%)属于内存破坏漏洞。无论是过去数十年还是当下,内存破坏漏洞一直是软件攻击的主要突破口。Mozilla 数年前也曾估算,若用 Rust 重写火狐的样式组件,74% 的安全漏洞本可避免。事实上,Rust 语言创始人 Graydon Hoare 早在 2010 年的火狐年度峰会的一次早期 Rust 相关演讲中就指出:C++ 几乎在所有方面都不安全;它缺乏所有权机制、完全没有并发控制,甚至无法保证 const不可变。

 

微软的“安全未来计划”(Secure Future Initiative)与两起国家支持的网络攻击事件直接相关,Russinovich 表示该计划将致力于扩大内存安全语言的应用范围。微软近期向 Rust 基金会捐赠了 100 万美元,用于支持 Rust 语言及其核心项目的重点发展。

 

Russinovich 详细介绍了微软产品中采用 Rust 的具体案例。在 Windows 系统中,Rust 被应用于安全关键型软件,其中包括固件开发(Project Mu)、内核组件、密码学库(如 rustls symcrypt 支持)及辅助组件(如 DirectWrite Core)。

 

在 Office 办公套件中,Rust 已被用于某些性能敏感领域。其中部署在 CosmosDB 和 PostgreSQL 上用 Rust 实现的语义搜索算法 ,经证实比 C++ 版本具备更高的性能和内存效率,这为大规模向量搜索带来了显著优势。

 

随着 Azure 部门强制要求不再使用 C++ 编写新系统代码,Rust 已在多个 Azure 相关软件中得到应用。Caliptra 是一个面向安全云服务器固件的行业合作项目,其关键固件组件完全采用 Rust 编写并已开源。Azure Integrated HSM 是从 2025 年开始在所有新服务器中部署的新型自研安全芯片,其固件和客端库均使用 Rust 编写,以确保加密密钥管理的最高安全标准。Russinovich 还提到,Azure Boost 代理程序、Hyper-V(微软的虚拟化平台)、最近得到开源的跨平台模块化虚拟机监视器 OpenVMM,以及 Hyperlight 等项目都部分或完全采用了 Rust 进行实现。

 

微软开发者对 Rust 的反馈总体积极但也存在负面评价。积极方面包括:开发者称赞 Rust 代码一旦编译通过通常就能按预期运行,显著提升了开发迭代的速度;开发阻力的降低增强了编写测试的积极性;开发者对内存管理陷阱的认知明显提高;Rust 生态系统和 Cargo 包管理器在依赖管理方面备受好评;虽然性能提升并非首要目标,但实践中经常能观察到性能改善;数据竞争相关的并发错误显著减少;内存安全问题导致的漏洞数量大幅下降。

 

负面反馈则集中在:C++ 互操作仍然困难;Rust 的初始学习曲线被认为过于陡峭;动态链接实现存在挑战;对某些未稳定 Rust 特性的依赖令人担忧;将 Cargo 集成到大型企业构建系统需要额外投入;即使使用 Rust,安全实现外部函数接口(FFI)仍具挑战性;与其他语言相比,工具链支持仍显不足。

 

Russinovich 进一步阐述了微软加速将 C/C++ 遗留代码迁移到 Rust 的努力。其中一个重点领域是经过验证的加密库:先对 C 代码进行形式化验证,再转译为安全的 Rust 代码(参见论文《C 语言到安全 Rust 的形式化编译》)。微软同时正在探索使用大语言模型实现自动化的代码转换。

 

Russinovich 在总结中重申了微软公司对 Rust 的坚定承诺,并强调了 Rust 日益成熟的生态和采用规模:


总会有人质疑说现在还有比 Rust 更好的新编程语言,用起来也更方便。对此我的回应是:那它什么时候才能真正准备好?要知道 Rust 已经发展了十来年后,我们才觉得它足够成熟。一门语言及其工具链的成熟需要漫长的时间,而 Rust 工具链至今仍在持续完善。任何想在现阶段挑战 Rust 地位的新语言,都需要跨越极高的门槛。因此我认为短期内没有什么能取代 Rust……我们百分百支持 Rust 的发展。

 

建议各位观看 YouTube 上的完整演讲视频,其中包含大量有价值的实践案例、技术解析和现场演示。

 

Rust Nation UK 是一个专注于 Rust 语言及其社区发展的多轨道技术大会,每年在伦敦 The Brewery 举办,为不同水平的开发者提供精心策划的 workshop、技术演讲和教学课程。

2025-05-23 14:007776

评论

发布
暂无评论

如何在Github参与开源项目的建设

骑牛上青山

GitHub 开源 PR

可观测性平台-数据洞察(2)-网站性能探究

Yestodorrow

前端 可观测性 网站性能

免费堡垒机选择开源还是商业免费版好?

行云管家

开源 堡垒机 安全运维 免费堡垒机

电商广告营销中常见公式和优化手段

邴越

广告 营销 电商 信息流

解密Elasticsearch:深入探究这款搜索和分析引擎 | 京东云技术团队

京东科技开发者

elasticsearch redis 底层原理 企业号 5 月 PK 榜 画像系统

RocketMQ消费者是如何负载均衡的

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

群星闪耀,众志成城 | 2023年4月《中国数据库行业分析报告》精彩抢先看

墨天轮

数据库 云原生 opengauss 国产数据库 AI4DB

2023年厦门等保二级备案办理流程

行云管家

等级保护 等保备案 厦门

面向万物智联的应用框架的思考和探索(中)

HarmonyOS开发者

细节!3部分讲明白HotSpot:运行时+编译器+垃圾回收器

Java JVM 虚拟机 hotspot

ShareSDK Facebook平台注册指南

MobTech袤博科技

工赋开发者社区 | 装备制造企业数字化转型总体框架

工赋开发者社区

Spartacus cart id 存储在浏览器 local storage 里面

汪子熙

angular SAP Hybris Spartacus 三周年连更

无需nms,onnxruntime20行代码玩转RT-DETR

Openlab_cosmoplat

限量!腾讯高工用4部分讲清楚了Spring全家桶+微服务

Java spring 微服务 Spring Cloud Spring Boot

扒去Spring事件监听机制的外衣,竟然是观察者模式

Java spring 设计模式 观察者模式 事件监听

共享电单车的未来市场如何?值得做吗?

共享电单车厂家

共享电单车投放 本铯共享电动车 共享电动车生产厂家 共享电单车发展趋势

MySQL 分区

潜水员

MySQL 分区

Reactive响应式编程系列:解密reactor-netty如何实现响应式

大步流星

Reactive响应式编程系列 reactor-netty reactor-netty原理

新手必看|StarRocks 入门教程来啦!

StarRocks

数据库 大数据 数据湖 OLAP 数仓

TiDB 在 IPv6 的 K8S 和物理机环境的部署

TiDB 社区干货传送门

安装 & 部署 数据库架构选型 数据库前沿趋势

传感器接线方式详解

鸿蒙之旅

OpenHarmony 三周年连更

浏览器管理脚本用什么软件?

真大的脸盆

Mac Mac 软件 脚本管理 管理脚本 浏览器脚本插件

EasyRecovery2024最新版电脑数据恢复软件

茶色酒

EasyRecovery Photo16

Tuxera NTFS2024Mac专业NTFS驱动软件

茶色酒

Tuxera NTFS2023

人工智能大模型这场游戏才刚刚开始吗?还是在走下坡路? | 社区征文

迷彩

AI大模型 大模型时代 三周年征文 三周年连更

深入理解 slab cache 内存分配全链路实现

bin的技术小屋

内存管理 Linux Kenel 内存池 slab

单点登录实现思路和方案

Java 单点登录

如何维护好TiDB的三颗仙丹——索引、SQL和IO

TiDB 社区干货传送门

数据库架构设计

Prompt 技巧指南-让 ChatGPT 回答准确十倍!

Zilliz

openai ChatGPT

微软 CTO 在 Rust Nation UK 大会上详解成功经验、挑战及对 Rust 编程语言的承诺_架构_Bruno Couriol_InfoQ精选文章