安全「測試左移」的四大實用步驟

Aug 15, 2019
1 minutes
... views

This post is also available in: English (英語) 简体中文 (簡體中文) 日本語 (日語) 한국어 (韓語) Português (葡萄牙語(巴西))

自從現代運算開始以來,安全性已經在很大程度上與軟體開發分離開。最近的弱點研究已證實這一點。考慮過去五年中所有已發佈的弱點,有 76% 來自於應用程式。有鑑於攻擊者相當關注這種根本上的轉變,因此亟需將安全嵌入到開發過程中。完成此任務的最佳方法是採取測試左移安全策略。

界定測試左移安全

用最簡單的術語來說,安全「測試左移」是將安全轉移到開發過程中盡可能早的時間點。現代持續整合/持續部署通常涉及八個步驟,如下面的圖 1 所示。考慮到測試左移安全不僅可以減少網路風險,而且可以降低成本。IBM 系統科學研究所發現,在設計階段解決安全問題的成本比實施階段便宜 6 倍。這項研究還發現,在測試過程中解決安全問題的成本可能會高出 15 倍。

若要在每個步驟中嵌入安全性,需要先從明確定義的策略開始。

圖 1:持續整合/持續部署

 

步驟 1:定義測試左移安全策略

任何旅程的第一步都是確定打算前往的目的地。這會為您的團隊繪製最生動的畫面,呈現最終成功的樣貌。本文件中包含的關鍵項目包括願景、所有權/責任、里程碑和指標。預期策略文件隨著時間的推移而臻於成熟,而且不需要花費過多的時間來改善。隨著時間的推移而重複進行的過程相當重要。

 

步驟 2:瞭解在組織中建立軟體的位置和方式

測試左移安全最具挑戰性的一面可能是首先要瞭解組織中建立軟體的方式和位置。根據公司的規模,這可能涉及從簡單到極具挑戰性的不同範圍。

此步驟的目標是先查看整個組織,並記錄公司的整體軟體流程。中大型組織會想要從宏觀層面開始,然後深入到各個業務部門。每個業務部門很可能都有各自的軟體開發流程和工具。在此階段確定的關鍵項目包括誰撰寫程式碼 (人員)、如何從開發筆記型電腦流向生產 (流程),以及使用哪些系統來啟用流程 (技術)。這也可以稱為持續整合/持續部署工具鏈。毫無疑問,大部份軟體開發都是在公有雲中完成。

 

步驟 3:確定並實作安全品質防護措施

品質保證一直是軟體開發生命週期的一部份。不過,軟體品質不曾涵蓋安全性。必須改變這種情況,前面步驟中完成的工作將協助您實現這一點。軟體開發流程的每個步驟都是提供回應和找出安全問題的機會。最有效的安全團隊都是從小規模開始著手。小規模能夠為開發團隊提供簡單有效的工具,這些工具將在日常開發活動中發揮作用。Palo Alto Networks 最近對一套這樣的工具開放了原始碼,可供免費使用。

 

步驟 4:評估並持續訓練開發團隊撰寫安全的程式碼

測試左移安全過程的一部份是確保完成大部分程式碼的人員首先建立安全的程式碼。如果您並未客觀衡量這些人員目前擁有的技能,而且沒有計劃隨著時間的推移持續提升他們的技能,就很難達成建立安全程式碼的目標。在一項調查中,有 19% 的開發人員表示他們不熟悉 OWASP 十大安全風險,這是一個不容忽視的問題。DevOps 服務供應商 GitLab 最近發佈的一項調查更進一步證實了這一點,該調查發現 70% 的程式設計人員期望編寫安全程式碼,不過只有 25% 的人認為本身的組織採取「良好」的安全實務。

 

測試左移安全的運行方式

讓我們看看以下兩種情境,其中的開發簡化為建構、部署和執行階段。在情境 1 中,開始進行開發而不考慮安全性。僅在執行階段檢查軟體品質。這通常會導致在發現弱點後安全性與開發之間不容易溝通。

不過,在情境 2 中,安全團隊已經花時間瞭解了組織內部的開發流程。他們還花時間在持續整合/持續部署管道中嵌入了安全流程和工具,因而產生自動的安全品質防護措施。

結論

運用上述四大步驟有助於組織邁向堅實的道路,不僅可以將安全測試左移,而且可以將安全性與開發劃上等號。隨著組織將安全測試左移作為雲端遷移之旅的一部分,自動化和 API 驅動的安全控制變得極為重要。Palo Alto Networks Prisma 會保護 DevOps 和您的持續整合/持續部署管道,以確保安全團隊能夠做到這一點。


Subscribe to the Blog!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.