軟體安全開發生命週期讀書筆記

cnbird發表於2010-06-29

分階段:

0. 教育和意識

      1.微軟成功的原因在於管理層支援和教育與培訓.

      2.工程師必須對基本的安全弱點、常見的安全漏洞型別、基本的安全設計有所瞭解。

      3.主要教育如下:軟體工程原理、歷史專案總結,經驗,教訓、軟體架構、測試方法、事件交換技術、可信度、可伸縮性、理解未來技術方向、各種技術例如XML,ASP,SOAP等、程式語言、介面設計、可訪問性

      4.bug hash活動的初衷不是讓人人都成為安全專家,相反僅僅是為了提高人民的安全意識、並讓人們清楚地知道安全部門希望將來(或現在)做些什麼樣的改進。

      5.演講內容包括可信計算機概述、SDL簡介、安全設計基礎(受攻擊面分析、深度防禦、最小特權、安全預設配置)、威脅建模(設計威脅建模、編碼威脅建模、測試威脅建模)、FUZZ模糊測試、安全編碼最佳實踐(緩衝區溢位、整型數值問題、XSS、SQL INjection、弱加密機制,微軟.net規範問題)

      6.微軟開發課程主要包括安全的軟體設計,開發和測試基礎、模糊測試精要、威脅建模精要、實施威脅消減措施、安全設計與架構、SDL介紹和最終安全評審過程、安全工具概述、實戰安全程式碼評審、安全程式設計實踐、安全bug精要、受攻擊面分析、漏洞開發、打包過程需求、應急響應、加密範例、客戶隱私

      7.培訓型別可以把培訓拍攝下來放到公司內網,以便工程師隨時方便地訪問培訓資源,同時錄影以及線上教學課件有助於地址位置分散的開發團隊或者被收購的外部團隊獲得培訓。

      8.開發一個新課程的步驟

            一.課程特定物件以及目標聽眾

            二.一個安全專家建立該新課程

            三.其他專家對課程就技術準確度以及可用性進行多次稽核

            四.培訓(非安全專家)查詢一致性以及排版錯誤,並校對課程資料

            五.提交beta課程,該課程的目的在於對時間進度進行微調並獲得初步內容反饋

            六.6個月內至少每月交付一次課程

            七.六個月後,進行錄影的同時把資料放到內網

      9.追蹤參與度和合規度(配合人力資源簽到看參與度,同時要有反饋表)

 

第一階段:專案啟動

      1.任命安全專家的工作職責

             1.1 擔任開發團隊與安全團隊之間溝通的橋樑

             1.2 召集開發團隊舉辦SDL啟動會議

             1.3 對開發團隊的設計與威脅模型進行評審

             1.4 分析並對bug進行分類,如安全類,隱私類

             1.5 對開發團隊的設計與威脅模型進行評審

             1.6 擔任開發團隊的安全傳話筒

             1.7 協助開發團隊準備最終安全稽核

             1.8 與相應安全團隊協同工作

 


相關文章