AWS(Amazon Web Services)與Rust基金會周三(11/20)共同發動一項新競賽,期望號召社群的力量來驗證Rust標準函式庫的安全性。

Rust為一通用程式語言,強調效能、類型安全與並行性,它強制執行記憶體安全,並被廣泛應用在嵌入式作業系統、網路服務及區塊鏈專案上,多次在Stack Overflow的開發者調查中獲選為「最愛程式語言」。

儘管Rust語言以安全性著稱,但開發者可透過unsafe宣告來繞過安全機制,以執行作業系統等級的功能調用或記憶體操作等低階或高效能任務,同時在官方文件中提醒開發者要小心使用unsafe。

AWS表示,由core、alloc與std等套件組成的Rust標準函式庫,替開發者提供了許多常用的功能,這些功能在外部看起來是安全的,但它們在內部可能使用了unsafe區塊來實現一些低階的高效能操作或硬體互動,而且並未經過真正的安全驗證。

因此,AWS與Rust基金會共同推出一系列的挑戰賽,專注於驗證記憶體安全,以及Rust標準函式庫中未定義行為的子集,參與者可以透過指定合約、驗證函式庫元件,或是開發新的驗證工具來作出貢獻,而且每一項成功的挑戰都可獲得獎勵。此一活動的最終目標,是要讓驗證成為Rust語言持續整合過程中不可或缺的一部分。

目前Rust標準函式庫總計包含約3.5萬個函式,當中有7,500個為標記為unsafe的不安全函式,另有3,000個為封裝unsafe操作的安全抽象函式。

過去3年來,Rust標準函式庫報告了57個健全性問題,以及20個CVE漏洞編號,其中有28%的健全性問題是在今年被發現的,意謂著標準函式庫的變化愈來愈快,健全性問題也隨之增加,而且基於Rust的產品或服務中,有超過9成都仰賴其標準函式庫,顯現其重要性。

熱門新聞

Advertisement