你的應用安全嗎? ——用Xray和Synk保駕護航

JFrog傑蛙科技發表於2020-01-13

一、背景

在當下軟體應用的開發過程當中,自研的內部程式碼所佔的比例逐步地減少,開源的框架和共用庫已經得到了廣泛的引用。如下圖所示,在一個Kubernetes部署的應用當中,我們自己開發程式碼所佔的比例可能連0.1%都不到。


開源軟體能夠幫助開發者共享彼此的成果,使得我們能夠快速複用其他人開發並已得到驗證的軟體庫,從而能夠集中精力專注於創新性的工作。然而,開源軟體的大量引用也給我們的應用帶來了安全隱患。安全檢測已成為當前DevOps流程的重要組成部分。


二、你的應用安全嗎

據不完全統計,現在有78%的企業都在使用開源軟體。但是,大家在享受開源軟體帶來的研發便利的同時,是否也意識到開源軟體帶來的安全隱患呢?


從上圖的統計資料可以看出,只有13%的企業會把安全放在引用開源軟體時的首要關注點。大部分的使用者選擇相信開源軟體的創造和維護者會保證其安全性。然而,下圖的統計資料表明,安全性並不是開源軟體維護者的維護重點。


這樣的現狀導致我們常用的開源軟體庫包含了各種各樣的安全漏洞,例如,據統計,目前14%的NPM包、30%的Docker Hub映象都包含安全漏洞。而且在這些漏洞被發現之後,也得不到及時的修復。據統計,Maven包裡有59%的已知安全漏洞還沒有得到修復,而漏洞的平均修復時間是290天,最嚴重級別漏洞的平均修復時間也僅是265天。駭客們已逐漸把開源軟體作為了主要的攻擊目標。

該怎麼樣保證我們上線應用的安全呢?


三、 JFrog Xray ,監測安全漏洞的利器

JFrog 公司提供的Artifactory+Xray是一個很好的產品組合。Artifactory是全語言的製品倉庫,能夠在同一個倉庫中儲存和管理我們應用研發中使用的所有外部依賴包。而Xray透過對Artifactory的監視,能夠在構建,甚至開發階段就發現安全漏洞問題,使得安全監測前置,避免了在應用上線前緊急排查問題的窘境。


如上圖所示,當Artifactory倉庫中新加入了製品包,設定了對其監視的Xray就會啟動安全檢查,並報告查到的安全漏洞和License授 權情況。而針對安全漏洞,Xray會提供詳細的漏洞資訊,以及在應用中的準確定位來輔助我們對其進行分析和檢查。


同時,針對查出來的安全漏洞,Xray還提供了針對其擴散範圍的分析。也就是說,可以幫助我們分析,出了被檢查的這個製品包外,還有哪些其他的應用也包含了這個安全漏洞。


除了安全漏洞及其擴散範圍的分析,Xray還提供自定義問題的能力。我們可以把用其他工具發現的安全問題,或者如效能過低、版本過老等非安全問題定義在對應的製品包上,同樣也可以利用Xray的能力檢查這些問題在我們的應用中的擴散範圍。

四、 Snyk, 不僅僅是監測漏洞

JFrog Xray 是基於開源的NVD開源漏洞資料庫來監測安全漏洞的,而Snyk( )提供了額外的商業漏洞資料庫。Xray可以透過和Snyk的整合,實現利用Snyk的商業漏洞資料庫進行安全漏洞檢查。

當然,基於自身的商業漏洞資料庫,Snyk也提供了安全漏洞的掃描和監測能力。Snyk提供了與各種各樣平臺的整合,幫助我們監測部署在這些平臺上的應用安全。

然而,Snyk的能力不僅如此,他還能幫助我們修復安全漏洞。例如,當和我們的Github Enterprise整合後,我們可以選擇我們需要監測的專案。

選定後,Snyk就會自動掃描我們的程式碼並報告在專案當中發現的安全漏洞。


Snyk 最大的特色是,針對這些安全漏洞,能夠自動給出PR(Pull Request)形式的修復建議。PR既可以針對所有發現的漏洞,也可以只針對某一個具體的漏洞。



直接Merge這些PR就可以幫助我們替換使用已修復安全漏洞的依賴包,實現安全隱患的自動消除。


五、總結

開源軟體的大量引用,在方便了應用開發的同時,也帶來了安全的隱患。利用JFrog Xray和Snyk等工具,能夠幫助我們儘早地發現開源依賴引入的安全漏洞,分析漏洞的擴散範圍,也可以給出修復建議,實現安全隱患的自動消除。

參考文獻

·        Xray and Snyk -  Don’t just scan … Fix!

 

·        JFrogXray 試用地址



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69954434/viewspace-2673084/,如需轉載,請註明出處,否則將追究法律責任。

相關文章