Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
Purchase Benefits
Foreword | p. xi |
Preface | p. xiii |
About the Authors | p. xxiii |
Why Is Security a Software Issue? | p. 1 |
Introduction | p. 1 |
The Problem | p. 2 |
System Complexity: The Context within Which Software Lives | p. 5 |
Software Assurance and Software Security | p. 6 |
The Role of Processes and Practices in Software Security | p. 8 |
Threats to Software Security | p. 9 |
Sources of Software Insecurity | p. 11 |
The Benefits of Detecting Software Security Defects Early | p. 13 |
Making the Business Case for Software Security: Current State | p. 17 |
Managing Secure Software Development | p. 18 |
Which Security Strategy Questions Should I Ask? | p. 18 |
A Risk Management Framework for Software Security | p. 20 |
Software Security Practices in the Development Life Cycle | p. 20 |
Summary | p. 23 |
What Makes Software Secure? | p. 25 |
Introduction | p. 25 |
Defining Properties of Secure Software | p. 26 |
Core Properties of Secure Software | p. 26 |
Influential Properties of Secure Software | p. 28 |
How to Influence the Security Properties of Software | p. 36 |
The Defensive Perspective | p. 37 |
The Attacker's Perspective | p. 43 |
How to Assert and Specify Desired Security Properties | p. 61 |
Building a Security Assurance Case | p. 62 |
A Security Assurance Case Example | p. 63 |
Incorporating Assurance Cases into the SDLC | p. 67 |
Related Security Assurance and Compliance Efforts | p. 68 |
Maintaining and Benefitting from Assurance Cases | p. 69 |
Summary | p. 71 |
Requirements Engineering for Secure Software | p. 73 |
Introduction | p. 73 |
The Importance of Requirements Engineering | p. 74 |
Quality Requirements | p. 75 |
Security Requirements Engineering | p. 76 |
Misuse and Abuse Cases | p. 78 |
Security Is Not a Set of Features | p. 79 |
Thinking About What You Can't Do | p. 80 |
Creating Useful Misuse Cases | p. 81 |
An Abuse Case Example | p. 82 |
The SQUARE Process Model | p. 84 |
A Brief Description of SQUARE | p. 88 |
Tools | p. 90 |
Expected Results | p. 90 |
SQUARE Sample Outputs | p. 91 |
Output from SQUARE Steps | p. 92 |
SQUARE Final Results | p. 99 |
Requirements Elicitation | p. 99 |
Overview of Several Elicitation Methods | p. 100 |
Elicitation Evaluation Criteria | p. 103 |
Requirements Prioritization | p. 106 |
Identify Candidate Prioritization Methods | p. 106 |
Prioritization Technique Comparison | p. 110 |
Recommendations for Requirements Prioritization | p. 111 |
Summary | p. 112 |
Secure Software Architecture and Design | p. 115 |
Introduction | p. 115 |
The Critical Role of Architecture and Design | p. 115 |
Issues and Challenges | p. 117 |
Software Security Practices for Architecture and Design: Architectural Risk Analysis | p. 119 |
Software Characterization | p. 120 |
Threat Analysis | p. 123 |
Architectural Vulnerability Assessment | p. 126 |
Risk Likelihood Determination | p. 130 |
Risk Impact Determination | p. 132 |
Risk Mitigation Planning | p. 134 |
Recapping Architectural Risk Analysis | p. 136 |
Software Security Knowledge for Architecture and Design: Security Principles, Security Guidelines, and Attack Patterns | p. 137 |
Security Principles | p. 137 |
Security Guidelines | p. 143 |
Attack Patterns | p. 147 |
Summary | p. 148 |
Considerations for Secure Coding and Testing | p. 151 |
Introduction | p. 151 |
Code Analysis | p. 152 |
Common Software Code Vulnerabilities | p. 153 |
Source Code Review | p. 156 |
Coding Practices | p. 160 |
Sources of Additional Information on Secure Coding | p. 161 |
Software Security Testing | p. 163 |
Contrasting Software Testing and Software Security Testing | p. 165 |
Functional Testing | p. 167 |
Risk-Based Testing | p. 169 |
Security Testing Considerations Throughout the SDLC | p. 173 |
Unit Testing | p. 174 |
Testing Libraries and Executable Files | p. 175 |
Integration Testing | p. 176 |
System Testing | p. 176 |
Sources of Additional Information on Software Security Testing | p. 179 |
Summary | p. 180 |
Security and Complexity: System Assembly Challenges | p. 183 |
Introduction | p. 183 |
Security Failures | p. 186 |
Categories of Errors | p. 187 |
Attacker Behavior | p. 188 |
Functional and Attacker Perspectives for Security Analysis: Two Examples | p. 189 |
Web Services: Functional Perspective | p. 190 |
Web Services: Attacker's Perspective | p. 192 |
Identity Management: Functional Perspective | p. 196 |
Identity Management: Attacker's Perspective | p. 198 |
Identity Management and Software Development | p. 201 |
System Complexity Drivers and Security | p. 203 |
Wider Spectrum of Failures | p. 205 |
Incremental and Evolutionary Development | p. 212 |
Conflicting or Changing Goals Complexity | p. 213 |
Deep Technical Problem Complexity | p. 215 |
Summary | p. 217 |
Governance, and Managing for More Secure Software | p. 221 |
Introduction | p. 221 |
Governance and Security | p. 223 |
Definitions of Security Governance | p. 223 |
Characteristics of Effective Security Governance and Management | p. 224 |
Adopting an Enterprise Software Security Framework | p. 226 |
Common Pitfalls | p. 227 |
Framing the Solution | p. 230 |
Define a Roadmap | p. 235 |
How Much Security Is Enough? | p. 236 |
Defining Adequate Security | p. 236 |
A Risk Management Framework for Software Security | p. 238 |
Security and Project Management | p. 244 |
Project Scope | p. 245 |
Project Plan | p. 246 |
Resources | p. 250 |
Estimating the Nature and Duration of Required Resources | p. 251 |
Project and Product Risks | p. 253 |
Measuring Software Security | p. 254 |
Maturity of Practice | p. 259 |
Protecting Information | p. 259 |
Audit's Role | p. 260 |
Operational Resilience and Convergence | p. 261 |
A Legal View | p. 263 |
A Software Engineering View | p. 263 |
Exemplars | p. 265 |
Summary | p. 266 |
Getting Started | p. 267 |
Where to Begin | p. 269 |
In Closing | p. 281 |
Glossary | p. 283 |
References | p. 291 |
Build Security In Web Site References | p. 311 |
Index | p. 317 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.