從 Kubernetes 安全到云原生應用安全
由于許多組織最初關注的是掃描和分析應用程序代碼和基礎設施以獲取安全洞察力的機制,結果通常是一種反模式,其中一組復雜的重疊和松散集成的工具跨越開發和生產實際上阻礙了工程團隊從解決開發過程中的安全問題。而且由于傳統的安全工具是為靜態環境構建的,考慮到云原生應用程序開發的動態和快速發展的性質,它們的效率通常不是太高。
盡管云原生架構使組織能夠構建和運行可擴展的動態應用程序,但它并非沒有挑戰。根據云安全聯盟 (CSA) 的說法,70% 的安全專業人員和工程團隊都在努力“左移”,其中許多人無法識別反模式的形成,也無法理解云原生的開發、成本、治理、文化理念等。
認識到范式轉變
正如在 CNCF 年度報告的細分中所討論的,55% 的受訪者每周或更頻繁地發布代碼,18% 每天多次發布代碼。微服務的持續采用和實施越來越多地挑戰組織——以及遺留應用程序安全工具—— 在整個開發過程中跟蹤軟件漏洞。實施 DevSecOps的工程團隊實踐和自動化安全工具將更早發現安全風險,節省開發人員時間,加快發布周期,并交付更安全和合規的代碼。
此外,安全事件(例如數據泄露、零日漏洞和隱私侵犯)對業務的影響只會繼續增長,這使得組織絕對有必要確保安全性成為數字化轉型和云原生應用程序開發的關鍵部分。無論您是 Solar Winds、Zoom 還是受數據泄露影響的眾多其他公司中的任何一家,風險都很高,后果從失去客戶到破產不等。在美國,平均數據泄露給企業造成 905 萬美元的損失, Log4j 零日漏洞正在影響數億個應用程序和設備, 數據隱私法規導致罰款 8.88 億美元(美元). 組織(從字面上)不能再忽視云原生開發引入的不斷發展的威脅動態。
使開發人員具有安全意識
開發人員知道如何構建應用程序...... 但他們需要正確的工具、洞察力、流程和 文化 來安全地構建它們。不幸的是,確保工程團隊承擔安全開發的額外責任是實施 DevSecOps 最具挑戰性和最關鍵的部分之一。根據 SANS 2022 DevSecOps 調查:創建一種文化以顯著改善組織的安全態勢,管理層支持是促成 DevSecOps 安全計劃成功的首要因素。組織需要一種結構化的方法,讓領導者參與進來、動員安全擁護者,并確?!鞍踩背蔀椤巴瓿傻亩x”不可或缺的一部分。
此外,通過確保工程、安全和運營之間的一致性,鼓勵開發人員“提高技能”,并專注于學習和實施有助于提高 Web 應用程序安全性的技術,更重要的是,使團隊能夠更早地轉移安全性進入設計和編碼階段。例如, OWASP 云原生應用安全 Top 10 提供有關云原生應用程序最突出的安全風險、所涉及的挑戰以及如何克服這些風險的信息。OWASP Top 10 鼓勵將安全性集成到 CI/CD 管道、參數化查詢、驗證所有輸入、實施錯誤處理、改進日志記錄策略、利用安全框架的優勢、保護靜態數據和加密、減少敏感數據暴露等準則,實施安全訪問控制等。
全面、優先和可行的見解
由于許多原因——速度和靈活性,最顯著的是——軟件開發的發展已經遠遠超出了單個開發人員從頭開始編寫代碼的貢獻。雖然從現有庫中組裝應用程序并使用自定義代碼將它們連接在一起的做法很常見,但這并非完全沒有風險:
- 全球 95% 以上的 IT 組織在任務關鍵型 IT 工作負載中使用開源軟件 (OSS)。
- 2021 年,軟件供應鏈攻擊增長了 300% 以上。
- 每年在開源和第三方代碼中發現超過 20,000 個常見漏洞和暴露 (CVE)。
正如開發人員安全平臺的 5 大評估標準中所討論的 :
- Cloud Native Instrumentation:提供深入了解應用程序運行時的工具,是非侵入式的,并且在云原生應用程序中可以很好地擴展
- 優先和全面的安全洞察:提供應用程序感知的上下文信息,例如跨越應用程序代碼、依賴項、容器映像和 Web 界面的使用信息和堆棧跟蹤
- 開發人員教育:為開發人員提供及時的、上下文相關的和可操作的安全見解
- CI/CD 集成和開發人員體驗:將安全性和合規性測試無縫集成并自動化到 CI/CD 管道中了解安全對合規性的影響:通過滿足合規性目標確??蛻魯祿陌踩碗[私
越來越多地使用開源軟件——結合成熟的 DevOps 管道提供的敏捷性和靈活性——繼續突出開發速度超過安全性的領域。出于這個原因,工程團隊應該評估可以觀察正在運行的應用程序的工具,以便為開發人員提供上下文相關的應用程序感知信息。這可能包括使用信息、堆棧跟蹤以及涵蓋應用程序代碼、依賴項、容器鏡像和 Web 界面的全面見解??鐟贸绦蚪M件的漏洞和不安全代碼的識別和關聯可以支持工程團隊通過幫助開發人員發現、確定優先級和補救最關鍵的安全風險來防止警報疲勞。
自動化安全測試
當大多數工程團隊考慮采用 DevSecOps 時,跨開發和運營無縫集成和自動化安全性的能力是一項必備功能。然而,許多傳統的應用程序安全工具專注于通過耗時的“門”或檢查點提供反饋,給開發人員帶來了開銷和摩擦。(順便說一句,這是反模式的一個很好的例子!)擺脫這種模式實際上代表了安全團隊的重大轉變,安全團隊習慣于強迫開發人員遵守他們的流程和工具。
然而,通過強調直接集成到現有 CI/CD 工作流和工具鏈中的技術和支持系統,目標應該是在開發和測試期間“自動”觀察正在運行的應用程序的行為,以提供安全洞察力,而不需要工程團隊浪費寶貴的資源開發時間上下文切換。事實上,回到之前的挑戰,確保每個功能測試都成為安全測試有助于將 DevOps 的“你構建它,你運行它”的理念擴展到發現、解決安全漏洞。