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