微軟SDL( Security Development Lifecycle)流程,是一種專注于軟件開發安全保障的流程,為了實現保證最終的用戶安全,在軟件開發各階段中引入安全和隱私問題。其中主要由以下7部分組成:
需求分析(requirements): 尋找安全嵌入的最優方式
系統設計(design): 威脅建模設計
實現(implementation): 安全開發
發布(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個環節中更有效,因為每個環節都需要應對;其中將安全測試和安全培訓提至最前面,因為目前國內公司對安全其實了解甚少且比較偏面,所以最好的解決方法就是將問題擺出來,然后尋求解決之道!
原文轉自:http://www.anti-gravitydesign.com