系统城官网 - 纯净的系统和软件下载网站!

当前位置:首页 > IT资讯 > 微软 > 详细页面

微软高管称正开发基于Rust的安全编程语言

编辑:系统城官网 2019-12-03 来源于:网络

  微软官方此前曾公开宣布,其正探索将Rust作为C和C++的安全替代方案,并对外展示了使用Rust重写Windows组件的体检。而据外媒最新消息显示,微软似乎正在开发一种基于Rust的安全编程语言——“Verona”!下面让我们来了解一下。

微软正开发基于Rust的安全编程语言

  按照报道中的说法,微软研究人员 Matthew Parkinson近日在一次演讲中谈到微软为解决相应内存问题所做的工作时提到,微软正在开发的基于Rust的新编程语言Verona。

  据悉,Matthew在演讲中先是分享了微软在MemGC(Memory Garbage Collector)上所做的工作,MemGC是指IE和 Edge浏览器上的内存垃圾回收器,它解决了标准浏览器一个特性——文档对象模型(DOM)中的漏洞,DOM以树结构表述了 HTML文档内容。

  之后他由此牵出另一个问题:如何构建最安全的产品?不仅仅丢弃已有的东西,而要考虑可以在更加安全的系统中构建一些什么。他介绍了微软正在使用Rust重写某些组件,并提出:“如果我们想要隔离,并精简遗留代码,以使攻击者的利用代码无法逃逸出来,那么如何设计语言呢?”

  Matthew提出了微软正在开发的基于Rust的新编程语言 Verona,他表示这是首次讨论该项目,Verona是用于微软“安全基础设施编程(safe infrastructure programming)”的一种新语言。

  Matthew介绍,Verona由C# 项目经理Mads Torgensen与Microsoft Research Cambridge研究软件工程师 Juliana Franco维护。

  微软面临的挑战是应对宽广的应用领域,范围从C#桌面应用到C或C# Exchange、ASP.NET、Azure与设备驱动程序,再到内存管理和启动加载器等底层Windows组件,以及Windows内核硬件抽象层(HAL,hardware abstraction layer)。

  “执行内存管理确实很困难,如果有任意并发突变,则临时内存安全性将非常困难”,Matthew介绍了Verona的设计思路:“Verona 的所有权模型是基于对象组的,而不是像Rust那样基于单个对象的所有权模型。在C++中,可以获得指针,并且它是基于对象的。但这与我关于数据和语法的思考不同,我认为数据结构是对象的集合,而对象的集合则是生命周期。 因此,通过在对象的所有权级别获得所有权,我们就可以更接近人们正在使用的抽象级别,它使我们能够构建数据结构而不会超出安全范围。”

  “So by taking ownership at the level of ownership of objects, then we get much closer to the level of abstraction that people are using and it gives us the ability to build data structures without going outside of safety。”另外,Matthew还表示,Verona很快将会开源。

相关信息