Threat modeling is a core element of the Microsoft Security Development Lifecycle (SDL). It’s an engineering technique you can use to help you identify threats, attacks, vulnerabilities, and countermeasures that could affect your application. You can use threat modeling to shape your application’s design, meet your company’s security objectives, and reduce risk.
The Microsoft Threat Modeling Tool makes threat modeling easier for all developers through a standard notation for visualizing system components, data flows, and security boundaries. It also helps threat modelers identify classes of threats they should consider based on the structure of their software design. We designed the tool with non-security experts in mind, making threat modeling easier for all developers by providing clear guidance on creating and analyzing threat models.
The tool is available on this link: https://www.microsoft.com/en-us/securityengineering/sdl/threatmodeling
You can create simple architectures based on Azure constructs like Azure Cosmos DB, Key Vault, Azure Storage and SQL Database, Azure AD, Data Factory, etc
I’ve just created some simple Azure architectures to play with the tool and get some simple reports. The following represents a simple Azure WebApp fronted by Azure Traffic Manager and using Azure Storage and SQL DB as data stores
When you generate a report, it’s very easy to understand the relevant threats per category and mapped to an SDL Phase
It’s also useful to read the ‘Possible Mitigation’ field