DevSecOps:駕馭軟體安全的未來趨勢

羅心妤/國立臺灣科技大學資訊管理學系

DevSecOps:將安全性融入DevOps

DevSecOps,其中包含了Development(開發)、Security(安全)以及Operations(營運)的元素。這是一種在整個IT生命周期中將安全性視為共同責任的理念。相較於傳統的作法,將安全性放在開發進程的最後,DevSecOps強調從一開始就納入安全性的考量,以建立一個既協作又自動化,同時兼具安全性的平台。

在DevSecOps的概念中,超越了開發和營運團隊的範疇,將安全團隊和合作夥伴引入協作的大環境中。這使得整個IT生態系統都能夠共同參與,確保DevOps方法的靈活性和反應迅速的特質,同時將安全性視為組織中的共同責任,而非孤立的課題。

此外,DevSecOps強調了協作和早期整合的重要性。開發人員需要以安全性為主撰寫程式碼,同時與安全團隊分享有關已知威脅的資訊。這有助於更早地識別和解決軟體供應鏈風險,確保開源軟體的安全性。

DevSecOps組件:打造安全基礎[1]

  1. 程式碼分析:是DevSecOps的基礎步驟之一,這涉及對應用程式的原始碼進行仔細的檢查,確保它遵循安全最佳實踐。通過這種方式,團隊能夠在程式碼層面上處理安全問題,進而打造出更為穩固的安全基礎。
  2. 變更管理:變更管理是確保軟體安全演進的一個關鍵。使用變更管理工具,團隊能夠有效地追蹤、管理,並報告與軟體或需求相關的所有變更。這項措施有助於預防軟體變更可能引發的意外安全漏洞。此外,自動化在變更管理中成為一個重要的焦點,使系統能夠自動核准那些通過檢查的變更。然而,若相符性未通過,該部署將被標記為未準備就緒,並導致連續部署流程的中斷。在這種情況下,團隊可選擇進行手動核准變更要求。
  3. 法遵管理:目的是確保軟體符合法規要求,例如美國的健康保險可攜性和責任法案(Health Insurance Portability and Accountability Act,HIPAA)、聯邦風險與授權管理計畫(The Federal Risk and Authorization Management Program,FedRAMP) 或是台灣的資通安全管理法、個人資料保護法等,通常會使用軟體或工具,以驗證符合安全、隱私和反竄改規範。
  4. 威脅模型:在應用程式部署之前和之後進行威脅模型分析,預測並減輕潛在的安全風險。這包括以軟體為中心、以資產為中心和以攻擊者為中心的不同威脅建模方法。
  5. 安全培訓:目的是培育團隊內的安全意識文化。舉例來說,向軟體開發人員和維運團隊提供最新的安全指南教育,使他們能夠在應用程式建置和部署的過程中做出獨立的安全決策。

DevSecOps關鍵技術:從CI/CD到持續安全

在DevSecOps的理念中,主張縮短且頻繁的開發周期,同時強調將安全措施無縫地融入操作,以促進團隊更加緊密的協作。這對於現代複雜的軟體開發環境確實是一項相當具有挑戰性的任務,然而,這也是自動化發揮核心作用的地方。

組織在考慮自動化時需要思考兩個關鍵問題:自動化哪些部分,以及如何實現這些自動化。在這個過程中,組織應該全面考慮整個開發和營運環境的各個方面。這包括開源程式庫、容器註冊表、持續整合和持續部署(CI/CD)管線、應用程式介面(application programming interface,API)管理、編排和發布的自動化,以及營運管理和監控等多個層面。[2]

CI/CD是指持續整合(Continuous Integration)和持續部署(Continuous Deployment)。它代表一種自動化的流程,用於實現快速且高效的軟體交付。在DevSecOps的框架下,CI/CD流程具備自動化整個軟體開發生命週期的能力,使得整個流程更加可靠、高效且可重複,同時降低了人為錯誤和風險。值得注意的是,在CI/CD流程中,自動化測試是一個非常重要的步驟,它有助於開發人員更迅速地發現問題,減少問題修復的成本和風險,同時提高應用程式的品質和安全性。[3]

在DevSecOps的框架下,為了更強調整個軟體開發生命週期的安全性,特別強調自動處理已知漏洞的安全更新。這個理念的明確目標是確保每個服務都以最低權限運作,有效地減少未經授權的連接和存取。這種自動化的概念同樣延伸到系統和服務配置管理,確保它們嚴格遵循安全政策,同時也能消除手動錯誤所帶來的風險。

DevSecOps文化:建立堅固基石

在對英國大型企業和公共部門的調查中,發現近一半的IT團隊將DevSecOps失敗歸因於文化衝突。更令人擔憂的是,超過一半稱他們的團隊對變革存在抵抗,在這樣的情況下,培訓成為一個非常重要卻經常被忽視的因素,只有26%計劃採用DevSecOps的組織在其路徑圖中包含內部培訓,凸顯了對技能差距和培訓需求低估的情況。[4]以下是建立DevSecOps文化的四大方向[5]

  1. 協作:促進開發人員、安全專業人員和維運團隊之間的協同作業

在實踐DevSecOps的過程中解決組織內的孤島現象、團隊之間的權力爭奪、溝通效率不彰以及企業對變革的抗拒。強調促進不同團隊之間的協作,包括開發人員、安全專業人員和維運團隊。透過建立明確的標準操作流程(SOP),解決溝通和合作方面的挑戰,特別是針對安全問題。SOP中定義了每個團隊的責任,概述了工作流程,並制定了事件發生時的處理程序。協作的關鍵在於確保不同團隊間能夠高效地溝通,及早發現安全漏洞。

  1. 意識:將安全始終置於首要位置

著重於在應用程式生命周期中持續關注安全風險、漏洞和最佳實踐。強調持續監控和即時應對安全威脅的重要性,包括在產品營運階段監控外部伺服器是否受到攻擊,並及時發現最新的開源弱點。

  1. 責任:分散的安全負擔

強調將安全負擔分散到每個團隊成員,確保每個人都對他們所工作組件的安全方面負責。這是DevSecOps的核心理念,要求每個解決方案、開發測試、IT維運,以及跨多個部門的協作中都融入安全原則。強調「安全是整個團隊成員的責任,需要貫穿整個軟體生命週期的每一環節」。[6]

  1. 持續學習:適應新興威脅

強調定期更新有關最新安全威脅和緩解技術的技能和知識。這有助於團隊適應並為新興威脅做好準備。同時,組織還需建立一些職位,例如資安團隊,以加深對安全問題的了解。

Devsecops的未來趨勢

  1. 依賴外部諮詢公司和基於雲的解決方案[7]

組織在實施DevSecOps環境中越發重視外部諮詢公司和基於雲端的解決方案,以確保應用的安全性。這種轉變的原因很多,其中包括內部安全人才短缺、內部滲透測試所需的高成本和時間。因此,為了應對這些挑戰,組織開始將內部滲透測試的執行負擔轉交給外部顧問或利用基於雲端的平台。

這種轉變的一個例子是「滲透測試作為一項服務型測試(Penetration Testing as a Service,PtaaS)」,相較於內部滲透測試團隊更加靈活。這些解決方案讓組織能夠隨時進行手動測試或自動掃描,而無需在現場部署資源或維護複雜的基礎設施。這樣的外包安全測試對於依賴DevSecOps流程的大型組織而言,不僅節省了時間和金錢,同時獲得先進的技術,有助於使組織更具競爭力,同時確保其在安全方面持續保持高水準。

  1. 自動化與AI支撐創新

自動化和人工智慧(AI)正成為提升安全領域營運效率的重要推動力。隨著自動化與AI相結合的不斷深化,企業將能夠更簡化決策流程並優化資源分配。根據SANS 2023調查,利用AI進行DevSecOps的應用率取得了驚人的增長,從2022年的33%增長到2023年的49%,增長了16%。[8]

AI的快速且準確的異常檢測為企業提供了巨大的價值。除此之外,它們還能夠在開發過程中進行多次程式碼掃描,實現自動安全測試,及早發現潛在漏洞。這使得團隊能夠在應用程式上線之前快速解決問題,而無需採取更昂貴的修改。

同時,「設計安全」的概念也被提出。透過建立網路安全標準、偵測漏洞並從一開始就解決這些問題,組織可以在風險顯現之前預防風險。這種變革性方法將使企業能夠在沒有不可預見的障礙的情況下進行創新,確保安全性從一開始就是開發過程中不可或缺的一部分。[9]

  1. 更完整地實踐軟體物料清單[10]

軟體物料清單(Software Bill of Materials,SBOM)被視為改變遊戲規則的工具,它是一個程式碼庫的清單,詳細紀錄了一個軟體應用程式使用的所有軟體元件,包括資料庫、模組、框架、工具以及其他軟體資源[11]。儘管SBOM提供了對應用程式使用的軟體元件寶貴的見解,但實踐中仍然存在一些需要克服的障礙。

舉例來說,自動產生SBOM的工具在資料提供方面缺乏一致性。另外,SBOM在採購決策中的價值有限,因為它們需要頻繁更新以保持相關性。為了建立管理良好且安全的軟體供應鏈,附加工具如軟體構成分析和程式碼簽章將變得至關重要。

結語

隨著DevSecOps的崛起,見證了安全開發領域的一場革命。通過將安全性納入整個開發和營運過程,組織能夠更靈活、高效地應對安全威脅,同時確保應用程式的穩健性。根據研究顯示,DevSecOps的複合年增長率預計為23.32%,這主要歸因於對安全性與法遵性的不斷關注[12]。在COVID-19改變的商務環境中,DevSecOps的發展將引領著安全開發的未來。

本文內容純屬筆者個人意見,並不代表TWNIC立場

[1]AWS (2023) What is DevSecOps? 檢自:https://aws.amazon.com/what-is/devsecops/?nc1=h_ls (Dec,18,2023)

[2]Red Hat (2023) What is DevSecOps? 檢自:https://www.redhat.com/en/topics/devops/what-is-devsecops (Dec,18,2023)

[3]GAIA (2023) DevSecOps是什麼?如何做到讓軟體開發更快、更安全? 檢自:https://www.gaia.net/tc/news_detail/2/193/devsecops (Dec,18,2023)

[4]Telecom Reseller (2023) B Culture clashes cited by almost half of IT teams as the reason for DevSecOps failing 檢自:https://telecomreseller.com/2023/12/05/culture-clashes-cited-by-almost-half-of-it-teams-as-the-reason-for-devsecops-failing/ (Dec,18,2023)

[5]Gunnar Andrews (2023) Building a DevSecOps Culture: Cultivating a security-aware culture within the teams 檢自:https://www.akto.io/blog/building-a-devsecops-culture-cultivating-a-security-aware-culture-within-the-teams (Dec,18,2023)

[6]Onward Security, a DEKRA Company (2020) 如何兼顧產品開發的敏捷度與安全性?淺談DevSecOps與自動化的相輔相成 檢自:https://www.onwardsecurity.com/resource_blog-detail/about_the_complementarity_of_DevSecOps_and_automation/ (Dec,18,2023)

[7]JACOB FOX (2023) Navigating the Future of DevSecOps: A Deep Dive into the SANS 2023 Survey 檢自:https://www.cobalt.io/blog/future-of-devsecops-sans-2023-survey-overview (Dec,18,2023)

[8]JACOB FOX (2023) Navigating the Future of DevSecOps: A Deep Dive into the SANS 2023 Survey 檢自:https://www.cobalt.io/blog/future-of-devsecops-sans-2023-survey-overview (Dec,18,2023)

[9] JD SHERRY (2023) The Future of DevSecOps: Emerging Trends in 2024 and Beyond 檢自:https://istari-global.com/insights/articles/future-of-devsecops-emerging-trends-2024/ (Dec,18,2023)

[10]JD SHERRY (2023) The Future of DevSecOps: Emerging Trends in 2024 and Beyond 檢自:https://istari-global.com/insights/articles/future-of-devsecops-emerging-trends-2024/ (Dec,18,2023)

[11] 飛象資訊 (2023) 數位時代的供應鏈安全─SBOM 檢自:https://www.flyelephant.com.tw/post/%E6%95%B8%E4%BD%8D%E6%99%82%E4%BB%A3%E7%9A%84%E4%BE%9B%E6%87%89%E9%8F%88%E5%AE%89%E5%85%A8-sbom (Dec,18,2023)

[12] Intellect Insights Journal (2023) Global DevSecOps Market [2023-2030] | Report Forecasts Strong Growth for Market, Reaching USD 18230.09 Million 檢自:https://www.linkedin.com/pulse/global-devsecops-market-2023-2030-report/ (Dec,18,2023)

Scroll to Top