Skip to content

STRIDE vs. CIA

Microsoft hat mit Ihrem Security Development Lifecycle für eine deutliche Steigerung der Sicherheit Ihrer Produkte gesorgt. Zudem ist die Methodik offen zugänglich und verbessert somit die Software Entwicklung auch in anderen Firmen. Ein Konzept das bei der Analyse und Modellierung von Risiken und Bedrohungen im Ramen von SDL eingesetzt wird ist die STRIDE-Klassifizierung von Bedrohungen:
ThreatDefinition
SpoofingImpersonating something or someone else.
TamperingModifying data or code
RepudiationClaiming to have not performed an action.
Information DisclosureExposing information to someone not authorized to see it
Denial of ServiceDeny or degrade service to users
Elevation of PriviledgeGain capabilities without proper authorization
Diese Klassifizierung finde ich nicht sonderlich nützlich. Die Klassen der Bedrohungen überlappen sich. Es ist eine Mischung aus Angriffen auf primäre und sekundäre Schutzziele. Viel besser finde ich es daher, bei der Betrachtung von Bedrohungen deren Auswirkungen auf die Primären Schutzziele der Informationssicherheit (CIA) zu betrachten:
Confidentiality (Vertraulichkeit)
Integrity (Integrität)
Availability (Verfügbarkeit)
Wenn alle drei Schutzziele erfüllt sind so stellt ein Informationssystem sicher, dass die richtige Person unverfälschte Daten jederzeit nutzen kann. Das CIA Trippel steht auch in der Kritik nicht alle Fälle abzudecken, so wird z.B. immer wieder angeführt dass Zurechnungsfähigkeit oder Nicht-Abstreitbarkeit (Accountability, Non-Repudiation) damit nicht abgedeckt werden. Das sehe ich allerdings nicht so, denn wenn eine Anforderung an ein IT System ist, dass man nachvollziehen kann wer etwas gemacht hat, so werden dazu eigene Daten erfasst, und deren Integrität (kann nicht verändert werden) und Verfügbarkeit (kann nicht unterdrückt werden) stellen sicher, dass authorisierte Nutzer diese Daten einsehen können. Die STRIDE Eigenschaften lassen sich mit CIA gut ausdrücken:
SpoofingBenutzer die sich als andere Nutzer ausgeben können sind nur ein Problem wenn daraufhin Daten unerlaubterweise weitergegeben werden (Vetraulichkeit) oder wenn andere Benutzer sich auf die Urheberschaft von Informationen verlassen (Integrität).
TamperingUnerwünschtes ändern von Daten oder Code ist ein Angriff auf die Integrität des Systems
RepudiationEin System das Nachvollziehbarkeit benötigt kann darüber unverfälschte (Integrität) Aufzeichnung führen sie sich nicht unterdrücken (Availability) lassen.
Information DisclosureEin Verstoss gegen die Vertraulichkeit
Denial of ServiceEin Angriff auf die Verfügbarkeit des Systems
Elevation of PriveledgeAngreifer erlangt mehr Rechte als Ihm zustehen. Dies ist ein Problem wenn damit Angriff auf Integrität oder Vertraulichkeit erfolgt
Anhand der Gegenüberstellung wird klar, dass mit den 3 Schutzzielen die meisten Bedrohungen besser klassifizieren lassen. David LeBlanc, einer der Väter der STRIDE Methode gibt dies in einem Blogpost auch offen zu. Er sieht trotzdem einen Anwendungsfall für die Methode in der Praxis. Ich persönlich würde mir wünschen, wenn SDL hier angepasst wird. Nützlicher sind hier eher Checklisten mit typischen Bedrohungen (und deren Auswirkungen auf die Primären Schutzziele).