Skip to content

Commit 5de562c

Browse files
committed
Line edits
1 parent 787b632 commit 5de562c

File tree

5 files changed

+53
-82
lines changed

5 files changed

+53
-82
lines changed

learn-pr/azure/tm-use-recommended-tools-to-create-a-data-flow-diagram/includes/1-introduction.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
A data-flow diagram is a graphical representation of how your system works. It includes all data stores, processes, external entities, trust boundaries, and data-flows.
1+
A data-flow diagram is a graphical representation of how your system works. It includes all data stores, processes, external entities, trust boundaries, and data-flows. Using these diagrams help all users in your organization collaborate to enhance your threat modeling work.
22

3-
## How to create a data-flow diagram
3+
## Creating a data-flow diagram
44

55
You can use any canvas, physical or virtual, to create a data-flow diagram. However, you do need a working knowledge of threat modeling to analyze it properly.
66

7-
Some applications provide you with the tools create a data-flow diagram with a threat-generation engine and risk-reduction strategies. Other tools only provide you with the ability to create a data-flow diagram.
7+
Some applications provide you with the tools to create a data-flow diagram alongside a threat-generation engine and risk-reduction strategies. Other tools only provide you with the ability to create a data-flow diagram.
88

9-
## Goals
10-
11-
The goal of this learning path is to teach you the fundamentals of threat modeling for you to threat model anywhere, on any canvas.
12-
13-
To help you get there, we recommend a few tools along the way.
9+
The goal of this learning path is to teach you the fundamentals of threat modeling allowing you to threat model on any canvas. We also recommend a couple tools along the way to assist.
1410

1511
## Learning objectives
1612

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
Threat modeling takes your data-flow diagram and applies a framework to help find threats and ways to reduce or eliminate risk.
1+
Threat modeling takes your data-flow diagram and applies a framework to help find threats and ways to reduce or eliminate risk. It helps meet security goals early in the development lifecycle and secures your systems, applications, networks, and services.
22

3-
Some tools help you create a data-flow diagram, while others also help with the threat-generation exercise. Depending on your level of expertise with threat modeling, some of these tools can be helpful.
3+
Some tools help you create a data-flow diagram, while others also help with the threat-generation exercise. Your level of expertise with threat modeling may dictate which tool fits best. We'll look at two tools in the next couple units.
44

5-
## Learn more about threat modeling tools
5+
## Microsoft Threat Modeling Tool
66

7-
Over the next few units, we take a look at how:
7+
The Microsoft Threat Modeling Tool enables you to create data-flow diagrams. It allows anyone to communicate about the security design of their systems, analyze those designs for potential security issues, and suggest and manage mitigations for security issues.
88

9-
- The Microsoft Threat Modeling Tool enables you to create data-flow diagrams and analyze them for potential threats and risk-reduction strategies.
10-
- Visio gives you a clean canvas to help you create data-flow diagrams.
9+
We look at the different sections, stencils, and elements to see how the different properties work together. Then we analyze risk-reduction strategies to specify how threat generation works.
10+
11+
## Visio
12+
13+
Our other recommended tool is Visio. It gives you a clean canvas to create data-flow diagrams. With the Visio desktop and web applications, you can view, edit, and share Visio diagrams as well. You can also save them in Sharepoint or OneDrive for Business to share with others.
14+
15+
We talk about some of the basic functionality of Visio as well as pros and cons associated with the tool.

learn-pr/azure/tm-use-recommended-tools-to-create-a-data-flow-diagram/includes/2-threat-modeling-tool.md

Lines changed: 28 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,41 @@
11
## Quick overview
22

3-
The Microsoft Threat Modeling Tool, recognized by the threat-modeling community, helps engineers create data-flow diagrams and apply STRIDE for their threat-modeling work.
4-
5-
The Threat Modeling Tool offers:
6-
7-
- Customizable templates
8-
- Threat-generation engine with threats and risk-reduction strategies
3+
The Microsoft Threat Modeling Tool, recognized by the threat-modeling community, helps engineers create data-flow diagrams. It offers customizable templates and a threat-generation engine with threats and risk-reduction strategies.
94

105
The default template is called "SDL TM Knowledge Base" and gives you a basic set of elements and threat-generation capabilities. All you need is a basic understanding of data-flow diagrams and STRIDE.
116

12-
### STRIDE recap
7+
### STRIDE
138

14-
STRIDE is the acronym for the six major threat categories:
9+
STRIDE is a model that categorizes security threats to help identify. The Microsoft Threat Modeling Tool helps apply STRIDE for threat-modeling work. STRIDE is the acronym for the six major threat categories:
1510

16-
- **Spoofing**: pretending to be someone or something else
17-
- **Tampering**: changing data without authorization
18-
- **Repudiation**: not claiming responsibility for an action taken
19-
- **Information disclosure**: seeing data without permission
20-
- **Denial of service**: overwhelming the system
21-
- **Elevation of privilege**: having permissions I shouldn't have
11+
- **Spoofing**: Pretending to be someone or something else.
12+
- **Tampering**: Changing data without authorization.
13+
- **Repudiation**: Not claiming responsibility for an action taken.
14+
- **Information disclosure**: Seeing data without permission.
15+
- **Denial of service**: Overwhelming the system.
16+
- **Elevation of privilege**: Having permissions I shouldn't have.
2217

23-
## Advanced user section
24-
25-
For more advanced users, you can customize the template across three main sections.
18+
You can customize the template across the areas we'll discuss next, which are stencils, threat properties, and risk reduction strategies.
2619

2720
### Stencils
2821

29-
Process, external interactor, data store, data-flow, and trust boundaries make up the parent elements.
22+
Stencils are made up of parent stencils that include process, external interactor, data store, data-flow, and trust boundaries. They can be dragged and dropped onto your canvas to build your data-flow diagram.
3023

3124
:::image type="content" source="../media/parentstencils.jpg" alt-text="Screenshot of Parent Stencils." loc-scope="other":::
3225

33-
You can also create child elements to help provide granularity for more context, actionable threat generation, and risk-reduction strategies.
26+
You can also create child stencils to help provide granularity for more context, actionable threat generation, and risk-reduction strategies.
3427

3528
:::image type="content" source="../media/expandedflowstencils.jpg" alt-text="Screenshot of Expanded Flow Stencils." loc-scope="other":::
3629

3730
#### Example of how child elements work
3831

39-
The **data-flow** parent element gives you the option to choose between the **HTTP** and **HTTPS** child elements.
40-
41-
HTTP should generate more threats because tampering, information disclosure, and spoofing threats are common with unencrypted channels.
42-
43-
##### Using HTTP
32+
The **data-flow** parent element gives you the option to choose between the **HTTP** and **HTTPS** child elements. HTTP should generate more threats because tampering, information disclosure, and spoofing threats are common with unencrypted channels. Following are images of using HTTP vs. HTTPS.
4433

4534
:::image type="content" source="../media/HTTP.JPG" alt-text="Screenshot illustrating the HTTP child element." loc-scope="other":::
4635

47-
##### Using HTTPS
48-
4936
:::image type="content" source="../media/HTTPS.JPG" alt-text="Screenshot illustrating the HTTPS child element." loc-scope="other":::
5037

51-
#### How to add element properties
38+
#### Add element properties
5239

5340
If you have other properties that must be included in the default template, you can add them to each element in the administrator view.
5441

@@ -60,67 +47,45 @@ You can see the changes whenever you drag and drop that element onto the canvas.
6047

6148
### Threat properties
6249

63-
Properties allow you to create fields that are filled out for each generated threat, just like stencil properties allow you to create fields for each element.
64-
65-
Remember: the goal is to have as much context as possible in the simplest manner.
66-
67-
#### Example of threat properties
50+
These properties allow you to create fields that are filled out for each generated threat, just like stencil properties allow you to create fields for each element. Remember, the goal is to have as much context as possible in the simplest manner.
6851

69-
##### Administrator view
52+
### Administrator and User Views
7053

71-
Add fields that give you more context and actionable steps. Examples include:
54+
Administrators can add fields that give you more context and actionable steps. Examples include:
7255

73-
- **Issue priority**: understand which issues need to be worked on first.
74-
- **Hyperlinks**: link issues to online documentation.
75-
- **External risk mapping**: speak the same risk language of other organizations by using reliable third-party sources, such as OWASP Top 10 and CWE Details.
56+
- **Issue priority**: Understand which issues need to be worked on first.
57+
- **Hyperlinks**: Link issues to online documentation.
58+
- **External risk mapping**: Speak the same risk language of other organizations by using reliable third-party sources, such as OWASP (Open Worldwide Application Security Project) Top 10 and CWE (Common Weakness Enumeration) Details.
7659

7760
:::image type="content" source="../media/ThreatAdminView.JPG" alt-text="Screenshot of the Threat Properties Admin View." loc-scope="other":::
7861

79-
##### User view
80-
81-
Threat Modeling Tool users see these changes whenever they analyze their data-flow diagrams.
62+
Then in the User view, the Threat Modeling Tool users see changes whenever they analyze their data-flow diagrams.
8263

8364
:::image type="content" source="../media/ThreatUserView.JPG" alt-text="Screenshot of the Threat Properties User View." loc-scope="other":::
8465

8566
### Threats and risk reduction strategies
8667

8768
This section is the heart of the threat modeling tool. The threat-generation engine looks at individual and connected elements to decide which threats to generate.
8869

89-
#### How threat generation works
90-
91-
##### Step 1 - Specify sources and targets
92-
93-
The threat-generation engine uses simple sentences to generate a threat. Examples include:
94-
95-
- target is [element name]
96-
- source is [element name]
70+
Step 1 specifies sources and targets. The threat-generation engine uses simple sentences to generate a threat. Examples include *target is [element name]* and *source is [element name]*. You can also use the element name on titles and descriptions. The format is *{target.Name}* or *{source.Name}*.
9771

98-
You can also use the element name on titles and descriptions. The format is: '{target.Name}' or '{source.Name}'.
99-
100-
##### Step 2 - Combine sources and targets
101-
102-
You can be precise with the way a threat is generated. Combine targets, sources, and their individual properties with AND OR operators. Examples include:
72+
Step 2 combines sources and targets. You can be precise with the way a threat is generated. Combine targets, sources, and their individual properties with AND/OR operators. Examples include:
10373

10474
- target.[property name] is 'Yes' **AND** source.[property name] is 'No'
10575
- flow crosses [trust boundary name]
10676

107-
##### Step 3 - Generate or ignore threats
108-
109-
The threat-generation engine uses two fields to generate or ignore a threat:
77+
Step 3 generates or ignores threats. The threat-generation engine uses two fields to generate or ignore a threat:
11078

11179
- **Include**: A threat is generated if sentences added in this field are true.
11280
- **Exclude**: A threat isn't generated if sentences added in this field are true.
11381

11482
Here's an actual example from the default template to bring these steps together:
11583

116-
- **Threat:** Cross Site Scripting
117-
- **Include:** (target is [Web Server]) **OR** (target is [Web Application])
118-
- **Exclude:** (target.[Sanitizes Output] is 'Yes') **AND** (target.[Sanitizes Input] is 'Yes')
119-
120-
The Cross Site Scripting threat in this example is **only** generated when:
84+
- **Threat**: Cross Site Scripting
85+
- **Include**: (target is [Web Server]) **OR** (target is [Web Application])
86+
- **Exclude**: (target.[Sanitizes Output] is 'Yes') **AND** (target.[Sanitizes Input] is 'Yes')
12187

122-
- The process is either a Web Server or a Web Application
123-
- Input and output aren't sanitized
88+
The Cross Site Scripting threat in this example is only generated when the process is either a Web Server or a Web Application and Input and output aren't sanitized.
12489

12590
:::image type="content" source="../media/IncludeExclude.JPG" alt-text="Screenshot of Include/Exclude view." loc-scope="other":::
12691

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
1-
Microsoft Visio is recognized for its robust set of features to help anyone create quality flowcharts and data-flow diagrams.
1+
Microsoft Visio is recognized for its robust set of features to help anyone create quality flowcharts and data-flow diagrams. Visio tools help you visualize how an application or systems is organized towards threat modeling.
2+
3+
You can leverage to create flowcharts, basic network diagrams, Venn diagrams, block diagrams, and busines matrices. All while being able to start quickly and in a collaborative manner. Let's look at some other pros to using Visio as well as review any cons.
24

35
## Pros
46

57
Visio provides drag-and-drop functionality and the ability to annotate diagrams. Both are helpful when creating a diagram for your system.
68

9+
In addition, the tool is accessible for a wide variety of users. The intuitive interface and ease of use takes minimal time to learn and setup. It shares a familiar experience to other Microsoft 365 apps.
10+
11+
It also includes templates for diagrams and flowcharts to help you start quickly. This alongside real-time collaboration, commenting, and sharing with the Visio web app or Visio app in Micorosoft Teams makes it a valuable tool across your organization towards your threat modeling goals.
12+
713
## Cons
814

915
The application doesn't offer automated threat-modeling capabilities. As a result, there's no threat-generation engine to help engineers brainstorm threats and risk-reduction strategies.
1016

11-
> [!NOTE]
12-
> If you use Visio, you'll be responsible for threat modeling each element and interaction manually.
17+
Also, when you use Visio you'll be responsible for threat modeling each element and interaction manually.

learn-pr/azure/tm-use-recommended-tools-to-create-a-data-flow-diagram/index.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ title: Use recommended tools to create a data-flow diagram
1111
summary: You can use any canvas, physical or virtual, to create a data-flow diagram. Engineers at Microsoft recommend a few tools to help you in your threat modeling journey.
1212
abstract: |
1313
In this module, you'll:
14-
- Learn about the Threat Modeling Tool
15-
- Learn more about Visio
14+
- Learn about the Threat Modeling Tool.
15+
- Learn more about Visio.
1616
prerequisites: None
1717
iconUrl: /training/achievements/use-recommended-tools-to-create-a-data-flow-diagram.svg
1818
levels:

0 commit comments

Comments
 (0)