安全漏洞已經成為讓科技企業做頭痛的難題,而谷歌方面也是受到安全漏洞不小的影響,現在谷歌正打算對這些漏洞進行全面的整治。
就在不久之前,Google有工程師統計了2015年以來谷歌修復的900多個安全錯誤,並表示,現在Chrome代碼庫中所有嚴重的安全漏洞,70%都是內存管理的安全漏洞,50%的內存漏洞是use-after-free漏洞,因為對內存指針的錯誤管理,給予了攻擊者攻擊 Chrome 內部組件的機會。
緊接着,微軟的工程師也對外宣稱,微軟過去12年的安全更新,大概70%都是在解決內存安全漏洞。谷歌和微軟在安全漏洞上的數據出奇的相似。
出現這些內存安全漏洞的原因正是因為編程語言的問題,谷歌和微軟所使用的主要編程語言都是C和C ,這種編程語言出現的時間很早,已經有很多年的歷史,大多數早期開發人員也沒有考慮到相關的安全問題,導致現在內存管理出現錯誤時,也不會發出警告或者提示使用者。
為了解決這些問題,Google 內部提出新的The Rule Of 2原則,為了保證安全性,程序員不能破壞兩個以上的條件,一個是non-trivial 的語法和不安全的來源,另一個就是缺乏內存安全性的語言,像C、C 、彙編語言等。這也就意味着,谷歌內部為了系統的安全性,將不會再使用這些原始的編程語言,而是採用更加安全的語言,比如Go、Rust、Python、Java、JavaScript、Kotlin 和 Swift 等。
Google方面對此表示,將開發自定義C 庫,與Chrome代碼庫配合使用,以便更好地處理與內存相關的錯誤,並且計劃探索使用內存安全的編程語言,包括Rust、Swift、JavaScript、Kotlin和Java。
需要注意的是,谷歌和微軟的很多軟件都是用的原始的語言進行編程的,所以如果想要把這些軟件全部替換為內存安全語言的話,需要花費大量的人力物力,這對企業來説也是一個新的負擔,但是對於即將研發的全新項目來説,則可以使用更加安全的語言,所以目前對谷歌和微軟以及大部分的科技企業來説,即便想要更加安全的內存服務,也需要繼續使用C、C ,畢竟全部更換太不現實了。