Step 6. Rate the Threats


At this stage in the process, you have a list of threats that apply to your particular application scenario. In the final step of the process, you rate threats based on the risks they pose. This allows you to address the threats that present the most risk first, and then resolve the other threats. In fact, it may not be economically viable to address all of the identified threats, and you may decide to ignore some because of the chance of them occurring is small and the damage that would result if they did is minimal.

Risk = Probability * Damage Potential

This formula indicates that the risk posed by a particular threat is equal to the probability of the threat occurring multiplied by the damage potential, which indicates the consequences to your system if an attack were to occur.

You can use a 1 “10 scale for probability where 1 represents a threat that is very unlikely to occur and 10 represents a near certainty . Similarly, you can use a 1 “10 scale for damage potential where 1 indicates minimal damage and 10 represents a catastrophe. Using this approach, the risk posed by a threat with a low likelihood of occurring but with high damage potential is equal to the risk posed by a threat with limited damage potential but that is extremely likely to occur.

For example, if Probability =10 and Damage Potential =1, then Risk = 10 * 1 = 10. If Probability =1 and Damage Potential =10, then Risk = 1 * 10 = 10.

This approach results in a scale of 1 “100, and you can divide the scale into three bands to generate a High, Medium, or Low risk rating.

High, Medium, and Low Ratings

You can use a simple High, Medium, or Low scale to prioritize threats. If a threat is rated as High, it poses a significant risk to your application and needs to be addressed as soon as possible. Medium threats need to be addressed, but with less urgency. You may decide to ignore low threats depending upon how much effort and cost is required to address the threat.

DREAD

The problem with a simplistic rating system is that team members usually will not agree on ratings. To help solve this, add new dimensions that help determine what the impact of a security threat really means. At Microsoft, the DREAD model is used to help calculate risk. By using the DREAD model, you arrive at the risk rating for a given threat by asking the following questions:

  • D amage potential: How great is the damage if the vulnerability is exploited?

  • R eproducibility: How easy is it to reproduce the attack?

  • E xploitability: How easy is it to launch an attack?

  • A ffected users: As a rough percentage, how many users are affected?

  • D iscoverability: How easy is it to find the vulnerability?

You can use above items to rate each threat. You can also extend the above questions to meet your needs. For example, you could add a question about potential reputation damage:

Reputation: How high are the stakes? Is there a risk to reputation, which could lead to the loss of customer trust?

Ratings do not have to use a large scale because this makes it difficult to rate threats consistently alongside one another. You can use a simple scheme such as High (1), Medium (2), and Low (3).

When you clearly define what each value represents for your rating system, it helps avoids confusion. Table 3.6 shows a typical example of a rating table that can be used by team members when prioritizing threats.

Table 3.6: Thread Rating Table
 

Rating

High (3)

Medium (2)

Low (1)

D

Damage potential

The attacker can subvert the security system; get full trust authorization; run as administrator; upload content.

Leaking sensitive information

Leaking trivial information

R

Reproducibility

The attack can be reproduced every time and does not require a timing window.

The attack can be reproduced, but only with a timing window and a particular race situation.

The attack is very difficult to reproduce, even with knowledge of the security hole.

E

Exploitability

A novice programmer could make the attack in a short time.

A skilled programmer could make the attack, then repeat the steps.

The attack requires an extremely skilled person and in-depth knowledge every time to exploit.

A

Affected users

All users, default configuration, key customers

Some users, non-default configuration

Very small percentage of users, obscure feature; affects anonymous users

D

Discoverability

Published information explains the attack. The vulnerability is found in the most commonly used feature and is very noticeable.

The vulnerability is in a seldom-used part of the product, and only a few users should come across it. It would take some thinking to see malicious use.

The bug is obscure, and it is unlikely that users will work out damage potential.

After you ask the above questions, count the values (1 “3) for a given threat. The result can fall in the range of 5 “15. Then you can treat threats with overall ratings of 12 “15 as High risk, 8 “11 as Medium risk, and 5 “7 as Low risk.

For example, consider the two threats described earlier:

  • Attacker obtains authentication credentials by monitoring the network.

  • SQL commands injected into application.

Table 3.7 shows an example DREAD rating for both threats:

Table 3.7: DREAD rating

Threat

D

R

E

A

D

Total

Rating

Attacker obtains authentication credentials by monitoring the network.

3

3

2

2

2

12

High

SQL commands injected into application.

3

3

3

3

2

14

High

Once you have obtained the risk rating, you update the documented threats and add the discovered rating level, which is High for both of the above threats. Table 3.8 shows an example.

Table 3.8: Threat 1

Threat Description

Attacker obtains authentication credentials by monitoring the network

Threat target

Web application user authentication process

Risk rating

High

Attack techniques

Use of network monitoring software

Countermeasures

Use SSL to provide encrypted channel




Improving Web Application Security. Threats and Countermeasures
Improving Web Application Security: Threats and Countermeasures
ISBN: 0735618429
EAN: 2147483647
Year: 2003
Pages: 613

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net