系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > IT快訊 > 詳細頁面

微軟高管稱正開發(fā)基于Rust的安全編程語言

編輯:jiayuan 2019-12-03 08:46:39 來源于:IT之家

  微軟官方此前曾公開宣布,其正探索將Rust作為C和C++的安全替代方案,并對外展示了使用Rust重寫Windows組件的體檢。而據(jù)外媒最新消息顯示,微軟似乎正在開發(fā)一種基于Rust的安全編程語言——“Verona”!下面讓我們來了解一下。

微軟正開發(fā)基于Rust的安全編程語言

  按照報道中的說法,微軟研究人員 Matthew Parkinson近日在一次演講中談到微軟為解決相應(yīng)內(nèi)存問題所做的工作時提到,微軟正在開發(fā)的基于Rust的新編程語言Verona。

  據(jù)悉,Matthew在演講中先是分享了微軟在MemGC(Memory Garbage Collector)上所做的工作,MemGC是指IE和 Edge瀏覽器上的內(nèi)存垃圾回收器,它解決了標準瀏覽器一個特性——文檔對象模型(DOM)中的漏洞,DOM以樹結(jié)構(gòu)表述了 HTML文檔內(nèi)容。

  之后他由此牽出另一個問題:如何構(gòu)建最安全的產(chǎn)品?不僅僅丟棄已有的東西,而要考慮可以在更加安全的系統(tǒng)中構(gòu)建一些什么。他介紹了微軟正在使用Rust重寫某些組件,并提出:“如果我們想要隔離,并精簡遺留代碼,以使攻擊者的利用代碼無法逃逸出來,那么如何設(shè)計語言呢?”

  Matthew提出了微軟正在開發(fā)的基于Rust的新編程語言 Verona,他表示這是首次討論該項目,Verona是用于微軟“安全基礎(chǔ)設(shè)施編程(safe infrastructure programming)”的一種新語言。

  Matthew介紹,Verona由C# 項目經(jīng)理Mads Torgensen與Microsoft Research Cambridge研究軟件工程師 Juliana Franco維護。

  微軟面臨的挑戰(zhàn)是應(yīng)對寬廣的應(yīng)用領(lǐng)域,范圍從C#桌面應(yīng)用到C或C# Exchange、ASP.NET、Azure與設(shè)備驅(qū)動程序,再到內(nèi)存管理和啟動加載器等底層Windows組件,以及Windows內(nèi)核硬件抽象層(HAL,hardware abstraction layer)。

  “執(zhí)行內(nèi)存管理確實很困難,如果有任意并發(fā)突變,則臨時內(nèi)存安全性將非常困難”,Matthew介紹了Verona的設(shè)計思路:“Verona 的所有權(quán)模型是基于對象組的,而不是像Rust那樣基于單個對象的所有權(quán)模型。在C++中,可以獲得指針,并且它是基于對象的。但這與我關(guān)于數(shù)據(jù)和語法的思考不同,我認為數(shù)據(jù)結(jié)構(gòu)是對象的集合,而對象的集合則是生命周期。 因此,通過在對象的所有權(quán)級別獲得所有權(quán),我們就可以更接近人們正在使用的抽象級別,它使我們能夠構(gòu)建數(shù)據(jù)結(jié)構(gòu)而不會超出安全范圍。”

  “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很快將會開源。

標簽 rust

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

官方交流群 軟件收錄