SDL將軟件安全開發生命周期劃分為以下個階段:
培訓:針對開發團隊和高層進行安全意識與能力的培訓,使之了解安全基礎知識以及安全方面的最新趨勢,同時能針對新的安全問題與形勢持續提升團隊的能力。
需求:在軟件開發初始階段,確定軟件安全需要遵循的安全標準和相關要求,建立安全和隱私要求的最低可接受級別。
設計:設計階段要從安全性的角度定義軟件的總體結構。通過分析攻擊面,設計相應的功能和策略,降低并減少不必要的安全風險,同時通過威脅建模,分析軟件或系統的安全威脅,提出緩解措施。
實施:按照設計要求,對軟件進行編碼和集成,實現相應的安全功能、策略以及緩解措施。在該階段通過安全編碼和禁用不安全的API,可以減少實現時導致的安全問題和編碼引入的安全漏洞,并通過代碼靜態分析等措施來確保安全編碼規范的實施。
驗證:通過動態分析和安全測試手段,檢測軟件的安全漏洞,全面核查攻擊面,檢查各個關鍵因素上的威脅緩解措施是否得以正確實現。
發布:建立可持續的安全維護響應計劃,對軟件進行最終安全核查。本階段應將所有相關信息和數據存檔,以便對軟件進行發布與維護。這些信息和數據包括所有規范、源代碼、二進制文件、專用符號、威脅模型、文檔、應急響應計劃等。
響應:響應安全事件與漏洞報告,實施漏洞修復和應急響應。同時發現新的問題與安全問題模式,并將它們用于SDL的持續改進過程中。
回答所涉及的環境:聯想天逸510S、Windows 10。
SDL將軟件安全開發生命周期劃分為以下個階段:
培訓:針對開發團隊和高層進行安全意識與能力的培訓,使之了解安全基礎知識以及安全方面的最新趨勢,同時能針對新的安全問題與形勢持續提升團隊的能力。
需求:在軟件開發初始階段,確定軟件安全需要遵循的安全標準和相關要求,建立安全和隱私要求的最低可接受級別。
設計:設計階段要從安全性的角度定義軟件的總體結構。通過分析攻擊面,設計相應的功能和策略,降低并減少不必要的安全風險,同時通過威脅建模,分析軟件或系統的安全威脅,提出緩解措施。
實施:按照設計要求,對軟件進行編碼和集成,實現相應的安全功能、策略以及緩解措施。在該階段通過安全編碼和禁用不安全的API,可以減少實現時導致的安全問題和編碼引入的安全漏洞,并通過代碼靜態分析等措施來確保安全編碼規范的實施。
驗證:通過動態分析和安全測試手段,檢測軟件的安全漏洞,全面核查攻擊面,檢查各個關鍵因素上的威脅緩解措施是否得以正確實現。
發布:建立可持續的安全維護響應計劃,對軟件進行最終安全核查。本階段應將所有相關信息和數據存檔,以便對軟件進行發布與維護。這些信息和數據包括所有規范、源代碼、二進制文件、專用符號、威脅模型、文檔、應急響應計劃等。
響應:響應安全事件與漏洞報告,實施漏洞修復和應急響應。同時發現新的問題與安全問題模式,并將它們用于SDL的持續改進過程中。
回答所涉及的環境:聯想天逸510S、Windows 10。