軟件安全保障體系架構
楊元原 等
- 出版商: 電子工業
- 出版日期: 2022-04-01
- 定價: $588
- 售價: 8.5 折 $500
- 語言: 簡體中文
- 頁數: 236
- ISBN: 7121431327
- ISBN-13: 9787121431326
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書從軟件安全保障的主要思路和要點出發,詳細介紹了軟件安全開發生命周期過程中需要考慮的安全要素。全書共9章,主要包括:第1章 綜述;第2章 軟件安全保障概念;第3章 安全需求和威脅建模;第4章 安全設計原則;第5章 基於組件的軟件工程;第6章 安全編碼;第7章 軟件安全測試;第8章 安全交付和維護;第9章 通用評估準則與軟件安全保障等內容。
目錄大綱
第1章綜述1
1.1 編寫背景1
1.2 編寫目的4
1.3 本書結構5
第2章軟件安全保障概念7
2.1 軟件工程7
2.1.1 軟件工程概述7
2.1.2 軟件工程基本原理9
2.1.3 軟件工程的特點11
2.1.4 軟件生命週期及生命週期模型12
2.2 軟件質量和軟件質量保障17
2.2.1 軟件質量17
2.2.2 軟件質量保障19
2.3 軟件安全21
2.3.1 信息與信息安全21
2.3.2 軟件安全概述26
2.3.3 安全功能軟件與安全軟件29
2.3.4 軟件安全與硬件安全30
2.3.5 信息系統安全與軟件安全31
2.4 軟件安全保障33
2.5 影響軟件安全的要素34
2.6 軟件面臨的威脅39
2.6.1 軟件漏洞的發掘40
2.6.2 造成軟件漏洞的原因43
2.6.3 漏洞避免與安全性45
2.6.4 通用軟件漏洞數據庫46
第3章安全需求和威脅建模48
3.1 需求的定義與分類48
3.1.1 軟件需求48
3.1.2 軟件需求分類50
3.1.3 軟件安全需求52
3.2 否定性和非功能性安全需求53
3.3 安全需求的來源55
3.4 安全需求的驗證57
3.5 安全建模方法58
3.5.1 軟件安全建模58
3.5.2 威脅建模60
第4章安全設計原則78
4.1 安全設計思想和方法78
4.1.1 安全設計思想78
4.1.2 安全設計方法80
4.2 安全架構82
4.3 安全設計原則83
4.3.1 通用原則1:減少關鍵組件的數量83
4.3.2 通用原則2:避免暴露薄弱組件和關鍵組件88
4.3.3 通用原則3:減少攻擊者破壞的途徑93
4.4 執行環境安全99
4.4.1 環境等級劃分:約束和隔離機制100
4.4.2 應用程序框架104
第5章基於組件的軟件工程106
5.1 基於模塊的軟件設計106
5.1.1 軟件模塊化106
5.1.2 模塊化設計的安全原則108
5.2 COTS和OSS組件的安全問題110
5.2.1 缺乏可見性問題110
5.2.2 軟件來源和安裝問題111
5.2.3 安全假設的有效性113
5.2.4 休眠代碼、死代碼和惡意代碼113
5.3 組件的安全評估114
5.3.1 組件的安全評估步驟115
5.3.2 組件相關問題117
5.4 組件的集成117
5.5 基於組件的安全維護118
第6章安全編碼119
6.1 安全編碼原則和實踐119
6.1.1 保持代碼簡潔性119
6.1.2 遵循安全的編碼指南120
6.1.3 使用一致的編碼風格121
6.1.4 保證代碼的可追溯性、可重用性和可維護性121
6.1.5 資源分配121
6.1.6 盡量清除狀態信息122
6.1.7 避免未經授權的特權升級122
6.1.8 使用一致的命名規則122
6.1.9 謹慎使用封裝123
6.1.10 權衡攻擊模式124
6.1.11 輸入驗證125
6.1.12 輸出過濾和“淨化” 129
6.1.13 避免安全衝突129
6.1.14 代碼審查130
6.1.15 #少反饋及檢查返回132
6.1.16 會話管理及配置參數管理133
6.1.17 安全啟動134
6.1.18 並發控制134
6.2 異常處理135
6.2.1 異常識別及事件監視器136
6.2.2 異常和失敗處理137
6.2.3 核心轉儲139
6.3 安全存儲和緩存管理139
6.4 進程間通信141
6.5 特定語言的安全問題141
6.6 安全編碼和編譯工具145
6.6.1 編譯器安全檢查和執行145
6.6.2 安全的軟件庫148
6.6.3 運行錯誤檢查和安全執行148
6.6.4 代碼混淆149
第7章軟件安全測試150
7.1 軟件測試和軟件安全測試151
7.1.1 軟件測試151
7.1.2 軟件安全測試156
7.1.3 軟件測試和軟件安全測試的關係163
7.2 測試計劃164
7.2.1 測試環境和測試要求164
7.2.2 測試時機165
7.3 軟件安全測試技術168
7.3.1 白盒和灰盒測試技術168
7.3.2 黑盒測試技術172
7.4 重要的軟件安全測試點179
7.4.1 輸入驗證測試179
7.4.2 緩衝區溢出測試180
7.4.3 SQL注入缺陷控制測試180
7.4.4 XSS腳本攻擊控制測試181
7.4.5 抗抵賴控制測試181
7.4.6 失效控制測試182
7.4.7 優先權提升控制測試183
7.5 解釋和使用測試結果183
第8章安全交付和維護185
8.1 分發前的準備185
8.2 安全分發190
8.3 安全安裝和配置191
8.3.1 初始化文件安全192
8.3.2 安全假設驗證193
8.3.3 刪除所有未使用的文件193
8.3.4 默認賬戶及口令更改194
8.3.5 刪除未使用的默認賬戶194
8.3.6 執行環境“鎖定” 195
8.3.7 設置默認安裝模塊196
8.3.8 配置應用安全策略196
8.3.9 啟用#小用戶身份197
8.3.10 開啟應用日誌審計197
8.3.11 數據備份197
8.4 安全維護197
8.4.1 漏洞管理197
8.4.2 軟件老化199
第9章通用評估準則與軟件安全保障201
9.1 通用評估準則的發展歷史201
9.2 通用評估準則的組成和重要概念203
9.2.1 TOE的概念205
9.2.2 安全目標和保護輪廓205
9.3 安全保障要求與軟件安全保障206
附錄A 術語定義208
參考文獻216