書馨卡幫你省薪 2024個人購書報告 2024中圖網年度報告
歡迎光臨中圖網 請 | 注冊
> >
軟件開發(fā)安全之道概念、設計與實施

軟件開發(fā)安全之道概念、設計與實施

出版社:人民郵電出版社出版時間:2024-01-01
開本: 16開 頁數(shù): 226
中 圖 價:¥74.9(7.5折) 定價  ¥99.8 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>

軟件開發(fā)安全之道概念、設計與實施 版權信息

  • ISBN:9787115617736
  • 條形碼:9787115617736 ; 978-7-115-61773-6
  • 裝幀:平裝-膠訂
  • 冊數(shù):暫無
  • 重量:暫無
  • 所屬分類:>

軟件開發(fā)安全之道概念、設計與實施 本書特色

1.本書是針對軟件專業(yè)人士編寫的技術指南,適合那些希望更好理解軟件安全原則、學習如何實踐軟件安全設計和實施的專業(yè)人員進行閱讀。

2.本書是根據(jù)作者從業(yè)經驗創(chuàng)作的,其中包含了很多實用性很強的觀點,讀者可以立刻把這些關鍵付諸實踐,讓自己正在編寫的軟件更加安全。

3.本書涵蓋了各種新興技術和趨勢,如云計算、物聯(lián)網、人工智能等,通過探討這些技術如何影響軟件開發(fā)安全性,為讀者提供了新的安全戰(zhàn)略和解決方案。

4.除了技術和策略外,本書還強調了培養(yǎng)安全意識和建立安全文化的重要性,通過實踐和案例分享,幫助讀者在企業(yè)中建立可持續(xù)的安全文化和實踐。

軟件開發(fā)安全之道概念、設計與實施 內容簡介

本書共有13章,分為三大部分,即概念、設計和實施。具體內容包括:**部分(第1~5章)為全書提供了概念基礎,涉及信息安全和隱私基礎概述、威脅建模、對可識別威脅進行防御性緩解的通用戰(zhàn)略、安全設計模式,以及使用標準的加密庫來緩解常見的風險。第二部分(第6~7章)分別從設計者和審查員的角度討論了如何使軟件設計變得安全的指導,以及可以應用哪些技術來實現(xiàn)安全性。第三部分(第8~13章)涵蓋了實施階段的安全性,在有了一個安全的設計后,這一部分將會解釋如何在不引入額外漏洞的情況下進行軟件開發(fā)。

軟件開發(fā)安全之道概念、設計與實施 目錄

第 1 部分 概念

第 1 章 基礎 3

1.1 理解安全 3

1.2 信任 4

1.2.1 信任感 5

1.2.2 比特位不是肉眼可見的 6

1.2.3 能力與不足 6

1.2.4 信任是一個頻譜 7

1.2.5 信任決策 7

1.3 經典原則 9

1.3.1 信息安全的 CIA 10

1.3.2 黃金標準 12

1.3.3 隱私 17

第 2 章 威脅 20

2.1 對抗性視角 21

2.2 四個問題 22

2.3 威脅建模 22

2.3.1 從一個模型入手 23

2.3.2 判斷資產 24

2.3.3 判斷攻擊面 26

2.3.4 判斷信任邊界 26

2.3.5 判斷威脅 28

2.3.6 緩解威脅 33

2.4 隱私方面的考量因素 34

2.5 無處不在的威脅建模 34









第 3 章 緩解 36

3.1 解決威脅 36

3.2 結構性的緩解戰(zhàn)略 37

3.2.1 把攻擊面減到*小 37

3.2.2 縮窄漏洞窗口 38

3.2.3 把暴露的數(shù)據(jù)減到*少 39

3.3 訪問策略與訪問控制 40

3.4 接口 41

3.5 通信 42

3.6 存儲 42

第 4 章 模式 44

4.1 設計屬性 45

4.1.1 極簡設計 45

4.1.2 透明設計 46

4.2 暴露*少信息 47

4.2.1 *小權限 47

4.2.2 *少信息 48

4.2.3 默認防御 49

4.2.4 放行列表與阻塞列表 49

4.2.5 避免可預測性 51

4.2.6 失效安全 52

4.3 強力執(zhí)行 52

4.3.1 完全仲裁原則 52

4.3.2 *少共同機制 54









4.4 冗余 55

4.4.1 深度防御 55

4.4.2 權限分離 56

4.5 信任與責任 57

4.5.1 不盲目信任 58

4.5.2 接受安全責任 58

4.6 反模式 60

4.6.1 代理混淆問題 60

4.6.2 意圖與惡意 61

4.6.3 可信的代理 62

4.6.4 信任回流 62

4.6.5 第三方 Hook 63

4.6.6 組件不可修補 63

第 5 章 密碼學 64

5.1 加密工具 64

5.2 隨機數(shù) 65

5.2.1 偽隨機數(shù) 65

5.2.2 加密安全的偽隨機數(shù) 66

5.3 消息認證代碼 66

5.3.1 使用 MAC 來防止篡改 67

5.3.2 重放攻擊 68

5.3.3 安全 MAC 通信 68

5.4 對稱加密 69

5.4.1 一次性填充 69

5.4.2 高級加密標準 70

5.4.3 使用對稱加密 70

5.5 非對稱加密 71

5.6 RSA 密碼系統(tǒng) 71

5.7 數(shù)字簽名 72

5.8 數(shù)字證書 74

5.9 密鑰交換 74

5.10 使用加密 76





第 2 部分 設計

第 6 章 安全的設計 81

6.1 在設計中集成安全性 82

6.1.1 明確設計中的假定規(guī)則 82

6.1.2 定義范圍 83

6.1.3 設置安全要求 84

6.1.4 威脅建模 85

6.2 建立緩解措施 87

6.2.1 設計接口 87

6.2.2 設計數(shù)據(jù)處理 88

6.3 將隱私融入設計 88

6.4 規(guī)劃整個軟件生命周期 89

6.5 權衡取舍 89

6.6 設計的簡潔性 90

第 7 章 安全設計審查 92

7.1 SDR 流程 92

7.1.1 為什么要執(zhí)行 SDR? 92

7.1.2 什么時候執(zhí)行 SDR? 93

7.1.3 文檔是必不可少的 93

7.2 SDR 流程 93

7.2.1 研究 94

7.2.2 詢問 94

7.3.3 識別 95

7.3.4 合作 95

7.3.5 撰寫 96

7.3.6 跟進 97

7.3 評估設計安全性 97

7.3.1 以四個問題為指導 97

7.3.2 我們在做什么? 98

7.3.3 會出什么問題? 98

7.3.4 我們要怎么做? 99

7.3.5 我們做的好嗎? 99









7.3.6 在哪里挖掘 100

7.3.7 隱私審查 100

7.3.8 審查更新 100

7.4 處理分歧 101

7.4.1 巧妙地溝通 101

7.4.2 案例研究:困難的審查 102

7.4.3 上報分歧 103

7.5 練習 104



第 3 部分 實施

第 8 章 安全地編程 107

8.1 挑戰(zhàn) 108

8.1.1 惡意影響 108

8.1.2 漏洞是 bug 109

8.1.3 漏洞鏈 110

8.1.4 Bug 和熵 112

8.1.5 警覺 112

8.2 研究: GotoFail 113

8.2.1 單行漏洞 113

8.2.2 當心 Footgun 114

8.2.3 GotoFail 的教訓 115

8.3 編碼漏洞 116

8.3.1 原子性 116

8.3.2 時序攻擊 117

8.3.3 序列化 118

8.4 非常嫌疑犯 118

第 9 章 低級編碼缺陷 120

9.1 算數(shù)漏洞 121

9.1.1 定寬整數(shù)漏洞 121

9.1.2 浮點精度漏洞 123

9.1.3 示例:浮點下溢 124

9.1.4 示例:整數(shù)溢出 126

9.1.5 安全算數(shù) 128





9.2 內存訪問漏洞 129

9.2.1 內存管理 129

9.2.2 緩沖區(qū)溢出 130

9.2.3 示例:內存分配漏洞 130

9.2.4 案例研究: Heartbleed

漏洞 133

第 10 章 不受信任的輸入 138

10.1 輸入驗證 138

10.1.1 確定有效性 140

10.1.2 驗證標準 140

10.1.3 拒絕無效輸入 141

10.1.4 糾正無效輸入 142

10.2 字符串漏洞 142

10.2.1 長度問題 143

10.2.2 Unicode 問題 143

10.2.3 編碼和字形 143

10.2.4 大小寫轉換 144

10.3 注入攻擊漏洞 144

10.3.1 SQL 注入攻擊 145

10.3.2 路徑遍歷 147

10.3.3 正則表達式 149

10.3.4 XML 的危險 149

10.4 緩解注入攻擊 150

第 11 章 WEB 安全 152

11.1 建立在框架之上 153

11.2 Web 安全模型 153

11.2.1 HTTP 協(xié)議 154

11.2.2 數(shù)字證書和 HTTPS 156

11.2.3 同源策略 158

11.2.4 Web Cookies 159

11.3 常見的 Web 漏洞 160

11.3.1 跨站腳本攻擊 161

11.3.2 跨站請求偽造攻擊 163

11.4 更多的漏洞和緩解措施 165









第 12 章 安全測試 167

12.1 什么是安全測試? 167

12.1.1 整數(shù)溢出 167

12.1.2 內存管理問題 167

12.1.3 不可靠輸入 168

12.1.4 網頁安全 168

12.1.5 異常處理缺陷 168

12.2 對 GotoFail 漏洞執(zhí)行安全測試 168

12.2.1 功能測試 170

12.2.2 包含漏洞的功能測試 170

12.2.3 安全測試用例 170

12.2.4 安全測試的限制 171

12.3 編寫安全測試用例 171

12.3.1 測試輸入驗證 172

12.3.2 測試 XSS 漏洞 173

12.4 模糊測試 174

12.5 安全回歸測試 175

12.6 可用性測試 177

12.6.1 資源消耗 177

12.6.2 閾值測試 178

12.6.3 分布式拒絕服務攻擊 179

12.7 安全測試的*佳實踐 179

12.7.1 測試驅動的開發(fā)( Test-

driven development) 179

12.7.2 利用集成測試 179

12.7.3 追趕安全測試的進度 180





第 13 章 安全部署*佳實踐 181

13.1 代碼質量 181

13.1.1 代碼清潔 181

13.1.2 異常和錯誤處理 182

13.1.3 記錄安全性 183

13.1.4 安全代碼審查 183

13.2 依賴關系 184

13.2.1 選擇安全的組件 184

13.2.2 保護接口 185

13.2.3 不要做重復的工作 186

13.2.4 對抗傳統(tǒng)安全 186

13.3 漏洞分類 187

13.3.1 DREAD 評估 187

13.3.2 創(chuàng)建利用漏洞的有效

攻擊 189

13.3.3 作出分類決策 190

13.4 維護一個安全的開發(fā)環(huán)境 190

13.4.1 開發(fā)和生產相分離 190

13.4.2 保護開發(fā)工具 191

13.4.3 發(fā)布產品 191

后記 193

附錄 A 設計文檔示例 203

附錄 B 詞匯表 215

附錄 C 練習 227

附錄 D 備忘單 231
展開全部

軟件開發(fā)安全之道概念、設計與實施 作者簡介

[美]洛倫·科恩費爾德(Loren Kohnfelder) 從事編程行業(yè)已經超過 50 年時間,在麻省理工學院攻讀碩士研究生期間發(fā)表的論文“關于一項實用的公鑰加密系統(tǒng)(Towards a Practical Public-Key Cryptosystem)” (1978)描述了數(shù)字證書以及公共密鑰體系結構(PKI) 的基礎。他的軟件從業(yè)經歷包括各式各樣的編程類工作,如編寫各種打孔卡、磁盤控制器驅動、 鏈接加載器(linking loader)、電子游戲,以及半導體研究實驗室的設備控制軟件。在微軟供職期間, 他回歸了安全工作, 加盟了微軟的 IE 瀏覽器團隊,之后又加入了.NET 平臺安全團隊,參與了全行業(yè)主動安全進程方法的設計。近期他加盟了谷歌公司,曾擔任安全團隊的軟件工程師,此后又參與組建了隱私團隊,對大型商業(yè)系統(tǒng)進行了百次以上的安全設計審查。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服