Misuse Cases


Topics:  Definition  Objectives  Examples  Guidelines  References

Definitions

A misuse case (a.k.a., abuse case) is a special kind of use case in which:

Whereas use cases are used to specify system support for users, misuse cases are used to specify system prohibitions against misuser threats.

Objectives

The typical objectives of a misuse case are to:

Examples

The following are typical examples of security misuse cases:

Use Case: Access Control

The following are typical examples of paths through the access control misuse case:

Use Case Path: Attempted Spoofing using Valid User Identity

Misuse Case: Access Control
Misuse Case Path: Attempted Spoofing using Valid User Identity
Threat: Misuser is authenticated and authorized.
Preconditions:
The misuser has a valid means of user identification but an invalid means of user authentication.
Misuser Interactions
System Requirements
System Interactions System Actions
  The system shall request the user’s identity and authentication.  
The misuser provides a valid user identity but an invalid user authentication.    
    1) The system shall misidentify the misuser as a valid user.
2) The system shall fail to authenticate and authorize the misuser.
  The system shall reject the misuser by canceling the transaction.  
Postconditions:
1) The system shall not have allowed the misuser to steal the user’s means of authentication.
2) The system shall not have authenticated the misuser.
3) The system shall not have authorized the misuser to perform any transaction.
4) The system shall record the access control failure.

Use Case Path – Attempted Identity and Authentication Theft

Misuse Case: Access Control
Misuse Case Path: Attempted Identity and Authentication Theft
Threat: Misuser steals user’s means of identification and authentication.
Preconditions:
The misuser has no means of user identification or user authentication.
User Interactions Misuser Interactions System Requirements
System Interactions System Actions
    The system shall request the user’s identity and authentication.  
The user identifies and authenticates himself. The misuser attempts to steal the user’s means to identify and authenticate.    
      1) The system shall identify, authenticate, and authorize the user.
2) The system shall protect the user’s identity and authentication during the interaction.
    The system shall request the user’s choice of interaction.  
Postconditions:
1) The system shall not have enabled the misuser to steal the user’s means of identification and authentication.
2) The system shall have identified, authenticated, and authorized the user.

Use Case Path – Attempted Spoofing using Social Engineering

Misuse Case: Access Control
Misuse Case Path: Attempted Spoofing using Social Engineering
Threat: Misuser gains access to unauthorized resource.
Preconditions:
1) The misuser has a valid means of user identification enabling the impersonation of a valid user that is authorized to used a protected resource.
2) The misuser does not have an associated valid means of user authentication.
3) The misuser has knowledge of the organization including the ability to contact the contact center.
Misuser Interactions
Contact Center Requirements
Contact Center Interactions Contact Center Actions
The misuser contacts the contact center.    
  A user support agent shall request the misusers’s identity and authentication.  
1) The misuser provides the valid user identity.
2) The misuser states that he or she has a temporary inability to authenticate himself/herself.
3) The misuser states that he or she has an urgent need to access a resource requiring authentication and authorization.
   
  The user support agent shall request one or more alternate forms of authentication. The user support agent shall check the appropriate procedures for the proper action.
The misuser fails to provide a valid alternate form of authentication.    
  The user support agent shall refuse authentication and authorization to the requested resource.
Alternatives:
The misuser can quit at any point.
Postconditions:
1) The system shall not have authenticated the misuser.
2) The system shall not have authorized the misuser to access the resource.
3) The system shall record the access control failure.

Use Case — Immunity

The following are typical examples of paths through the immunity misuse case:

Use Case Path – Virus Protection

Misuse Case: Immunity
Misuse Case Path: Virus Protection
Threat: Misuser infects the system with a virus, worm, or trojan horse.
Preconditions:
1) The misuser has a virus, worm, or trojan horse.
2) The system has requested some form of input from the misuser.
Misuser Interactions
System Requirements
System Interactions System Actions
The misuser provides input that includes a virus, worm, or trojan horse.    
    1) The system shall identify the virus, worm, or trojan horse.
2) The system shall delete the virus, worm, or trojan horse.
  The system shall notify the misuser of the virus, worm, or trojan horse.  
Postconditions:
The system shall not be infected.

Use Case — Integrity

The following are typical examples of paths through the integrity misuse case:

Use Case Path – Data Integrity

TBD

Use Case Path – System Message Integrity

TBD

Use Case Path – User Message Integrity

Misuse Case: Integrity
Misuse Case Path: User Message Integrity
Threat: Misuser corrupts message between the user and the system.
Preconditions:
The misuser has the means to intercept a message between the user and the system.
User Interactions Misuser Interactions System Requirements
System Interactions System Actions
The user sends a message to the system.      
  The misuser intercepts, modifies, and forwards the user’s message.    
      The system shall recognize that the user’s message was corrupted.
    The system shall notify the user that the user’s message was corrupted.  
Postconditions:
Vary depending on the message that was corrupted.

Use Case — Intrusion Detection

The following are typical examples of paths through the intrusion detection misuse case:

Use Case — Nonrepudiation

The following are typical examples of paths through the nonrepudiation misuse case:

Use Case — Privacy

The following are typical examples of paths through the privacy misuse case:

Use Case Path – Data Privacy

Misuse Case: Privacy
Misuse Case Path: Data Privacy
Threat: Misuser accesses private data stored by the system.
Preconditions:
The system stores private data.
Misuser Interactions
System Requirements
System Interactions System Actions
    The system makes private stored data unreadable.
The misuser accesses private data stored by the system.    
Postconditions:
The misuser cannot read the private data.

Use Case Path – System Message Privacy

Misuse Case: Privacy
Misuse Case Path: System Message Privacy
Threat: Misuser accesses private message from the system to the user.
Preconditions:
The misuser has the means to intercept a message from the system to the user.
User Interactions Misuser Interactions System Requirements
System Interactions System Actions
      The system makes the private message unreadable while in transit.
    The system sends a private message to the user.  
  The misuser intercepts the system’s private message.    
Postconditions:
The misuser cannot read the system’s private message.

Use Case Path – User Message Privacy

Misuse Case: Privacy
Misuse Case Path: User Message Privacy
Threat: Misuser accesses private message from the user to the system.
Preconditions:
1) The misuser has the means to intercept a message from the user to the system.
2) The system has requested private information from the user.
User Interactions Misuser Interactions System Requirements
System Interactions System Actions
The user sends a private message to the system.      
      The system makes the private message unreadable while in transit.
  The misuser intercepts the user’s private message.    
Postconditions:
The misuser cannot read the user’s private message.

Guidelines

The following guidelines have been found to be useful when producing access control requirements:

References

For more information about misuse cases, read: