為提高 Windows 10 的安全性,微軟研究人員 Matthew Parkinson 在本周的一次演講中披露:微軟正基於 Rust 開發新的安全編程語言。這個項目,被微軟稱為“Verona"。
Verona 項目主要目的是通過使用 Rust 開發 Windows 底層組件,從而讓 Windows 10 變得更安全。
據微軟透露,它們通過集成 Rust 和 C/C++ 來移除 Windows 中不安全的代碼,這種嚐試達到了目標。
內存安全問題眾所周知,在每個月的第二個禮拜,微軟都會發布修複 Windows 漏洞的安全補丁。而微軟最近透露,近年來發現的大部分 bug 都與內存安全有關,所以它們想看看是否可以使用 Rust 來解決這些問題。
在編程語言中,“內存安全”是指保護內存空間不受惡意程序利用。微軟的 Verona 項目旨在防止這類攻擊發生。
雖然 Verona 項目最初可能隻是一種嚐試,但微軟已經取得很大的進展。
Matthew Parkinson 是微軟主攻托管編程語言內存管理的研究員。在最近的一次演講中,他分享了微軟在解決內存問題方麵做了哪些工作。
本次演講中,Parkinson 提到了 IE 和 Edge 的 MemGC (Memory Garbage Collector,內存垃圾回收器)。
MemGC 解決了與標準瀏覽器 DOM 相關的漏洞,給穀歌 Zero 項目的黑客們留下了深刻的印象。
Parkinson 說:“我們為 DOM 開發了一個垃圾回收器。在 IE 中,內存的‘釋放後使用’(use-after-free)是人們利用 DOM 引擎內存管理機製的常見方式。然後,微軟開發了 MemGC,作為 DOM 的守護垃圾回收器。它幾乎專治這種類型的漏洞,基本上把這類攻擊杜絕掉了。”
而微軟要解決的另一類 bug 與未初始化的內存有關。
Parkinson 深入探討了一個可能會引起消費者共鳴的問題:“如何才能打造出在未來最安全的產品?我們仍然要處理遺留問題,不能把現有的東西全部都扔掉,但可以在一個更安全的係統中重建一些東西。”
Parkinson 說微軟正在使用 Rust 重寫一些組件,他的演講主要集中在語言的設計和隔離能力上。
“如果我們想要隔離能力,把遺留代碼隔離起來,不讓攻擊者的攻擊代碼冒頭,那麼應該怎樣設計這門語言?”
Verona 項目於是,Verona 項目誕生。微軟宣稱這門語言麵向的是“安全的基礎設施編程”,Verona 項目很“快”會開源。
據悉,這個項目得到了 C#項目經理 Mads Torgensen 和微軟劍橋研究院工程師 Juliana Franco 的支持。
微軟麵臨的挑戰是要覆蓋“應用程序圖譜”,從用於桌麵應用程序的 C#,到用於 Exchange、ASP.NET、Azure 和設備驅動程序的 C 和 C#,再到深度的 Windows 組件,如內存管理、啟動加載器和 Windows 內核硬件抽象層(HAL)。
Parkinson 說:“要做好內存管理很難。如果存在任意的並發衝突,要保證臨時內存安全就非常困難”。
“Rust 的所有者模型基於單個對象,而 Verona 基於一組對象。在 C++ 裏,程序員獲取指針,指針是基於對象的,並且基本上是一個對象一個指針。但我認為的數據和語法不應該是這樣的,我所認為的數據結構應該是對象的集合,集合有它自己的生命周期”。
“獲得一組對象的所有權,非常接近使用者的抽象層級,這樣就可以在安全區裏構建數據結構。”他說。
相關資訊
最新熱門應用
智慧笑聯app官網最新版
生活實用41.45MB
下載
盯鏈app安卓最新版
生活實用50.17M
下載
學有優教app家長版
辦公學習38.83M
下載
九號出行app官網最新版
旅行交通28.8M
下載
貨拉拉司機版app最新版
生活實用145.22M
下載
全自動搶紅包神器2024最新版本安卓app
係統工具4.39M
下載
掃描王全能寶官網最新版
辦公學習238.17M
下載
海信愛家app最新版本
生活實用235.33M
下載
航旅縱橫手機版
旅行交通138.2M
下載
雙開助手多開分身安卓版
係統工具18.11M
下載