微软计划将 Rust 作为 C 和 C++ 的安全替代品
微軟正在探索使用 Rust 編程語言作為 C、C++ 和其他語言的替代方案,以此來改善應(yīng)用程序的安全狀況。
自 2004 年以來,微軟安全響應(yīng)中心(MSRC)已對(duì)所有報(bào)告過的微軟安全漏洞進(jìn)行了分類。根據(jù)他們提供的數(shù)據(jù),所有微軟年度補(bǔ)丁中約有 70%是針對(duì)內(nèi)存安全漏洞的修復(fù)程序。
微軟每年約有 70% 的漏洞仍然是內(nèi)存安全問題
這樣高的百分比是因?yàn)?Windows 和大多數(shù)其他微軟產(chǎn)品主要使用 C 和 C++ 編寫,這兩種“內(nèi)存不安全”(memory-unsafe)的編程語言允許開發(fā)人員對(duì)內(nèi)存地址進(jìn)行細(xì)粒度控制,并且可以執(zhí)行代碼。管理內(nèi)存執(zhí)行的開發(fā)人員代碼中的一個(gè)漏洞可能導(dǎo)致一系列內(nèi)存安全錯(cuò)誤,攻擊者可以利用這些錯(cuò)誤帶來危險(xiǎn)和侵入性后果,例如遠(yuǎn)程代碼執(zhí)行或特權(quán)提升漏洞。
于是,探索使用諸如 Rust 之類的內(nèi)存安全(memory-safe)語言被提上日程,這或?qū)⒊蔀閯?chuàng)建更安全的微軟應(yīng)用程序的替代方法。
Rust 最初是 Mozilla 的一個(gè)研究項(xiàng)目,用于更安全、更快速地重寫 Firefox 瀏覽器。最近,Brave 瀏覽器還用 Rust 版本替換了原先用 C++ 編寫的廣告攔截組件。2019 年的 StackOverflow開發(fā)者調(diào)查顯示,Rust 已連續(xù)四年蟬聯(lián)“最受開發(fā)者喜愛的編程語言”。開發(fā)人員喜歡它,因?yàn)樗恼Z法更簡單,并且使用 Rust 編寫的應(yīng)用程序 bug 更少,因此開發(fā)人員可以專注于擴(kuò)展他們的應(yīng)用程序,而不是進(jìn)行持續(xù)的維護(hù)工作。
MSRC 首席安全工程經(jīng)理 Gavin Thomas 建議第三方開發(fā)人員也應(yīng)該研究內(nèi)存安全語言,他列舉了一些原因,例如開發(fā)人員花時(shí)間和精力學(xué)習(xí)如何調(diào)試 C++ 應(yīng)用程序中出現(xiàn)的與內(nèi)存相關(guān)的安全漏洞。但這顯然是不合適的,“開發(fā)人員的核心工作不是擔(dān)心安全性,而是要做功能開發(fā)”,Thomas 提出疑問,“為什么不在一開始就將內(nèi)存安全問題引入開發(fā)語言呢?”
為此,他呼吁:“如果這個(gè)行業(yè)真正關(guān)心安全,應(yīng)該專注于開發(fā)人員的工具,而不應(yīng)當(dāng)被所有安全設(shè)備和過時(shí)的方法弄傻眼。我們首先得努力防止開發(fā)人員陷入缺陷,而不是提供解決缺陷的指導(dǎo)和工具。”
MSRC 官方博客原文:https://msrc-blog.microsoft.com/2019/07/16/a-proactive-approach-to-more-secure-code/
總結(jié)
以上是生活随笔為你收集整理的微软计划将 Rust 作为 C 和 C++ 的安全替代品的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京都动画大火,苹果CEO库克悼念:一场远
- 下一篇: 人类为什么要睡觉 科学家至今没有找到确切