1. 功能要求
* 軟體功能期望
* 業務需求->功能需求
- 標準要求:
* 部署平台要求
* 資料庫
* 災難恢復和業務連續性計劃(DR / BCP)
* 基礎設施
- 組織自己的編碼要求
- 安全要求
1. 主題-對象-動作
* 主題:(WHO)
用戶和用戶的角色定義,例如誰在使用什麼
* 對象:(WHAT)
主題與之互動,例如軟體功能
訪問控制列表
* 動作/活動:(HOW)
主題可以對對象執行的事件
* 主題活動矩陣
2. 用例和濫用案例
* 使用者案例:
- 用戶和預期系統行為的示例
- 不適用於所有主題之間的互動,不能替代文檔
- 幫助定義系統獨立行為:對於復雜或令人困惑的情況處理
* 濫用案例:
- 未經授權的用戶和禁止的行為
* 使用/濫用案例模型:
- 使用
為用戶顯示預期的系統行為
- 濫用
目前已知的攻擊
從攻擊者的角度檢查系統
促進設計人員/開發人員/測試人員之間的溝通
3. 時序安排
* 不同的系統同時與同一實體互動
* 關於系統操作的時間/時間順序:
- 競爭條件:一個過程取決於另一個過程的值
- 鎖定
* 由比賽窗口定義:
並行執行緒競爭更改同一對象的機會
* 確認競爭視窗窗口以避免競爭
* 無限循環
- 具有未處理狀態的複雜條件邏輯
4. 安全編碼標準
* 特定於語言的規則和推薦做法
- 描述漏洞
- 排除典型代碼中的漏洞和被利用條件
* 安全的編碼標準
* 範例:
- 例外捕抓和處理
- 紀錄標準
2. 操作要求
部署與現有系統的連接、整合
- 新增/擴充系統與現有系統交互
- 安全的開發生命週期的
* 設計:
* 設計安全架構:
- 威脅模型
- 已知的安全漏洞類型
- 縱深防禦
- 終端使用者控制
- 父母/企業控制
- 敏感資料已加密
- 按鍵保護
* 設計簡單
* 預設:
* 通過關閉元素來最小化攻擊面
* 部署:
* 部署指南
- 可維護性
- 資料存取
- 服務訪問
* 修補和升級解決方案
* 通訊:
* 安全響應功能和開發團隊
* 終端使用者
* 顧客
3. 需求追踪矩陣(RTM)
* 管理工具和文件系統:
* 要求編號
* 要求說明
* 需求來源
* 測試目標
- 單個測試目標以說明規範
* 驗證方法
- 驗證測試的方法
* 使用者案例