Secure Application Development

Threat modeling

Learning objectives

  • understand the key concepts: threat, vulnerability and countermeasure
  • be familiar with the most important categories of threats
  • understand the relation between threats and security requirements
  • master the process of threat modeling

Overview

Security is about reducing the risk that an organization's assets are exposed to. Risk is reduced by countering the various threats to those assets. Hence, understanding the nature of the threats that a particular software system is subject to, is key to securing that software system. Threat modeling is an activity in the development process of a software system, that tries to systematically identify and document possible threats.

In this module we elaborate on the process of threat modeling. First we define the notion of threat and illustrate it with examples. We discuss the most important categories of threats in a software system, and discuss systematic techniques for discovering and documenting threats, leading to a threat model. Microsoft's STRIDE is discussed as a representative threat modeling methodology.

PDF slides

To view a recording of this session Get Adobe Flash player