Threat Modeling – Modeling with Microsoft’s SDL Threat Modeling Tool
This is the third post on a series of Threat Modeling post, previously I wrote about Information Gathering and The Modeling Process. On this opportunity I’d like to introduce you to a very useful tool provided by Microsoft, the SDL Threat Modeling Tool.
Creating Architecture Diagrams
Using Visio’s engine, this tool helps us in the process of creating Architecture Diagrams.
So, let’s take as an example, a simple system in which we have a SQL Server, a Web Page and the user which uses the page.
(This is a simplistic scenario specially thought for this example; it does not in any way suggest a way of designing or programming)
First, identify the components of the solution. In our example, we have The User/Browser (External Interactor), the Web Page (Process), and the SQL Server (Data Store).
(Let’s assume we have gathered all required information following the steps described in my previous post and move to using the tool, threat modeling)
Modeling with the tool is quite simple, just drag and drop the elements in the canvas (Visio-Like) and then join with the flow arrows.
Identifying Threats
The tool automatically generates “threats placeholders” following the STRIDE Chart, mentioned in my previous post, for each component and flow of the diagram. It also provides us with some tips to identify those threats.
NOTE: The tool also has TFS integration, so you will be able to open a bug (see “file bug” in the screen) directly from the tool.
At this point you should complete the placeholders for each element with the corresponding threat, or certify there is none for it. I’ll add one just as an example.
Let’s suppose that the webpage does not parse the user/password requested in the login. Then we have a SQL Injection Threat (could be either Tampering or Information Disclosure depending on the solution.)
At this point, we should file a bug, and, once the bug is closed, update the threat model with the corresponding mitigation.

There’s a lot more to investigate, I leave that to you
Hope you find this information useful; feedback and comments are always welcomed
!


