Bedrohungsmodellierung und Vertrauensgrenzen
Problem
Ein Kunde ändert eine Bestellnummer in einer Anfrage und sieht die Lieferadresse einer anderen Person. Die Authentifizierung funktionierte, aber die Anwendung vertraute einer Anfrage, die sie hätte überprüfen sollen.
Lösung — Bedrohungsmodellierung
Zunächst wird beschrieben, was geschützt werden soll und wie Informationen durch das System fließen. Ein Asset ist etwas Wertvolles, etwa Kundendaten. Eine Bedrohung ist ein möglicher Schaden, etwa unbefugte Offenlegung. Eine Schwachstelle ermöglicht ihn, etwa eine fehlende Prüfung der Zugriffsberechtigung auf eine Bestellung. Risiko berücksichtigt Wahrscheinlichkeit und Ausmaß des Schadens.
Eine Vertrauensgrenze trennt Bereiche mit unterschiedlichen Vertrauensannahmen oder -privilegien. Ein Browser, der eine Anfrage an Ihren Server sendet, kreuzt eine. Durch die Anmeldung wird nicht jeder von diesem Browser gesendete Wert vertrauenswürdig.
Fragen Sie für jede Grenze, was schief gehen könnte und welche Prüfungen dort hingehören. Der Server muss überprüfen, ob dieser Kunde auf diesen Auftrag zugreifen kann.
Ändern sich Datenflüsse, Funktionen oder Abhängigkeiten, wird das Modell erneut geprüft.
Kerngedanke: Bedrohungsmodellierung verbindet wertvolle Assets, mögliche Schäden und Systemschwächen, so dass Schutzmaßnahmen spezifische Risiken adressieren.