Empfehlungen für die Bedrohungsanalyse
Gilt für diese Empfehlung für die Sicherheit von Azure Well-Architected Framework:
SE:02 | Verwalten Sie einen sicheren Entwicklungslebenszyklus mithilfe einer gehärteten, meist automatisierten und auditierbaren Software-Lieferkette. Integrieren Sie ein sicheres Design, indem Sie die Bedrohungsmodellierung verwenden, um vor Implementierungen mit Sicherheitsbedrohungen zu schützen. |
---|
Verwandter Leitfaden: Empfehlungen zum Sichern eines Entwicklungslebenszyklus
Eine umfassende Analyse zur Identifizierung von Bedrohungen, Angriffen, Sicherheitsrisiken und Gegenmaßnahmen ist während der Entwurfsphase einer Workload von entscheidender Bedeutung. Die Bedrohungsmodellierung ist eine technische Übung, die das Definieren von Sicherheitsanforderungen, das Identifizieren und Verringern von Bedrohungen und die Überprüfung dieser Gegenmaßnahmen umfasst. Sie können diese Technik in jeder Phase der Anwendungsentwicklung oder -produktion verwenden, ist aber während der Entwurfsphasen neuer Funktionen am effektivsten.
In diesem Leitfaden werden die Empfehlungen für die Bedrohungsmodellierung beschrieben, damit Sie Sicherheitslücken schnell erkennen und Ihre Sicherheitsmaßnahmen entwerfen können.
Definitionen
Ausdruck | Definition |
---|---|
Lebenszyklus der Softwareentwicklung (SDLC) | Ein mehrstufiger, systematischer Prozess für die Entwicklung von Softwaresystemen. |
STRIDE | Eine von Microsoft definierte Taxonomie zum Kategorisieren von Bedrohungstypen. |
Threat Modeling | Ein Prozess zum Identifizieren potenzieller Sicherheitsrisiken in der Anwendung und im System, zum Verringern von Risiken und zur Überprüfung von Sicherheitskontrollen. |
Wichtige Entwurfsstrategien
Die Bedrohungsmodellierung ist ein wichtiger Prozess, den eine Organisation in ihr SDLC integrieren sollte. Die Bedrohungsmodellierung ist nicht nur eine Aufgabe des Entwicklers. Es ist eine gemeinsame Verantwortung zwischen:
- Das Workload-Team, das für die technischen Aspekte des Systems verantwortlich ist.
- Geschäftsbeteiligte, die die Geschäftsergebnisse verstehen und ein berechtigtes Interesse an Sicherheit haben.
Häufig besteht hinsichtlich der geschäftlichen Anforderungen für kritische Workloads eine Diskrepanz zwischen der Unternehmensführung und technischen Teams. Diese Trennung kann zu unerwünschten Ergebnissen führen, insbesondere für Sicherheitsinvestitionen.
Wenn das Workloadteam eine Übung zur Bedrohungsmodellierung durchführt, sollte es sowohl geschäftliche als auch technische Anforderungen berücksichtigen. Das Workloadteam und die Geschäftsbeteiligten müssen sich auf sicherheitsspezifische Anforderungen der Arbeitsauslastung einigen, damit sie angemessene Investitionen in die Gegenmaßnahmen vornehmen können.
Die Sicherheitsanforderungen dienen als Leitfaden für den gesamten Prozess der Bedrohungsmodellierung. Um es zu einer effektiven Übung zu machen, sollte das Workload-Team über eine Sicherheits-Denkweise verfügen und in Bedrohungsmodellierungstools geschult werden.
Verstehen des Umfangs der Übung
Ein klares Verständnis des Umfangs ist entscheidend für eine effektive Bedrohungsmodellierung. Sie hilft dabei, sich auf die wichtigsten Bereiche zu konzentrieren. Diese Strategie umfasst die Definition der Grenzen des Systems, die Erfassung der ressourcen, die geschützt werden müssen, und das Verständnis der Investition, die in Sicherheitskontrollen erforderlich ist.
Sammeln von Informationen zu den einzelnen Komponenten
Ein Workloadarchitekturdiagramm ist ein Ausgangspunkt zum Sammeln von Informationen, da es eine visuelle Darstellung des Systems bereitstellt. Das Diagramm hebt die technischen Dimensionen des Systems hervor. Es zeigt beispielsweise Benutzerflüsse, wie Daten durch das Netzwerk, Datenempfindlichkeitsebenen und Informationstypen und Identitätszugriffspfade verschoben werden.
Diese detaillierte Analyse kann häufig Einblicke in potenzielle Sicherheitsrisiken im Design liefern. Es ist wichtig, die Funktionalität jeder Komponente und deren Abhängigkeiten zu verstehen.
Bewerten der potenziellen Bedrohungen
Analysieren Sie jede Komponente aus einer Außenperspektive. Wie einfach kann beispielsweise ein Angreifer Zugriff auf vertrauliche Daten erhalten? Wenn Angreifer Zugriff auf die Umgebung erhalten, können sie lateral und potenziell auf andere Ressourcen zugreifen oder sogar manipulieren? Diese Fragen helfen Ihnen zu verstehen, wie ein Angreifer Arbeitsauslastungsressourcen ausnutzen kann.
Klassifizieren der Bedrohungen mithilfe einer Branchenmethodik
Eine Methode zum Klassifizieren von Bedrohungen ist STRIDE, die der Microsoft Security Development Lifecycle verwendet. Das Klassifizieren von Bedrohungen hilft Ihnen, die Art der einzelnen Bedrohungen zu verstehen und geeignete Sicherheitskontrollen zu verwenden.
Entschärfung der Bedrohungen
Dokumentieren Sie alle identifizierten Bedrohungen. Definieren Sie für jede Bedrohung Sicherheitskontrollen und die Reaktion auf einen Angriff, wenn diese Steuerelemente fehlschlagen. Definieren Sie einen Prozess und eine Zeitachse, die die Gefährdung von identifizierten Sicherheitsrisiken in der Arbeitsauslastung minimiert, sodass diese Sicherheitsrisiken nicht nicht behoben werden können.
Verwenden Sie den Ansatz für Sicherheitsverletzungen . Es kann helfen, Steuerelemente zu identifizieren, die im Entwurf erforderlich sind, um Risiken zu minimieren, wenn eine primäre Sicherheitssteuerung fehlschlägt. Bewerten Sie, wie wahrscheinlich es ist, dass die primäre Sicherheitskontrolle ausfällt. Wenn dies fehlschlägt, was ist das Ausmaß des potenziellen Organisationsrisikos? Was ist auch die Wirksamkeit der ausgleichenden Kontrolle? Wenden Sie basierend auf der Bewertung detaillierte Schutzmaßnahmen an, um potenzielle Fehler von Sicherheitskontrollen zu beheben.
Ein Beispiel:
Stellen Sie diese Frage | So bestimmen Sie Steuerelemente, die... |
---|---|
Werden Verbindungen über Microsoft Entra ID, Transport Layer Security (TLS) mit gegenseitiger Authentifizierung oder ein anderes modernes Sicherheitsprotokoll authentifiziert, das das Sicherheitsteam genehmigt hat: - Zwischen Benutzern und der Anwendung? - Zwischen Anwendungskomponenten und Diensten? |
Verhindern sie nicht autorisierten Zugriff auf die Anwendungskomponenten und -daten. |
Beschränken Sie den Zugriff nur auf Konten, die Daten in der Anwendung schreiben oder ändern müssen? | Verhindern der unbefugten Datenmanipulation oder -veränderung |
Wird die Anwendungsaktivität über Azure Monitor oder eine ähnliche Lösung in ein SIEM-System (Security Information and Event Management) protokolliert und in ein SIEM-System eingespeist? | Schnelles Erkennen und Untersuchen von Angriffen |
Sind kritische Daten mit Verschlüsselung geschützt, die das Sicherheitsteam genehmigt hat? | Verhindern des nicht autorisierten Kopierens ruhender Daten |
Werden eingehender und ausgehender Netzwerkdatenverkehr über TLS verschlüsselt? | Verhindern des nicht autorisierten Kopierens von Daten während der Übertragung |
Ist die Anwendung vor verteilten Denial-of-Service-Angriffen (DDoS) durch Dienste wie Azure DDoS Protection geschützt? | Erkennen von Angriffen, die die Anwendung überlasten und ihre Nutzung verhindern |
Speichert die Anwendung Anmeldeinformationen oder Schlüssel für den Zugriff auf andere Anwendungen, Datenbanken oder Dienste? | Feststellen, ob bei einem Angriff mit Ihrer Anwendung andere Systeme angegriffen werden können |
Erfüllen die Sicherheitskontrollen der Anwendung gesetzliche Anforderungen? | Schützen Sie die privaten Daten der Benutzer, und vermeiden Sie Compliance-Geldbußen. |
Nachverfolgen der Ergebnisse der Bedrohungsmodellierung
Es wird dringend empfohlen, ein Tool zur Bedrohungsmodellierung zu verwenden. Tools können den Prozess der Identifizierung von Bedrohungen automatisieren und einen umfassenden Bericht über alle identifizierten Bedrohungen erstellen. Achten Sie darauf, die Ergebnisse allen interessierten Teams mitzuteilen.
Verfolgen Sie die Ergebnisse im Backlog des Workloadteams, um die Rechenschaftspflicht zeitnah zu ermöglichen. Weisen Sie Personen Aufgaben zu, die für die Entminderung eines bestimmten Risikos verantwortlich sind, das von der Bedrohungsmodellierung identifiziert wurde.
Wenn Sie der Lösung neue Features hinzufügen, aktualisieren Sie das Bedrohungsmodell, und integrieren Sie es in den Codeverwaltungsprozess. Wenn Sie ein Sicherheitsproblem finden, stellen Sie sicher, dass es einen Prozess gibt, um das Problem basierend auf dem Schweregrad zu triagen. Der Prozess sollte Ihnen dabei helfen zu bestimmen, wann und wie das Problem behoben werden kann (z. B. im nächsten Releasezyklus oder in einer schnelleren Version).
Regelmäßiges Überprüfen der anforderungen für unternehmenskritische Arbeitsauslastungen
Treffen Sie regelmäßig mit Leitenden Sponsoren, um Anforderungen zu definieren. Diese Überprüfungen bieten die Möglichkeit, die Erwartungen auszurichten und die operative Ressourcenzuweisung an die Initiative zu gewährleisten.
Azure-Erleichterung
Der Microsoft Security Development Lifecycle bietet ein Tool zur Bedrohungsmodellierung zur Unterstützung des Bedrohungsmodellierungsprozesses. Dieses Tool steht ohne zusätzliche Kosten zur Verfügung. Weitere Informationen finden Sie auf der Seite "Bedrohungsmodellierung".
Beispiel
Dieses Beispiel baut auf der IT-Umgebung (Information Technology) auf, die in der Sicherheitsgrundlinie (SE:01) eingerichtet wurde. Dieser Ansatz bietet ein umfassendes Verständnis der Bedrohungslandschaft in verschiedenen IT-Szenarien.
Development Lifecycle-Personas. Es gibt viele Personas, die an einem Entwicklungslebenszyklus beteiligt sind, einschließlich Entwicklern, Testern, Endbenutzern und Administratoren. Alle davon können kompromittiert werden und Ihre Umgebung durch Sicherheitsrisiken oder absichtlich erstellte Bedrohungen gefährden.
Potenzielle Angreifer. Angreifer ziehen eine breite Palette von Tools in Betracht, die sie jederzeit verwenden können, um Ihre Schwachstellen zu untersuchen und einen Angriff zu starten.
Sicherheitskontrollen. Identifizieren Sie im Rahmen der Bedrohungsanalyse Azure-Sicherheitsdienste, die verwendet werden sollen, um Ihre Lösung zu schützen und wie effektiv diese Lösungen sind.
Protokollsammlung. Protokolle von Azure-Ressourcen und einigen lokalen Komponenten werden möglicherweise an Azure Log Analytics gesendet, sodass Sie das Verhalten Ihrer Lösung verstehen können, die entwickelt wurde, und versuchen, anfängliche Sicherheitsrisiken zu erfassen.
SIEM-Lösung (Security Information Event Management). Microsoft Sentinel kann sogar in einer frühen Phase der Lösung hinzugefügt werden, sodass Sie einige Analyseabfragen erstellen können, um Bedrohungen und Sicherheitsrisiken zu mindern und Ihre Sicherheitsumgebung zu antizipieren, wenn Sie sich in der Produktion befinden.
Microsoft Defender für Cloud macht möglicherweise einige Sicherheitsempfehlungen, um den Sicherheitsstatus zu verbessern.
Verwandte Links
Communitylinks
Unter Open Web Application Security Project (OWASP) ist ein Ansatz zur Bedrohungsmodellierung dokumentiert.
Checkliste für die Sicherheit
Lesen Sie den vollständigen Satz von Empfehlungen.