91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用哪種編程語言寫的應(yīng)用漏洞最嚴重 Java還是Python

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與開發(fā) ? 作者:機器之心 ? 2021-01-06 16:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

靜態(tài)代碼分析安全公司 Veracode 近日發(fā)布了一份應(yīng)用程序分析報告,結(jié)果發(fā)現(xiàn)比起 JavaScript 和 Python 等語言,C++ 和 PHP 的安全漏洞要嚴重得多。

如果你是一位靠 .NET、C++、Java、JavaScript、PHP 或 Python 吃飯的開發(fā)者,那要注意了:一項新研究揭示了這些編程語言的主要安全漏洞。 靜態(tài)代碼分析安全公司 Veracode 近期發(fā)布了這些語言的漏洞類型數(shù)據(jù),這是該公司掃描了 13 萬應(yīng)用程序的安全問題后得到的報告。 該公司調(diào)查了用 .NET、C++、Java、JavaScript、PHP 或 Python 編寫的應(yīng)用程序的漏洞趨勢。這些數(shù)據(jù)整合在 Veracode 的《軟件安全狀態(tài)第 11 卷(State of Software Security Volume 11)》報告中: https://www.veracode.com/sites/default/files/pdf/resources/ipapers/security-flaw-heatmap/index.html。

0028e06c-4fcb-11eb-8b86-12bb97331649.png

005a9c4c-4fcb-11eb-8b86-12bb97331649.png

Veracode 掃描 13 萬個應(yīng)用程序后得到的漏洞類型數(shù)據(jù)。 對于最常用的前端開發(fā)語言 JavaScript,Veracode 發(fā)現(xiàn) 31.5% 的應(yīng)用至少有一個跨站腳本(XSS)漏洞,而用 PHP 寫的應(yīng)用中有 74.6% 至少有一個 XSS 漏洞。此外,71% 的 PHP 應(yīng)用存在加密問題。 對于用 .NET 寫的應(yīng)用,最主要的問題是信息泄露——62.8% 的 .NET 應(yīng)用存在該問題。C++ 應(yīng)用最大的問題是錯誤處理,占到了 66.5%。

至于 Java 應(yīng)用,首要問題是 CRLF 注入(回車或換行注入),占受調(diào)查應(yīng)用的 64.4%。Python 應(yīng)用中最嚴重的安全問題與加密相關(guān),出現(xiàn)在 35% 的受調(diào)查應(yīng)用中。 每種語言的漏洞嚴重性也存在很大差別。Veracode 發(fā)現(xiàn)用 C++ 寫的應(yīng)用中有 59% 存在非常嚴重的漏洞;而對于 PHP,這一數(shù)字為 52%。但是,用 JavaScript 寫的應(yīng)用僅有 9.6% 有非常嚴重的漏洞,Java 應(yīng)用的數(shù)據(jù)為 24%。 Veracode 首席研究官 Chris Eng 解釋了不同語言漏洞趨勢不同的原因,以及如何修復(fù)它們以避免嚴重損失。

「從整體數(shù)據(jù)上看,我們這個行業(yè)過去十年來沒能消除任何一種漏洞類別。」Eng 說,「沒有任何問題完全消失。很多事情都在波動,但看看平均情況,你會發(fā)現(xiàn)相比于其它指標,這些數(shù)據(jù)更能反映語言選擇和語言流行程度的變化。我們看到 C++ 常見的緩存溢出問題有下降的趨勢,但這并不是因為開發(fā)者處理這些問題的能力更強了,而是因為使用 C++ 進行開發(fā)的人變少了?!?/p>

另一方面,影響 JavaScript 和 Python 的問題則有所增長,原因是這兩種語言現(xiàn)在非常流行。在企業(yè)層面上,Java 和 .NET 依然備受歡迎。 PHP 依然是網(wǎng)頁應(yīng)用開發(fā)最常用的腳本語言之一,但 Eng 指出 PHP 漏洞數(shù)量更高的原因是該語言提供了大量不安全的原語以及大量錯誤開發(fā)的方式。

「有些語言會盡力避免開發(fā)者考慮不周而把事情搞砸,.NET 就是其中最早的語言之一。」Eng 解釋說,「相比于使用 PHP,使用 .NET 時,你會發(fā)現(xiàn)大量 API 都有更安全的默認設(shè)置,使得出現(xiàn)跨站腳本錯誤或 SQL 注入錯誤會困難得多。在 PHP 中,這些錯誤幾乎是默認的——除非你剛好在使用一種能為你提供更多保護的更現(xiàn)代框架。使用 PHP 出錯的情況實在太多了?!?/p>

Veracode 在其分析的 JavaScript 應(yīng)用中發(fā)現(xiàn)的漏洞遠遠更少,但即使 JavaScript 有更安全的默認設(shè)置,龐大的 npm 生態(tài)系統(tǒng)中的 JavaScript 和 node.js 開源軟件庫是潛在的薄弱環(huán)節(jié)。 「即使你能修復(fù)自己寫的代碼中的所有漏洞,你使用的第三方軟件庫仍會帶來諸多變數(shù)。」Eng 說,「打補丁實際上并不如你期望的那么好。現(xiàn)在的趨勢是開發(fā)者在需要時才會去下載這些軟件庫的最新版本,然后他們就再也不更新了,除非這個軟件庫又增加了什么新功能。」

工程開發(fā)和產(chǎn)品團隊?wèi)?yīng)該如何降低為關(guān)鍵應(yīng)用程序打補丁的麻煩和成本?Eng 的建議是保持更新并且清晰地跟蹤構(gòu)建應(yīng)用的技術(shù)和安全成本隨時間的變化情況。在某個時間,該應(yīng)用將需要得到修復(fù)或打補丁,其中包括語言更新和關(guān)鍵軟件庫的補丁。

Eng 說:「如果我現(xiàn)在在使用 4.5 版,而 4.6 版已經(jīng)出來了,我可以使用該補丁,同時幾乎不會產(chǎn)生功能方面的影響。開源軟件庫不會在小版本更新中對軟件庫進行重大修改。但如果你現(xiàn)在使用的是 2.0 版,那么你就必須得更新到 4.6 版,這個過程會很痛苦」。 對于使用龐大 npm 生態(tài)系統(tǒng)的 JavaScript 來說,更新軟件庫這個問題可能會更嚴重一點,但 Java 和 Python 都有各自的大型生態(tài)系統(tǒng):Maven 和 PyPI。

Eng 表示 JavaScript 應(yīng)用平均有大約 400 個依賴關(guān)系。如果來看第 90 百分位數(shù)的 JavaScript 應(yīng)用程序,它們的依賴關(guān)系數(shù)量可達 1000 或 2000 個。 應(yīng)用安全公司 Snyk 曾解釋說影響 JavaScript、Ruby、Java、PHP 和 Python 的大多數(shù)安全漏洞都源自項目中加載的主要組件之間的間接依賴關(guān)系。 還有一點,某些 JavaScript 軟件庫非常受歡迎,多達 80%-90% 的 JavaScript 應(yīng)用在使用它們。

Eng 說:「只要這些軟件包中某一個包里有一個漏洞,你就繼承了該風(fēng)險。而且這不只是安全風(fēng)險?!?他指的是 JavaScript 軟件庫 left-pad 曾出現(xiàn)過的情況:2016 年的一場爭吵之后,一個開發(fā)者將該軟件庫移出了 npm。 「它從 GitHub 上消失了,然后突然之間,三分之二的互聯(lián)網(wǎng)崩潰了,因為它們?nèi)家蕾囘@個幾行代碼的軟件庫來確定一個數(shù)是否在左側(cè)填充了零?!?原文鏈接:https://www.zdnet.com/article/programming-language-security-these-are-the-worst-bugs-for-each-top-language/

責(zé)任編輯:xj

原文標題:用哪種編程語言寫的應(yīng)用漏洞最嚴重?

文章出處:【微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    3001

    瀏覽量

    116453
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145636
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97198

原文標題:用哪種編程語言寫的應(yīng)用漏洞最嚴重?

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    汽車網(wǎng)絡(luò)安全開發(fā)語言選型指南:C/C++/Rust/Java等主流語言對比+Perforce QAC/Klocwork工具支持

    汽車網(wǎng)絡(luò)安全如何選編程語言?C、C++、Rust、Java……誰更適合AUTOSAR、ISO/SAE 21434?一文了解8種主流語言的優(yōu)劣與適用場景,以及Perforce QAC/K
    的頭像 發(fā)表于 12-26 11:13 ?442次閱讀
    汽車網(wǎng)絡(luò)安全開發(fā)<b class='flag-5'>語言</b>選型指南:C/C++/Rust/<b class='flag-5'>Java</b>等主流<b class='flag-5'>語言</b>對比+Perforce QAC/Klocwork工具支持

    分析嵌入式軟件代碼的漏洞-代碼注入

    。 雖然這是一個代碼注入安全漏洞,但由于它唯一可能造成的傷害就是可以被用來獲取棧中的數(shù)據(jù),所以它還是可以被原諒的。 可如果位于那里的是敏感數(shù)據(jù)(如密碼或證書密鑰),情況就會變得很糟;而且由于攻擊者還可
    發(fā)表于 12-22 12:53

    Python中借助NVIDIA CUDA Tile簡化GPU編程

    NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 編程模式。它是自 CUDA 發(fā)明以來 GPU 編程最核心的更新之一。借助 GPU tile kernels,可以比 SIMT
    的頭像 發(fā)表于 12-13 10:12 ?1204次閱讀
    在<b class='flag-5'>Python</b>中借助NVIDIA CUDA Tile簡化GPU<b class='flag-5'>編程</b>

    單片機C語言編程的心得

    這個8*8按鍵程序的過程中,不管是在自己還是參考別人程序的過程中,發(fā)現(xiàn)自己對C語言有些基本知識點和編程規(guī)范有很多不懂的地方,有些是自己以
    發(fā)表于 12-08 07:44

    為什么單片機還在用C語言編程?

    說起單片機我們就會想到C語言,單片機為什么還在用C語言編程?現(xiàn)在有很多很好用的高級語言,如VC、PYTHON、PHP等等,為什么這些
    發(fā)表于 11-28 07:37

    2025年最佳的嵌入式編程語言有哪些呢?

    嵌入式系統(tǒng)是現(xiàn)代科技不可或缺的一部分。它們存在于家用電器、汽車、住宅、醫(yī)院、商店等各個領(lǐng)域。它們與我們的社會緊密相連。選擇合適的語言來構(gòu)建嵌入式系統(tǒng)對于成功至關(guān)重要。那么,2025年最佳的嵌入式編程
    的頭像 發(fā)表于 11-14 10:27 ?1434次閱讀
    2025年最佳的嵌入式<b class='flag-5'>編程</b><b class='flag-5'>語言</b>有哪些呢?

    一文了解Mojo編程語言

    Mojo 是一種由 Modular AI 公司開發(fā)的編程語言,旨在將 Python 的易用性與 C 語言的高性能相結(jié)合,特別適合人工智能(AI)、高性能計算(HPC)和系統(tǒng)級
    發(fā)表于 11-07 05:59

    Linux 編程語言盤點:從內(nèi)核到AI的全棧選擇

    在工控圈和嵌入式圈里,有一個常年被討論的問題: ?“在 Linux 上,到底該用什么語言編程?” 有人堅信:C 才是真正的工業(yè)語言。有人反駁:Python 才是效率王者。還有人推崇 G
    的頭像 發(fā)表于 11-06 17:05 ?608次閱讀

    Arm Neoverse CPU上大代碼量Java應(yīng)用的性能測試

    Java 是互聯(lián)網(wǎng)領(lǐng)域廣泛使用的編程語言。Java 應(yīng)用的一些特性使其性能表現(xiàn)與提前編譯的原生應(yīng)用(例如 C 程序)大相徑庭。由于 Java
    的頭像 發(fā)表于 11-05 11:25 ?763次閱讀
    Arm Neoverse CPU上大代碼量<b class='flag-5'>Java</b>應(yīng)用的性能測試

    Python 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴展的商品詳情爬蟲實戰(zhàn)

    一、技術(shù)選型:為什么選 Python 而不是 Java? 結(jié)論: “調(diào)研階段 Python,上線后如果 QPS 爆表再考慮 Java 重構(gòu)
    的頭像 發(fā)表于 10-21 16:59 ?523次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴展的商品詳情爬蟲實戰(zhàn)

    FLASH燒/編程白皮書

    白皮書:如何燒Flash——不同場景不同需求下的選擇認識Flash?NAND vs. NOR如何燒/編程不同方案比較
    發(fā)表于 07-28 16:05 ?0次下載

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言
    的頭像 發(fā)表于 07-24 15:32 ?955次閱讀
    C++ 與 <b class='flag-5'>Python</b>:樹莓派上<b class='flag-5'>哪種</b><b class='flag-5'>語言</b>更優(yōu)?

    跟老齊學(xué)Python:從入門到精通

    礎(chǔ)的學(xué)習(xí)者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學(xué)習(xí)者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲
    發(fā)表于 06-03 16:10

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java語言更少的代碼行。Python
    的頭像 發(fā)表于 03-25 09:27 ?2054次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?

    為什么學(xué)了C語言,卻不出像樣的項目?

    在學(xué)習(xí)編程的路上,C語言幾乎是每個程序員的“必修課”。不管你是打算從事嵌入式開發(fā)、系統(tǒng)編程,還是想要深入理解操作系統(tǒng)的底層原理,C語言都是一
    的頭像 發(fā)表于 03-14 17:37 ?923次閱讀
    為什么學(xué)了C<b class='flag-5'>語言</b>,卻<b class='flag-5'>寫</b>不出像樣的項目?