基于Rust開發(fā)新的安全編程語言是什么樣的

這篇文章給大家介紹基于Rust開發(fā)新的安全編程語言是什么樣的,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)10多年成都定制網(wǎng)站服務;為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及高端網(wǎng)站定制服務,成都定制網(wǎng)站及推廣,對成都門簾等多個方面擁有多年的網(wǎng)站設計經(jīng)驗的網(wǎng)站建設公司。

為提高Windows10的安全性,微軟研究人員MatthewParkinson在本周的一次演講中披露:微軟正基于Rust開發(fā)新的安全編程語言。這個項目,被微軟稱為“Verona"。

Verona項目主要目的是通過使用Rust開發(fā)Windows底層組件,從而讓Windows10變得更安全。

據(jù)微軟透露,它們通過集成Rust和C/C++來移除Windows中不安全的代碼,這種嘗試達到了目標。

內(nèi)存安全問題

眾所周知,在每個月的第二個禮拜,微軟都會發(fā)布修復Windows漏洞的安全補丁。而微軟最近透露,近年來發(fā)現(xiàn)的大部分bug都與內(nèi)存安全有關(guān),所以它們想看看是否可以使用Rust來解決這些問題。

在編程語言中,“內(nèi)存安全”是指保護內(nèi)存空間不受惡意程序利用。微軟的Verona項目旨在防止這類攻擊發(fā)生。

雖然Verona項目最初可能只是一種嘗試,但微軟已經(jīng)取得很大的進展。

MatthewParkinson是微軟主攻托管編程語言內(nèi)存管理的研究員。在最近的一次演講中,他分享了微軟在解決內(nèi)存問題方面做了哪些工作。

本次演講中,Parkinson提到了IE和Edge的MemGC(MemoryGarbageCollector,內(nèi)存垃圾回收器)。

MemGC(MemoryGarbageCollector):內(nèi)存垃圾收集器,是Edge的內(nèi)存管理機制,由IE11的MemoryProtector改進而來,首次在EdgeHTML和MSHTML中使用。Edge使用MemGC來管理DOM和DOM支持的對象,其采用標記清除(Mark-Sweep)算法對垃圾進行回收,能夠阻止部分UAF漏洞。

MemGC解決了與標準瀏覽器DOM相關(guān)的漏洞,給谷歌Zero項目的黑客們留下了深刻的印象。

Parkinson說:“我們?yōu)镈OM開發(fā)了一個垃圾回收器。在IE中,內(nèi)存的‘釋放后使用’(use-after-free)是人們利用DOM引擎內(nèi)存管理機制的常見方式。然后,微軟開發(fā)了MemGC,作為DOM的守護垃圾回收器。它幾乎專治這種類型的漏洞,基本上把這類攻擊杜絕掉了?!?/p>

而微軟要解決的另一類bug與未初始化的內(nèi)存有關(guān)。

Parkinson深入探討了一個可能會引起消費者共鳴的問題:“如何才能打造出在未來最安全的產(chǎn)品?我們?nèi)匀灰幚磉z留問題,不能把現(xiàn)有的東西全部都扔掉,但可以在一個更安全的系統(tǒng)中重建一些東西。”

Parkinson說微軟正在使用Rust重寫一些組件,他的演講主要集中在語言的設計和隔離能力上。

“如果我們想要隔離能力,把遺留代碼隔離起來,不讓攻擊者的攻擊代碼冒頭,那么應該怎樣設計這門語言?”

Verona項目

于是,Verona項目誕生。微軟宣稱這門語言面向的是“安全的基礎設施編程”,Verona項目很“快”會開源。

據(jù)悉,這個項目得到了C#項目經(jīng)理MadsTorgensen和微軟劍橋研究院工程師JulianaFranco的支持。

微軟面臨的挑戰(zhàn)是要覆蓋“應用程序圖譜”,從用于桌面應用程序的C#,到用于Exchange、ASP.NET、Azure和設備驅(qū)動程序的C和C#,再到深度的Windows組件,如內(nèi)存管理、啟動加載器和Windows內(nèi)核硬件抽象層(HAL)。

Parkinson說:“要做好內(nèi)存管理很難。如果存在任意的并發(fā)沖突,要保證臨時內(nèi)存安全就非常困難”。

“Rust的所有者模型基于單個對象,而Verona基于一組對象。在C++里,程序員獲取指針,指針是基于對象的,并且基本上是一個對象一個指針。但我認為的數(shù)據(jù)和語法不應該是這樣的,我所認為的數(shù)據(jù)結(jié)構(gòu)應該是對象的集合,集合有它自己的生命周期”。

關(guān)于基于Rust開發(fā)新的安全編程語言是什么樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)頁名稱:基于Rust開發(fā)新的安全編程語言是什么樣的
當前網(wǎng)址:http://muchs.cn/article20/geeojo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、網(wǎng)站營銷、品牌網(wǎng)站制作、移動網(wǎng)站建設網(wǎng)站設計、面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設