Book Image

Threat Modeling

By : Adam Shostack
Book Image

Threat Modeling

By: Adam Shostack

Overview of this book

As more software is delivered on the Internet or operates on Internet-connected devices, the design of secure software is critical. This book will give you the confidence to design secure software products and systems and test their designs against threats. This book is the only security book to be chosen as a Dr. Dobbs Jolt Award Finalist since Bruce Schneier?s Secrets and Lies and Applied Cryptography! The book starts with an introduction to threat modeling and focuses on the key new skills that you'll need to threat model and lays out a methodology that's designed for people who are new to threat modeling. Next, you?ll explore approaches to find threats and study the advantages and disadvantages of each approach. Moving ahead, you?ll manage threats and learn about the activities involved in threat modeling. You?ll also focus on threat modeling of specific technologies and find out tricky areas and learn to address them. Towards the end, you?ll shift your attention to the future of threat modeling and its approaches in your organization. By the end of this book, you?ll be able to use threat modeling in the security development lifecycle and in the overall software and systems design processes.
Table of Contents (15 chapters)
Free Chapter
1
Cover
7
Glossary
8
Bibliography
10
End User License Agreement

New Lessons on Threat Modeling

Most experienced security professionals have developed an approach to threat modeling that works for them. If you've been threat modeling for years, this book will give you an understanding of other approaches you can apply. This book also give you a structured understanding of a set of methods and how they inter-relate. Lastly, there are some deeper lessons which are worth bringing to your attention, rather than leaving them for you to extract.

There's More Than One Way to Threat Model

If you ask a programmer “What's the right programming language for my new project?” you can expect a lot of clarifying questions. There is no one ideal programming language. There are certainly languages that are better or worse at certain types of tasks. For example, it's easier to write text manipulation code in Perl than assembler. Python is easier to read and maintain than assembler, but when you need to write ultra-fast code for a device...