Analyse des Gefahrenmodells (Threat Model Analysis, TMA)

Eine Analyse des Bedrohungsmodells (Threat Model Analysis, TMA) ist eine Analyse, mit der die Sicherheitsrisiken ermittelt werden können, denen ein Produkt, eine Anwendung, ein Netzwerk oder eine Umgebung ausgesetzt ist. Es wird außerdem untersucht, wie sich Angriffe darstellen. Das Ziel besteht darin, zu ermitteln, welche Bedrohungen Sicherheitsrisiken darstellen und wie diese verringert werden können.

Dieser Abschnitt enthält Übersichtsinformationen zum TMA-Vorgang. Weitere Informationen finden Sie unter Kapitel 4 von Writing Secure Code, Zweite Ausgabe, von Michael Howard und David LeBlanc.

Zu den Vorteilen vom TMA gehören die folgenden Punkte:

  • Besseres Verständnis Ihrer Anwendung

  • Unterstützung bei der Fehlersuche

  • Unterstützt neue Teammitglieder beim Verstehen der Anwendung bis ins Detail

  • Enthält wichtige Informationen für andere Teams, die Ihre Anwendung als Grundlage verwenden

  • Sinnvoll für Tester

    Die folgenden abstrahierten Schritte sind zum Ausführen einer TMA erforderlich:

  • Schritt 1: Sammeln von Hintergrundinformationen

  • Schritt 2 Erstellen und Analysieren des Bedrohungsmodells

  • Schritt 3 Überprüfen von Bedrohungen

  • Schritt 4. Identifizieren von Entschärfungstechniken und -technologien

  • Schritt 5: Dokumentsicherheitsmodell und Bereitstellungsüberlegungen

  • Schritt 6: Implementieren und Testen von Entschärfungen

  • Schritt 7. Synchronisieren des Bedrohungsmodells mit dem Entwurf

Schritt 1. Sammeln von Hintergrundinformationen

Sie müssen einige Hintergrundinformationen erfassen, um eine erfolgreiche TMA vorzubereiten. Es ist sinnvoll, die Zielumgebung (eine Anwendung, ein Programm oder die gesamte Infrastruktur) wie folgt zu analysieren:

  • Identifizieren von Verwendungsfallszenarien. Ermitteln Sie für jedes Verwendungsfallszenario in Ihrer Zielumgebung, wie Ihr Unternehmen die Zielumgebung verwendet und ob Einschränkungen für sie gelten. Diese Informationen unterstützen Sie beim Definieren des Gültigkeitsbereichs der Gefahrenmodelldiskussion und beinhalten Hinweise auf Ressourcen (die Werte Ihres Unternehmens, z. B. Daten und Computer) und Eintrittspunkte.

  • Erstellen Sie ein Datenflussdiagramm (Data Flow Diagram, DFD) für jedes Szenario. Stellen Sie sicher, dass die Erfassungstiefe ausreicht, um Gefahren zu verstehen.

  • Ermitteln Sie die Grenzen und den Bereich der Zielumgebung.

  • Verstehen Sie die Grenzen zwischen vertrauenswürdigen und nicht vertrauenswürdigen Komponenten.

  • Verstehen Sie das Konfigurations- und Verwaltungsmodell jeder Komponente.

  • Erstellen Sie eine Liste externer Abhängigkeiten.

  • Erstellen Sie eine Liste der Annahmen zu anderen Komponenten, von denen jede Komponente abhängig ist. Dieser Vorgang unterstützt Sie bei der Überprüfung komponentenübergreifender Annahmen, Aktionen und Folgeaktionen mit anderen Teams.

Schritt 2 Erstellen und Analysieren des Bedrohungsmodells

Nachdem Sie die Hintergrundinformationen erfasst haben, sollten Sie mindestens eine Besprechung zum Thema Gefahrenmodell abhalten. Stellen Sie sicher, dass mindestens ein Mitglied jeder Entwicklungsdisziplin (z. B. Programmmanager, Entwickler und Tester) an dieser Besprechung teilnimmt. Stellen Sie sicher, dass Sie die Teilnehmer daran erinnern, dass das Ziel das Ermitteln von Gefahren und nicht deren Behebung ist. Gehen Sie während der Bedrohungsmodellbesprechung folgendermaßen vor:

  • Untersuchen Sie das Datenflussdiagramm für jeden Verwendungsfall. Ermitteln Sie für jeden Verwendungsfall die folgenden Angaben:

    • Einstiegspunkte

    • Vertrauensstellungsgrenzen

    • Datenfluss vom Eintrittspunkt zum endgültigen Zielspeicherort (Und zurück)

  • Notieren Sie sich die verwendeten Ressourcen.

  • Besprechen Sie jedes DFD, und suchen Sie nach Bedrohungen in den folgenden Kategorien für alle Einträge im DFD: Spoofing identify, Tampering with data, Repudiation, Information disclosure, Denial of service und Elevation of privileges.

  • Erstellen Sie eine Liste der identifizierten Gefahren. Es wird empfohlen, dass diese Liste Folgendes enthält: Titel, kurze Beschreibung (einschließlich Bedrohungsstrukturen), Asset (Asset), Auswirkungen, Risiko, Risiko, Risikominderungstechniken, Risikominderung status und eine Fehlernummer.

    Hinweis

    Sie können das Risiko, Risikominderungstechniken und den Risikominderungsstatus beim Überprüfen der Gefahren hinzufügen. Verwenden Sie während der Gefahrenmodellbesprechung nicht zu viel Zeit auf diese Aspekte.

Schritt 3 Überprüfen von Bedrohungen

Nachdem Sie die Gefahren für Ihre Umgebung identifiziert haben, müssen Sie das Risiko jeder Gefahr in einer Rangfolge bewerten und dann Ermitteln, wie Sie auf jede Gefahr reagieren wollen. Dies kann in weiteren Teambesprechungen oder mithilfe von E-Mail geschehen. Sie können die folgenden Effektkategorien verwenden, um die Risikoexposition zu berechnen: DAmagepotenzial, R-Herstellbarkeit, E-Loitierbarkeit, Ainfizierte Benutzer und DIscoverability.

Nachdem Sie eine nach Risiko priorisierte Liste der Gefahren für Ihre Zielumgebung erstellt haben, müssen Sie festlegen, wie Sie auf jede dieser Gefahren reagieren wollen. Ihre Reaktion kann aus den folgenden Aktionen bestehen: Ignorieren (selten eine gute Wahl), Warnen der Benutzer vor dem potenziellen Problem, Entfernen des Problems oder Beheben des Problems.

Schritt 4. Identifizieren von Entschärfungstechniken und -technologien

Nachdem Sie festgelegt haben, welche Gefahren behoben werden sollen, müssen Sie die verfügbaren Risikominderungstechniken für jede Gefahr und die geeignetste Technologie zum Verringern der Auswirkungen jeder Gefahr ermitteln.

Abhängig von den Details Ihrer Zielumgebung können Sie z. B. die Auswirkungen von Datenmanipulationen mithilfe Autorisierungstechniken verringern. In diesem Fall müssen Sie die geeignete zu verwendende Autorisierungstechnologie ermitteln (z. B. DACLs (Discretionary Access Control Lists), Berechtigungen oder IP-Einschränkungen).

Wichtig

Bei der Bewertung der zu verwendenden Risikominderungstechniken und -technologien müssen Sie berücksichtigen, was unter geschäftlichen Aspekten für Ihr Unternehmen sinnvoll ist, und die vorhandenen Richtlinien einbeziehen, die möglicherweise die Auswahl der Risikominderungstechnik beeinflussen.

Führen Sie die folgenden Schritte aus, nachdem Sie die TMA abgeschlossen haben:

  • Dokumentieren Sie das Sicherheitsmodell und die Bereitstellungserwägungen.

  • Implementieren und testen Sie die Risikominderungsvorgänge.

  • Synchronisieren Sie das Gefahrenmodell kontinuierlich mit dem Entwurf.

Schritt 5: Dokumentsicherheitsmodell und Bereitstellungsüberlegungen

Es ist sinnvoll, die während der Gefahrenanalyse erkannten Sachverhalte und die getroffenen Gegenmaßnahmen für Gefahren in Ihrer Zielumgebung zu dokumentieren. Diese Dokumentation kann für die Qualitätssicherung (Quality Assurance, QA) und für das Test-, Support- und Betriebspersonal hilfreich sein. Berücksichtigen Sie auch Informationen zu anderen Anwendungen, die mit Ihrer Zielumgebung interagieren oder eine Schnittstelle zu ihr besitzen, sowie die Firewall- und Topologieempfehlungen und -anforderungen.

Schritt 6: Implementieren und Testen von Entschärfungen

Wenn Ihr Team bereit ist, Gefahren zu beheben, die während der Gefahrenanalyse erkannt wurden, stellen Sie sicher, dass Entwicklungs- und Bereitstellungsprüflisten verwendet werden, damit Standards für sicheren Code und sichere Bereitstellung gewahrt bleiben, die das Auftreten neuer Gefahren so gering wie möglich halten.

Nachdem Sie eine Gefahrenminderung implementiert haben, müssen Sie diese testen, damit sichergestellt ist, dass die für die betreffende Gefahr erforderliche Schutzstufe erreicht wird.

Schritt 7. Synchronisieren des Bedrohungsmodells mit dem Entwurf

Wenn Sie der Umgebung neue Anwendungen, Server oder andere Elemente hinzufügen, stellen Sie sicher, dass Sie die Ergebnisse der Gefahrenmodellanalyse überprüfen und TMAs für alle neuen Funktionen ausführen.

Weitere Informationen

Sicherheitsfallstudien für kleine und mittelgroße Unternehmen
Beispielszenarios für die Gefahrenanalyse