Software Security: Building Security In (Paperback)
暫譯: 軟體安全:內建安全性
Gary McGraw
- 出版商: Addison Wesley
- 出版日期: 2006-01-23
- 售價: $2,630
- 貴賓價: 9.5 折 $2,499
- 語言: 英文
- 頁數: 448
- 裝訂: Paperback
- ISBN: 0321356705
- ISBN-13: 9780321356703
-
相關分類:
資訊安全
立即出貨 (庫存=1)
買這商品的人也買了...
-
$970Introduction to Algorithms, 2/e
-
$580$458 -
$1,225Discrete and Combinatorial Mathematics: An Applied Introduction, 5/e (IE-Paperback)
-
$1,250$1,225 -
$880$695 -
$880$695 -
$490$417 -
$920$902 -
$890$757 -
$450$383 -
$780$663 -
$520$442 -
$680$578 -
$520$442 -
$580$493 -
$650$507 -
$980$774 -
$520$442 -
$450$356 -
$780$616 -
$2,370$2,252 -
$720$569 -
$700$630 -
$580$493 -
$650$553
相關主題
商品描述
Description:
"When it comes to software security, the devil is in the details. This book tackles the details."
--Bruce Schneier, CTO and founder, Counterpane, and author of Beyond Fear and Secrets and Lies"McGraw's book shows you how to make the 'culture of security' part of your development lifecycle."
--Howard A. Schmidt, Former White House Cyber Security Advisor"McGraw is leading the charge in software security. His advice is as straightforward as it is actionable. If your business relies on software (and whose doesn't), buy this book and post it up on the lunchroom wall."
--Avi Rubin, Director of the NSF ACCURATE Center; Professor, Johns Hopkins University; and coauthor of Firewalls and Internet SecurityBeginning where the best-selling book Building Secure Software left off, Software Security teaches you how to put software security into practice.The software security best practices, or touchpoints, described in this book have their basis in good software engineering and involve explicitly pondering security throughout the software development lifecycle. This means knowing and understanding common risks (including implementation bugsand architectural flaws), designing for security, and subjecting all software artifacts to thorough, objective risk analyses and testing.
Software Security is about putting the touchpoints to work for you. Because you can apply these touchpoints to the software artifacts you already produce as you develop software, you can adopt this book's methods without radically changing the way you work. Inside you'll find detailed explanations of
- Risk management frameworks and processes
- Code review using static analysis tools
- Architectural risk analysis
- Penetration testing
- Security testing
- Abuse case development
In addition to the touchpoints, Software Security covers knowledge management, training and awareness, and enterprise-level software security programs.
Now that the world agrees that software security is central to computer security, it is time to put philosophy into practice. Create your own secure development lifecycle by enhancing your existing software development lifecycle with the touchpoints described in this book. Let this expert author show you how to build more secure software by building security in.
Table of Contents:
Foreword xix
Preface xxiii
Acknowledgments xxxi
About the Author xxxv
Part I: Software Security Fundamentals 1
Chapter 1: Defining a Discipline 3
The Security Problem 4
Security Problems in Software 14
Solving the Problem: The Three Pillars of Software Security 25
The Rise of Security Engineering 37Chapter 2: A Risk Management Framework 39
Putting Risk Management into Practice 40
How to Use This Chapter 41
The Five Stages of Activity 42
The RMF Is a Multilevel Loop 46
Applying the RMF: KillerAppCo's iWare 1.0 Server 48
The Importance of Measurement 73
The Cigital Workbench 76
Risk Management Is a Framework for Software Security 79Part II: Seven Touchpoints for Software Security 81
Chapter 3: Introduction to Software Security Touchpoints 83
Flyover: Seven Terrific Touchpoints 86
Black and White: Two Threads Inextricably Intertwined 89
Moving Left 91
Touchpoints as Best Practices 94
Who Should Do Software Security? 96
Software Security Is a Multidisciplinary Effort 100
Touchpoints to Success 103Chapter 4: Code Review with a Tool 105
Catching Implementation Bugs Early (with a Tool) 106
Aim for Good, Not Perfect 108
Ancient History 109
Approaches to Static Analysis 110
Tools from Researchland 114
Commercial Tool Vendors 123
Touchpoint Process: Code Review 135
Use a Tool to Find Security Bugs 137Chapter 5: Architectural Risk Analysis 139
Common Themes among Security Risk Analysis Approaches 140
Traditional Risk Analysis Terminology 144
Knowledge Requirement 147
The Necessity of a Forest-Level View 148
A Traditional Example of a Risk Calculation 152
Limitations of Traditional Approaches 153
Modern Risk Analysis 154
Touchpoint Process: Architectural Risk Analysis 161
Getting Started with Risk Analysis 169
Architectural Risk Analysis Is a Necessity 170Chapter 6: Software Penetration Testing 171
Penetration Testing Today 173
Software Penetration Testing--a Better Approach 178
Incorporating Findings Back into Development 183
Using Penetration Tests to Assess the Application Landscape 184
Proper Penetration Testing Is Good 185Chapter 7: Risk-Based Security Testing 187
What's So Different about Security? 191
Risk Management and Security Testing 192
How to Approach Security Testing 193
Thinking about (Malicious) Input 201
Getting Over Input 203
Leapfrogging the Penetration Test 204Chapter 8: Abuse Cases 205
Security Is Not a Set of Features 209
What You Can't Do 210
Creating Useful Abuse Cases 211
Touchpoint Process: Abuse Case Development 213
An Abuse Case Example 217
Abuse Cases Are Useful 222Chapter 9: Software Security Meets Security Operations 223
Don't Stand So Close to Me 224
Kumbaya (for Software Security) 225
Come Together (Right Now) 232
Future's So Bright, I Gotta Wear Shades 235Part III: Software Security Grows Up 237
Chapter 10: An Enterprise Software Security Program 239
The Business Climate 240
Building Blocks of Change 242
Building an Improvement Program 246
Establishing a Metrics Program 247
Continuous Improvement 250
What about COTS (and Existing Software Applications)? 251
Adopting a Secure Development Lifecycle 256Chapter 11: Knowledge for Software Security 259
Experience, Expertise, and Security 261
Security Knowledge: A Unified View 262
Security Knowledge and the Touchpoints 268
The Department of Homeland Security Build Security In Portal 269
Knowledge Management Is Ongoing 274
Software Security Now 275Chapter 12: A Taxonomy of Coding Errors 277
On Simplicity: Seven Plus or Minus Two 279
The Phyla 282
A Complete Example 290
Lists, Piles, and Collections 292
Go Forth (with the Taxonomy) and Prosper 297Chapter 13: Annotated Bibliography and References 299
Annotated Bibliography: An Emerging Literature 299
Software Security Puzzle Pieces 318Appendices 321
Appendix A: Fortify Source Code Analysis Suite Tutorial 323
1. Introducing the Audit Workbench 324
2. Auditing Source Code Manually 326
3. Ensuring a Working Build Environment 328
4. Running the Source Code Analysis Engine 329
5. Exploring the Basic SCA Engine Command Line Arguments 332
6. Understanding Raw Analysis Results 333
7. Integrating with an Automated Build Process 335
8. Using the Audit Workbench 339
9. Auditing Open Source Applications 342Appendix B: ITS4 Rules 345
Appendix C: An Exercise in Risk Analysis: Smurfware 385
SmurfWare SmurfScanner Risk Assessment Case Study 385
SmurfWare SmurfScanner Design for Security 390Appendix D: Glossary 393
Index 395
商品描述(中文翻譯)
**描述:**
「在軟體安全方面,細節決定成敗。本書專注於這些細節。」
--Bruce Schneier,Counterpane的首席技術官及創始人,《Beyond Fear》和《Secrets and Lies》的作者
「McGraw的書告訴你如何將『安全文化』融入你的開發生命週期。」
--Howard A. Schmidt,前白宮網路安全顧問
「McGraw在軟體安全方面引領潮流。他的建議簡單明瞭且可行。如果你的業務依賴於軟體(誰不呢),就買下這本書並把它貼在午餐室的牆上。」
--Avi Rubin,NSF ACCURATE中心主任;約翰霍普金斯大學教授;《Firewalls and Internet Security》的合著者
本書從暢銷書《Building Secure Software》的結尾開始,教你如何將軟體安全付諸實踐。本書中描述的軟體安全最佳實踐或接觸點,基於良好的軟體工程,並在整個軟體開發生命週期中明確考慮安全性。這意味著要了解和理解常見風險(包括實作錯誤和架構缺陷)、設計安全性,並對所有軟體工件進行徹底、客觀的風險分析和測試。
《Software Security》是關於如何讓這些接觸點為你服務。因為你可以將這些接觸點應用於你在開發軟體時已經產出的軟體工件,因此你可以在不徹底改變工作方式的情況下採用本書的方法。在書中,你將找到以下內容的詳細解釋:
- 風險管理框架和流程
- 使用靜態分析工具的代碼審查
- 架構風險分析
- 滲透測試
- 安全測試
- 濫用案例開發
除了接觸點外,《Software Security》還涵蓋了知識管理、培訓和意識提升,以及企業級軟體安全計劃。
現在,世界已經一致認同軟體安全是計算機安全的核心,是時候將理念付諸實踐。通過增強你現有的軟體開發生命週期,創建自己的安全開發生命週期,讓這位專家作者告訴你如何通過內建安全性來構建更安全的軟體。
**目錄:**
前言 xix
序言 xxiii
致謝 xxxi
關於作者 xxxv
第一部分:軟體安全基礎 1
第1章:定義一個學科 3
安全問題 4
軟體中的安全問題 14
解決問題:軟體安全的三大支柱 25
安全工程的興起 37
第2章:風險管理框架 39
將風險管理付諸實踐 40
如何使用本章 41
活動的五個階段 42
RMF是一個多層次的循環 46
應用RMF:KillerAppCo的iWare 1.0伺服器 48
測量的重要性 73
Cigital工作台 76
風險管理是軟體安全的框架 79
第二部分:軟體安全的七個接觸點 81
第3章:軟體安全接觸點介紹 83
概覽:七個卓越的接觸點 86
黑與白:兩條密不可分的線索 89
向左移動 91
接觸點作為最佳實踐 94
誰應該負責軟體安全? 96
軟體安全是一項多學科的努力 100
成功的接觸點 103
第4章:使用工具進行代碼審查 105
及早捕捉實作錯誤(使用工具) 106
追求良好,而非完美 108
古老的歷史 109
靜態分析的方法 110
來自研究界的工具 114
商業工具供應商 123
接觸點流程:代碼審查 135
使用工具查找安全錯誤 137
第5章:架構風險分析 139
安全風險分析方法中的共同主題 140
傳統風險分析術語 144
知識要求 147
森林級別視角的必要性 148
風險計算的傳統範例 152
傳統方法的局限性 153
現代風險分析 154
接觸點流程:架構風險分析 161
開始風險分析 169
架構風險分析是必要的 170
第6章:軟體滲透測試 171
當今的滲透測試 173
軟體滲透測試——更好的方法 178
將發現納入開發 183
使用滲透測試評估應用程式環境 184
適當的滲透測試是好的 185
第7章:基於風險的安全測試 187
安全性有什麼不同? 191
風險管理與安全測試 192
如何進行安全測試 193
考慮(惡意)輸入 201
克服輸入 203
超越滲透測試 204
第8章:濫用案例 205
安全性不是一組功能 209
你不能做什麼 210
創建有用的濫用案例 211
接觸點流程:濫用案例開發 213
濫用案例範例 217
濫用案例是有用的 222
第9章:軟體安全與安全運營的結合 223
不要靠得太近 224
Kumbaya(為軟體安全) 225
一起來(現在) 232
未來如此光明,我必須戴上太陽眼鏡 235
第三部分:軟體安全的成長 237
第10章:企業軟體安全計劃 239
商業環境 240
變革的基石 242
建立改進計劃 246
建立度量計劃 247
持續改進 250
那COTS(和現有軟體應用程式)呢? 251
採用安全開發生命週期 256
第11章:軟體安全的知識 259
經驗、專業知識與安全 261
安全知識:統一視角 262
安全知識與接觸點 268
國土安全部的內建安全入口網站 269
知識管理是持續的 274
當前的軟體安全 275
第12章:編碼錯誤的分類法 277
關於簡單性:七加或減二 279
分類 282
完整範例 290
列表、堆疊和集合 292
帶著分類法前進並繁榮 297
第13章:註釋書目和參考文獻 299
註釋書目:新興文獻 299
軟體安全拼圖 318
附錄 321
附錄A:Fortify源代碼分析套件教程 323
1. 介紹審計工作台 324
2. 手動審計源代碼 326
3. 確保有效的構建環境 328
4. 運行源代碼分析引擎 329
5. 探索基本SCA引擎命令行參數 332
6. 理解原始分析結果 333
7. 與自動化構建過程集成 335
8. 使用審計工作台 339
9. 審計開源應用程式 342
附錄B:ITS4規則 345
附錄C:風險分析練習:Smurfware 385
SmurfWare SmurfScanner風險評估案例研究 385
SmurfWare SmurfScanner安全設計 390
附錄D:術語表 393
索引 395