開源對軟件的發(fā)展可以說具有深遠(yuǎn)的意義,它幫助我們共享成果,重復(fù)使用其他人開發(fā)的軟件庫,讓我們能夠?qū)W⒂谖覀冏约旱膭?chuàng)新,它推進(jìn)了技術(shù)的快速發(fā)展。據(jù)不完全統(tǒng)計(jì)78% 的企業(yè)都在使用開源,但是其中有多少企業(yè)關(guān)注第三方開園依賴的安全呢?其中僅有13% 將安全作為第一考慮因素。可喜的是仍然有50% 的企業(yè)將安全列為第二或第三位考慮因素,越來越多的公司開始重視第三方依賴的安全性。
想象我們交付的軟件 Application 是一張餅,我們自己開發(fā)的代碼僅占其中很小一部分,見下圖:
而開源依賴并不等于是安全的,當(dāng)然也不等于不安全,自2000年,僅有幾家大廠貢獻(xiàn)開源,其中有Apache, Linux, IBM, OpenSSL等,而到了2015年之后,任何人都在貢獻(xiàn)開源社區(qū),下圖是主流軟件庫的發(fā)展 ,數(shù)量龐大
而我們在使用這些依賴的時(shí)候,一定要意識到:
1. 開源依賴往往很少有進(jìn)行安全性測試的
2. 開源軟件開發(fā)人源對安全意識普遍不高
3. 開源軟件提供方?jīng)]有多余的預(yù)算進(jìn)行安全性測試
4. 黑客的主要攻擊目標(biāo)是開源,因?yàn)楣粢粋€(gè),影響范圍很大
讓我們一起看幾組第三方依賴安全的調(diào)查數(shù)據(jù):
我們看到第三方依賴是存在非常大的安全隱患的,那我們應(yīng)該如何做呢?不使用第三方依賴顯然是不現(xiàn)實(shí)的,我們總結(jié)了四個(gè)步驟
1. 了解你都使用了哪些依賴
2. 刪除你不需要的依賴
3. 查找并修復(fù)當(dāng)前已知的漏洞
4. 持續(xù)監(jiān)聽新發(fā)現(xiàn)的漏洞,重復(fù)前三個(gè)步驟
相對簡單,我們使用目前的依賴管理工具可以輕松做到,如maven的dependency tree
我們發(fā)現(xiàn)很對開發(fā)人員在維護(hù)依賴的時(shí)候,即使該依賴已經(jīng)不適用,但不會刪除,這顯然會擴(kuò)大黑客的攻擊范圍,因此我們需要定期檢查刪除不需要的依賴
第三步開始較為復(fù)雜,所幸已有很多開源組織提供了免費(fèi)的漏洞庫,如US-CERT,NVD,OSVDB等漏洞廣播源,該類組織集中維護(hù)發(fā)現(xiàn)的已知漏洞,對外提供表述漏洞數(shù)據(jù)描述以及漏洞廣播,為開源社區(qū)安全提供數(shù)據(jù)支持,有了漏洞數(shù)據(jù)源之后,判斷我們的依賴中是否有依賴就簡單了,我們僅需要根據(jù)我們的依賴包與漏洞數(shù)據(jù)庫進(jìn)行對比,就可以發(fā)現(xiàn)我們發(fā)布的應(yīng)用中是否包含已知的漏洞,甚至有些開源組織會在漏洞庫的基礎(chǔ)上提供關(guān)于漏洞的修復(fù)建議,如 Synk.io,JFrog 和 Sync 合作貢獻(xiàn)了一個(gè)漏洞數(shù)據(jù)源(JXray),其中包含主流漏洞數(shù)據(jù)源,包括剛才提到的幾個(gè),這樣我們就可以對我們包含對漏洞進(jìn)行漏洞升級。
我們知道漏洞是持續(xù)增長的,近幾年每年平均都有900左右的新漏洞,我們需要持續(xù)監(jiān)聽這些新產(chǎn)生的漏洞,并與我們內(nèi)部軟件生命周期集成,與DevOps有機(jī)結(jié)合(DevSecOps),這顯然需要一套平臺或系統(tǒng)幫助我們系統(tǒng)的管理第三方漏洞安全,下面我們整理了一個(gè)漏洞掃描平臺技術(shù)需求設(shè)計(jì)
能力分類 | 技術(shù)指標(biāo) | 指標(biāo)需求描述 | 價(jià)值描述 |
掃描能力 | 多語言支持 | 支持主流語言漏洞掃描能力,如war,jar,docker,npm,python,debian,rpm等 | 統(tǒng)一監(jiān)管企業(yè)各種技術(shù)棧的開發(fā),漏洞風(fēng)險(xiǎn)與License合規(guī)分析,全面避免漏洞上線到生產(chǎn)環(huán)境 |
深度掃描能力 | 對二進(jìn)制包深入逐層進(jìn)行漏洞掃描,如war包中包含jar包 | 細(xì)粒度,深層次發(fā)現(xiàn)可能的漏洞,處理混合式軟件發(fā)布體系,如Docker鏡像,rpm等 | |
分析能力 | 正向依賴分析 | 能夠分析定位出掃描目標(biāo)漏洞包所在位置,標(biāo)出具體哪個(gè)依賴出現(xiàn)漏洞 | 為企業(yè)快速定位問題及恢復(fù)提供數(shù)據(jù)依據(jù) |
反向依賴分析 | 能夠自動(dòng)化分析出漏洞包的影響范圍 | 快速分析漏洞問題的影響范圍,加速線上漏洞的恢復(fù),大程度降低企業(yè)風(fēng)險(xiǎn) 以及評估風(fēng)險(xiǎn)成本 | |
漏洞庫 | 開源漏洞數(shù)據(jù)集成 | 集成NVD等漏洞數(shù)據(jù)中心 | 針對第三方依賴包,對外部依賴包進(jìn)行統(tǒng)一監(jiān)管 |
商業(yè)漏洞數(shù)據(jù)集成 | 集成第三方商業(yè)漏洞工具能力,如 BlackDuck , WhiteSource 等 | 豐富漏洞數(shù)據(jù)庫,大程度降低第三方依賴漏洞風(fēng)險(xiǎn) | |
本地漏洞數(shù)據(jù)中心 | 對第三方依賴或企業(yè)自研件添加自定義漏洞,如與Jira等缺陷管理系統(tǒng)的集成 | 針對企業(yè)內(nèi)部構(gòu)建的軟件監(jiān)管,避免團(tuán)隊(duì)內(nèi)部漏洞包進(jìn)一步擴(kuò)散到其他團(tuán)隊(duì) | |
其他漏洞掃描工具集成 | 通過API,自定義擴(kuò)展對接第三方漏洞數(shù)據(jù)庫,如病毒掃描工具集成 | 進(jìn)一步豐富漏洞掃描范圍,加強(qiáng)漏洞掃描能力,如木馬病毒等 | |
告警 | 自定義告警規(guī)則 | 不同項(xiàng)目管理人員可以監(jiān)聽各自項(xiàng)目或軟件制品 | 同時(shí)提供全局監(jiān)管與分級監(jiān)管機(jī)制,提高項(xiàng)目團(tuán)隊(duì)自主安全意識 |
告警通知,自動(dòng)化 | 郵件通知及webhook支持, 發(fā)現(xiàn)漏洞可以與自動(dòng)化任務(wù)集成,如高危漏洞觸發(fā)回滾任務(wù) | 提高企業(yè)漏洞快速相應(yīng)能力,甚至漏洞自修復(fù)能力,降低企業(yè)風(fēng)險(xiǎn) | |
生態(tài),CI/CD | 作為CI/CD軟件交付質(zhì)量關(guān)卡 | 可以在軟件交付流水線中集成,根據(jù)掃描結(jié)果,繼續(xù)或阻止流水線運(yùn)行 | 多維度加強(qiáng)軟件交付質(zhì)量,增加流水線質(zhì)量關(guān)卡,保證軟件交付質(zhì)量 |
RestAPI 支持 | 提供RestFul方式對接漏洞掃描平臺 | 方便企業(yè)與內(nèi)部工具鏈集成 | |
可視化 | 漏洞分析報(bào)表 | 漏洞掃描趨勢圖 漏洞頻率top圖 | 可視化漏洞監(jiān)管能力 提供決策依據(jù) |
License 報(bào)表 | License 分布圖 License 兼容性分析圖 | 可視化企業(yè)在用License 提供決策依據(jù) |
JFrog Xray 是一個(gè)通用的漏洞掃描平臺,可以滿足我們對第三方漏洞安全管理的所有需求,其主要有以下幾個(gè)特性
Java,Docker,Npm,Python,Ruby Gems,Nuget,Rpm,Debian等主流語言漏洞掃描,統(tǒng)一對所有開發(fā)技術(shù)棧進(jìn)行安全管理
我們會深入分析軟件的依賴及其傳遞依賴,甚至是Docker 鏡像中的操作系統(tǒng)層,如Docker 鏡像中ubuntu操作系統(tǒng)Layer中某一個(gè)debian包存在漏洞。下圖是一個(gè)Docker 鏡像中包含的一個(gè)基礎(chǔ)maven jar包含漏洞的分析圖
當(dāng)我們監(jiān)聽到一個(gè)新的漏洞后,我們往往很難定為其被哪些項(xiàng)目依賴并試用,極為耗時(shí),且總會有遺漏的情況出現(xiàn),提高了企業(yè)損失的幾率。
JFrog Xray 會根據(jù)所有收集到的依賴拓?fù)?,進(jìn)行反向依賴性分析,逐層找到所有包含漏洞包的上層應(yīng)用??焖俜治雎┒吹挠绊懛秶u估漏洞上線風(fēng)險(xiǎn),指導(dǎo)企業(yè)進(jìn)行漏洞修復(fù)
可以擴(kuò)展與其他第三方漏洞數(shù)據(jù)平臺集成,如Whitesource,Blackduck等,通過Xray 平臺提供的Rest Api,甚至可以與企業(yè)自己漏洞數(shù)據(jù)源進(jìn)行集成,形成企業(yè)安全的統(tǒng)一管理閉環(huán)。
我們可以在軟件持續(xù)交付流水線中集成漏洞掃描能力,將安全機(jī)制集成進(jìn)來,作為企業(yè)軟件質(zhì)量關(guān)卡中的一部分,當(dāng)發(fā)現(xiàn)漏洞的時(shí)候,阻止漏洞包交付到生產(chǎn)環(huán)境,如下圖
JFrog Xray 采用微服務(wù)架構(gòu)設(shè)計(jì),其中主要包含以下幾個(gè)微服務(wù),
l Server,主服務(wù),UI
l Indexer,索引層,進(jìn)行軟件包索引
l Persist,持久層,存儲漏洞及掃描結(jié)果
l Analysis,分析層,分析依賴拓?fù)浼胺聪蛞蕾?,發(fā)現(xiàn)漏洞并告警
JFrog Xray同時(shí)支持高可用集群方式,針對企業(yè)級安全管理,提高漏洞掃描的效率及穩(wěn)定性,并且與 JFrog Artifactory 通用二進(jìn)制包管理系統(tǒng)原生集成,共同組成制品管理統(tǒng)一管理方案。
本次分享,介紹了在使用第三方依賴時(shí)的安全隱患,以及針對該類問題,我們應(yīng)該如何管理第三方依賴的安全,同時(shí)介紹了JFrog Xray 的安全管理特性,幫助企業(yè)輕松管理第三方漏洞,降低企業(yè)安全風(fēng)險(xiǎn),避免含有漏洞的包上線到生產(chǎn)環(huán)境或客戶環(huán)境中。
名稱欄目:你的應(yīng)用有漏洞嗎?使用第三方依賴需謹(jǐn)慎-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article4/icooe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、企業(yè)建站、定制網(wǎng)站、網(wǎng)站排名、面包屑導(dǎo)航、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容