Abuse & Misuse Cases
Back to schedule
Overview
The purpose of this activity is to get you acquainted with
writing abuse and misuse cases in tandem with writing use cases.
Setup
This activity is for groups of 4-6 people. Your instructor will
assign each team a different system. For this exercise, your team is
in charge of coming up with the system's functionality, as well as
specifying the requirements. Please assign the following roles:
- Scribe - the person who is writing the use case document
- Customer - the person who determines the functionality of the
system
Activity
- (3 minutes)Give your system a title. Start up a
document on GoogleDocs (make sure it has edit sharing permissions
with the instructor), call it "Requirements Specification for X"
where X is will title of your system. Also, place the following
headers in the document to be filled out:
- Overview
- Description
- Actors
- Security Goals
- Use Cases
- Primary Actor
- Preconditions
- Main Flow of Events
- [Misuse|Abuse] Case
- Security Requirements
- (10 minutes) Conduct a requirements elicitation
session with the customer. Document the main features of the system.
The customer is in charge of brainstorming the functionality, but
must be reasonable as the instructor can override any customer
decision. The scribe takes informal notes from this meeting (no
requirements just yet).
- (10 minutes) Elaborate on the requirements by
outlining three use cases and filling in the Overview section. What
is the system, in general? What are the general security goals of the
system? Who are the actors (both regular and malicious)? Write the
titles of three use cases, and define the relevant actors for each
use case. Don't write the scenarios just yet.
- (10 minutes) Write the main flow for one use
case. Make this about 4-10 steps. Be specific about what
information is being exchanged. You may add alternative flows if you
see the need, but they are not required for this exercise.
- (10 minutes) Now write either a misuse case or abuse
case (your choice) for that use case. A few notes:
- Be sure to include both flow of events and harm
done.
- Make sure the flow affects your main flow, not
your preconditions. You may violate a precondition in the process,
but this section is for demonstrating how you can abuse/misuse the
main flow.
- Update the header to label each one as either Abuse or
Misuse.
- (15 minutes) Write your other two use cases, and an
abuse or misuse case for each. Thus, your requirements document
should have at least one abuse case and at least one misuse case, and
three in total.
- (10 minutes) Now that you have defined multiple
different abuse and misuse cases, generalize those into security
requirements that are not specific to any particular use-case, but
are specific to your system. Document it this way:
- Add a list to the end of your requirements document that
defines these security requirements. Each security requirement
should have a self-documenting identifier, e.g. "Sec1"
- Add security requirement references to the step in the
primary flows (and alternative flows if you added any).
- (15-20 minutes) Be ready to discuss your use cases
with the rest of the class. We will spend about 3-5 minutes on each
team.
Submission & Grading
This activity is worth 10 points, and your grade is based on
in-class participation. Nothing is due beyond class today, as long as
you are participating and are reasonably close to completion. Your
instructor will check your GoogleDoc before the end of class.