A misuse case diagram is created together with a corresponding use case diagram. The model introduces 2 new important entities (in addition to those from the traditional use case model,
use case and
actor: •
Misuse case : A sequence of actions that can be performed by any person or entity in order to harm the system. •
Misuser : The actor that initiates the misuse case. This can either be done intentionally or inadvertently.
Diagrams The misuse case model makes use of those relation types found in the use case model;
include,
extend,
generalize and
association. In addition, it introduces two new relations to be used in the diagram: ;mitigates: A use case can mitigate the chance that a misuse case will complete successfully. ;threatens: A misuse case can threaten a use case, e.g. by exploiting it or hinder it from achieving its goals. These new concepts together with the existing ones from use case give the following meta model, which is also found as fig. 2 in Sindre and Opdahl (2004).
Descriptions There are two different ways of describing a misuse case textual; one is embedded in a use case description template - where an extra description field called
Threats can be added. This is the field where misuse case steps (and alternate steps) can be filled in. This is referred to as the
lightweight mode of describing a misuse case. The other way of describing a misuse case, is by using a separate template for this purpose only. It is suggested to inherit some of the field from use case description (
Name,
Summary,
Author and
Date). It also adapts the fields
Basic path and
Alternative path, where they now describe the paths of the misuse cases instead of the use cases. In addition to there, it is proposed to use several other fields too: • Misuse case name • Summary • Author • Date • Basic path • Alternative paths • Mitigation points • Extension points • Triggers • Preconditions • Assumptions • Mitigation guarantee • Related business rules • Potential misuser profile • Stakeholders and threats • Terminology and explanations • Scope • Abstraction level • Precision level As one might understand, the list above is too comprehensive to be completely filled out every time. Not all the fields are required to be filled in at the beginning, and it should thus be viewed as a living document. There has also been some debating whether to start with diagrams or to start with descriptions. The recommendation given by Sindre and Opdahl on that matter is that it should be done as with use cases. Sindre and Opdahl proposes the following 5 steps for using misuse cases to identify security requirements: •
Identify critical assets in the system •
Define security goals for each assets •
Identify threats to each of these security goals, by identifying the stakeholders that may want to cause harm to the system •
Identify and analyze risks for the threats, using techniques like
Risk Assessment •
Define security requirements for the risks. It is suggested to use a repository of reusable misuse cases as a support in this 5-step process. ==Research==