Print this page Share

Threat Modeling: Designing for Security

ISBN: 978-1-118-80999-0
624 pages
February 2014
Threat Modeling: Designing for Security (1118809998) cover image


The only security book to be chosen as a Dr. Dobbs Jolt Award Finalist since Bruce Schneier's Secrets and Lies and Applied Cryptography!

Adam Shostack is responsible for security development lifecycle threat modeling at Microsoft and is one of a handful of threat modeling experts in the world. Now, he is sharing his considerable expertise into this unique book. With pages of specific actionable advice, he details how to build better security into the design of systems, software, or services from the outset. You'll explore various threat modeling approaches, find out how to test your designs against threats, and learn effective ways to address threats that have been validated at Microsoft and other top companies.

Systems security managers, you'll find tools and a framework for structured thinking about what can go wrong. Software developers, you'll appreciate the jargon-free and accessible introduction to this essential skill. Security professionals, you'll learn to discern changing threats and discover the easiest ways to adopt a structured approach to threat modeling.

  • Provides a unique how-to for security and software developers who need to design secure products and systems and test their designs
  • Explains how to threat model and explores various threat modeling approaches, such as asset-centric, attacker-centric and software-centric
  • Provides effective approaches and techniques that have been proven at Microsoft and elsewhere
  • Offers actionable how-to advice not tied to any specific software, operating system, or programming language
  • Authored by a Microsoft professional who is one of the most prominent threat modeling experts in the world

As more software is delivered on the Internet or operates on Internet-connected devices, the design of secure software is absolutely critical. Make sure you're ready with Threat Modeling: Designing for Security.

See More

Table of Contents

Introduction xxi

Part I Getting Started 1

Chapter 1 Dive In and Threat Model! 3

Chapter 2 Strategies for Threat Modeling 29

Part II Finding Threats 59

Chapter 3 STRIDE 61

Chapter 4 Attack Trees 87

Chapter 5 Attack Libraries 101

Chapter 6 Privacy Tools 111

Part III Managing and Addressing Threats 123

Chapter 7 Processing and Managing Threats 125

Chapter 8 Defensive Tactics and Technologies 145

Chapter 9 Trade-Off s When Addressing Threats 167

Chapter 10 Validating That Threats Are Addressed 189

Chapter 11 Threat Modeling Tools 203

Part IV Threat Modeling in Technologies and Tricky Areas 215

Chapter 12 Requirements Cookbook 217

Chapter 13 Web and Cloud Threats 243

Chapter 14 Accounts and Identity 253

Chapter 15 Human Factors and Usability 293

Chapter 16 Threats to Cryptosystems 333

Part V Taking It to the Next Level 353

Chapter 17 Bringing Threat Modeling to Your Organization 355

Chapter 18 Experimental Approaches 385

Chapter 19 Architecting for Success 407

Appendix A Helpful Tools 421

Appendix B Threat Trees 429

Appendix C Attacker Lists 477

Appendix D Elevation of Privilege: The Cards 501

Appendix E Case Studies 511

Glossary 533

Bibliography 543

Index 567

See More

Author Information

Adam Shostack is a principal program manager on Microsoft’s Trustworthy Computing Team. His experience as an operational systems manager and product developer at companies from startups to Microsoft ensures this book is practical and grounded. He helped found the CVE, the Privacy Enhancing Technologies Symposium, and more.

See More


Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.

ChapterPageDetailsDatePrint Run
Intro viii Typo in Acknowledgments
Andy Steingrubl's name is spelled incorrectly.
1 10 Text correction: List out of order
In order to correspond to the mnemonic STRIDE, the list item "Information Disclosure" should appear before "Denial of Service"
1 12 Text correction: Typo under "Tips for Identifying Threats"
In the last sentence of the first bullet item on the page, "vertebrae" should read "vertebrate".
8 154 Text correction: Error under "Operational Assurance of Confidentiality"
The last sentence, "With regard to a network, it may be possible to use SSH or SSL tunneling or IPSec to address network tampering issues."
should read:
"With regard to a network, it may be possible to use SSH or SSL tunneling or IPSec to address network confidentiality issues."
154 Errata in Text
Text currently reads:
"for encrypting and the decrypting data"
Should read:
?for encrypting and decrypting data?
In 4th paragraph
174 Errata in Text
In Note, text currently reads:
Phil Zimmerman
Should read:
Phil Zimmermann
225 Errata in Text
In First list Item 2, the text currently reads:
of the remainder within Y
Should read:
of the remainder within Z
303 Errata in Text
In Sidebar, the text currently reads:
Should read:
312 Errata in Text
In first paragraph under ?Missing Information?, the text currently reads:
?Does each node has?
Should read:
?Does each node have?
325 Errata in Text
In First paragraph, the text currently reads:
That?s the viewer closing and the full version launching Malhotra, 2009.)
Should read:
That?s the viewer closing and the full version launching (Malhotra, 2009).)
485 Errata in Text
In first bullet under Previous Accomplishments, the text currently reads:
?SYNC flood?
Should read:
?SYN flood?
Index 590 Errata in Text
In Note, the text currently reads:
Phil Zimmerman
Should read:
Phil Zimmermann
See More
Instructors Resources
Wiley Instructor Companion Site
Request a print evaluation copy
Contact us
See More
See Less
Back to Top