'「安全工具」13個工具,用於檢查開源依賴項的安全風險'

"

您是否知道高達90%的應用程序通常包含第三方組件,主要是開源軟件?您是否知道全球500強中超過50%使用易受攻擊的開源組件?

在當今的軟件開發環境中,大量的工作被大量供應給開源開發人員和社區的大型社區,他們對這些創建的安全問題知之甚少,更不用說管理這種風險的方法了。我們都知道我們不能停止使用開源,我們知道沒有人想停止使用它。在BlackDuck軟件的一項調查中,43%的受訪者表示他們認為開源軟件優於其商業同類軟件。

開源是強大的,世界上最好的開發人員使用它,但現在是時候停止忽略安全問題並開始跟蹤軟件中的依賴項。首先,我將快速分析開源軟件依賴關係中與安全風險相關的持續安全問題,然後我將用一系列工具來包裝,您現在可以開始使用這些工具來領先於關於這個問題的曲線。

軟件依賴性通常是最大的攻擊面

組織通常假設大多數風險來自面向公眾的Web應用程序。那已經改變了。每個應用程序中都有許多小組件,風險可以來自代碼庫中的任何位置。

雖然像Heartbleed,ShellShock和DROWN攻擊這樣的漏洞使得標題太大而無法忽略,但依賴關係中發現的大多數錯誤常常被忽視。

這個問題有幾個原因。對於初學者來說,大多數組織沒有準確的不同應用程序使用的軟件依賴性清單。此外,除了來自支持項目的社區的微薄通知之外,大多數組織沒有可靠的方法在發現零天或提供補丁時得到通知。

開源漏洞信息是碎片化的

大多數組織在CVE和NIST漏洞數據庫中搜索漏洞信息,但這些來源提供的開源漏洞信息非常少。有關開源漏洞的信息分佈在眾多不同的來源中,因此很難跟蹤它。

更糟糕的是,OSVDB是最大的漏洞數據庫之一,它主要用於跟蹤開源特定的漏洞,只是關閉了商店,跟隨SecurityFocus之類的其他漏洞。雖然這導致了其他安全存儲庫的出現,例如針對JavaScript / Node.js特定漏洞的Node Security Project和針對Ruby特定漏洞的RubySec,但仍有許多項目和生態系統尚未得到很好的覆蓋。

組織仍然認為開源代碼更安全

關於開源更加安全的誤解始於Linus'Law以Linus Torvalds的名字命名,並由Eric S. Raymond在他的論文和書“The Cathedral and the Bazaar-and Linus”的名言中提出:

“如果有足夠的眼球,所有的蟲子都很淺。” - Linus Torvalds

這本書在1999年首次出版時可能是相關的。然而,考慮到OpenSSL庫中存在諸如ShellShock之類的錯誤超過22年,它現在遠非相關。最大的問題是組織仍然認為開源代碼比商業代碼更安全;只需閱讀此Reddit主題即可瞭解人們如何查看此主題。

別誤會我的意思。我並不是說開源不如商業安全。我所說的是,如果沒有刻意保護一段代碼(開源或不開源),那麼代碼就不安全了。有意識的努力意味著諸如通過訓練有素的“眼球”進行代碼檢查,動態安全掃描和滲透測試等活動。

開源生態系統比我們想象的更脆弱,這是可怕的

整個依賴生態系統都很脆弱。最近的事件給整個NodeJS社區帶來了殘酷的現實檢查,因為一名程序員通過刪除11行代碼幾乎打破了互聯網。攻擊者可以很容易地獲取這些軟件包的命名空間,破壞版本,並添加惡意代碼替換實際的預期代碼。

幸運的是,一個非惡意的開發者能夠抓住超過240個所述包,然後才落入壞人之手。

試圖解決問題

OWASP認識到了這個問題,並在2013年向OWASP Top 10添加了“使用已知漏洞的組件”。根據OWASP,這是問題的定義:

“組件,例如庫,框架和其他軟件模塊,幾乎總是以完全權限運行。如果利用易受攻擊的組件,這種攻擊可能會導致嚴重的數據丟失或服務器接管。使用具有已知漏洞的組件的應用程序可能會破壞應用程序防禦並實現一系列可能的攻擊和影響。“

多年來出現了不同的開源和商業工具來解決這個問題。每個工具/服務解決問題的方式都有所不同,因此我的諮詢公司已經聯繫了項目負責人和公司的CEO,以獲得他們如何相信他們的工具對解決方案有貢獻以及他們看到工具未來的位置的反饋。

節點安全項目(NSP)

NSP以其在Node.js模塊和NPM依賴項上的工作而聞名。它還提供了使用公共漏洞數據庫掃描依賴關係並查找漏洞的工具,例如NIST國家漏洞數據庫(NVD)以及它自己的數據庫,它是根據它在NPM模塊上進行的掃描構建的。

來自NSP的Adam Baldwin認為,依賴安全是SDLC的一部分:“很快您將看到我們的許多產品,包括持續的安全監控以及與GitHub(和其他產品)的集成,以便您可以插入安全監控,檢測,警報和修復與您相關的開發生命週期區域。“

RetireJS

RetireJS是一個開源的,特定於JavaScript的依賴檢查器。該項目主要側重於易用性。這就是為什麼它有多個組件,包括Grunt,Gulp,Chrome,Firefox,ZAP和Burp的命令行掃描程序和插件。 RetireJS還為希望瞭解他們是否使用具有已知漏洞的JavaScript庫的JS開發人員提供了站點檢查服務。

RetireJS從NIST NVD以及眾多其他來源檢索其漏洞信息,包括郵件列表,錯誤跟蹤系統和流行JavaScript項目的博客。來自RetireJS的Erlend Oftedal認為安全是每個人的問題,需要更多的協作:“我希望看到流行的開源框架的作者自己開始向Retire.js等工具報告安全修復,以便保護他們軟件的用戶更安全“。

OSSIndex

OSSIndex支持多種技術。它從NPM,Nuget,Maven Central Repository,Bower,Chocolatey和MSI中提取依賴性信息(這意味著它涵蓋了JavaScript,.NET / C#和Java生態系統)。 OSSIndex還免費提供漏洞API。

OSSIndex當前從NIST NVD檢索其漏洞信息。 OSSIndex的Ken Duck計劃在不久的將來包括從一些關鍵郵件列表,數據庫和錯誤跟蹤系統中自動導入漏洞。

依賴檢查

依賴檢查是OWASP的一個開源命令行工具,維護得很好。它既可以在獨立模式下使用,也可以在構建工具中使用。依賴性檢查支持Java,.NET,JavaScript和Ruby。該工具嚴格從NIST NVD檢索其漏洞信息。

捆綁審計

Bundler-audit是一個開源的命令行依賴檢查器,專注於Ruby Bundler。該項目從NIST NVD和RubySec檢索其漏洞信息,RubySec是一個Ruby漏洞數據庫。

Hakiri

Hakiri是一個商業工具,它使用靜態代碼分析為基於Ruby和Rails的GitHub項目提供依賴性檢查。它為公共開源項目提供免費計劃,併為私人項目提供付費計劃。它使用NVD和Ruby Advisory Database。

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

Snyk

Snyk是一個專注於JavaScript npm依賴項的商業服務。 Snyk是現場的新成員。它不僅提供了檢測JavaScript項目中已知漏洞的工具,還幫助用戶使用Snyk創建的引導式升級和開源補丁來解決這些問題。

Snyk有自己的漏洞數據庫,它從NIST NVD和NSP獲取數據。 Snyk的重點是通過更好的協作工具和更嚴格的GitHub集成,擴展整個組織及其團隊的已知漏洞處理。 Snyk的首席執行官Guy Podjarny表示,Snyk未來的計劃包括構建運行時工具,這些工具可以讓開發人員在生產系統上運行開源軟件包時獲得更好的可視性和控制力。

Gemnasium

Gemnasium是一個商業工具,具有免費的啟​​動計劃。 Gemnasium擁有自己的數據庫,可以從多個來源獲取。但是,雖然每天都會手動審查漏洞,但不會自動發佈建議。

Gemnasium提供了一種獨特的自動更新功能,該功能使用特殊算法來測試依賴集的智能組合,而不是測試所有組合,從而節省了大量時間。 Gemnasium支持Ruby,NPM(JavaScript),PHP,Python和Bower(JavaScript)。 Gemnasium的另一個獨特產品是Slack集成 - 一旦檢測到建議,用戶就會通過Slack實時通知。

來自Gemnasium的PhilippeLafoucrière表示,未來的計劃包括Gemnasium的企業版,在客戶所在地運行,支持更多語言,從Java開始。

SRC:CLR

Source Clear是一個具有幾個有趣屬性的商業工具。它有自己的數據庫,利用NIST NVD,但它也從郵件列表和其他幾個來源檢索漏洞信息。

它為多個IDE,部署系統和源存儲庫以及命​​令行界面提供了大量插件。最後,Source Clear使用“易受攻擊的方法識別”,這是一種確定應用程序中是否實際使用了依賴項中發現的漏洞的方法。它是一項功能,可以顯著減少誤報,併為開發人員提供有關漏洞的詳細目標報告。 Source Clear剛宣佈計劃提供其軟件的免費版本。

榮譽獎

BlackDuck軟件,Sonatype的Nexus和Protecode是企業產品,為第三方組件和供應鏈管理提供更多的端到端解決方案,包括許可,安全,庫存,策略執行等.SecurifyGraphs是一個軟件工具我的諮詢公司安全,它根據CVSS風險評分幫助比較開源項目。

原文:http://pub.intelligentx.net/13-tools-checking-security-risk-open-source-dependencies

討論:請加入知識星球或者小紅圈【首席架構師圈】

"

相關推薦

推薦中...