Converting Previous Threat Models to latest Format 11
Overview of Template 13
Creating a New Threat Template 13
Open an Existing Template 23
Upgrading an existing Threat Model to use New Template 25
Analysis of Threat Modeling Tool Output 27
Analysis View 27
How to File Bugs on your Threat Modeling Tool Security Issues 28
Support 30
Overview The Microsoft Threat Modeling Tool (TMT) 2016 is designed to guide you and your product team through the threat modeling process. TMT functionality includes:
An easy drawing environment.
Automatic threat generation using the STRIDE per interaction approach.
Define your own template for threat modeling
An option for user-defined threats to be added.
Using Microsoft Threat Modeling Tool (TMT) you can graphically identify processes and data flows that comprise an application or service.
Installation For Previous Users of Threat Modeling Tool If you have TMT 2014, it must be un-installed before installing TMT 2016. All the models created using TMT 2014 can be opened using TMT 2016.
System Requirements Operating System Support The table shows the operating systems supported by Microsoft Threat Modeling Tool 2016.
Operating System
Supported
Windows 7
Yes
Windows 8
Yes
Windows 8.1
Yes
Windows 10
Yes
Table 1 Supported Operating Systems
Download Link Microsoft Threat Modeling Tool 2016 and supporting documentation can be downloaded from http://microsoft.com/security/sdl.
Uninstall Go to Control Panel > Programs and Features.
Right-click Microsoft Threat Modeling Tool and select Uninstall.
How to Run Threat Modeling Tool This guide will provide basic guidance on how to create a new threat template and a new threat model. This Getting Started Guide covers:
1. Creating a new threat model
Opening an existing threat model
Converting a threat model from TMT(.tm4) format to the new TMT (.tm7) format
Creating a new threat template
Opening/Modifying an existing threat template
Upgrade threat model to new template
For more details about TMT, see Microsoft Threat Modeling Tool 2016 User Guide, available at http://microsoft.com/security/sdl.
Starting Threat Modeling Tool 2016 To start TMT, click the “Microsoft Threat Modeling Tool” desktop shortcut.
You can also start TMT from the command line. Open a command window and execute:
Creating a New Threat Model This section describes the steps to create a new threat model.
1. Start TMT. From Home screen, browse a template you want to use for the threat model.
1. Click on Create a Model from home screen. This brings up the drawing surface where you will create the data flow diagram.
Figure 1 Threat Modeling Tool Drawing Surface
Drawing Your Model Draw your data flow diagram by selecting elements from the Stencils pane. You can select processes, external entities, data stores, data flows, and trust boundaries.
1. To select an element to draw, click on the corresponding icon in the Stencils pane. You can also select an element from the Stencils pane and drag it across the drawing surface.
1. Right-click on the drawing surface to bring up a context menu that allows you to add a generic element from each Stencils category
1. To add a data flow between the two most recently selected objects, right-click the drawing surface and select Connect or Bi-Directional Connect. Alternatively, select the appropriate data flow from the Flow tab in the Stencils pane and place it on the drawing surface.
Figure 2 Sample Threat Model Showing a Data Flow
To more fully describe the data flows in your system, specify attributes for the elements in your diagram. Right-clicking an element to convert it to another element type. If necessary, convert it from a generic element to a specific type of process, data flow, data store, external element, or trust boundary. For example, a generic data flow can be converted to HTTPS. Additionally, you can edit the properties of the element directly in the Properties pane.
Figure 3 Identifying a Data Flow as HTTPS
Analyzing Threats When you have completed your data flow diagram, switch to the Analysis view by using one of the following methods:
From the View menu, select Analysis View.
Click the Analysis View button on the toolbar.
Figure 4 Selecting Analysis View from the Toolbar
Entering Mitigation Information For each of your threats, enter information about how to mitigate the threat:
1. Determine if the threat requires mitigation and categorize the mitigation by selecting one of the following options from the Threat Status dropdown list.
6. Not Started
6. Needs Investigation
6. Not Applicable
6. Mitigated
Figure 5 Selecting Mitigation Information
Select one of the following threat priorities from the Threat Category dropdown list.
d) High (default)
e) Medium
f) Low
Enter your mitigation information in the Justification for threat state change text box.
NOTE: Justification is required for threats in the Mitigated or Not Applicable states.
Figure 6 Enter Justification for Threat State Change
Reviewing Threats The threat list is sortable and filterable. You can click on any column header in the threat list to sort by that column. You can click on the triangles on the column headers to filter as many columns as you like. The clear filters button at the bottom of the threat list will clear any filters. You can drag column headers to reorder them and right click column headers to hide or view them.
Figure 7 Filter the Threat List
Finish and Create a Report After all threats have been addressed, finish your threat model:
1. If you have not done so already, enter general information about the threat model by selecting Threat Model Information from the main menu. This information includes:
a) Review participants
b) A brief description
To save the model, select File >Save As.
To create a report, select Reports >Full Report.
Figure 8 Sample Threat Modeling Report
Opening an Existing Threat Model 1. Start TMT, and from the Start screen, select the model you want under Recently Opened Models. If the model is not shown, select Open A Model and browse to the file.
1. To update the model, follow the steps described in “Creating a New Threat Model”.
Figure 9 Initial screen showing Recently Opened Models selected
Converting Previous Threat Models to latest Format You can convert your previous versions threat models to newer format.
If previous threat model is based on TMT 2014 (.tm4)
1. Click on Open A Model on Home Page screen
1. Select your .tm4 file after expanding file type drop down on file selection dialog box
Figure 10 Select .tm4 file
TMT will automatically convert .tm4 file to .tm7 file.
Save the file from File->Save (Save As) menu items.
Note: Your converted diagram may not look exactly the same as the original diagram, but all the elements should be present and connected correctly. Automatic threat generation is disabled for converted threat models. However, you can enable automatic threat generation through the Settings menu.
Overview of Template The Template specifies the set of elements, attributes, and threat definitions used by the Threat Modeling Tool to create threat models. Most of the time default template shipped with TMT is sufficient to analyze threats for your products however sometime depending upon your product requirements e.g. online services often also need to consider the business impact and privacy implications of the data managed by the service. In this case default template is not sufficient and new template is needed. Open template can be used to edit an existing template and new template can be used to create an altogether new template. In order to create threat models which are based on template created by you, use Browse button from home page to select required template.
Creating a New Threat Template This section describes the steps to create a new template.
1. Start the Threat Modeling Tool and from the Home screen click Create New Template.
1. Template Information dialog box pops up. Fill Title which you need for template and also version number for your template in Title and Version fields respectively.
Figure 12 Template Information
Click Ok on Template Information dialog box. This brings up Template Editor which you can use to create Stencils, Threat Properties, Threat Categories and Threat Types. During the template creation process, if some error occurs, message for the same will appear in Message tab.
Figure 13 Template Editor
Creating a Stencil Stencils are the basic building blocks for creating threat models. Stencils tab can be used to create two types of stencils namely Stencils and Derived Stencils. These stencils will show up in the stencil pane of threat model window while creating threat model.
1. Click the Add Stencil button at the top of the Stencils tab to create a Stencil. A new stencil gets created with a default name New Stencil. Modify the name as per your requirements.
Figure 14 Stencils Tab
Choose Image for the stencil.
Choose Image Location for Image. This location will be used to display image while creating threat model.
Assign Behavior and Shape for the stencil.
Define Width and Dash attributes of Stencil.
Define Properties and Values for each property for stencil by clicking Add Property button below the name of the stencil.
Optionally you can create Derived Stencils. Click on a Stencil and click the Add Derived Stencil button at the top of the Stencils tab.
The derived stencils inherit properties of the parent. Additionally Standard Stencils can define their own properties.
Figure 15 Standard Elements
You can reorder properties and properties values.
Creating Custom Columns By default Threats have Description, Short Description, Justification, Interaction and Priority columns. If you click on Threat Properties tab, these rows are shown greyed out except Priority column since these cannot be modified. These properties will appear as columns in the threat list and threat properties panes in the analysis view of the threat model unless you have marked them as hidden.
Figure 16 Threat Properties
1. You can add custom threat properties by clicking on Add Property button on the Threat Properties page. The system creates a new custom threat property with the name New Threat Property.
1. You can modify the name by clicking on the Name field and modifying it. Name is compulsory and can’t be empty.
1. There are two types of threat properties. One is Text and the other is List. The Text type is used when the property takes just one value. The List type is used when the property can take any one of the multiple values present in the list.
1. The Type is by default set to Text. If you select Text then value field gets disabled. This is because the actual value will be given when the property will be used while defining a new threat type.
1. If you don’t want to show this threat property as column in Threat List in threat model, choose Is Hidden as selected.
1. When the type is set to List, the user can add property values by clicking the Add Value button. By clicking the Delete Value button, one is able to delete property values.
Defining Threat Category and Threat Types Go to Threat Types tab to create New Threat category and New Threat type. TMT compares the stencils on the DFD in the threat modeling design view against the threat types to determine which threats to create in analysis view.
Figure 17 Threat Category
1. Click on New Category button on Threat Types tab to create new threat category
1. Click on New Threat Type button to create a Threat Type under a Threat Category
Figure 18 Threat Types
Define Title of Threat Type by clicking Title text box on the UI
Define Include and Exclude expressions for Threat Type. Expressions reference objects in the design view to determine when to create a threat in the analysis view. Grammar for expressions is as follows:
The grammar for creating the Threat Expression is given below.