CISSP 第十章 軟件開發安全

10.1 軟件的重要性

10.2 何處需要安全

軟件控制方式:

  1. 操作系統控制:如在ARP中插入僞造的數據
  2. 應用程序和數據庫管理控制
  3. 以上兩種方式結合:這是常用的方式

10.3 系統開發生命週期

system development life cycle,SDLC
SDLC的階段:啓動,購買/開發,安裝,操作/維護,處理

認證:對系統進行的技術測試
認可:管理層允許系統在特定環境中運行的正式授權

10.4 軟件開發生命週期

software development life cycle,SDLC
需求收集、設計、開發、測試/驗證、發佈/維護

如果軟件是爲特定客戶開發的,往往就需要一個工作聲明(Statement of Work,SOW),描述產品和客戶的要求。
工作分解結構(work breakdown structure,WBS)是一個項目管理工具,定義和分組項目的各工作單元。

測試/驗證階段:單元測試、集成測試、驗收測試、迴歸測試
在這裏插入圖片描述

10.5 安全軟件開發最佳實踐

Web應用安全聯盟WASC
開放式Web應用程序安全項目OWASP
美國美土安全部DHS/構建安全Build Security In,BSI
ISO/IEC27034

10.6 軟件開發模型

10.6.1 邊做邊改模型

不是一個正式的系統開發生命週期模型

10.6.2 瀑布模型

線性生命週期模型,每一個階段都依賴上一個階段的結果,不適合複雜的項目,因爲項目中通常存在很多變量

10.6.3 V模型

類似瀑布模型,但在項目的每個階段都進行測試,所以成功率更高。但不允許平行處理事件,變更成本也高。適合前期可以理解所有需求且變更範圍很小的場合。

10.6.4 原型模型

快速原型:也稱拋棄型,團隊快速開發出原型以判斷是否可行或是需要開發另一種解決方案,快速原型在完成服務目的後是被丟棄的

液化原型:原型會被持續改進直到最後的產品階段,在實驗室環境中創建和改進

運行原型:類似液化原型,但是在生產環境中開發和改進的

10.6.5 增量模型

多個瀑布模型,每一個瀑布都交付一個可運行的產品
適合涉及風險、程度複雜性、資金和功能需求問題,且需要在產品開發週期早起階段考慮的項目

10.6.6 螺旋模型

使用迭代方法將重點放在風險分析上,適合有動態需求的複雜項目

10.6.7 快速應用開發PAD

原型+迭代的方式,允許用戶在開發階段參與其中,以保證最終的結果能滿足需求

10.6.8 敏捷模型

採用迭代和增量開發的方式,更靈活

除此以外,還有探索型模型、複用模型、淨室模型、聯合分析開發

10.7 能力成熟度模型CMM

Capability Maturity Model
CMM模型描述了軟件開發流程的基本規程、原則和實踐。

10.8 變更控制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章