進(jìn)銷存軟件哪個(gè)好(1分鐘之前已更新)">進(jìn)銷存軟件哪個(gè)好(1分鐘之前已更新)
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
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)容。