軟件開發安全之道概念、設計與實施
[美]洛倫·科恩費爾德(Loren Kohnfelder)
- 出版商: 人民郵電
- 出版日期: 2024-10-01
- 定價: $599
- 售價: 8.5 折 $509
- 語言: 簡體中文
- 頁數: 226
- 裝訂: 平裝
- ISBN: 7115617732
- ISBN-13: 9787115617736
-
相關分類:
資訊安全
- 此書翻譯自: Designing Secure Software: A Guide for Developers (Paperback)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$500深入淺出密碼學-常用加密技術原理與應用 (Understanding Cryptography: A Textbook for Students and Practitioners) -
這就是服務設計!|服務設計工作者的實踐指南 (This Is Service Design Doing: Applying Service Design Thinking in the Real World)$880$695 -
PowerShell 流程自動化攻略 (Powershell for Sysadmins: A Hands-On Guide to Automating Your Workflow)$500$395 -
$454網絡安全能力成熟度模型:原理與實踐 -
$454白話零信任 -
ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法$690$538 -
實戰 Linux 系統數位鑑識 (Practical Linux Forensics: A Guide for Digital Investigators)$620$490 -
Hacking APIs|剖析 Web API 漏洞攻擊技法$580$458 -
$454面向自動駕駛的交通標識視覺感知 -
從駭客的角度學攻擊 - 惡意程式碼逆向全破解$880$695 -
$449基於 GPT-3、ChatGPT、GPT-4 等 Transformer 架構的自然語言處理 -
深入理解軟件性能 : 一種動態視角$779$740 -
$401AI 時代架構師修練之道:ChatGPT 讓架構師插上翅膀 -
$611一本書講透 Elasticsearch:原理、進階與工程實務 -
AI 輔助學習 Excel VBA 最強入門邁向辦公室自動化之路王者歸來 -- 上冊 (第二版)$690$545 -
明解 C語言:實踐篇$539$512 -
Sora 引領影像創作革命的力量:揭開 AI 技術革新如何做到文字生成影片,掀起產業的轉型浪潮與挑戰,改寫人類未來的學習路徑$600$468 -
Beyond XSS:探索網頁前端資安宇宙$880$695 -
ChatGPT 與 AI 未來:大型語言模型的全面解析$500$390 -
生成式 AI 一本搞定:最強 AI 工具整合運用手冊,讓你憑空多出十雙手,從研發到行銷一人搞定$399$315 -
電子學的藝術 (原書第3版)(上冊)$894$849 -
電子學的藝術 (原書第3版)(下冊)$774$735 -
商用密碼權威指南 技術詳解、產品開發與工程實踐$594$564 -
資安密碼-隱形帝國:AI數位鑑識、社交工程攻防與現代密碼技術實戰$550$413 -
超圖解網路安全入門:從基本觀念、網路攻擊手法到資安防護,一本全掌握!$380$300
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書共有13章,分為三大部分,即概念、設計和實施。具體內容包括:第一部分(第1~5章)為全書提供了概念基礎,涉及信息安全和隱私基礎概述、威脅建模、對可識別威脅進行防禦性緩解的通用戰略、安全設計模式,以及使用標準的加密庫來緩解常見的風險。第二部分(第6~7章)分別從設計者和審查員的角度討論瞭如何使軟件設計變得安全的指導,以及可以應用哪些技術來實現安全性。第三部分(第8~13章)涵蓋了實施階段的安全性,在有了一個安全的設計後,這一部分將會解釋如何在不引入額外漏洞的情況下進行軟件開發。
作者簡介
[美] 洛倫·科恩費爾德(Loren Kohnfelder)
從事編程行業已經超過 50 年時間,在麻省理工學院攻讀碩士研究生期間發表的論文“關於一項實用的公鑰加密系統(Towards a Practical Public-Key Cryptosystem)”(1978)描述了數字證書以及公共密鑰體系結構(PKI)的基礎。他的軟件從業經歷包括各式各樣的編程類工作,如編寫各種打孔卡、磁盤控制器驅動、鏈接加載器(linking loader)、電子遊戲,以及半導體研究實驗室的設備控制軟件。在微軟供職期間,他回歸了安全工作,加盟了微軟的IE瀏覽器團隊,之後又加入了.NET平臺安全團隊,參與了全行業主動安全過程方法的設計。近期他加盟了谷歌公司,曾擔任安全團隊的軟件工程師,此後又參與組建了隱私團隊,對大型商業系統進行了百次以上的安全設計審查。
目錄大綱
第 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 結構性的緩解戰略 37
3.2.1 把攻擊面減到最小 37
3.2.2 縮窄漏洞窗口 38
3.2.3 把暴露的數據減到最少 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 強力執行 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 隨機數 65
5.2.1 偽隨機數 65
5.2.2 加密安全的偽隨機數 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 密碼系統 71
5.7 數字簽名 72
5.8 數字證書 74
5.9 密鑰交換 74
5.10 使用加密 76
第 2 部分 設計
第 6 章 安全的設計 81
6.1 在設計中集成安全性 82
6.1.1 明確設計中的假定規則 82
6.1.2 定義範圍 83
6.1.3 設置安全要求 84
6.1.4 威脅建模 85
6.2 建立緩解措施 87
6.2.1 設計接口 87
6.2.2 設計數據處理 88
6.3 將隱私融入設計 88
6.4 規劃整個軟件生命周期 89
6.5 權衡取捨 89
6.6 設計的簡潔性 90
第 7 章 安全設計審查 92
7.1 SDR 流程 92
7.1.1 為什麼要執行 SDR? 92
7.1.2 什麼時候執行 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 挑戰 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 算數漏洞 121
9.1.1 定寬整數漏洞 121
9.1.2 浮點精度漏洞 123
9.1.3 示例:浮點下溢 124
9.1.4 示例:整數溢出 126
9.1.5 安全算數 128
9.2 內存訪問漏洞 129
9.2.1 內存管理 129
9.2.2 緩沖區溢出 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 協議 154
11.2.2 數字證書和 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 整數溢出 167
12.1.2 內存管理問題 167
12.1.3 不可靠輸入 168
12.1.4 網頁安全 168
12.1.5 異常處理缺陷 168
12.2 對 GotoFail 漏洞執行安全測試 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 測試驅動的開發( 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 對抗傳統安全 186
13.3 漏洞分類 187
13.3.1 DREAD 評估 187
13.3.2 創建利用漏洞的有效
攻擊 189
13.3.3 作出分類決策 190
13.4 維護一個安全的開發環境 190
13.4.1 開發和生產相分離 190
13.4.2 保護開發工具 191
13.4.3 發布產品 191
後記 193
附錄 A 設計文檔示例 203
附錄 B 詞匯表 215
附錄 C 練習 227
附錄 D 備忘單 231


