[原創]微軟SDL( Security Development Lifecycle)流程介紹
微軟SDL( Security Development Lifecycle)流程,是一種專註於軟體開發安全保障的流程,為了實現保證最終的使用者安全,在軟體開發各階段中引入安全和隱私問題。其中主要由以下7部分組成:
安全培訓(training):推廣安全編程意識需求分析(requirements): 尋找安全嵌入的最優方式系統設計(design): 威脅建模設計實現(implementation): 安全開發驗證(verification): 黑/白盒測試發布(release): 最後檢查確認響應(response):應急響應,bug跟蹤解決 總結, 通過上面的介紹,我們發現微軟SDL是將設計、代碼和文檔等與安全相關漏洞減到最少,在軟體開發的生命週期中儘可能的早地發現解決相關漏洞建立的流程架構; 值得我們學習的地方是,我們可以借鑒微軟SDL的流程架構建立符合公司自己的。
以下微軟SDL流程架構圖:
微軟SDL官方地址: http://www.microsoft.com/security/sdl/default.aspx
目前多數公司在安全方面都面臨者諸多問題,如:
1 安全意識不足
2 缺少安全設計
3 缺少安全編程規範
4 頻繁的迭代更新版本
5 壓縮項目周期
。。。等,當然還有更多,在此就不在列舉
所以借鑒微軟SDL流程架構,本文作者構建符合自己公司的SDL流程架構:
1 安全性測試(通過黑/白盒測試,發現公司系統潛在的漏洞,構建漏洞庫)
2 安全培訓(通過對常見漏洞,尤其是對使用者及公司造成危害性大的漏洞培訓形成解決方案措施)
3 需求分析評估(確切的來講,這個層次應屬於資訊安全範圍,針對各層次進行安全資訊識別和漏洞評估,制定相關安全目標等內容)
4 系統設計( 威脅模型建立,進行架構分析,分解各應用程式,識別風險,識別漏洞等)
5 編碼實現(進行相關程式碼檢閱,漏洞掃描檢查)
6 發布( 上線審核機制,安全監控(日誌,網站,伺服器等),Bug管理,故障事件管理等)
通過上面大家可以發現微軟SDL的“響應”環節去掉了,其實響應我個人理解將其融入以上6個環節中更有效,因為每個環節都需要應對;其中將安全性測試和安全培訓提至最前面,因為目前國內公司對安全其實瞭解甚少且比較偏面,所以最好的解決方案就是將問題擺出來,然後尋求解決之道!