Earlier quoted context omitted.
I hear a lot of people talk about security but very few people talk about threat models. We need more of this.
Are there any good introductory taxonomies or categorisations of threats and potentially appropriate responses? The obvious distinctions that spring to my (uninformed) mind are: active (mitm, injection) vs passive (snooping, traffic analysis), targeted/opportunistic (maybe insider/outsider too?), and perhaps level of available resources (on the s'kiddie - lone hacker - collective - governmental spectrum, or something…
Spoofing Spoofing is attempting to gain access to a system by using a false identity. This can be accomplished using stolen user credentials or a false IP address. After the attacker successfully gains access as a legitimate user or host, elevation of privileges or abuse using authorization can begin.
Tampering Tampering is the unauthorized modification of data, for example as it flows over a network between two computers.
Repudiation Repudiation is the ability of users (legitimate or otherwise) to deny that they performed specific actions or transactions. Without adequate auditing, repudiation attacks are difficult to prove.
Information disclosure Information disclosure is the unwanted exposure of private data. For example, a user views the contents of a table or file he or she is not authorized to open, or monitors data passed in plaintext over a network. Some examples of information disclosure vulnerabilities include the use of hidden form fields, comments embedded in Web pages that contain database connection strings and connection details, and weak exception handling that can lead to internal system level details being revealed to the client. Any of this information can be very useful to the attacker.
Denial of service Denial of service is the process of making a system or application unavailable. For example, a denial of service attack might be accomplished by bombarding a server with requests to consume all available system resources or by passing it malformed input data that can crash an application process.
Elevation of privilege Elevation of privilege occurs when a user with limited privileges assumes the identity of a privileged user to gain privileged access to an application. For example, an attacker with limited privileges might elevate his or her privilege level to compromise and take control of a highly privileged and trusted process or account.
They use the DREAD model to calculate threat impact (risk). You can get the risk rating for a given threat by asking the following questions:
Damage potential How great is the damage if the vulnerability is exploited?
Reproducibility How easy is it to reproduce the attack?
Exploitability How easy is it to launch an attack?
Affected users As a rough percentage, how many users are affected?
Discoverability How easy is it to find the vulnerability?
Therese's more detail in chapter 3 [1] (threat modelling) of the book Improving Web Application Security: Threats and Countermeasures [2] Note the book was published 12 years ago.
[1] https://msdn.microsoft.com/en-us/library/ff648644.aspx#c0361...