Case Models
Case Models
Exercise
In a requirements phase, abuse case models can be
Implementation used to increase both user and customer understanding
of the security features of a proposed product. They
can be made simple and abstract enough to be
Exercise
Documentation
understood by users from a wide range of application
domains. They can be used to show customers what
will be prevented and what will not, in terms of their
Editor
application domain. For this same reason, abuse case
models are also useful for security requirements
elicitation. Users can decide, in terms of their own
Exercise
application domain, which threats apply and which
Implementation
threats should be countered by product security
features. Many fine security models have been
Exercise developed that model various kinds of protection, in
Documentation
mathematically sound ways. Use of these models is
essential for any product that aims at complete
Command security. However, these models are subtle and very
Shell abstract. It can be difficult for users or customers to
apply them in their own domain. Practitioners who use
Exercise and translate these security models may expend a great
Implementation deal of time transforming a policy to the user’s domain,
only to find that the policy is not what the users
Exercise intended. Abuse cases may help security practitioners
Documentation and users save time in arriving at a good understanding
of security requirements.
Source
During the design and testing phases of a security
engineering process, we can apply abuse cases through
Lab Server a refutation process. As we analyze and design the
system, we refute each use case to the appropriate level
of assurance. This is one reason for describing the
actors in greater detail in an abuse case. Our refutation
Figure 4. Tree Diagram for Abuse Case: Browse may depend on the skills, resources, or objectives of
Server Exercise With Warez the actor. For example, we may argue that 40-bit
cryptographic keys are sufficient to refute an abuse
case involving a Script Kiddie actor, because of their
specified resource limitations, but not against a Nazgul. during requirements analysis and may be easier to
In other instances, our refutation may be based on the understand when trade-offs must be made between
properties of a design feature. The strength of the security and functionality.
refutation can be used to characterize the assurance we
have. A refutation arrived at during an informal code Abuse case models are not a substitute for
walk through is not as strong as a refutation based on mathematical security models. We intentionally make
formal methods. Abuse cases can be ranked or abuse case models ambiguous and incomplete and do
weighted according to the assurance that should be not worry about their soundness. Abuse case models do
applied to them. The assurance budget for a project can not replace any other part of a sound security
then be allocated by abuse case, according to the engineering process. The same qualities that make
ranking. them powerful in security requirements analysis render
them unfit as tools for high assurance. On the other
During testing, we can design our security function hand, we have found them to be very useful as a
tests to refute abuse cases. For example, we can apply complementary tool, when used during the
the abuse case directly as a family of test cases. We requirements, design, and testing phases of a project.
form a test team that has the same skills and resources
as the actors associated with the abuse case and let References
them exercise our system features. We can also
combine testing with other refutation arguments. We
may argue that neither an editor nor a debugger can 1. COMMON CRITERIA IMPLEMENTATION
browse exercises, if the current session lacks the BOARD, Common Criteria for Information
necessary security permissions. We can then use Technology Security Evaluation, version 2.0. May
testing to show that all exercises are configured with 1998, Common Criteria Project Sponsoring
the security attributes needed to prevent browsing and Organisations.
that all passwords are sufficiently strong. We can also
rank abuse cases in order to allocate testing resources. 2. CUSUMANO, M. and SELBY, R. How Microsoft
builds software. CACM, 40, 6, June 1997, pp. 53-
Abuse cases can also be used to make design trade- 61.
offs. Since both use cases and abuse cases are readily
understood by users and customers, they can be used to 3. LARMAN, C. Applying UML and Patterns: An
explain security-related design trade-offs. Customers Introduction to Object-Oriented Analysis and
will be better informed when choosing between Design, Prentice-Hall, 1998.
modified functionality in a use case and the residual
risk in an unrefuted abuse case.
7. Conclusions