開源軟件安全現(xiàn)狀及其漏洞掃描工具(開源的漏洞掃描工具)

      網(wǎng)友投稿 4138 2022-05-30

      最近接到一個(gè)需求,要求研究一下開源軟件安全漏洞掃描的問題,這篇文章來談一談這個(gè)問題。

      1 開源軟件安全現(xiàn)狀

      有人做過這么一個(gè)統(tǒng)計(jì),90%以上的應(yīng)用都在使用第三方的程序庫,這些程序庫大部分都是開源的。

      與此同時(shí),有超過一半的全球500強(qiáng)公司都在使用存在漏洞的開源軟件。

      在當(dāng)前的軟件開發(fā)環(huán)境當(dāng)中,為了節(jié)省時(shí)間和效率,我們在項(xiàng)目中大量的使用開源的組件,這些組件由開源社區(qū)的程序員來開發(fā),但是這些程序員對(duì)安全方面的了解幾乎為0。

      那可想而知,當(dāng)我們在使用這些開源軟件件的時(shí)候,面臨著多大的風(fēng)險(xiǎn)。

      另一種情況我們不得不承認(rèn)開源軟件的強(qiáng)大性,全世界最好的程序員都在使用開源軟件,因此我們無法停止使用開源軟件件。

      基于此,我們的當(dāng)務(wù)之急是重視開源軟件安全漏洞方面的研究。

      當(dāng)前業(yè)界依然認(rèn)為開源軟件是相對(duì)安全的,我們經(jīng)常說的那句話, 暴露在大庭廣眾之下, 所有的問題都是可見的。

      2 開源軟件漏洞掃描工具

      很多公司經(jīng)常搜索像cve(http://www.cvedetails.com/)和nvd(https://nvd.nist.gov/)漏洞數(shù)據(jù)庫來搜索漏洞信息,但是這些資源對(duì)于開源軟件的漏洞信息收集的比較少。這是因?yàn)殚_源軟件使用的范圍如此之廣, 以至于追蹤它們非常的困難。

      事實(shí)上,開源軟件生態(tài)系統(tǒng)比我們想象的要脆弱的多,這一點(diǎn)讓我們不得不感到恐懼。

      近些年來涌現(xiàn)出大量的開源或者商業(yè)類工具來解決這樣的問題。每個(gè)工具解決問題的方式各有優(yōu)勢。現(xiàn)在將這些工具列舉如下:

      2.1? Node Security Project (NSP)

      https://nodesecurity.io/

      NSP以其在Node.js模塊和NPM依賴關(guān)系方面的工作而聞名。它還提供了掃描依賴關(guān)系和使用公共漏洞數(shù)據(jù)庫(如NIST國家漏洞數(shù)據(jù)庫(NVD))等公共漏洞數(shù)據(jù)庫以及它自己的數(shù)據(jù)庫的工具,這些工具可以掃描依賴關(guān)系并找到漏洞,而這些數(shù)據(jù)庫是它根據(jù)對(duì)NPM模塊的掃描結(jié)果建立的。

      來自NSP的Adam Baldwin對(duì)自己的產(chǎn)品很有信息,并且展望了一下未來,他認(rèn)為依賴安全檢測會(huì)稱為軟件開發(fā)流程的一部分。"很快你會(huì)看到我們的一些產(chǎn)品,包括持續(xù)的安全監(jiān)控,與GitHub(和其他產(chǎn)品)的集成,依靠這些集成,你可以在軟件開發(fā)周期中對(duì)相關(guān)的領(lǐng)域添加安全監(jiān)控、檢測、警報(bào)和補(bǔ)救。"

      2.2? RetireJS

      http://retirejs.github.io/retire.js/

      RetireJS是一個(gè)開源的工具,特別用于JavaScript程序的依賴檢查。它包含如下組件: 一個(gè)命令行掃描器以及Grunt、Gulp、Chrome、Firefox、ZAP和Burp的插件。

      RetireJS還做了一個(gè)站點(diǎn)檢查服務(wù),以供那些想找出自己使用的JavaScript庫是否存在已知漏洞的JS開發(fā)者使用。

      RetireJS從NIST NVD以及其他許多其他來源獲取漏洞信息,信息途徑包括郵件列表、錯(cuò)誤跟蹤系統(tǒng)和流行的JavaScript項(xiàng)目的博客。

      2.3? OSSIndex

      https://ossindex.net/

      OSSIndex 支持多種技術(shù)平臺(tái)的掃描。它從NPM、Nuget、Maven Central Repository、Bower、Chocolatey和MSI中提取依賴信息,它覆蓋了JavaScript、.NET/C#和Java生態(tài)系統(tǒng)。

      OSSIndex還免費(fèi)提供了一個(gè)漏洞API。

      OSSIndex目前從NIST的NVD中獲取漏洞信息。OSSIndex的Ken Duck計(jì)劃在不久的將來,可以從一些關(guān)鍵的郵件列表、數(shù)據(jù)庫和錯(cuò)誤跟蹤系統(tǒng)中自動(dòng)導(dǎo)入漏洞信息。

      2.4? Dependency-check

      https://www.owasp.org/index.php/OWASP_Dependency_Check

      Dependency-check是一個(gè)來自O(shè)WASP的開源命令行工具,它維護(hù)得非常好,可以在獨(dú)立模式下使用,也可以在構(gòu)建工具中使用。Dependency-check支持Java、.NET、JavaScript和Ruby。該工具嚴(yán)格地從NIST NVD中獲取漏洞信息。

      2.5 Bundler-audit

      https://github.com/rubysec/bundler-audit

      Bundler-audit是一個(gè)專注于Ruby Bundler的開源、命令行依賴檢查器。該項(xiàng)目從NIST NVD和RubySec中檢索漏洞信息,RubySec是一個(gè)Ruby漏洞數(shù)據(jù)庫。

      2.6? Hakiri

      https://hakiri.io/

      Hakiri是一個(gè)商業(yè)工具,它為基于Ruby和Rails的GitHub項(xiàng)目提供靜態(tài)代碼分析的依賴檢查。它為公共開源項(xiàng)目提供免費(fèi)計(jì)劃,為私人項(xiàng)目提供付費(fèi)計(jì)劃。它使用NVD和Ruby咨詢數(shù)據(jù)庫。

      Hakiri的Vasily Vasily Vasinov表示,該軟件的未來計(jì)劃包括增加與Slack、JIRA和Pivotal Tracker的集成,以及支持Node.js和PHP等其他平臺(tái)。

      2.7? Snyk

      https://snyk.io/

      Snyk 是一個(gè)專注于 JavaScript npm 依賴關(guān)系的商業(yè)服務(wù)。Snyk是一個(gè)新的場景,它的功能是獨(dú)一無二的。它不僅提供了檢測JavaScript項(xiàng)目中已知漏洞的工具,而且還幫助用戶使用Snyk創(chuàng)建的引導(dǎo)升級(jí)和開源補(bǔ)丁來修復(fù)這些問題。

      Snyk有自己的漏洞數(shù)據(jù)庫,它的數(shù)據(jù)來自NIST NVD和NSP。Snyk的重點(diǎn)是將已知的漏洞處理擴(kuò)展到整個(gè)組織及其團(tuán)隊(duì),并提供更好的協(xié)作工具和更緊密的GitHub集成。Snyk的首席執(zhí)行官Guy Podjarny表示,Snyk未來的計(jì)劃包括構(gòu)建運(yùn)行時(shí)工具,讓開發(fā)人員在生產(chǎn)系統(tǒng)上運(yùn)行開源包時(shí),能夠獲得更好的可視性和控制能力。

      2.8? Gemnasium

      https://gemnasium.com/

      Gemnasium是一個(gè)商業(yè)工具,將來會(huì)提供免費(fèi)版本。Gemnasium有自己的數(shù)據(jù)庫,它的數(shù)據(jù)來自多個(gè)地方。雖然每天都會(huì)對(duì)漏洞進(jìn)行人工審查,但它并不會(huì)自動(dòng)發(fā)布建議。

      Gemnasium提供了一個(gè)獨(dú)特的自動(dòng)更新功能,使用特殊的算法來測試依賴集的智能組合,而不是測試所有的組合,這樣可以節(jié)省一些時(shí)間。

      Gemnasium支持Ruby、NPM(JavaScript)、PHP、Python和Bower(JavaScript)。

      Gemnasium的另一個(gè)獨(dú)特的產(chǎn)品是它的Slack集成--一旦檢測到咨詢反饋,就會(huì)通過Slack實(shí)時(shí)通知用戶。

      來自Gemnasium公司的Philippe Lafoucrière表示,未來的計(jì)劃支持更多語言,比如從Java開始。

      2.9? Grabber

      https://github.com/neuroo/grabber

      Grabber 是一款不錯(cuò)的 Web 應(yīng)用程序掃描器,可以檢測到 Web 應(yīng)用程序中的許多安全漏洞,可以執(zhí)行掃描并告知漏洞存在的位置,可以檢測到以下的漏洞類型:

      l? 跨站點(diǎn)腳本

      l? SQL注入

      l? Ajax測試

      l? 文件包含

      l? JS源碼分析器

      l? 備份文件檢查

      與其他安全掃描器相比,它的速度并不快,但它的操作簡單、便攜。用于測試小型的網(wǎng)絡(luò)應(yīng)用比較合適,因?yàn)閽呙璐笮蛻?yīng)用需要太多時(shí)間。

      這個(gè)工具不提供任何GUI界面,也不能創(chuàng)建任何PDF報(bào)告, 其設(shè)計(jì)很簡單,是為個(gè)人使用而設(shè)計(jì)的。

      這個(gè)工具是用Python開發(fā)的。源代碼是可用的,可以根據(jù)自己的需要進(jìn)行修改。

      主腳本是grabber.py,執(zhí)行后會(huì)調(diào)用其他模塊,如sql.py、xss.py等。

      2.10? Vega

      https://subgraph.com/vega/

      Vega是一個(gè)免費(fèi)的開源Web漏洞掃描和測試平臺(tái)。通過這個(gè)工具,你可以對(duì)一個(gè)Web應(yīng)用程序進(jìn)行安全測試。該工具是用Java編寫的,提供了一個(gè)基于GUI的環(huán)境,可用于如下平臺(tái):OS X、Linux和Windows。

      該工具可以用于查找SQL注入、頭注入、目錄列表、shell注入、跨站點(diǎn)腳本、文件包含和其他Web應(yīng)用程序的漏洞。該工具還可以通過一個(gè)用JavaScript編寫的強(qiáng)大API進(jìn)行擴(kuò)展。

      在使用該工具工作時(shí),你可以設(shè)置一些首選項(xiàng),如路徑子節(jié)點(diǎn)的總數(shù)量、節(jié)點(diǎn)的子路徑數(shù)量、深度和每秒最大請求數(shù)。你可以使用Vega Scanner、Vega Proxy、Proxy Scanner以及帶憑證的Scanner。

      2.11? Zed Attack Proxy

      https://github.com/zaproxy/zaproxy

      Zed Attack Proxy簡稱為ZAP,是款開源工具,由AWASP開發(fā)。它適用于Windows、Unix/Linux和Macintosh平臺(tái),可以用來查找Web應(yīng)用程序中的各種漏洞。這個(gè)工具非常簡單,使用起來也很方便。即使你是滲透測試的新手,也可以輕松地使用這個(gè)工具進(jìn)行Web應(yīng)用的滲透測試。

      以下是ZAP的主要功能:

      l? 攔截代理

      l? 自動(dòng)掃描器

      l? 傳統(tǒng)而強(qiáng)大的爬蟲功能

      l? Fuzzer

      l? WebSocket支持

      l? Plug-n-hack支持

      l? 認(rèn)證支持

      l? 基于REST的API

      l? 動(dòng)態(tài)SSL證書

      l? 支持智能卡和客戶端數(shù)字證書

      可以將此工具作為掃描器使用,通過輸入U(xiǎn)RL進(jìn)行掃描,也可以將此工具作為攔截代理,對(duì)特定頁面進(jìn)行手動(dòng)測試。

      2.12? Wapiti

      http://wapiti.sourceforge.net/

      Wapiti也是一款不錯(cuò)的Web漏洞掃描器,通過它你可以審計(jì)你的Web應(yīng)用程序的安全性。

      它通過掃描網(wǎng)頁和注入數(shù)據(jù)來執(zhí)行黑盒測試。

      它可以嘗試注入有效載荷,查看腳本是否存在漏洞。

      它同時(shí)支持GET和POST HTTP攻擊,并檢測多種漏洞。

      它可以檢測以下漏洞種類:

      l? 文件泄露

      l? 文件包含

      l? 跨網(wǎng)站腳本(XSS)

      l? 命令執(zhí)行檢測

      l? CRLF注入

      l? SEL注入和X路徑注入

      l? 弱的.htaccess配置

      l? 備份文件的泄露

      l? 等等

      Wapiti是一個(gè)命令行應(yīng)用程序。所以,對(duì)于初學(xué)者來說,它可能并不容易。但對(duì)于專家來說,比較受歡迎。要使用這個(gè)工具,你需要學(xué)習(xí)很多命令,可以在官方文檔中找到這些命令。

      2.13? W3af

      http://w3af.org/

      W3af是一個(gè)流行的Web應(yīng)用攻擊和審計(jì)框架。該框架旨在提供一個(gè)更好的Web應(yīng)用滲透測試平臺(tái)。

      它是使用Python開發(fā)的。通過使用這個(gè)工具,你將\能夠識(shí)別超過200種Web應(yīng)用程序的漏洞,包括SQL注入、跨站點(diǎn)腳本等。

      它自帶圖形化控制臺(tái)界面, 簡單易懂,輕松使用。

      2.14? WebScarab

      https://github.com/OWASP/OWASP-WebScarab

      WebScarab是一個(gè)基于Java的安全框架,用于分析使用HTTP或HTTPS協(xié)議的Web應(yīng)用程序。

      通過可用的插件,你可以擴(kuò)展其功能。

      這個(gè)工具的工作原理是作為一個(gè)攔截代理使用。

      因此,你可以查看到你的瀏覽器的請求和響應(yīng),并酌情進(jìn)入服務(wù)器進(jìn)行檢查。

      還可以在服務(wù)器或?yàn)g覽器收到請求或響應(yīng)之前修改請求或響應(yīng)。

      如果你是一個(gè)初學(xué)者,這個(gè)工具可能不適合你。因?yàn)檫@個(gè)工具是為那些對(duì)HTTP協(xié)議有很好的理解,并且會(huì)寫代碼的人設(shè)計(jì)的。

      Webscarab提供了許多功能,可以幫助滲透測試人員在網(wǎng)絡(luò)應(yīng)用中緊密地工作,并發(fā)現(xiàn)安全漏洞。

      它有一個(gè)爬蟲功能,可以自動(dòng)找到目標(biāo)網(wǎng)站的新URL。

      它可以輕松地提取腳本和頁面的HTML。

      Proxy可以觀察服務(wù)器和瀏覽器之間的流量,你可以通過使用可用的插件控制請求和響應(yīng)。

      可用的模塊可以輕松地檢測到最常見的漏洞,如SQL注入、XSS、CRLF等漏洞。

      2.15? Skipfish

      http://code.google.com/p/skipfish/

      Skipfish是一款不錯(cuò)的網(wǎng)絡(luò)應(yīng)用安全工具。

      它可以抓取網(wǎng)站頁面,然后檢查每個(gè)頁面是否存在各種安全威脅,并在最后編寫出報(bào)告。

      這個(gè)工具是用C語言編寫的,針對(duì)HTTP處理和CPU使用進(jìn)行了高度的優(yōu)化。

      它聲稱它可以輕松地處理每秒2000個(gè)請求,而不會(huì)增加CPU的負(fù)荷。

      在爬行和測試網(wǎng)頁時(shí),它使用了啟發(fā)式方法。

      該工具還聲稱提供高質(zhì)量的報(bào)告和較少的誤報(bào)率。

      該工具可用于Linux、FreeBSD、MacOS X和Windows平臺(tái)。

      2.16? Ratproxy

      http://code.google.com/p/ratproxy/

      Ratproxy也是一個(gè)開源的web應(yīng)用安全審計(jì)工具,可以用來發(fā)現(xiàn)web應(yīng)用中的安全漏洞。

      它支持Linux、FreeBSD、MacOS X和Windows(Cygwin)環(huán)境。

      這個(gè)工具的設(shè)計(jì)是為了克服用戶在使用其他代理工具進(jìn)行安全審計(jì)時(shí)通常面臨的問題。

      它能夠區(qū)分CSS樣式表和JavaScript代碼。

      它還支持SSL中攻擊,這意味著你也可以看到通過SSL傳遞的數(shù)據(jù)。

      2.17? SQLMap

      開源軟件安全現(xiàn)狀及其漏洞掃描工具(開源的漏洞掃描工具)

      https://github.com/sqlmapproject/sqlmap

      SQLMap是一個(gè)流行的開源滲透測試工具。

      它可以自動(dòng)發(fā)現(xiàn)和利用網(wǎng)站數(shù)據(jù)庫中的SQL注入漏洞。

      它擁有強(qiáng)大的檢測引擎和許多有用的功能。

      滲透測試人員可以輕松地對(duì)網(wǎng)站進(jìn)行SQL注入檢查。

      它支持多種數(shù)據(jù)庫服務(wù)器,包括MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB。

      它提供了6種SQL注入技術(shù)的全面支持:基于時(shí)間的盲注、基于布爾的盲注、基于錯(cuò)誤的查詢、UNION查詢、堆疊查詢和帶外查詢。

      2.18? Wfuzz

      http://code.google.com/p/wfuzz/

      Wfuzz是一個(gè)免費(fèi)的開源工具,用于Web應(yīng)用滲透測試。

      它可以用來粗暴強(qiáng)制進(jìn)行GET和POST參數(shù)的變化,用于測試各種類型的注入,如SQL、XSS、LDAP等。

      它還支持cookie 模糊化、多線程、SOCK、代理、驗(yàn)證、參數(shù)強(qiáng)制、多代理等功能。

      這個(gè)工具不提供GUI界面,所以你必須在命令行界面上工作。

      2.19? Grendel-Scan

      http://sourceforge.net/projects/grendel/

      Grendel-Scan是一個(gè)不錯(cuò)的開源Web應(yīng)用安全工具。

      它可以自動(dòng)尋找Web應(yīng)用中的安全漏洞。許多功能也可用于手動(dòng)滲透測試。

      它可用于Windows、Linux和Macintosh平臺(tái)。

      它是用Java開發(fā)的。

      2.20? Watcher

      http://websecuritytool.codeplex.com/

      Watcher是一個(gè)被動(dòng)時(shí)的網(wǎng)絡(luò)安全掃描器。

      它不會(huì)用大量的請求進(jìn)行攻擊,也不會(huì)抓取目標(biāo)網(wǎng)站。

      它不是一個(gè)獨(dú)立的工具,而是Fiddler的一個(gè)附加組件。

      所以你需要先安裝Fiddler,然后安裝Watcher才能使用。

      它可以靜靜地分析用戶交互的請求和響應(yīng),然后對(duì)應(yīng)用進(jìn)行報(bào)告。由于它是一個(gè)被動(dòng)掃描器,所以不會(huì)影響到網(wǎng)站的主機(jī)或云端基礎(chǔ)設(shè)施。

      2.21? X5s

      http://xss.codeplex.com/

      X5s是一個(gè)Fiddler插件,其目的是提供一種尋找跨站腳本漏洞的方法。

      它不是一個(gè)自動(dòng)的工具,你需要了解編碼問題是如何導(dǎo)致XSS的。你需要手動(dòng)找到注入點(diǎn),然后檢查XSS可能在應(yīng)用程序中的位置。

      2.22? Arachni

      http://www.arachni-scanner.com/

      Arachni是一個(gè)開源工具,是為提供滲透測試環(huán)境而開發(fā)的。

      這個(gè)工具可以檢測各種Web應(yīng)用程序的安全漏洞, 如SQL注入、XSS、本地文件包含、遠(yuǎn)程文件包含、未驗(yàn)證重定向等。

      3? 參考

      https://resources.infosecinstitute.com/14-popular-web-application-vulnerability-scanners/#gref

      https://owasp.org/www-community/Vulnerability_Scanning_Tools

      https://sectooladdict.blogspot.com/

      https://misterscanner.com/

      http://rgaucher.info/beta/grabber/

      https://geekflare.com/open-source-web-security-scanner/

      https://www.esecurityplanet.com/open-source-security/slideshows/10-open-source-vulnerability-assessment-tools.html

      https://www.dnsstuff.com/network-vulnerability-scanner

      https://techbeacon.com/app-dev-testing/13-tools-checking-security-risk-open-source-dependencies

      架構(gòu)設(shè)計(jì)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:注解式項(xiàng)目開發(fā)!詳細(xì)分析Java中各個(gè)注解的作用和使用方式(java注解使用案例)
      下一篇:【手摸手學(xué)ModelArts】零代碼輕松實(shí)現(xiàn)圖像分類
      相關(guān)文章
      亚洲色精品三区二区一区| 国产亚洲精品影视在线| 久久夜色精品国产噜噜亚洲AV| 亚洲日韩国产成网在线观看| 国产亚洲综合久久| 亚洲人成人伊人成综合网无码| 亚洲国产日韩在线| 亚洲高清无在码在线无弹窗| 亚洲精品私拍国产福利在线| 亚洲VA中文字幕不卡无码| 国产亚洲美日韩AV中文字幕无码成人 | 亚洲五月丁香综合视频| 亚洲精品国产电影午夜| 久久亚洲AV成人无码软件| 亚洲国产成人久久精品影视| 久久久无码精品亚洲日韩按摩 | 亚洲喷奶水中文字幕电影| 亚洲jjzzjjzz在线观看| 亚洲av片不卡无码久久| 亚洲色精品VR一区区三区| 亚洲а∨精品天堂在线| 亚洲成a人片在线观看久| 亚洲国产综合无码一区二区二三区| 亚洲区日韩区无码区| 国产成人亚洲精品狼色在线| 精品国产_亚洲人成在线高清| 亚洲国产女人aaa毛片在线 | 亚洲国产精品自在在线观看| 国产成人A人亚洲精品无码| 亚洲成a人片在线观看中文动漫 | 色婷婷六月亚洲综合香蕉| 亚洲?V乱码久久精品蜜桃| 亚洲色欲久久久久综合网| 亚洲精品午夜国产VA久久成人| 亚洲国产AV无码专区亚洲AV| 亚洲视频小说图片| 亚洲一区二区观看播放| 色偷偷亚洲第一综合| 国产美女亚洲精品久久久综合| 久久亚洲AV无码精品色午夜麻| 亚洲精品综合久久中文字幕|