安全開發工作總結v1.0

cnbird發表於2012-06-23

    經過了鳳凰網以及完美世界開發工作的鍛鍊,對於安全開發工作有了一些很好的認識,下面總結一下過去的經驗和教訓

    對於安全開發一定要有一套成熟度模型,例如公司剛開始做的時候定義的級別可以低一些,可做的事情要少一些。但是隨著熟練程度的增加以及大家對於安全開發的理解的加深,逐步加深高階別的安全成熟度模型。

   下面就簡單介紹一下我心中的成熟度模型的相關控制,未分級大家可以依靠公司自己的特性來進行補充。

  

    1. 管理安全控制

        1.1 建立安全職責,目標就是組織中都明確自己的職責和責任

        工作內容:

        a) 組織安全機構組織架構圖例如資訊保安委員會等等,這裡一定要注意安全機構一定級別足夠的高,例如屬於董事會或者CEO下面

        b) 文件化安全形色,職責,責任以及授予什麼樣的許可權

       1.2 管理安全配置

       工作內容:

       a)系統中所有軟體的更新記錄,保證出現問題可以很快的追蹤到相對應的版本以及回退

       b)系統中所有問題的bug記錄以及安全問題記錄這樣可以很好的知道現有系統所存在的風險

       1.3 安全意識、培訓

        工作內容:

       a) 安全意識、培訓的內容的有效性

       b)跟蹤使用者對於培訓和意識課程的理解

       c)培訓以及安全意識課程的資料收集,一定要來源與內部,當然也可以來源於外面的安全事件

      1.4 管理安全列表

      工作內容:

      a) 收集維護以及各個系統的日誌

      b) 敏感資產的詳細清單

      c) 安全控制失效的原因以及解決方案

     1.5  風險評估

       工作內容

     a) 識別安全運維過程中的風險

     b) 識別安全開發過程中的風險

     c) 定義組織內統一的安全度量標準

 2.協調組織內的安全形色

     2.1  定義協調的最終目標

     工作內容:

     a) 資訊共享的途徑,例如安全部門一定要建立漏洞管理資料庫保證研發、運維部門第一時間得到這些資訊,最重要的是要得到他們的相應,從這些響應中得到相對應的流程,進而推動了安全部門的地位,最重要的是保證了安全問題第一時間得到修補。

    b) 各個部門定義安全員,這樣做的目的可以讓他們在內部幫我們推動安全相關流程

    2.2 協調機制

    工作內容:

    a) 一定要定期或者非定期的進行安全溝通,這樣做的目的是第一時間得到他們對安全的理解和認識,如果他們出現錯誤的認識我們要及時的進行更正,讓他們可以按照我們的想法走

   b)一定要注意跟外部安全專家以及安全公司的交流,這樣做可以第一時間得到最新的安全漏洞以及安全解決方案

  3. 組織內部建立安全監控

   3.1 事件記錄

   工作內容:

    a) 一定要記錄到每個安全事件的詳細內容,這樣做可以形成組織內部的問題管理庫。組織第一次發生事件的時候可能馬慌腳亂,但是有了這樣的過程發現同樣問題的時候可以很好的得到第一時間解決

   b) 安全事件的詳細分析以及歸納,目的是分類安全事件形成相對應的響應團隊。

    3.2 級別安全突發事件

    工作內容:

   a) 一定要事先定義好突發事件的清單,這樣做的目的是防患於未然。

   b) 根據上面的清單來列出相對應的突發事件的響應手冊

   c) 突發事件的逐級報告,有的部門怕擔責任隱瞞事件的危害,這樣做的危害非常大,高層不瞭解安全危險,他就不能做好很好的決策。

   3.3 定義檢查安全防禦措施

    工作內容:

   a) 定期檢查WEB安全防禦措施

   b) 定期檢查作業系統安全措施

   c) 定期檢查網路安全措施

   d) 定期檢查人員安全措施

   3.4 突發事件響應內容

   工作內容:

   a) 系統優先恢復的列表,重要的系統得到DDOS或者其他重要攻擊的時候先要恢復那些列表

   b) 應急響應計劃,定義突發事件的響應計劃,定期非定期進行演練

  

  4. 安全組提供相對應的安全建議

   4.1 提供安全編碼建議

    工作內容:

   a) 安全設計原則,安全編碼規範以及威脅建模、威脅樹分析

   b) 定義安全體系架構以及查詢對應的信任關係,著重注意信任關係,因為信任關係是最容易出現問題的地方

 

   4.2 提供安全運維指南

   工作內容:

   a) 安全加固手冊

   b) 安全流程風險分析以及對應的解決方案

  4.3  識別安全需求

   工作內容:

   a) 根據需求文件得到安全需求列表

   b) 注意隱私保護以及法律法規的限制

   c) 實現統一的安全防禦措施,這裡主要目的是針對一類問題進行統一的處理

  5. 驗證

   5.1 驗證安全編碼漏洞

  工作內容:

   a) 利用owasp ASDR進行威脅分析,同時編寫對應的安全測試手冊

   b) 利用上線前檢查來測試相對應的風險

   c)測試框架類安全例如Spring,Struts以及zendframework以及其他相關的MVC架構

   5.2 驗證系統安全漏洞

  工作內容:

   a) 利用相對應的框架來進行系統安全漏洞檢查,例如OSSTMM,ISSAF等框架

  5.3 驗證網路漏洞

   工作內容:

   a) 利用相關的測試工具來進行驗證網路漏洞

 

由於安全開發的工作非常多,所以我只是大概寫了一些關鍵點,這些關鍵點展開的話工作量那是相當的大啊,所以保證一個軟體或者WEB程式的安全執行絕非一朝一夕簡簡單單的。

未完。。。。待續

 下一期分享:

1. 安全開發的風險,例如安全需求,安全編碼,安全測試等

2. 安全運維流程的風險


相關文章