基于Rust开发新的安全编程语言是什么样的
这篇文章给大家介绍基于Rust开发新的安全编程语言是什么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联10多年成都定制网站服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,成都定制网站及推广,对成都门帘等多个方面拥有多年的网站设计经验的网站建设公司。
为提高Windows10的安全性,微软研究人员MatthewParkinson在本周的一次演讲中披露:微软正基于Rust开发新的安全编程语言。这个项目,被微软称为“Verona"。
Verona项目主要目的是通过使用Rust开发Windows底层组件,从而让Windows10变得更安全。
据微软透露,它们通过集成Rust和C/C++来移除Windows中不安全的代码,这种尝试达到了目标。
内存安全问题
众所周知,在每个月的第二个礼拜,微软都会发布修复Windows漏洞的安全补丁。而微软最近透露,近年来发现的大部分bug都与内存安全有关,所以它们想看看是否可以使用Rust来解决这些问题。
在编程语言中,“内存安全”是指保护内存空间不受恶意程序利用。微软的Verona项目旨在防止这类攻击发生。
虽然Verona项目最初可能只是一种尝试,但微软已经取得很大的进展。
MatthewParkinson是微软主攻托管编程语言内存管理的研究员。在最近的一次演讲中,他分享了微软在解决内存问题方面做了哪些工作。
本次演讲中,Parkinson提到了IE和Edge的MemGC(MemoryGarbageCollector,内存垃圾回收器)。
MemGC(MemoryGarbageCollector):内存垃圾收集器,是Edge的内存管理机制,由IE11的MemoryProtector改进而来,首次在EdgeHTML和MSHTML中使用。Edge使用MemGC来管理DOM和DOM支持的对象,其采用标记清除(Mark-Sweep)算法对垃圾进行回收,能够阻止部分UAF漏洞。
MemGC解决了与标准浏览器DOM相关的漏洞,给谷歌Zero项目的黑客们留下了深刻的印象。
Parkinson说:“我们为DOM开发了一个垃圾回收器。在IE中,内存的‘释放后使用’(use-after-free)是人们利用DOM引擎内存管理机制的常见方式。然后,微软开发了MemGC,作为DOM的守护垃圾回收器。它几乎专治这种类型的漏洞,基本上把这类攻击杜绝掉了。”
而微软要解决的另一类bug与未初始化的内存有关。
Parkinson深入探讨了一个可能会引起消费者共鸣的问题:“如何才能打造出在未来最安全的产品?我们仍然要处理遗留问题,不能把现有的东西全部都扔掉,但可以在一个更安全的系统中重建一些东西。”
Parkinson说微软正在使用Rust重写一些组件,他的演讲主要集中在语言的设计和隔离能力上。
“如果我们想要隔离能力,把遗留代码隔离起来,不让攻击者的攻击代码冒头,那么应该怎样设计这门语言?”
Verona项目
于是,Verona项目诞生。微软宣称这门语言面向的是“安全的基础设施编程”,Verona项目很“快”会开源。
据悉,这个项目得到了C#项目经理MadsTorgensen和微软剑桥研究院工程师JulianaFranco的支持。
微软面临的挑战是要覆盖“应用程序图谱”,从用于桌面应用程序的C#,到用于Exchange、ASP.NET、Azure和设备驱动程序的C和C#,再到深度的Windows组件,如内存管理、启动加载器和Windows内核硬件抽象层(HAL)。
Parkinson说:“要做好内存管理很难。如果存在任意的并发冲突,要保证临时内存安全就非常困难”。
“Rust的所有者模型基于单个对象,而Verona基于一组对象。在C++里,程序员获取指针,指针是基于对象的,并且基本上是一个对象一个指针。但我认为的数据和语法不应该是这样的,我所认为的数据结构应该是对象的集合,集合有它自己的生命周期”。
关于基于Rust开发新的安全编程语言是什么样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
分享标题:基于Rust开发新的安全编程语言是什么样的
网站网址:http://azwzsj.com/article/geeojo.html