聊聊 Rust 正在秘密接管芯片開發
這篇文章主要介紹了Rust是如何進入計算機芯片的,以及為什么像英偉達、AMD、谷歌和微軟這樣的公司都在投資由Rust固件驅動的安全硬件。
英偉達、AMD、谷歌和微軟一直在悄悄開展一個名為calyptra的項目,這是一項安全計劃,通過提供基于rust的關鍵信任根組件的實現,來強化計算機芯片以抵御黑客攻擊。
下面介紹什么是信任根,信任根(簡稱Ro)是一個獨立的硬件安全組件,以及運行它的固件。它負責驗證底層引導代碼是真實的,沒有被篡改。類似于你如何驗證下載文件的校驗和,以確保它們沒有被篡改。
如果沒有 Ro, 你的計算機系統基本上就像一個前門沒有鎖的房子,黑客可以很容易地修改啟動過程,這將允許他們繞過安全檢查,安裝惡意軟件和病毒。即使你擦除硬盤驅動器并將計算機重置為出廠設置,黑客仍然可以對你的計算機系統進行控制。
那么,為什么像英偉達和AMD這樣的計算機芯片公司要合作開發一種新的基于Rust的信任根呢?
當前的信任根實現存在三個主要問題:
首先是碎片化問題,不同的硬件平臺有不同的Ro實現,這會導致安全功能不一致,并且很難在不同設備之間實現統一的安全性。
其次是透明度的問題,傳統的Ro實現都是黑盒子,你可以看到輸入和輸出,但是你看不到里面是什么。這使得審計和驗證其安全性變得困難。
第三,數據中心需要一個信任的根源解決方案,不僅安全,而且在分布式環境中具有高度可擴展性和可管理性,這一點尤其重要,因為人工智能推動了對更多基礎設施的需求。
而這三個挑戰正是calyptra想要解決的,那么Rust是如何融入這一切的呢?calyptra提供了兩件事:首先是RO硬件設計的知識產權,包括cpu、gpu、dpu等,其次是calyptra提供開源固件來管理硬件。
如果我們看一下固件倉庫,我們可以看到代碼是用Rust編寫的,這一點也不奇怪,微軟已經在另一個專有的Ro實現中使用了Rust,叫做pluton, Azure的CTO也非常直言不諱地說要在云基礎設施中使用Rust而不是C++,谷歌已經使用Rust開發底層的Android軟件。
通過使用Rust,calyptra 顯著減少了內存安全漏洞,旨在創建一個更健壯、更安全、可維護的信任根實現,該項目與增強現代計算機環境安全性的目標非常吻合。
據報道,谷歌和微軟計劃最快在2024年在他們自己的芯片上實現calyptra。AMD的目標是在2026年實現產品集成,這意味著我們可以在未來幾年內在AMD的服務器和消費芯片上看到基于calyptra的安全功能。
現在,當calyptra在計算機芯片安全領域掀起波浪時,rust也獲得了關注。在嵌入式系統的其他領域,特別是汽車行業,梅賽德斯-奔馳、寶馬、豐田、福特、博世和大眾都在使用rust。
在最近一篇關于沃爾沃使用rust的文章中,沃爾沃汽車的一位首席工程師說,他們使用rust來實現ECU芯片的固件。這些芯片是管理汽車電氣系統各個方面的關鍵部件,這不僅僅是一些概念上的證明,這些使用rust開發的芯片的動力汽車已經上路了,沃爾沃的ex90和pstar 3車型就是這些例子。
事實上,嵌入式軟件是rust的核心應用領域之一,Rust在嵌入式系統中的使用會繼續顯著增長。