Security Use Cases


Topics:  Definition  Goals  Objectives  Examples  Guidelines  References
Example Use Cases:  Access Control  Immunity  Integrity  Intrusion Detection  Nonrepudiation  Privacy  Physical Protection  Security Auditing

Definitions

A security use case is a specialized use case the scope of which is restricted to security issues.

Goals

The typical goals of a security use case is to:

Note that whereas typical use cases are used to specify system support for users, security use cases are used to specify system defenses against misuser threats.

Objectives

To achieve these goals, the typical objectives of a security use case are to:

Examples

The following are examples of highly general and reusable security use cases:

Use Case — Access Control

The following example access control use case specifies highly general and reusable access control requirements.

This use case is defined in terms of the following use case path specifications:

Use Case Path – Attempted Spoofing using Valid User Identity

Use Case: Access Control
Use Case Path: Attempted Spoofing using Valid User Identity
Security Threat: The application authenticates and authorizes a misuser as if the misuser were actually a valid user.
Preconditions:
1) The misuser has a valid means of user identification.
2) The misuser has an invalid means of user authentication.
Misuser Interactions
System Requirements
System Interactions System Actions
  The system shall request the misuser’s means of identification and authentication.  
The misuser provides a valid means of user identity but an invalid means of 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 that requires authentication.
4) The system shall record the access control failure.

Use Case Path – Attempted Identity and Authentication Theft

Use Case: Access Control
Use Case Path: Attempted Identity and Authentication Theft
Security Threat: The misuser steals the user’s valid means of identification and authentication, thereby enabling the misuser to impersonate the user.
Preconditions:
1) The misuser has no valid means of user identification.
2) The misuser has no valid means 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 or herself. The misuser attempts to steal the user’s valid means of identification and authentication.   The system shall protect the user’s identity and authentication during the interaction.
      The system shall identify and authenticate the user.
    The system shall request the user’s choice of interaction.  
Postconditions:
1) The system shall have prevented the misuser from stealing the user’s means of identification and authentication.
2) The system shall have identified and authenticated the user.

Use Case Path – Attempted Spoofing using Social Engineering

Use Case: Access Control
Use Case Path: Attempted Spoofing using Social Engineering
Security Threat: The misuser gains access to an unauthorized resource.
Preconditions:
1) The misuser has a valid means of user identification enabling the impersonation of a valid user that is authorized to use a protected resource.
2) The misuser does not have an associated valid means of user authentication.
3) The misuser has basic 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 misuser’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 or herself.
3) The misuser states that he or she has an urgent need to access a protected 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.
Alternative Paths:
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 protected resource.
3) The system shall record the access control failure.

Use Case — Immunity

The following example immunity use case specifies highly general and reusable immunity requirements.

This use case is defined in terms of the following use case path specifications:

Use Case Path – Virus Protection

Use Case: Immunity
Use Case Path: Virus Protection
Security Threat: A misuser may infect the system with an undesirable program (e.g., 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 example integrity use case specifies highly general and reusable integrity requirements.

This use case is defined in terms of the following use case path specifications:

Use Case Path – System Data Protected

Use Case: Integrity
Use Case Path: System Data Protected
Security Threat: A misuser may corrupt (e.g., add, modify, delete) sensitive data that is stored by the system.
Preconditions:
The system stores sensitive data that must not be corrupted.
Misuser Interactions System Requirements
System Interactions System Actions
The misuser attempts to corrupt (e.g., add, modify, delete) sensitive data stored by the system.    
    The system shall prevent the data from being corrupted.
  The system shall notify the security officer that an attempt to corrupt data occurred.  
Postconditions:
No sensitive data is corrupted.

Use Case Path – System Data Corrupted

Use Case: Integrity
Use Case Path: System Data Corrupted
Security Threat: A misuser may secretly corrupt (e.g., add, modify, delete) sensitive data that is stored by the system.
Preconditions:
1) The system stores sensitive data that must not be corrupted.
2) The misuser has the means to corrupt sensitive data that is stored by the system.
Misuser Interactions System Requirements
System Interactions System Actions
The misuser corrupts (e.g., adds, modifies, deletes) sensitive data stored by the system.    
    Within X seconds, the system shall:
1) Recognize that the data was corrupted.
2) Repair the corrupted data (e.g., delete added data, restore modified data, replace deleted data).
  The system shall notify the security officer that data was corrupted and repaired.  
Postconditions:
No sensitive data is corrupted.

Use Case Path – System Message Integrity

Use Case: Integrity
Use Case Path: System Message Integrity
Security Threat: A misuser corrupts a message from the system to a user.
Preconditions:
1) The misuser has the means to intercept a message from the system to a user.
2) The misuser has the means to modify an intercepted message.
3) The misuser has the means to forward the modified message to the user.
User Interactions Misuser Interactions System Requirements
System Interactions System Actions
    The system sends a message to a user. The system ensures that modifications to the message will be obvious to the user.
  The misuser intercepts and modifies the system’s message and forwards it on to the user.    
The user receives the corrupted message.     The system shall recognize that it’s message was corrupted.
    The system shall notify the user that it’s message was corrupted.  
Postconditions:
None.

Use Case Path – User Message Integrity

Use Case: Integrity
Use Case Path: User Message Integrity
Security Threat: A misuser corrupts a user’s message to 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:
Varies 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 use case:

Use Case — Privacy

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

Use Case Path – Data Privacy

Use Case: Privacy
Use Case Path: Data Privacy
Security 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

Use Case: Privacy
Use Case Path: System Message Privacy
Security 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

Use Case: Privacy
Use Case Path: User Message Privacy
Security 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.

Use Case — Physical Protection

The following are typical examples of paths through a physical protection use case:

Use Case — Security Auditing

The following are typical examples of paths through a security auditing use case:

Guidelines

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

References

For more information about misuse cases, read: