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:
Threat | Definition |
Spoofing | Impersonating something or someone else. |
Tampering | Modifying data or code |
Repudiation | Claiming to have not performed an action. |
Information Disclosure | Exposing information to someone not authorized to see it |
Denial of Service | Deny or degrade service to users |
Elevation of Priviledge | Gain 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:
Spoofing | Benutzer 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). |
Tampering | Unerwünschtes ändern von Daten oder Code ist ein Angriff auf die Integrität des Systems |
Repudiation | Ein System das Nachvollziehbarkeit benötigt kann darüber unverfälschte (Integrität) Aufzeichnung führen sie sich nicht unterdrücken (Availability) lassen. |
Information Disclosure | Ein Verstoss gegen die Vertraulichkeit |
Denial of Service | Ein Angriff auf die Verfügbarkeit des Systems |
Elevation of Priveledge | Angreifer 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).
Comments
Display comments as Linear | Threaded