A security use case is a specialized use case the scope of which is restricted to security issues.
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.
To achieve these goals, the typical objectives of a security use case are to:
The following are examples of highly general and reusable security use cases:
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: 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: 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: 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. |
||
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: 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. |
||
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: 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: 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: 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: 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. |
|||
The following are typical examples of paths through the intrusion detection misuse case:
The following are typical examples of paths through the nonrepudiation use case:
The following are typical examples of paths through the privacy use case:
| 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: 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: 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. |
|||
The following are typical examples of paths through a physical protection use case:
The following are typical examples of paths through a security auditing use case:
The following guidelines have been found to be useful when producing access control requirements:
For more information about misuse cases, read: