Microsoft SDL SecDevOps實踐

0x00背景

                                       將安全原則和實踐作爲DevOps的組成部分,同時保持提高的效率和生產力。

從一開始,Microsoft SDL就確定安全性是每個人的職責,並且在SDL中包括了針對程序經理,開發人員和測試人員的實踐,所有這些實踐都是爲了提高安全性。此外,認識到一種規模並不適合所有開發方法,因此描述了靈活的實踐和活動,這些實踐和活動被證明可以使用經典的瀑布式方法或較新的敏捷方法來提高開發每個階段的軟件應用程序的安全性。但是,除了考慮生產環境之外,SDL不包括運營工程師的活動。

DevOps方法改變了這一點。現在,開發和運營緊密集成在一起,可以爲終端用戶快速連續地交付價值。DevOps取代了孤立的開發和運營部門,以創建可以與共享且高效的實踐,工具和KPI協同工作的多學科團隊。爲了在瞬息萬變的環境中提供高度安全的軟件和服務,以相同的速度移動安全至關重要。實現此目的的一種方法是在開發(SDL)和操作(OSA)流程中建立安全性。 

0x01概述

實踐經驗

DevOps中使用的實踐爲提高安全性提供了絕佳機會。自動化,監視,協作以及快速和早期反饋之類的實踐爲在DevOps流程中建立安全性奠定了堅實的基礎。 

 

有用的鏈接:

心態轉變爲DevSecOps文化

 

 

0x02 8大實踐

練習1:提供培訓

培訓對於成功至關重要。確保每個人都瞭解攻擊者的觀點,他們的目標以及他們如何利用編碼和配置錯誤或體系結構弱點,將有助於吸引所有人的注意力並提高集體知識的水平。

 

練習2-定義要求

建立同時考慮安全性和合規性控制的最低安全性基準。確保將它們烘焙到DevOps流程和管道中。至少,請確保基準考慮到現實世界中的威脅,例如OWASP前10名SANS前25名,以及行業或法規要求以及已知的問題或您選擇的技術堆棧中可能由人爲錯誤引起的問題。 

 

練習3-定義指標和合規性報告

通過定義特定的指標來推動工程師採取所需的行爲,以推動行動並支持合規性目標。

 

練習4 –使用軟件組成分析(SCA)和治理

選擇第三方組件(包括商業組件和開源組件)時,重要的是要了解組件中的漏洞可能對系統的整體安全性造成的影響。SCA工具可以協助許可披露,提供準確的組件清單並報告所引用組件的任何漏洞。使用高風險的第三方組件時,您還應該更具選擇性,並考慮在使用它們之前進行更徹底的評估。

瞭解有關使用安全的第三方組件的更多信息>

有用的鏈接

白源

 

練習5:執行威脅建模

儘管由於威脅建模的緩慢性,威脅建模可能在DevOps中具有挑戰性,但它是任何安全開發過程的關鍵組成部分。在大多數情況下,對威脅場景應用結構化方法可幫助團隊更有效,更便宜地識別安全漏洞,確定來自那些威脅的風險,然後選擇安全功能並建立適當的緩解措施。至少,應該在存在有意義的安全風險的環境中使用威脅建模。

 

練習6:使用工具和自動化

使用精心選擇的工具和集成到工程師世界中的智能自動化(例如集成開發環境)。在現代工程界中,很容易假設自動化是解決方案,正確的自動化是至關重要的,但是在選擇工具時要有選擇性,在部署工具時要小心,這一點很重要。目標是解決問題,而不是使工程師超出其日常工程經驗之外的太多工具或外來流程。用作安全DevOps工作流程一部分的工具應遵循以下原則:

  • 工具必須集成到CI / CD管道中。
  • 工具一定不需要安全專家。
  • 工具必須避免報告問題的假陽性率很高。

將靜態應用程序安全測試(SAST)集成到您的IDE(集成開發環境)中可以提供對語法,語義的深入分析見解,並提供及時的學習,從而防止在將應用程序代碼提交給您之前引入安全漏洞。代碼庫。同樣,將動態分析安全測試(DAST)工具集成到連續集成/連續交付管道中,將有助於快速發現僅在所有組件都已集成並運行時纔出現的問題。

 

有用的鏈接

Microsoft安全風險檢測(MSRD)

微軟DevSkim

VSTS安全市場

密碼掃描

Roslyn診斷安全分析儀

微軟BinSkim

具有白盒模糊測試的自動滲透測試

Microsoft安全代碼分析

如果使用的是Azure,則可以從Visual Studio Marketplace中下載Secure DevOps Kit

 

練習7-保持憑據安全

在預提交期間,有必要在源文件中掃描憑據和其他敏感內容,因爲它們可以減少將敏感信息傳播到團隊的CI / CD流程中的風險。與其使用代碼存儲敏感密鑰,不如考慮使用自帶密鑰(BYOK)解決方案,該解決方案使用硬件安全模塊(HSM)生成密鑰。

有用的鏈接

憑證掃描器

使用Key Vault Connected Service

 

練習8:使用持續學習和監控

使用高級分析功能監視應用程序,基礎結構和網絡可以幫助發現安全和性能問題。將持續集成/連續部署(CI / CD)做法與監視工具結合使用時,您將能夠更好地瞭解應用程序的運行狀況,並主動識別和緩解風險,以減少遭受攻擊的風險。監視也是支持深度防禦策略的重要組成部分,可以減少組織的平均識別時間(MTTI)和平均包含時間(MTTC)指標。

有用的鏈接

Azure監控器

先進的威脅檢測

 

0x03官方幫助文檔

主頁:https://www.microsoft.com/en-us/securityengineering/devsecops

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章