Microsoft正在對其確保Windows操作系統的方式進行基本轉變,並轉向Rust編程語言以構建更安全,更可靠的驅動程序。該公司的表麵團隊處於這一努力的最前沿,旨在消除整個與內存相關的錯誤類別。
此舉標誌著對記憶安全的主要承諾,這是軟件行業緊迫性的主題。通過採用生鏽,微軟直接解決了C和C ++固有的漏洞。該公司已經在其新的Copilot+ PC中運送了第一個基於生鏽的驅動程序。
為什麼要生鏽?驅動程序安全的新基礎
數十年來,驅動程序開發一直依賴於C和C ++,可提供直接硬件訪問的功能強大的語言。但是,他們將記憶管理的負擔直接放在開發人員身上。這可能會導致導致系統崩潰並創建安全孔的細微但危險的錯誤。或“無使用後”錯誤,可以通過攻擊者利用以獲得對系統的控制。這些記憶安全漏洞一直是整個行業的持續挑戰。
Rust的體系結構提供了令人信服的解決方案。它的編譯器充當警惕的合作夥伴,對記憶所有權和借貸執行嚴格的規則。此“借用檢查器”是一個關鍵功能,在編譯並運行該代碼之前,可以在編程中防止這些危險的錯誤。
介紹“ Windows-Drivers-rs”:一個開源工具包
,Microsoft啟動了此 github上的開放式項目稱為’Windows-drivers-rs-rs’。該工具包為開發人員提供了開始在Rust中構建Windows驅動程序的基本組件。
存儲庫是“板條箱”的集合,即“包裝”的術語。它包括“ WDK-SYS”直接綁定到Windows驅動程序套件(WDK),“ WDK”的安全,慣用的包裝器,以及諸如WDK-Alloc的幫助者,用於內存分配和`wdk-panic“`WDK-panic”和`用於錯誤處理。 (KMDF), and User-Mode Driver Framework (UMDF).
While Microsoft notes the project is still in its early stages and not yet recommended for widespread production use, it actively encourages community experimentation and collaboration through its GitHub forums.
From Project to Product: Real-World Deployment and Future Roadmap
This initiative不僅僅是一個研究項目。 在最近的博客文章中,表麵團隊確認了它已經已經將幾個新的Copilot+ PCS丟掉了。這包括最新的表面筆記本電腦和Surface Pro模型。
這種現實世界的部署表明了對在備受矚目的消費產品中使用Rust的明顯承諾,證明了其在實驗階段之外的可行性。這是關於公司對技術信心的有力聲明。
展望未來,微軟的路線圖包括擴展平台,以支持更廣泛的駕駛員類型和硬件方案。一個關鍵目標是將Rust Toolchain帶來與現有的WDK均衡。
該團隊還計劃向公眾發布更多內部開發的安全抽象。這將降低其他開發人員的進入障礙,並幫助加強所有硬件合作夥伴的整個Windows生態系統。
通過開放式工具並使用自己的硬件領先,Microsoft為更安全的未來建立了基礎。該團隊計劃直接與即將推出的RustConf 2025的開發人員互動,以進一步實現這一目標。