注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)信息安全軟件開發(fā)安全之道概念、設(shè)計(jì)與實(shí)施

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

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

定 價(jià):¥99.80

作 者: [美]洛倫·科恩費(fèi)爾德(Loren Kohnfelder)
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買這本書可以去


ISBN: 9787115617736 出版時(shí)間: 2024-01-01 包裝: 平裝-膠訂
開本: 128開 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

第 1 部分 概念
第 1 章 基礎(chǔ) 3
1.1 理解安全 3
1.2 信任 4
1.2.1 信任感 5
1.2.2 比特位不是肉眼可見的 6
1.2.3 能力與不足 6
1.2.4 信任是一個(gè)頻譜 7
1.2.5 信任決策 7
1.3 經(jīng)典原則 9
1.3.1 信息安全的 CIA 10
1.3.2 黃金標(biāo)準(zhǔn) 12
1.3.3 隱私 17
第 2 章 威脅 20
2.1 對(duì)抗性視角 21
2.2 四個(gè)問題 22
2.3 威脅建模 22
2.3.1 從一個(gè)模型入手 23
2.3.2 判斷資產(chǎn) 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 結(jié)構(gòu)性的緩解戰(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 存儲(chǔ) 42
第 4 章 模式 44
4.1 設(shè)計(jì)屬性 45
4.1.1 極簡(jiǎn)設(shè)計(jì) 45
4.1.2 透明設(shè)計(jì) 46
4.2 暴露最少信息 47
4.2.1 最小權(quán)限 47
4.2.2 最少信息 48
4.2.3 默認(rèn)防御 49
4.2.4 放行列表與阻塞列表 49
4.2.5 避免可預(yù)測(cè)性 51
4.2.6 失效安全 52
4.3 強(qiáng)力執(zhí)行 52
4.3.1 完全仲裁原則 52
4.3.2 最少共同機(jī)制 54




4.4 冗余 55
4.4.1 深度防御 55
4.4.2 權(quán)限分離 56
4.5 信任與責(zé)任 57
4.5.1 不盲目信任 58
4.5.2 接受安全責(zé)任 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 組件不可修補(bǔ) 63
第 5 章 密碼學(xué) 64
5.1 加密工具 64
5.2 隨機(jī)數(shù) 65
5.2.1 偽隨機(jī)數(shù) 65
5.2.2 加密安全的偽隨機(jī)數(shù) 66
5.3 消息認(rèn)證代碼 66
5.3.1 使用 MAC 來防止篡改 67
5.3.2 重放攻擊 68
5.3.3 安全 MAC 通信 68
5.4 對(duì)稱加密 69
5.4.1 一次性填充 69
5.4.2 高級(jí)加密標(biāo)準(zhǔn) 70
5.4.3 使用對(duì)稱加密 70
5.5 非對(duì)稱加密 71
5.6 RSA 密碼系統(tǒng) 71
5.7 數(shù)字簽名 72
5.8 數(shù)字證書 74
5.9 密鑰交換 74
5.10 使用加密 76


第 2 部分 設(shè)計(jì)
第 6 章 安全的設(shè)計(jì) 81
6.1 在設(shè)計(jì)中集成安全性 82
6.1.1 明確設(shè)計(jì)中的假定規(guī)則 82
6.1.2 定義范圍 83
6.1.3 設(shè)置安全要求 84
6.1.4 威脅建模 85
6.2 建立緩解措施 87
6.2.1 設(shè)計(jì)接口 87
6.2.2 設(shè)計(jì)數(shù)據(jù)處理 88
6.3 將隱私融入設(shè)計(jì) 88
6.4 規(guī)劃整個(gè)軟件生命周期 89
6.5 權(quán)衡取舍 89
6.6 設(shè)計(jì)的簡(jiǎn)潔性 90
第 7 章 安全設(shè)計(jì)審查 92
7.1 SDR 流程 92
7.1.1 為什么要執(zhí)行 SDR? 92
7.1.2 什么時(shí)候執(zhí)行 SDR? 93
7.1.3 文檔是必不可少的 93
7.2 SDR 流程 93
7.2.1 研究 94
7.2.2 詢問 94
7.3.3 識(shí)別 95
7.3.4 合作 95
7.3.5 撰寫 96
7.3.6 跟進(jìn) 97
7.3 評(píng)估設(shè)計(jì)安全性 97
7.3.1 以四個(gè)問題為指導(dǎo) 97
7.3.2 我們?cè)谧鍪裁矗?98
7.3.3 會(huì)出什么問題? 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 上報(bào)分歧 103
7.5 練習(xí) 104

第 3 部分 實(shí)施
第 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 當(dāng)心 Footgun 114
8.2.3 GotoFail 的教訓(xùn) 115
8.3 編碼漏洞 116
8.3.1 原子性 116
8.3.2 時(shí)序攻擊 117
8.3.3 序列化 118
8.4 非常嫌疑犯 118
第 9 章 低級(jí)編碼缺陷 120
9.1 算數(shù)漏洞 121
9.1.1 定寬整數(shù)漏洞 121
9.1.2 浮點(diǎn)精度漏洞 123
9.1.3 示例:浮點(diǎn)下溢 124
9.1.4 示例:整數(shù)溢出 126
9.1.5 安全算數(shù) 128


9.2 內(nèi)存訪問漏洞 129
9.2.1 內(nèi)存管理 129
9.2.2 緩沖區(qū)溢出 130
9.2.3 示例:內(nèi)存分配漏洞 130
9.2.4 案例研究: Heartbleed
漏洞 133
第 10 章 不受信任的輸入 138
10.1 輸入驗(yàn)證 138
10.1.1 確定有效性 140
10.1.2 驗(yàn)證標(biāo)準(zhǔn) 140
10.1.3 拒絕無效輸入 141
10.1.4 糾正無效輸入 142
10.2 字符串漏洞 142
10.2.1 長(zhǎng)度問題 143
10.2.2 Unicode 問題 143
10.2.3 編碼和字形 143
10.2.4 大小寫轉(zhuǎn)換 144
10.3 注入攻擊漏洞 144
10.3.1 SQL 注入攻擊 145
10.3.2 路徑遍歷 147
10.3.3 正則表達(dá)式 149
10.3.4 XML 的危險(xiǎn) 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 跨站請(qǐng)求偽造攻擊 163
11.4 更多的漏洞和緩解措施 165




第 12 章 安全測(cè)試 167
12.1 什么是安全測(cè)試? 167
12.1.1 整數(shù)溢出 167
12.1.2 內(nèi)存管理問題 167
12.1.3 不可靠輸入 168
12.1.4 網(wǎng)頁(yè)安全 168
12.1.5 異常處理缺陷 168
12.2 對(duì) GotoFail 漏洞執(zhí)行安全測(cè)試 168
12.2.1 功能測(cè)試 170
12.2.2 包含漏洞的功能測(cè)試 170
12.2.3 安全測(cè)試用例 170
12.2.4 安全測(cè)試的限制 171
12.3 編寫安全測(cè)試用例 171
12.3.1 測(cè)試輸入驗(yàn)證 172
12.3.2 測(cè)試 XSS 漏洞 173
12.4 模糊測(cè)試 174
12.5 安全回歸測(cè)試 175
12.6 可用性測(cè)試 177
12.6.1 資源消耗 177
12.6.2 閾值測(cè)試 178
12.6.3 分布式拒絕服務(wù)攻擊 179
12.7 安全測(cè)試的最佳實(shí)踐 179
12.7.1 測(cè)試驅(qū)動(dòng)的開發(fā)( Test-
driven development) 179
12.7.2 利用集成測(cè)試 179
12.7.3 追趕安全測(cè)試的進(jìn)度 180


第 13 章 安全部署最佳實(shí)踐 181
13.1 代碼質(zhì)量 181
13.1.1 代碼清潔 181
13.1.2 異常和錯(cuò)誤處理 182
13.1.3 記錄安全性 183
13.1.4 安全代碼審查 183
13.2 依賴關(guān)系 184
13.2.1 選擇安全的組件 184
13.2.2 保護(hù)接口 185
13.2.3 不要做重復(fù)的工作 186
13.2.4 對(duì)抗傳統(tǒng)安全 186
13.3 漏洞分類 187
13.3.1 DREAD 評(píng)估 187
13.3.2 創(chuàng)建利用漏洞的有效
攻擊 189
13.3.3 作出分類決策 190
13.4 維護(hù)一個(gè)安全的開發(fā)環(huán)境 190
13.4.1 開發(fā)和生產(chǎn)相分離 190
13.4.2 保護(hù)開發(fā)工具 191
13.4.3 發(fā)布產(chǎn)品 191
后記 193
附錄 A 設(shè)計(jì)文檔示例 203
附錄 B 詞匯表 215
附錄 C 練習(xí) 227
附錄 D 備忘單 231

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)