編程語言安全漏洞:C++、PHP、Java、Python、.Net 和 JavaScript
在當(dāng)下的市場(chǎng)環(huán)境中,除了掌握困擾軟件的最常見安全問題外,開發(fā)人員還應(yīng)該了解到底是什么問題在影響他們正在使用的編程語言。靜態(tài)代碼分析安全公司 Veracode 最近發(fā)布了一份年度軟件安全狀態(tài)(SOSS)報(bào)告,其中的第 11 卷則揭示了用 .NET、C++、Java、JavaScript、PHP 或 Python 編寫的應(yīng)用程序中所存在的主要安全漏洞類型(基于掃描的 13 萬個(gè)應(yīng)用程序)。
Veracode 的高級(jí)內(nèi)容營銷經(jīng)理 Meghan McBee 稱,“在你坐下來編寫代碼之前,了解這些應(yīng)用程序的安全趨勢(shì)意味著你準(zhǔn)備好快速修復(fù)它們,或者甚至是完全阻止它們。如果你選擇的是 C++、PHP、.Net 或 Java 語言,請(qǐng)注意,它們很容易出現(xiàn)一些風(fēng)險(xiǎn)最高的漏洞。實(shí)際上,高達(dá) 59% 的 C++ 應(yīng)用具有嚴(yán)重程度非常高的缺陷,PHP 則緊隨其后。”
Veracode 發(fā)現(xiàn),用 JavaScript 編寫的應(yīng)用中,有 31.5% 的應(yīng)用至少存在一個(gè)跨站腳本(XSS)缺陷;用 PHP 編寫的應(yīng)用中,有 74.6% 的應(yīng)用至少存在一個(gè) XSS 缺陷。此外,還有 71% 的 PHP 應(yīng)用存在加密問題。
用 .NET 編寫的應(yīng)用程序中存在的主要問題是信息泄露,占比 62.8%;其他還包括有代碼質(zhì)量(53.6%)、輸入驗(yàn)證不足(48.8%)等。C++ 的問題有:錯(cuò)誤處理(66.5%)、緩沖區(qū)管理錯(cuò)誤(46.8%)、數(shù)值錯(cuò)誤(45.8%)、目錄遍歷等。
Java 的問題包括:CRLF 注入(64.4%)、代碼質(zhì)量(54.3%)以及信息泄露(51.9%)等。而對(duì)于 Python apps,其中發(fā)現(xiàn)的主要問題則與加密有關(guān),占比 35%。
值得注意的是,在每種語言的應(yīng)用程序中發(fā)現(xiàn)的缺陷的嚴(yán)重性也有很大的區(qū)別。Veracode 發(fā)現(xiàn),有 59% 用 C++ 編寫的應(yīng)用程序和 52% 用 PHP 編寫的應(yīng)用程序存在高嚴(yán)重性缺陷。用 JavaScript 編寫的應(yīng)用程序中,只有 9.6% 存在高嚴(yán)重性缺陷。Java 的高嚴(yán)重性缺陷數(shù)據(jù)則為 24%。
針對(duì)這些數(shù)據(jù),Veracode 首席研究官 Chris Eng 分別作出了解讀。他指出,例如,C++ 中常見的緩沖區(qū)溢出問題出現(xiàn)了下降的趨勢(shì),這并不是因?yàn)殚_發(fā)者的進(jìn)步,而是在于 C++ 的流行度的下降。另一方面,受語言流行度上升的影響,影響 JavaScript 和 Python 的問題則正在一點(diǎn)點(diǎn)爬升。
Java 和 .NET 在企業(yè)中仍然很受歡迎,PHP 也仍然是 Web 應(yīng)用開發(fā)中最受歡迎的腳本語言之一。Eng 認(rèn)為,PHP 代碼中的漏洞較多的原因主要在于,該語言提供了很多不安全的 primitives 和錯(cuò)誤地處理方法 。
而相較之下,盡管 JavaScript 應(yīng)用中發(fā)現(xiàn)的缺陷較少,但 JavaScript 和 node.js 開源庫的龐大 npm 生態(tài)系統(tǒng)仍是其一個(gè)潛在的弱點(diǎn)。Eng 建議工程和產(chǎn)品團(tuán)隊(duì)保持更新,以降低打補(bǔ)丁的麻煩程度和關(guān)鍵應(yīng)用的成本。
此外,應(yīng)用程序安全公司 Snyk 此前則發(fā)表觀點(diǎn)稱,影響 JavaScript、Ruby、Java、PHP 和 Python 的大多數(shù)安全漏洞是由于項(xiàng)目?jī)?nèi)部加載的主要組件之間的間接依賴性引起的。
報(bào)告詳情可查看:https://www.veracode.com/sites/default/files/pdf/resources/ipapers/security-flaw-heatmap/index.html
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Rust 語言 2020 調(diào)查報(bào)告發(fā)布:“Rust 太難,生命周期更難”
本文地址:https://www.oschina.net/news/123780/rust-survey-2020