压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

買bug送軟件:四大最危險編程語言

上周,第三方漏洞收購平臺Zerodium宣布未來2-3月暫停收購iOS漏洞,因為短期內提交的iOS漏洞利用程序太多。這條新聞讓很多安全人士感到詫異,畢竟,iOS的安全性曾經是蘋果公司引以為傲的最大賣點之一,5年前iOS的零日漏洞售價動輒高達百萬美元,但近年Android系統安全性不斷提升,漏洞價格也反超了iOS,如今Android零點擊漏洞(無需用戶交互便可利用)價格已經飆升至250萬美元,而iOS的類似漏洞價格“只有”200萬美元。

除去谷歌和蘋果公司在應用安全領域的投入和關注度等因素,還有一個導致iOS漏洞大面積爆發,安全性被Android逆襲的深層次原因,那就是編程語言平臺和開源程序庫的安全性問題。

Bug之王

根據Veracode最新發布的年度軟件安全現狀報告,全球所有應用軟件中,70%都包含至少一個開源代碼庫導致的安全缺陷/漏洞,其中Swift代碼庫的軟件缺陷密度(每個代碼庫的缺陷數量)已經超過了web安全人士的“衣食父母”——PHP。(下圖)

Veracode的軟件安全狀況報告指出,這些開源庫(免費的集中式代碼存儲庫,為開發人員提供現成的應用程序“構建塊”)不僅無處不在,而且存在風險。

分析檢查了85,000個應用程序中的351,000個外部庫,發現開源庫非常普遍。例如,大多數JavaScript應用程序包含數百個開源庫,有些甚至包含1000多個不同的庫。此外,大多數語言都具有相同的核心庫集。

報告說:

特別是JavaScript和PHP,幾乎在每個應用程序中都有幾個核心庫。

與其他軟件一樣,這些庫也有bug。問題在于,由于代碼復用,單個bug可能會影響數百個應用程序。

Veracode表示:

在當今幾乎所有應用程序中,開源庫都很重要,它使開發人員可以通過快速添加基本功能來加快開發進度。實際上,如果沒有這些庫,使用軟件進行創新幾乎是不可能的。但是,缺乏如何正確使用開源庫及必要的風險意識已經成為一個嚴重的問題。

四大最危險語言

根據報告,開源代碼庫中bug最多的四個主要語言是:Swift、.NET、Go和PHP(上圖)。

其中Swift的bug密度(7個)高居榜首,而PHP漏洞則分布最廣(覆蓋近60%的代碼庫)。由于Swift是Apple生態系統的專業開發語言,因此雖然其bug密度很高,但是分布并不算廣泛。

.NET的bug分布百分比在這四個庫中最低(不到10%),但其代碼庫的數量是Swift的17倍以上。

Go包含bug的庫比例很高,接近PHP,但是平均每個代碼庫的bug總數較低。與Go相比,PHP的每代碼庫bug數量更高(6.5),bug密度是后者的兩倍。

不過在可利用PoC數量上,Swift的表現不算最糟糕,PHP依然是無可爭議的“王者”:

最好的防御:及時更新

報告還發現跨站點腳本(XSS)是開源庫中最常見的漏洞類別,占比接近30%其次是不安全的反序列化(23.5%)和訪問控制入侵(20.3%),如下圖所示:

不安全的反序列化(Insecure Deserialization)過去是自主開發應用程序中相對罕見的缺陷,其排名快速上升令人不安,因為這類缺陷可能導致執行意外的代碼路徑,這意味著我們不打算使用的庫的某些部分也可能會插入到其應用程序的執行路徑中。

數據還顯示,由于級聯的相互依賴關系,大多數有缺陷的庫最終都以代碼形式間接存在,因為開發人員使用的開源庫庫很可能調用了另一個開源庫的代碼。

應用程序中47%的有缺陷庫都是可傳遞的,換句話說,它們不是由開發人員直接引入的,而是由第一個被調用的庫引入的(42%被直接引入,12%被間接引入)。這意味著開發人員正在引入比預期更多的代碼,而且常常是有bug的代碼。

好消息是,大多數最嚴重的程序漏洞和bug都可通過更新解決(下圖)。

僅通過較小的版本更新就可以解決應用程序中大多數被引入的bug(將近75%);根據Veracode報告,bug修補通常不需要對主程序庫進行升級,而且超過90%的OWASP TOP 10榜單中最嚴重的bug,今天都有可用補丁或更新。

參考資料

Veracode開源軟件安全現狀報告:

https://www.veracode.com/sites/default/files/pdf/resources/reports/state-of-software-security-open-source-edition-veracode-report.pdf

上一篇:【兩會提案】關于推動人工智能賦能工業互聯網安全發展的提案

下一篇:23%的跨國銀行數據庫暴露,存在數據泄露風險