Introduction
How you get to know is what I want to know.
Richard Feynman, American physicist
In this introduction, we’ll explain the very basics of threat modeling. We’ll also cover the most crucial security principles you need to know as the foundation for assessing the security of the systems you are analyzing.
The Basics of Threat Modeling
Let’s begin by taking a bird’s-eye view of what threat modeling is, why it’s useful, and how it fits into the development life cycle and overall security plan.
What Is Threat Modeling?
Threat modeling is the process of analyzing a system to look for weaknesses that come from less-desirable design choices. The goal of the activity is to identify these weaknesses before they are baked into the system (as a result of implementation or deployment) so you can take corrective action as early as possible. The activity of threat modeling is a conceptual exercise that aims to help you understand which characteristics of a system’s design should be modified to reduce risk in the system to an acceptable level for its owners, users, and operators.
When performing threat modeling, you look at a system as a collection of its components and their interactions with the world outside the system (like other systems it interacts with) and the actors that may perform actions on these systems. Then you try to imagine how these components and interactions may fail or be made to fail. From this process, you’ll identify threats to the system, which will in turn ...