Wenn Sie ein Threat Modeling (Bedrohungsmodellierung) während einer Code-Überprüfung durchführen, ist es wichtig, einem strukturierten Prozess zu folgen. Das Ziel ist es, die mit einer Anwendung verbundenen Sicherheitsrisiken zu identifizieren, zu bewerten und zu reduzieren.
Dieser Prozess kann in drei Hauptphasen unterteilt werden:
1. Dekomposition der Anwendung
Der erste Schritt besteht darin, die Anwendung und ihre Interaktionen mit externen Entitäten zu verstehen. Dies beinhaltet die Erstellung von Anwendungsfällen, um zu analysieren, wie die Anwendung genutzt wird, die Identifizierung von Einstiegspunkten, an denen ein potenzieller Angreifer mit der Anwendung interagieren könnte, die Ermittlung von Assets, die für einen Angreifer von Interesse sein könnten, sowie die Definition von Vertrauensebenen, die die Zugriffsrechte externer Entitäten darstellen. Diese Informationen werden in einem Bedrohungsmodell dokumentiert, das auch Datenflussdiagramme (DFDs) enthält, 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, die Bedrohungen zu bestimmen und zu klassifizieren. Dieser Prozess erfordert die Verwendung einer Methodik zur Kategorisierung von Bedrohungen, wie etwa das STRIDE-Modell. Dies hilft dabei, Bedrohungen systematisch basierend auf den Zielen von Angreifern zu identifizieren, wie z. B. Spoofing, Datenmanipulation, Denial-of-Service und so weiter. Jede identifizierte Bedrohung wird weiter analysiert, um ihr potenzielles Ausmaß und die Leichtigkeit ihrer Ausnutzung zu verstehen, was die Erstellung einer priorisierten Liste der zu entschärfenden Bedrohungen ermöglicht.
3. Gegenmaßnahmen und Risikominderung
Nach der Identifizierung der Bedrohungen ist es entscheidend, die Gegenmaßnahmen festzulegen, die zur Minderung der damit verbundenen Risiken implementiert werden sollen. Gegenmaßnahmen können Sicherheitskontrollen, Änderungen am Anwendungsdesign oder sogar die Entfernung von Funktionen umfassen, die zu hohe Risiken bergen. In einigen Fällen kann es akzeptabel sein, ein 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.
Das Threat Modeling ermöglicht es, die kritischsten Bedrohungen effektiv anzugehen, die Schwachstellen der Anwendung zu minimieren und ihre Sicherheit insgesamt zu verbessern.
🔙 Zurück zur Mini-Serie von ISGroup SRL zum Thema Code Review!
Leave a Reply