軟件安全概論

魏強

  • 出版商: 科學出版
  • 出版日期: 2024-12-01
  • 售價: $474
  • 語言: 簡體中文
  • 頁數: 258
  • 裝訂: 平裝
  • ISBN: 7030804899
  • ISBN-13: 9787030804891
  • 相關分類: 資訊安全
  • 下單後立即進貨 (約4週~6週)

商品描述

本書系統介紹軟件安全問題和軟件安全防護的相關概念和技術,是一本關於軟件安全的入門級教材。全書共分三部分:第一部分(第1、2章)為軟件安全基礎,介紹軟件安全風險產生的原因和軟件安全相關概念,並介紹三類軟件安全思維與五種軟件安全技術方法;第二部分(第3~5章)為軟件安全威脅,主要闡述三類主要威脅,即軟件漏洞、惡意代碼和軟件供應鏈安全。具體講解軟件漏洞原理及演化規律;惡意代碼機理、檢測對抗和發展趨勢;軟件供應鏈安全案例、開源代碼安全問題以及供應鏈安全分析技術。第三部分(第6~9章)為軟件安全防護,圍繞軟件安全的全生命周期重點講解常用的軟件安全開發模型、軟件安全分析技術、軟件安全測試技術以及軟件保護技術。 本書可作為高等院校網絡空間安全、信息安全和計算機科學與技術等專業的本科教材,也可作為相關專業學生、軟件工程師和研究人員的參考書。

目錄大綱

目錄
第一部分軟件安全基礎
第一章 緒論 1
1.1 軟件安全的重要性 1
1.1.1 軟件安全事件頻發 1
1.1.2 軟件安全的廣泛影響 2
1.1.3 軟件安全的目標關鍵性 3
1.2 主要安全風險 3
1.2.1 軟件開發缺陷 4
1.2.2 軟件運維風 5
1.2.3 開源軟件及其組件風險 6
1.2.4 軟件安全供應鏈風 6
1.3 軟件安全問題產生的原因及其造成的影響 7
1.3.1 軟件安全問題產生的原因 8
1.3.2 軟件安全問題造成的影響 10
1.4 生態鏈安全環境下的新挑戰 12
1.4.1 數據安全 12
1.4.2 信息物理融合安全 13
1.4.3 認知域安全 13
1.5 軟件安全概念與範疇 14
1.5.1 軟件安全的概念 14
1.5.2 軟件安全的範疇 15
1.6 章節組織關系 16
第2章 軟件安全思維與方法 17
2.1 軟件安全思維 17
2.1.1從全局視角看 17
2.1.2 從問題分解看 21
2.1.3 從逆向方法看 28
2.2 主要技術方法 31
2.2.1 程序分析與理解 31
2.2.2 安全測試與證明 33
2.2.3 漏洞發現與防禦 35
2.2.4 安全設計與開發 39
2.2.5 軟件侵權與權益保護 41
第二部分軟件安全威脅
第3章 軟件漏洞 44
3.1 漏洞存在機理與主要問題 44
3.1.1 軟件漏洞產生的原因 45
3.1.2 軟件漏洞的危害 45
3.2 軟件漏洞的分類與管控 46
3.2.1 軟件漏洞分類 46
3.2.2 典型剛牛漏洞 47
3.2.3 軟件漏洞的管控 48
3.3 內存破壞型漏洞原理分析 49
3.3.1 空間類內存破壞漏洞 49
3.3.2 時序類內存破壞漏洞 60
3.4 非內存破壞型漏洞原理分析 62
3.4.1 註入類漏洞 62
3.4.2 跨站類漏洞 64
3.4.3 身份認證與訪問控制類漏洞 67
3.4.4 敏感數據泄露 68
3.4.5 安全配置錯誤漏洞 68
3.5 漏洞演化規律與發展脈絡 69
3.5.1 漏洞生命周期 69
3.5.2 軟件漏洞數量及類型分布演化 69
3.5.3 軟件漏洞利用的攻防演化 71
第4章 惡意代碼 73
4.1 惡意代碼概述 73
4.2 惡意代碼類型及特征 74
4.2.1 計算機病毒 74
4.2.2 網絡蠕蟲 75
4.2.3 特洛伊木馬 76
4.2.4 流氓軟件 77
4.2.5 間諜軟件 77
4.2.6 其他 78
4.3 惡意代碼機理 78
4.3.1 計算機病毒機理分析 79
4.3.2 網絡蠕蟲機理分析 85
4.3.3 特洛伊木馬機理分析 88
4.3.4 Rootkit機理分析 92
4.4 惡意代碼的檢測及對抗 96
4.4.1 惡意代碼的檢測 96
4.4.2 惡意軟件的檢測對抗技術 98
4.5 惡意代碼的發展趨勢 101
第5章 軟件供應鏈安全 103
5.1 軟件供應鏈安全概述 103
5.1.1 軟件供應鏈安全與關鍵環節 103
5.1.2 軟件供應鏈安全現狀 106
5.1.3 相關政策法規 109
5.2 軟件供應鏈中的開源代碼安全 110
5.2.1 開源代碼安全現狀 111
5.2.2 開源代碼安全挑戰 113
5.2.3 不同編程語言的安全問題 115
5.2.4 開源代碼安全解決方案 116
5.3 軟件供應鏈中的第三方庫安全 119
5.3.1 第三方庫安全現狀 120
5.3.2 基於圖結構的組件庫識別 121
5.3.3 基於特征項的組件庫識別 124
5.3.4 公共組件庫動態檢測技術 128
5.4 軟件供應鏈安全案例分析 130
5.4.1 Okta系統供應鏈安全分析 130
5.4.2 3CX桌面軟件供應鏈安全分析 131
5.4.3 MOVEit供應鏈安全分析 133
5.4.4 Applied Materials 供應鏈安全分析 133
5.4.5 CocoaPods供應鏈安全分析 134
第三部分軟件安全防護
第6章 軟件安全開發 135
6.1 軟件安全開發模型 135
6.1.1 軟件安全開發模型概述 135
6.1.2 微軟SDL模型 136
6.1.3 NIST網絡安全框架 138
6.1.4 McGraw的內建安全模型 141
6.2 軟件安全設計 146
6.2.1 安全設計原則 146
6.2.2 齡設計方法 149
6.3 軟件安全編程 152
6.3.1 軟件安全編程原則 152
6.3.2 安全編程實踐 157
6.3.3 數據安全編g 161
第7章 軟件安全分析 164
7.1 軟件安全分析概述 164
7.2 逆向分析技術 165
7.2.1 原理、作用和基本步驟 165
7.2.2 常用的逆向工具 167
7.3 代碼相似性分析技術 172
7.3.1 代碼相似性分析的基本概念 173
7.3.2 當前代碼相似性分析技術的分類 173
7.3.3 典型代碼相似性分析方法 178
7.4 代碼插裝技術 179
7.4.1 代碼插裝技術原理和用途 180
7.4.2 靜態與動態代碼插裝 180
7.4.3 常見代碼插裝工具 183
7.5 汙點分析技術 185
7.5.1 汙點分析技術概念 185
7.5.2 汙點分析技術的基本工作流程 185
7.5.3 汙點分析工具 188
7.6 符號執行技術 190
7.6.1 符號執行技術原理 191
7.6.2 當前符號執行的實現方法和流程 191
7.6.3 符號執行工具 194
第8章 軟件安全測試 197
8.1 軟件安全測試概述 197
8.1.1 軟件安全測試的概念和分類 197
8.1.2 軟件安全測試的主要方法 198
8.2 代碼審計 198
8.2.1 代碼審計概述 198
8.2.2 靜態代碼審計 200
8.3 模糊測試 203
8.3.1 模糊測試概述 203
8.3.2 基於生成的模糊測試工具 207
8.3.3 基於變異的模糊測試工具 210
8.4 漏洞掃描 213
8.4.1 漏洞掃描概述 213
8.4.2 主動掃描 217
8.4.3 被動掃描 218
8.5 安全測試工具 220
8.5.1 代碼審計典型工具 220
8.5.2 模糊測試典型工具 221
8.5.3 漏洞掃描典型工具 225
第9章 軟件保護技術 227
9.1 軟件保護概述 227
9.1.1 軟件保護場景 227
9.1.2 軟件保護政策法規 228
9.1.3 軟件保護技術概述 229
9.2 軟件混淆技術 230
9.2.1 布局混淆 231
9.2.2 數據混淆 232
9.2.3 控制流混滑 234
9.2.4 預防混淆 238
9.2.5 混滑工具實踐 238
9.3 控制流完整性保護 239
9.3.1 控制流安全問題 239
9.3.2 程序控制流圖 240
9.3.3 CFI主流保護技術 240
9.3.4 CFI保護應用 243
9.4 數據流完整性保護 244
9.4.1 數據流安全問題 244
9.4.2 程序數據流圖 245
9.4.3 數據不可執行 245
9.4.4 隔離與檢測技術 248
9.5 隨機化保護 249
9.5.1 隨機化保護技術分類 249
9.5.2 地址空間布局隨機化 250
9.5.3 內核地址空間布局隨機化 252
9.5.4 其他隨機化技術 253
9.6 其他軟件保護技術 254
9.6.1 軟件水印 254
9.6.2 軟件防篡改技術 255
9.6.3 軟件可信技術 255
參考文獻 256

最後瀏覽商品 (20)