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