蜜桃精品成人影片_99热在线精品免费_日韩亚洲中字无码一区二区三区_亚洲中文字幕久久精品无码一区

您現(xiàn)在所在的位置:首頁(yè) >常見問題 > 課程問題 > 用哪種語(yǔ)言寫的應(yīng)用漏洞最嚴(yán)重?

用哪種語(yǔ)言寫的應(yīng)用漏洞最嚴(yán)重?

來(lái)源:奇酷教育 發(fā)表于:

用哪種語(yǔ)言寫的應(yīng)用漏洞最嚴(yán)重?六大主流語(yǔ)言代碼漏洞分析報(bào)告出爐!

  靜態(tài)代碼分析安全公司 Veracode 近日發(fā)布了一份應(yīng)用程序分析報(bào)告,結(jié)果發(fā)現(xiàn)比起 JavaScript 和 Python 等語(yǔ)言,C++ 和 PHP 的安全漏洞要嚴(yán)重得多。
 
  用那種語(yǔ)言寫的應(yīng)用漏洞最嚴(yán)重?
 
  如果你是一位靠 .NET、C++、Java、JavaScript、PHP 或 Python 吃飯的開發(fā)者,那要注意了:一項(xiàng)新研究揭示了這些編程語(yǔ)言的主要安全漏洞。
 
  靜態(tài)代碼分析安全公司 Veracode 近期發(fā)布了這些語(yǔ)言的漏洞類型數(shù)據(jù),這是該公司掃描了 13 萬(wàn)應(yīng)用程序的安全問題后得到的報(bào)告。
 
  該公司調(diào)查了用 .NET、C++、Java、JavaScript、PHP 或 Python 編寫的應(yīng)用程序的漏洞趨勢(shì)。這些數(shù)據(jù)整合在 Veracode 的《軟件安全狀態(tài)第 11 卷(State of Software Security Volume 11)》報(bào)告中:
 
  https://www.veracode.com/sites/default/files/pdf/resources/ipapers/security-flaw-heatmap/index.html。
 
  Veracode 掃描 13 萬(wàn)個(gè)應(yīng)用程序后得到的漏洞類型數(shù)據(jù)。
 
  對(duì)于最常用的前端開發(fā)語(yǔ)言 JavaScript,Veracode 發(fā)現(xiàn) 31.5% 的應(yīng)用至少有一個(gè)跨站腳本(XSS)漏洞,而用 PHP 寫的應(yīng)用中有 74.6% 至少有一個(gè) XSS 漏洞。此外,71% 的 PHP 應(yīng)用存在加密問題。
 
  對(duì)于用 .NET 寫的應(yīng)用,最主要的問題是信息泄露——62.8% 的 .NET 應(yīng)用存在該問題。C++ 應(yīng)用最大的問題是錯(cuò)誤處理,占到了 66.5%。
 
  至于 Java 應(yīng)用,首要問題是 CRLF 注入(回車或換行注入),占受調(diào)查應(yīng)用的 64.4%。Python 應(yīng)用中最嚴(yán)重的安全問題與加密相關(guān),出現(xiàn)在 35% 的受調(diào)查應(yīng)用中。
 
  每種語(yǔ)言的漏洞嚴(yán)重性也存在很大差別。Veracode 發(fā)現(xiàn)用 C++ 寫的應(yīng)用中有 59% 存在非常嚴(yán)重的漏洞;而對(duì)于 PHP,這一數(shù)字為 52%。但是,用 JavaScript 寫的應(yīng)用僅有 9.6% 有非常嚴(yán)重的漏洞,Java 應(yīng)用的數(shù)據(jù)為 24%。
 
  Veracode 首席研究官 Chris Eng 解釋了不同語(yǔ)言漏洞趨勢(shì)不同的原因,以及如何修復(fù)它們以避免嚴(yán)重?fù)p失。
 
  「從整體數(shù)據(jù)上看,我們這個(gè)行業(yè)過去十年來(lái)沒能消除任何一種漏洞類別?!笶ng 說,「沒有任何問題完全消失。很多事情都在波動(dòng),但看看平均情況,你會(huì)發(fā)現(xiàn)相比于其它指標(biāo),這些數(shù)據(jù)更能反映語(yǔ)言選擇和語(yǔ)言流行程度的變化。我們看到 C++ 常見的緩存溢出問題有下降的趨勢(shì),但這并不是因?yàn)殚_發(fā)者處理這些問題的能力更強(qiáng)了,而是因?yàn)槭褂?C++ 進(jìn)行開發(fā)的人變少了。」
 
  另一方面,影響 JavaScript 和 Python 的問題則有所增長(zhǎng),原因是這兩種語(yǔ)言現(xiàn)在非常流行。在企業(yè)層面上,Java 和 .NET 依然備受歡迎。
 
  PHP 依然是網(wǎng)頁(yè)應(yīng)用開發(fā)最常用的腳本語(yǔ)言之一,但 Eng 指出 PHP 漏洞數(shù)量更高的原因是該語(yǔ)言提供了大量不安全的原語(yǔ)以及大量錯(cuò)誤開發(fā)的方式。
 
  「有些語(yǔ)言會(huì)盡力避免開發(fā)者考慮不周而把事情搞砸,.NET 就是其中最早的語(yǔ)言之一?!笶ng 解釋說,「相比于使用 PHP,使用 .NET 時(shí),你會(huì)發(fā)現(xiàn)大量 API 都有更安全的默認(rèn)設(shè)置,使得出現(xiàn)跨站腳本錯(cuò)誤或 SQL 注入錯(cuò)誤會(huì)困難得多。在 PHP 中,這些錯(cuò)誤幾乎是默認(rèn)的——除非你剛好在使用一種能為你提供更多保護(hù)的更現(xiàn)代框架。使用 PHP 出錯(cuò)的情況實(shí)在太多了。」
 
  Veracode 在其分析的 JavaScript 應(yīng)用中發(fā)現(xiàn)的漏洞遠(yuǎn)遠(yuǎn)更少,但即使 JavaScript 有更安全的默認(rèn)設(shè)置,龐大的 npm 生態(tài)系統(tǒng)中的 JavaScript 和 node.js 開源軟件庫(kù)是潛在的薄弱環(huán)節(jié)。
 
  「即使你能修復(fù)自己寫的代碼中的所有漏洞,你使用的第三方軟件庫(kù)仍會(huì)帶來(lái)諸多變數(shù)?!笶ng 說,「打補(bǔ)丁實(shí)際上并不如你期望的那么好。現(xiàn)在的趨勢(shì)是開發(fā)者在需要時(shí)才會(huì)去下載這些軟件庫(kù)的最新版本,然后他們就再也不更新了,除非這個(gè)軟件庫(kù)又增加了什么新功能。」
 
  工程開發(fā)和產(chǎn)品團(tuán)隊(duì)?wèi)?yīng)該如何降低為關(guān)鍵應(yīng)用程序打補(bǔ)丁的麻煩和成本?Eng 的建議是保持更新并且清晰地跟蹤構(gòu)建應(yīng)用的技術(shù)和安全成本隨時(shí)間的變化情況。在某個(gè)時(shí)間,該應(yīng)用將需要得到修復(fù)或打補(bǔ)丁,其中包括語(yǔ)言更新和關(guān)鍵軟件庫(kù)的補(bǔ)丁。
 
  Eng 說:「如果我現(xiàn)在在使用 4.5 版,而 4.6 版已經(jīng)出來(lái)了,我可以使用該補(bǔ)丁,同時(shí)幾乎不會(huì)產(chǎn)生功能方面的影響。開源軟件庫(kù)不會(huì)在小版本更新中對(duì)軟件庫(kù)進(jìn)行重大修改。但如果你現(xiàn)在使用的是 2.0 版,那么你就必須得更新到 4.6 版,這個(gè)過程會(huì)很痛苦」。
 
  對(duì)于使用龐大 npm 生態(tài)系統(tǒng)的 JavaScript 來(lái)說,更新軟件庫(kù)這個(gè)問題可能會(huì)更嚴(yán)重一點(diǎn),但 Java 和 Python 都有各自的大型生態(tài)系統(tǒng):Maven 和 PyPI。
 
  Eng 表示 JavaScript 應(yīng)用平均有大約 400 個(gè)依賴關(guān)系。如果來(lái)看第 90 百分位數(shù)的 JavaScript 應(yīng)用程序,它們的依賴關(guān)系數(shù)量可達(dá) 1000 或 2000 個(gè)。
 
  應(yīng)用安全公司 Snyk 曾解釋說影響 JavaScript、Ruby、Java、PHP 和 Python 的大多數(shù)安全漏洞都源自項(xiàng)目中加載的主要組件之間的間接依賴關(guān)系。
 
  還有一點(diǎn),某些 JavaScript 軟件庫(kù)非常受歡迎,多達(dá) 80%-90% 的 JavaScript 應(yīng)用在使用它們。
 
  Eng 說:「只要這些軟件包中某一個(gè)包里有一個(gè)漏洞,你就繼承了該風(fēng)險(xiǎn)。而且這不只是安全風(fēng)險(xiǎn)?!?/div>
 
  他指的是 JavaScript 軟件庫(kù) left-pad 曾出現(xiàn)過的情況:2016 年的一場(chǎng)爭(zhēng)吵之后,一個(gè)開發(fā)者將該軟件庫(kù)移出了 npm。
 
  「它從 GitHub 上消失了,然后突然之間,三分之二的互聯(lián)網(wǎng)崩潰了,因?yàn)樗鼈內(nèi)家蕾囘@個(gè)幾行代碼的軟件庫(kù)來(lái)確定一個(gè)數(shù)是否在左側(cè)填充了零。」
 
  原文鏈接:https://www.zdnet.com/article/programming-language-security-these-are-the-worst-bugs-for-each-top-language/
巴林左旗| 西安市| 鄂伦春自治旗| 南华县| 屏东县| 武安市| 社旗县| 滦南县| 永胜县| 七台河市| 麻栗坡县| 西宁市| 宁德市| 宁乡县| 潮州市| 从江县| 贡觉县| 永修县| 乌兰察布市| 内丘县| 崇义县| 佳木斯市| 视频| 孟村| 张家口市| 平定县| 海城市| 衡南县| 兴宁市| 同德县| 剑川县| 博野县| 雷山县| 商南县| 长沙市| 临澧县| 师宗县| 高州市| 铁岭县| 平罗县| 通州区|