當前位置:
首頁 > 最新 > 開源軟體漏洞頻發,運維如何避免背鍋?

開源軟體漏洞頻發,運維如何避免背鍋?

引言

開源對軟體的發展可以說具有深遠的意義,它幫助我們共享成果,重複使用其他人開發的軟體庫,讓我們能夠專註於我們自己的創新,它推進了技術的快速發展。據不完全統計78% 的企業都在使用開源,但是其中有多少企業關注第三方開園依賴的安全呢?其中僅有13% 將安全作為第一考慮因素。可喜的是仍然有50% 的企業將安全列為第二或第三位考慮因素,越來越多的公司開始重視第三方依賴的安全性。

為什麼要關住第三方依賴的安全性

想像我們交付的軟體 Application 是一張餅,我們自己開發的代碼僅占其中很小一部分,見下圖:

而開源依賴並不等於是安全的,當然也不等於不安全,自2000年,僅有幾家大廠貢獻開源,其中有 Apache, Linux, IBM, OpenSSL 等,而到了2015年之後,任何人都在貢獻開源社區,下圖是主流軟體庫的發展 ,數量龐大。

而我們在使用這些依賴的時候,一定要意識到:

1.開源依賴往往很少有進行安全性測試的

2.開源軟體開發人源對安全意識普遍不高

3.開源軟體提供方沒有多餘的預算進行安全性測試

4.黑客的主要攻擊目標是開源,因為攻擊一個,影響範圍很大

讓我們一起看幾組第三方依賴安全的調查數據:

如何管理第三方依賴安全

我們看到第三方依賴是存在非常大的安全隱患的,那我們應該如何做呢?不使用第三方依賴顯然是不現實的,我們總結了四個步驟:

1.了解你都使用了哪些依賴

2.刪除你不需要的依賴

3.查找並修復當前已知的漏洞

4.持續監聽新發現的漏洞,重複前三個步驟

依賴分析

相對簡單,我們使用目前的依賴管理工具可以輕鬆做到,如 maven 的 dependency tree

刪除不需要的依賴

我們發現很對開發人員在維護依賴的時候,即使該依賴已經不適用,但不會刪除,這顯然會擴大黑客的攻擊範圍,因此我們需要定期檢查刪除不需要的依賴。

發現並修復漏洞

第三步開始較為複雜,所幸已有很多開源組織提供了免費的漏洞庫,如 US-CERT,NVD,OSVDB 等漏洞廣播源,該類組織集中維護髮現的已知漏洞,對外提供表述漏洞數據描述以及漏洞廣播,為開源社區安全提供數據支持,有了漏洞數據源之後,判斷我們的依賴中是否有依賴就簡單了,我們僅需要根據我們的依賴包與漏洞資料庫進行對比,就可以發現我們發布的應用中是否包含已知的漏洞,甚至有些開源組織會在漏洞庫的基礎上提供關於漏洞的修復建議,如 Synk.io,JFrog 和 Sync 合作貢獻了一個漏洞數據源(JXray),其中包含主流漏洞數據源,包括剛才提到的幾個,這樣我們就可以對我們包含對漏洞進行漏洞升級。

JXray 漏洞數據源

持續監聽新的漏洞

我們知道漏洞是持續增長的,近幾年每年平均都有900左右的新漏洞,我們需要持續監聽這些新產生的漏洞,並與我們內部軟體生命周期集成,與 DevOps 有機結合(DevSecOps),這顯然需要一套平台或系統幫助我們系統的管理第三方漏洞安全,下面我們整理了一個漏洞掃描平台技術需求設計。

漏洞掃描平台技術需求設計

JFrog Xray 介紹

JFrog Xray 是一個通用的漏洞掃描平台,可以滿足我們對第三方漏洞安全管理的所有需求,其主要有以下幾個特性:

支持多語言漏洞掃描

Java,Docker,Npm,Python,Ruby Gems,Nuget,Rpm,Debian 等主流語言漏洞掃描,統一對所有開發技術棧進行安全管理。

深入掃描能力

我們會深入分析軟體的依賴及其傳遞依賴,甚至是 Docker 鏡像中的操作系統層,如 Docker 鏡像中 ubuntu 操作系統 Layer 中某一個 debian 包存在漏洞。下圖是一個 Docker 鏡像中包含的一個基礎 maven jar 包含漏洞的分析圖。

影響範圍分析

當我們監聽到一個新的漏洞後,我們往往很難定為其被哪些項目依賴並試用,極為耗時,且總會有遺漏的情況出現,提高了企業損失的幾率。

JFrog Xray 會根據所有收集到的依賴拓撲,進行反向依賴性分析,逐層找到所有包含漏洞包的上層應用。快速分析漏洞的影響範圍,評估漏洞上線風險,指導企業進行漏洞修復。

開放式集成

可以擴展與其他第三方漏洞數據平台集成,如 Whitesource,Blackduck 等,通過 Xray 平台提供的 Rest Api,甚至可以與企業自己漏洞數據源進行集成,形成企業安全的統一管理閉環。

DevOps 集成能力(DevSecOps)

我們可以在軟體持續交付流水線中集成漏洞掃描能力,將安全機制集成進來,作為企業軟體質量關卡中的一部分,當發現漏洞的時候,阻止漏洞包交付到生產環境,如下圖:

JFrog Xray 架構介紹

JFrog Xray 採用微服務架構設計,其中主要包含以下幾個微服務:

Server,主服務,UI

Indexer,索引層,進行軟體包索引

Persist,持久層,存儲漏洞及掃描結果

Analysis,分析層,分析依賴拓撲及反向依賴,發現漏洞並告警

JFrog Xray 同時支持高可用集群方式,針對企業級安全管理,提高漏洞掃描的效率及穩定性,並且與 JFrog Artifactory 通用二進位包管理系統原生集成,共同組成製品管理統一管理方案。

微服務數據流

總結

本次分享,介紹了在使用第三方依賴時的安全隱患,以及針對該類問題,我們應該如何管理第三方依賴的安全,同時介紹了JFrog Xray 的安全管理特性,幫助企業輕鬆管理第三方漏洞,降低企業安全風險,避免含有漏洞的包上線到生產環境或客戶環境中。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 JFrog傑蛙DevOps 的精彩文章:

TAG:JFrog傑蛙DevOps |