ISRG宣布用Rust重寫Apache httpd服務器主程序以提升內存安全性
作為Let’s Encrypt加密倡議的發起者之一,互聯網安全研究小組(簡稱ISRG)剛剛宣布——他們將通過把核心組件從C逐步遷移至Rust來修復安全問題,從而使Apache HTTP服務器的httpd主程序變得更加穩固。初期工作包括使用Rustles庫取代OpenSSL,為httpd重寫一個新的TLS模塊(稱作mod-tls)。
ISRG 的Josh Aas 表示,他希望重寫的mod_tls 能夠在有朝一日取代當前被httpd 默認使用的mod_ssl 。
目前他們已經收到了谷歌提供的一筆資金,與httpd 提交者Stefan Eissing 完成了簽約,後續將通過Rust 來重寫新模塊。
考慮到每天都有數以億計的網站在使用httpd 來滿足各項需求,ISRG 希望通過修復和改進安全性,進而對業界產生廣泛而重要的影響。
此前影響httpd 的問題類型,多見於使用C 語言編程引發的內存安全性問題。然而經歷十年的發展,Rust 編程語言已經變得相當成熟,且默認情況下僅允許編譯內存安全型的應用程序。
Josh Aas 在評論C 和Rust 的優缺點時稱,通過使用Rust 來編寫httpd 組件,可以消除大量的安全漏洞。
儘管當前全世界的網絡上已經部署了數百萬行的C 語言代碼來處理標準請求,但我們有足夠證據表明這種行為是不夠安全的。
全行業需要意識到,繼續部署這種網絡流量處理代碼,是危險且不負責任的。人們需要能夠滿足其需求的內存安全型軟件,而這也是ISRG 新工作的主要推動力。
另一方面,Apache httpd 創始人之一的Brian Behlendorf 也對此發表了評論:
自Apache httpd 誕生26 年以來,其在基礎架構中仍扮演著一個至關重要的角色。
作為初始聯合開發者之一,我意識到這項重大改進可對許多人提供保護,並且能夠讓httpd 在不久的將來繼續發光發熱。
最後,通過確保更多站點向用戶提供更安全的HTTPS 連接,ISRG 的Let’s Encrypt 項目已經對互聯網產生了巨大的影響。