Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Threat Modeling Web Applications
J.D. Meier, Alex Mackman, Blaine Wastell
Microsoft Corporation
May 2005
Home Page for Threat Modeling Web Applications
Summary: Use this cheat sheet to help create threat models for Web applications. The Web Application Security Frame uses categories to organize common security vulnerabilities. If you use these categories when you review your application design to create a threat model, you can systematically reveal the threats and vulnerabilities specific to your application architecture.
Contents
Web Application Security Frame
Vulnerabilities Organized by Web Application Security Frame
Threats and Attacks Organized by Web Application Security Frame
Countermeasures Organized by Web Application Security Frame
The Web Application Security Frame uses categories to organize common security vulnerabilities. If you use these categories when you review your application design to create a threat model, you can systematically reveal the threats and vulnerabilities specific to your application architecture.
Web Application Security Frame
Table 1 lists and explains the categories for the Web Application Security Frame.
Table 1: Web Application Security Frame Categories
Category | Description |
---|---|
Input and Data Validation | How do you know that the input your application receives is valid and safe? Input validation refers to how your application filters, scrubs, or rejects input before additional processing. Consider constraining input through entry points and encoding output through exit points. Do you trust data from sources such as databases and file shares? |
Authentication | Who are you? Authentication is the process where an entity proves the identity of another entity, typically through credentials, such as a user name and password. |
Authorization | What can you do? Authorization is how your application provides access controls for resources and operations. |
Configuration Management | Who does your application run as? Which databases does it connect to? How is your application administered? How are these settings secured? Configuration management refers to how your application handles these operational issues. |
Sensitive Data | How does your application handle sensitive data? Sensitive data refers to how your application handles any data that must be protected either in memory, over the network, or in persistent stores. |
Session Management | How does your application handle and protect user sessions? A session refers to a series of related interactions between a user and your Web application. |
Cryptography | How are you keeping secrets (confidentiality)? How are you tamper-proofing your data or libraries (integrity)? How are you providing seeds for random values that must be cryptographically strong? Cryptography refers to how your application enforces confidentiality and integrity. |
Exception Management | When a method call in your application fails, what does your application do? How much do you reveal? Do you return friendly error information to end users? Do you pass valuable exception information back to the caller? Does your application fail gracefully? |
Auditing and Logging | Who did what and when? Auditing and logging refer to how your application records security-related events. |
Vulnerabilities Organized by Web Application Security Frame
Table 2 lists vulnerabilities for each Web Application Security Frame category.
Table 2: Web Application Security Frame Vulnerabilities
Category | Vulnerability |
---|---|
Input/Data Validation |
|
Authentication |
|
Authorization |
|
Configuration Management |
|
Sensitive Data |
|
Session Management |
|
Cryptography |
|
Exception Management |
|
Auditing and Logging |
|
Threats and Attacks Organized by Web Application Security Frame
Table 3 lists threats and attacks for each Web Application Security Frame category.
Table 3: Web Application Security Frame Threats and Attacks
Category | Threats or Attacks |
---|---|
Input/Data Validation |
|
Authentication |
|
Authorization |
|
Configuration Management |
|
Sensitive Data |
|
Session Management |
|
Cryptography |
|
Exception Management |
|
Auditing and Logging |
|
Countermeasures Organized By Web Application Security Frame
Table 4 lists the countermeasures for each Web Application Security Frame category.
Table 4: Web Application Security Frame Countermeasures
Category | Countermeasures |
---|---|
Input/Data Validation |
|
Authentication |
|
Authorization |
|
Configuration Management |
|
Sensitive Data |
|
Session Management |
|
Cryptography |
|
Exception Management |
|
Auditing and Logging |
|
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |