隨著越來越多的公司意識到將安全性整合到其devops流水線的重要性,對devsecops產品的需求一直在強勁增長。但是,投入devsecops市場尋求選擇的it和devops專業人員很快意識到,devsecops工具和框架的數量眾多且令人困惑。選擇過多,往往使他們陷入決策疲勞和分析癱瘓的境地,因為他們試圖了解選擇哪種安全解決方案以及如何將其整合到他們的軟體開發流水線中。
但是,為什麼首先將devsecops成為如此關注的焦點呢?為了跟上創新的步伐,開發人員已成倍地增加了對開源軟體(oss)的使用,使其現已廣泛應用於應用程式開發交付過程中。隨著越來越多的源**來自「外部」,如今,收集和理解其內容的需求變得至關重要。
在這篇文章中,我們將研究在減輕oss中可能包含的漏洞方面最成功的工具和技術型別。然後,我們將分享一些技巧,這些技巧將幫助您從市場上脫穎而出,並在評估市場上的許多不同選項時做出更好,更明智的決策,尤其是在軟體組成分析(sca)領域。
如今,典型的應用程式使用多達90%的oss元件,這些元件取自公開可用的開源庫。這種趨勢使得應用程式中存在的漏洞數量不斷增加,進而導致漏洞攻擊和破壞。公司通過載devops流水線中新增更多安全檢查整合來做出反應。
但是,安全專業人員和開發人員真正需要哪種型別的工具來確保其生產軟體的安全性和穩定性?公平地說,有多種廣泛的devops安全工具可以解決軟體開發生命週期(sdlc)的不同領域:
**分析(靜態和動態)
軟體組成分析(針對第三方oss)
執行時安全性分析(包括容器)
理想情況下,團隊應該致力於採用所有這些領域的工具,以實現完整的sdlc安全性,但是對於本部落格,我們將專注於軟體組成分析,該軟體的目標是緩解oss開源元件和二進位制檔案中的漏洞和違反許可證合規性。
選擇devsecops工具時,需要確保以下7點:
1、可以本地管理和理解所有製品的工具
在團隊在沒有完成確定哪個oss元件具有漏洞的任務之前,他們首先需要乙個通用的devops平台,該平台可以作為乙個基本要求,在集中位置管理所有元件和二進位制製品檔案,而不論其技術棧型別如何。devops平台需要知道專案使用了哪些元件以及它們之間的依賴關係,還有專案建立了哪些製品檔案。
2、使用最好的燃料
最有效的解決方案將需要像vulndb這樣的世界一流的漏洞情報源的力量,以確保它具有最新的漏洞知識庫。世界上最好的汽車如果他們沒有最好的燃料來推動他們什麼也不是
3、堅持可見性和影響分析
devsecops的「贏家」不僅能夠了解您的二進位制檔案使用了哪些oss庫和元件,而且還能了解如何解壓和掃瞄它們並檢視所有底層和依賴項,甚至包括打包在docker映像和zip檔案中的那些底層和依賴項。能夠了解組織中製品檔案和依賴關係結構的解決方案可以為企業提供軟體交付可見性,並在交付過程中的任何地方發現其漏洞或許可證違規的影響範圍。
4、需要支援容器和雲原生框架
解決方案應支援基於容器的發布框架,容器框架已迅速成為雲原生部署的事實上的標準。對容器技術的深入,遞迴的理解以及深入**每一層layer的能力將確保漏洞不會被掩蓋。不幸的是,某些掃瞄工具不支援容器,或者對它們的所有不同層和可傳遞依賴項了解不足。
5、自動化治理
與公司安全部自動化協作管理的能力是devsecops的重要籌碼。治理系統必須能夠自動執行公司策略,並在不進行干預的情況下採取相應的措施。主要功能應包括:
a.通過不同的渠道(例如電子郵件,即時訊息或需求管理系統如jira)來通知違反安全性或合規性問題,
c.使依賴脆弱元件(包含高危漏洞)的構建失敗
d.防止部署易受攻擊的交付件
6、遍及整個流水線
devsecops中的差異化點是如何將製品的詳細資料與橫跨製品倉庫,構建,部署,執行等階段的安全掃瞄結合起來。即使在生產部署之後(執行時),乙個可以覆蓋整個sdlc並持續檢測和監視漏洞和合規性違規的平台將脫穎而出。
7、混合動力
即使您尚未維護混合型的基礎架構。現在選擇支援您的持續雲計算旅程和基礎架構混合的工具和解決方案,將確保您無論在何處的devsecops流水線中都具有一致性和標準。
devsecops將不再停留在cio的心願單。現在它是必須執行的it戰略,它必須成為任何組織sdlc不可或缺的一部分。即使組織選擇了合適的devsecops解決方案,領導者也需要確保他們在各個團隊之間實施完善的devsecops流程。這包括需要繼續就應用程式安全最佳實踐對開發人員和devops從業人員進行培訓。開發人員安和全專業人員比例通常是250:1,因此在開發團隊之間分享安全知識是彌補安全缺失的基礎。
選擇乙個可以管理儲存庫,二進位制檔案,ci / cd自動化和oss元件分析並支援容器化發布框架的devsecops平台似乎是一項艱鉅的任務。此外,支援本地,雲,多雲和混合部署是乙個額外的挑戰。但是,解決方案需求清單是乙個很好的起點。我們希望這七個技巧將為您向**商提出正確的問題,消除市場噪音以及做出明智的決定奠定堅實的基礎。
選擇正確的方案
在工作中,我們常常看到很多加班,有些是業務的需要,但大多數都可以有效控制的。首先,我們是否選對的方案?很多人工作是不考慮方案的,第一感的方法就做,常常做無用功。究其原因大約有三個 1 能力有限,只能想到一種方法 2 不願意思考多個方案。3 想到多個方案,但沒有能力評估,只好任選乙個熟悉的,而可能不是...
放棄是正確的選擇
在我讀到過的幾乎所有文章 書籍或者網路日誌中,永不放棄 或者類似的語言 都被放在企業家必須關注列表的第一位。儘管這種說法可以帶來一定的鼓勵效果,但就個人而言,我認為對於很多創業者來說,這是不現實和不公平的,甚至可能會導致適得其反的結果。我的建議,或者說更合理謹慎的說法,就是 企業家應該知道什麼時間放...
正確的選擇log級別
開發乙個應用,日誌的重要性不言而喻。然而有時會發現日誌中會出現大量的垃圾日誌。所謂垃圾日誌,就是不需要知道的日誌,或者這些日誌對於應用檢視 跟蹤沒有什麼作用。也正是 但不僅僅是 出於這些問題的考量,常用的日誌框架都設定了日誌級別。但是在寫程式時,這些日誌級別該選擇哪一種呢,這點並沒有乙個統一的標準,...