Application Threat Modeling: Was es ist und wie es funktioniert

Application Threat Modeling, oder Bedrohungsmodellierung, ist ein strukturierter Ansatz zur Analyse der Sicherheit einer Anwendung, bei dem die damit verbundenen Sicherheitsrisiken identifiziert, quantifiziert und angegangen werden.

Dieser Prozess hilft dabei, Sicherheit bereits in den frühen Phasen des Softwareentwicklungslebenszyklus zu integrieren.

Application Threat Modeling: Die Phasen

1. Dekomposition der Anwendung

Man beginnt mit dem Verständnis der Anwendung und ihrer Interaktionen mit externen Entitäten. Dies beinhaltet die Erstellung von Anwendungsfällen (Use Cases), um zu analysieren, wie die Anwendung genutzt wird, die Identifizierung von Einstiegspunkten (Entry Points), an denen ein potenzieller Angreifer interagieren könnte, sowie die Ermittlung von Assets, die für einen Angreifer von Interesse sein könnten. Zudem werden Vertrauensebenen identifiziert, die die Zugriffsrechte darstellen, welche externen Entitäten gewährt werden.

Diese Informationen werden dokumentiert und zur Erstellung von Datenflussdiagrammen (DFDs) verwendet, die die Datenpfade durch das System aufzeigen und Privilegengrenzen hervorheben.

2. Identifizierung und Klassifizierung von Bedrohungen

Sobald die Anwendung dekomponiert wurde, besteht der nächste Schritt darin, Bedrohungen zu bestimmen und zu klassifizieren. Dies geschieht unter Verwendung von Methoden wie STRIDE, die dabei helfen, Bedrohungen basierend auf den Zielen von Angreifern zu identifizieren, wie z. B. Spoofing, Datenmanipulation und Denial-of-Service. Die identifizierten Bedrohungen werden weiter analysiert, um ihre potenziellen Auswirkungen und die Leichtigkeit ihrer Ausnutzung zu verstehen, wodurch eine priorisierte Liste von zu entschärfenden Bedrohungen entsteht.

3. Bestimmung der Gegenmaßnahmen

Nach der Identifizierung der Bedrohungen ist es wichtig, Gegenmaßnahmen festzulegen, um die damit verbundenen Risiken zu mindern. Diese Gegenmaßnahmen können Sicherheitskontrollen, Änderungen am Anwendungsdesign oder die Entfernung von Funktionen mit zu hohen Risiken umfassen. In einigen Fällen kann es akzeptabel sein, das Risiko in Kauf zu nehmen, wenn die Gegenmaßnahmen zu kostspielig oder komplex in der Umsetzung sind, sofern das Risiko ordnungsgemäß dokumentiert und verwaltet wird.

Angreifer-zentrierter Ansatz

Die moderne Bedrohungsmodellierung nimmt die Perspektive eines Angreifers ein und versucht zu identifizieren, wie ein böswilliger Akteur die Schwachstellen des Systems ausnutzen könnte.

Dieser Perspektivwechsel hat die Bedrohungsmodellierung zu einem noch effektiveren Instrument zur Verbesserung der Anwendungssicherheit gemacht. Application Threat Modeling ermöglicht es, die Schritte von Angreifern vorherzusehen und die Verteidigung proaktiv zu stärken.

Integration in die Code-Überprüfung

Obwohl die Bedrohungsmodellierung keine spezifische Technik der Code-Überprüfung (Code Review) ist, ergänzt sie den Prozess, indem sie Kontext und Risikoanalysen liefert.

Die Ergebnisse der Bedrohungsmodellierung helfen dabei, die Code-Überprüfung gezielter durchzuführen, indem der Fokus auf die risikoreichsten Bereiche gelegt wird. Auf diese Weise werden kritische Schwachstellen identifiziert und behoben, bevor die Anwendung veröffentlicht wird.

🔙 Zurück zur Mini-Serie der ISGroup SRL zum Thema Code Review!

Leave a Reply

Your email address will not be published. Required fields are marked *