Next: 4.7 Ursachen-Folgen-Analyse
Up: 4. Software- und Systemsicherheit
Previous: 4.5 Beispiele für Sicherheitsprobleme
Grundsätzlich eignen sich als konkrete Techniken viele der Techniken
aus der Anforderungsbestimmung. Mit dieser Phase sollte die
Gefahrenidentifikation auch stets verknüpft werden.
Außerdem sind Brainstorming-Sitzungen anhand der obigen Liste sinnvoll.
Auf einer feineren Ebene der Analyse kann man Verkettungstechniken
(zeitorientiert) und Zerlegungstechniken (strukturorientiert)
unterscheiden:
- Bei der Vorwärtssuche bestimmt
man, ausgehend von einem
bestimmten Ereignis, die Einflüsse, die dieses und folgende
Ereignisse auf den Systemzustand haben. Die folgenden Ereignisse
müssen mit dem ersten nicht kausal verbunden sein; oft wird sogar
ausdrücklich die Unabhängigkeit angenommen.
Vorwärtssuche führt zu einer großen Zahl von Folgezuständen, von
denen die meisten ,,uninteressant`` (nämlich nicht mit einer Gefahr
verbunden) sind. Deshalb kann man sie meist nur für bestimmte, sehr
kleine Bereiche eines Systems benutzen.
Die wichtigste Anwendung besteht in der Untersuchung der Folgen von
vorhersehbarem Versagen: ,,Was geschieht, wenn dieses oder jenes
schiefgeht¿`.
- Die Rückwärtssuche, die andere Verkettungstechnik,
bestimmt hingegen ausgehend von einer
als gefährlich erkannten Situation die vorhergehenden Zustände, aus
denen sie erreicht werden könnte. ,,Was könnte zu einer solchen
Situation führen¿`. Sie ist insofern stärker gerichtet, kann aber
nur schwierig mehrfache Ursachen für Probleme aufdecken.
Rückwärtssuche ist die Grundlage der Fehlerbaumtechnik, die aus der
Softwaretechnik-Vorlesung bekannt ist.
- Eine Top-Down-Suche zerlegt ein Ereignis oder
einen Zustand in seine Teile gemäß der Systemstruktur und bestimmt
die Ursachen dort. Z.B. kann man so versuchen, alle Arten zu
bestimmen, auf die eine Datei gelöscht werden könnte.
Dies ist analog zur Rückwärtssuche.
- Bei der Bottom-Up-Suche hingegen bestimmt analog zur
Vorwärtssuche die Wirkungen
eines Ereignisses/Zustands in einer Komponente auf das
Gesamtsystem. Wegen Wechselwirkungen mit dem Zustand anderer
Komponenten ist es aber meist sehr schwierig, die Wirkungen bis auf
die Systemebene zu verfolgen.
- Häufig führt nur eine kombinierte Suche, die mehrere der
vorigen Methoden verbindet und von Schritt zu Schritt wechselt, mit
tragbarem Aufwand zum Erfolg. Zur richtigen Anwendung einer solchen
Strategie ist Gespür und Erfahrung nötig.
Next: 4.7 Ursachen-Folgen-Analyse
Up: 4. Software- und Systemsicherheit
Previous: 4.5 Beispiele für Sicherheitsprobleme
Lutz Prechelt
1999-04-13