security

因潛在 記憶體 存取 漏洞 ,拜登政府呼籲開發人員採用 記憶體 安全的程式語言,並遠離會導致緩衝區溢位和其他 記憶體 存取 漏洞 的程式語言。

美國總統喬·拜登的政府希望軟體開發人員使用 記憶體 安全的程式語言,並放棄 C 和 C++ 等容易出現 漏洞 的語言。白宮國家網路主管辦公室 (ONCD) 在2月26日發布的一份報告中呼籲開發人員使用沒有 記憶體 安全 漏洞 的程式語言,以降低網路攻擊的風險。白宮在新聞稿中表示,科技公司「可以透過採用 記憶體 安全的程式語言,防止整個類別的 漏洞 進入數位生態系統」。

記憶體 安全的程式語言可以防止與 記憶體 存取相關的軟體錯誤和 漏洞 ,包括緩衝區溢位、超出邊界的讀取和 記憶體 洩漏。微軟和 Google 最近的研究發現,約 70% 的所有安全 漏洞 是由 記憶體 安全問題造成的。

ONCD 發布的這份 19 頁報告舉例說明了 C 和 C++ 是具有 記憶體 安全 漏洞 的程式語言,並將 Rust 命名為它認為安全的程式語言範例。此外,美國國家安全局 (NSA) 在 2022 年 11 月發布的一份網路安全資訊表中,除了 Rust 之外,還列出了 C#、Go、Java、Ruby 和 Swift 等程式語言,並認為這些語言具有 記憶體 安全性。

美國網路安全和基礎設施安全局也在 9 月的部落格文章中敦促開發人員使用 記憶體 安全的程式語言。美國國土安全調查局 (CISA)、聯邦調查局 (FBI)、美國國家安全局和盟國機構也在 12 月發布了「 記憶體 安全路線圖的案例」報告。

根據 Statista 的資料,截至 2023 年,約有 22% 的軟體程式設計師使用 C++,19% 使用 C,這使得它們不如 JavaScript、Python、Java 和其他一些程式語言受歡迎。但 TIOBE 程式設計社群指數只將 Python 排名更高,其次是 C、C++ 和 Java。

然而,格羅斯曼表示,特別是在嵌入式系統中,放棄 C 和 C++ 並不會在一夜之間發生。「但其他語言在系統軟體中的使用,尤其是 Rust,已經顯著增加,而且我認為許多人預期這種演進會加速,而不是 C 和 C++ 的開發會單純停止,這似乎仍難以想像。」

網路安全研究小組執行董事兼共同創辦人喬許·阿斯補充說,放棄 C 和 C++ 將是一個「漫長而艱難的過程」。「改變人們思考事物的觀念需要持續的努力,而像這樣的溝通有助於讓人們牢記安全問題。」

阿斯表示,為了讓改變發生,政府和私部門需要共同努力,將安全程式碼視為優先事項。