微软开始拥抱 Rust,Rust 正式入驻Windows 平台!

2023-05-12

微软正在用 Rust 编程语言重写核心 Windows 库!

上个月,在 Tel Aviv 举办的 BlueHat IL 2023会议上,Windows 操作系统安全总监 ”David dwizzle Weston“ 宣布 Rust 正式进入操作系统内核。

为什么微软会选择 ”Rust“ 重写核心Windows库呢?

Rust 的优势

Rust 在TioBe 四月的编程语言排行榜中已经进入了前20了,可见其发展态势迅猛!

Rust 专注于内存安全和类似的保护,这将会减少代码中很多不良错误。

开始拥抱 Rust 

“实际上,接下来的几周或几个月内,我们将在内核中使用 Rust 启动 Windows,这真的很酷,”

“这里的基本目标是将其中一些内部 C++ 数据类型转换为 Rust 等价物。”

在微软看来,Rust这门语言是一种在代码落入用户手中之前捕获和消除内存安全漏洞的方法。

未来很多的内核程序将会使用Rust 编写。

Rust 未来很有力量

Rust 在长时间内“叫好不叫座”的原因,除了新手不友好外,前Deepin CTO也在推特上分享了自己的见解,它认为Rust 未来是一个很有力量的语言;

Rust 正式入驻Windows

微软为什么拥抱 Rust? 主要有以下几点原因:

1. 内存安全:Rust 语言的设计目标之一就是提供内存安全保证,避免出现内存泄漏、缓冲区溢出等问题,这对于开发高性能、高可靠性的系统非常重要。

2. 并发性能:Rust 语言的并发性能非常出色,它提供了轻量级的线程和异步编程模型,可以充分利用多核处理器的性能。

3. 生态系统:Rust 生态系统非常活跃,拥有丰富的第三方库和工具,可以大大提高开发效率。

4. 跨平台支持:Rust 语言可以编译成本地代码,支持多种操作系统和硬件平台,可以方便地开发跨平台应用程序。

5. 开源社区:Rust 语言是一个开源项目,拥有庞大的开发者社区,可以获得来自全球开发者的支持和贡献。

Windows 的 Rust 改造始于 2020 年,由 DWriteCore 开始,DWriteCore 是 Windows 的 DWrite 引擎的 Windows 应用程序 SDK 实现,用于文本分析、布局和渲染。DWriteCore 现在由大约 152,000 行 Rust 代码和大约 96,000 行C++代码组成。

除了假定的安全性改进之外,据说使用OTLS(OpenType库服务)整形(替换)字形的性能提高了5%到15%。现在,开发人员可以使用所有这些功能。

Microsoft Windows 图形设备接口 (Win32 GDI) 正在移植到 Rust 上,到目前为止有 36000 行 Rust 代码。最新版本的 Windows 11 使用 Rust 版本启动,该版本通过了所有 GDI 测试,但 Rust 端口目前在功能标志后面被禁用。

“现在Windows内核中实际上有一个SysCall,它是在Rust中实现的”

微软遇到的问题

Windows 在其自己的产品中修补了大约2006%的CVE列出的安全漏洞,这些类型的错误是核心内核问题;

随着行业对内存安全编程的支持越来越多,微软对 Rust 的探索变得更加热情!

Rust 工具链致力于防止构建和发布可利用的代码,这在理想情况下减少了攻击软件弱点的机会。

微软对 Rust 的 热衷是有限度的,在 Rust 中重写 Windows正在进行,但是还要保护更多的原生代码。

另外微软也会为Rust贡献自己的力量,来推动整个Rust的发展。