Misuse Case. Gefahren für das System ermitteln.
Was ist ein Misuse Case? Welche Vorteile bieten Misuse Cases und wie werden sie erstellt?
Misuse Cases sind “umgedrehte” Use Cases, mit denen Sie Funktionen erfassen, die ein System nicht zulassen sollte. Dadurch finden Sie Sicherheitsanforderungen, die die Qualität des Systems erhöhen.
Ein Misuse Case kann einen Use Case gefährden (attack). Andersherum ist ein Anwendungsfall im Stande, Misuse Cases abzuschwächen bzw. zu verhindern (prevent). Daher gibt es zwei neue Beziehungsarten im Use Case-Diagramm.
Ein Misuse Case ist immer mit einem MisActor verbunden: Eine Person, die bewusst oder unbewusst Schaden am System verursacht.
Was muss die Software können? Welche Funktionen soll sie bereitstellen? Typische Fragen, die Sie im Requirements Engineering zu klären versuchen. Sie erstellen dafür Anwendungsfälle und nutzen in der Regel Use Case-Diagramme zur Visualisierung. Das funktioniert gut mit funktionalen Anforderungen. Wie gehen Sie aber mit Zielen und Wünschen der Stakeholder um, die nicht dazu gehören? “Das System muss absolut sicher sein!” hören Sie zum Beispiel Ihren Kunden sagen. Gut, denken Sie. Er stellt eine Sicherheitsanforderung, die die Qualität des Systems erhöhen soll. Aber die ist ziemlich breit gefasst und schwer nachprüfbar. Können Sie daraus einen Use Case formulieren? Leider lautet die Antwort dafür: Nein, Anwendungsfälle eignen sich nur für funktionale Anforderungen – also Beschreibungen implementierbarer Funktionalitäten. Um auch Qualitätsanforderungen (nicht-funktionale Anforderungen) ableiten zu können, müssen Sie genau anders herum denken: Was soll das System NICHT können? Oder in diesem Fall: Was darf das System nicht zulassen, damit es sicher ist? Und dann kommen die sogenannten Misuse Cases ins Spiel.