?
????? ?Snyk有一支安全研究團(tuán)隊(duì)專門從版本注釋、GitHub和Apache問題跟蹤系統(tǒng)等地方找尋開源代碼庫安全問題的線索。該團(tuán)隊(duì)發(fā)現(xiàn)問題會(huì)公布到Snyk的漏洞數(shù)據(jù)庫中,在合適的時(shí)候提交到CVE列表里。
?
?????? 但是,獲取CVE編號(hào)的過程可能比較復(fù)雜,需要委員會(huì)認(rèn)可CVE具體細(xì)節(jié),還需要征得項(xiàng)目擁有者的同意。當(dāng)前的CVE編號(hào)獲取方式缺乏擴(kuò)展性。
?
?????? 另外,即便漏洞被發(fā)現(xiàn)并推出了補(bǔ)丁,使用該脆弱代碼的公司企業(yè)也可能沒注意到自己需要打補(bǔ)丁,或者找不出需要打補(bǔ)丁的所有實(shí)例。Equifax數(shù)據(jù)泄露事件就是該問題的明顯案例。其所用 Apache Struts 開源組件的補(bǔ)丁早在數(shù)據(jù)泄露發(fā)生前2個(gè)月就推出了,且Equifax也注意到了有補(bǔ)丁可用,但依然沒能及時(shí)打上補(bǔ)丁。
?
?????? 還有一些公司因?yàn)榧嫒菪詥栴}、合規(guī)問題等原因而無法遷移到最新版本開源代碼,仍在使用帶漏洞的老版代碼。這也是個(gè)問題。據(jù)Snyk稱,僅16%的漏洞補(bǔ)丁是向后兼容其他版本的。
?
?????? 查找并修復(fù)
?
?????? 理想情況下,應(yīng)用會(huì)在安全補(bǔ)丁可用的即刻就更新自身,無需任何人為干預(yù)。但實(shí)際上,這并非始終可行。
?
?????? 公司企業(yè)需要能夠在自身環(huán)境中找出所有開源代碼的運(yùn)行實(shí)例,持續(xù)更新該實(shí)例列表,讓開發(fā)人員避開這些不安全的老舊代碼庫,并最終在新漏洞被發(fā)現(xiàn)時(shí)及時(shí)部署補(bǔ)丁。
?
?????? 只有知道脆弱庫在哪里,才能夠?qū)⑦@些有漏洞的代碼庫從產(chǎn)品中移除。產(chǎn)品開發(fā)生命周期中越早移除漏洞,開發(fā)和維護(hù)成本就越低,過程也更輕松。
?
?????? 很多公司會(huì)向Snyk、Black Duck 和Veracode之類的供應(yīng)商尋求幫助。Skyscanner也這么做了。Snyk讓Skyscanner看清了其哪些項(xiàng)目中用到了哪些包,這些包里含有哪些漏洞,這些漏洞是如何引入到Skyscanner的代碼中的。而且,Snyk還會(huì)在開發(fā)人員編寫代碼的當(dāng)時(shí)就標(biāo)出漏洞,將問題撲滅在代碼進(jìn)入生產(chǎn)環(huán)境之前。
?
?????? 在開發(fā)過程中集成開源漏洞掃描對(duì)大型企業(yè)來說尤其重要,因?yàn)榇笃髽I(yè)要跟蹤其使用的所有代碼是非常困難的。大多數(shù)公司都不清楚自己到底有多少個(gè)應(yīng)用,這種情況是很恐怖的。
?
?????? Veracode進(jìn)行漏洞掃描的時(shí)候,客戶公司會(huì)上傳其二進(jìn)制代碼,Veracode就將之與NVD進(jìn)行對(duì)比。為幫助客戶發(fā)現(xiàn)自身沒有注意到的在用應(yīng)用,Veracode還會(huì)掃描客戶公司的邊界,不是為了找出沒暴露出來的內(nèi)部應(yīng)用,而是為了找出如果暴露出來會(huì)降低風(fēng)險(xiǎn)的應(yīng)用。
?
?????? 有些網(wǎng)絡(luò)工具也可以幫公司企業(yè)找出內(nèi)部運(yùn)行的應(yīng)用,但如果網(wǎng)絡(luò)是分隔的,就會(huì)出現(xiàn)盲點(diǎn)。公司企業(yè)還可以在終端上安裝代理以跟蹤其上運(yùn)行的應(yīng)用。但只要不是全面部署了代理,盲點(diǎn)依然存在。單靠一種方法想要摸清企業(yè)環(huán)境中的應(yīng)用情況是不可能的。這也是為什么應(yīng)用清單梳理如此之難的原因所在。
?
?????? 很明顯,Equifax就深刻感受到了這一難題。去年10月,該公司前CEO在國會(huì)質(zhì)詢上稱,Equifax的信息安全部門進(jìn)行過漏洞掃描,但并未發(fā)現(xiàn)任何受該漏洞影響的 Apache Struts,該漏洞在Equifax網(wǎng)頁應(yīng)用中存在了太長(zhǎng)時(shí)間。
?
?????? 用工具掃描也得知道環(huán)境中到底有多少臺(tái)服務(wù)器才有用。而且,即便掃描全面而準(zhǔn)確,也會(huì)給公司企業(yè)帶來沉重的管理負(fù)擔(dān)。如果開發(fā)過程中沒有融入安全檢查,這些掃描就得持續(xù)進(jìn)行,各種應(yīng)用得不停地分別檢查再檢查,掃描再掃描。
?
?????? 不僅開發(fā)人員會(huì)在應(yīng)用更新過程中引入新的帶漏洞的庫,之前被認(rèn)為安全的老庫也會(huì)曝出新漏洞。軟件不是像酒一樣越久越醇,而是像牛奶一樣一放就壞。
?
?????? 開發(fā)人員很少會(huì)審查舊工程中用到的庫,一般就是到開源項(xiàng)目頁面下載下來,集成到自己的應(yīng)用中,然后就再也不管它了。
?
版權(quán)所有:鄭州三中網(wǎng)安科技有限公司 豫ICP備2020036495號(hào)-1 ?? | 豫公網(wǎng)安備 41019702002241號(hào) | 站點(diǎn)地圖 | 人才招聘 | 聯(lián)系我們 |