Bei der Bedrohungsmodellierung handelt es sich um eine Methode, mit der mögliche Schwachstellen in der Architektur einer Anwendung im Voraus erkannt werden können. Dazu gehört das Erstellen eines Diagramms für eine Anwendung, die Identifizierung von Sicherheitslücken und die Behebung dieser Schwachstellen.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Penetrationstest
Was sind die OWASP Top 10?
Bedrohungen aufspüren
Bedrohungsdaten
Sicherheit von Webanwendungen?
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Die Bedrohungsmodellierung ist eine Übung zum Auffinden von Sicherheitslücken in einer Anwendung und ihrer Umgebung. Dabei wird ein Abbild einer Anwendung mit all ihren Komponenten erstellt, um dann die Schwachstellen zu ermitteln. Im Idealfall verwenden Entwickler und Sicherheitsingenieure die Bedrohungsmodellierung während des gesamten Softwareentwicklungsprozesses - bevor eine Anwendung in Betrieb genommen wird und nicht erst danach. Eine Bedrohungsmodellierung kann dazu beitragen, eine Anwendung wesentlich sicherer zu machen, als sie es sonst wäre, aber man sollte nicht erwarten, dass sie eine Anwendung unangreifbar macht.
In Raubfilmen untersuchen die Hauptfiguren oft Blaupausen des Gebäudes, das sie ausrauben wollen, um Schwachstellen herauszufinden - wo das Gebäude betreten werden kann, welche Winkel die Sicherheitskameras nicht sehen können usw. In ähnlicher Weise ist die Modellierung von Bedrohungen eine Untersuchung der "Blaupausen der jeweiligen Anwendung." Der Unterschied besteht darin, dass die Bedrohungsmodellierung von Personen durchgeführt wird, die die Sicherheit der Anwendung gewährleisten möchten, und nicht von den potenziellen Räubern.
Bei der Bedrohungsmodellierung müssen die Teams ein vollständiges Bild der Anwendung erstellen. Dann muss man wie jemand denken, der die Anwendung gefährden will. Was würde ein Angreifer tun? Würden sie vielleicht die schwache API-Sicherheit ausnutzen? Würden sie einen Angriff auf die Lieferkette nutzen, um eine integrierte Systembibliothek zu infizieren? Auch wenn nicht alle Angriffe vorhersehbar sind, hilft die Bedrohungsmodellierung, einige von ihnen zu stoppen, bevor sie geschehen.
Es gibt viele mögliche Ansätze zur Bedrohungsmodellierung, und keine Methode kann auf jede Situation angewendet werden. In der Regel handelt es sich jedoch um diese vier Hauptschritte:
Modellierer von Bedrohungen versuchen, diese zu identifizieren und darzustellen:
Wenn Terry eine einfache Anwendung schreibt, die Bilder von Luftballons anzeigt, könnte sein Diagramm der Anwendung wie folgt aussehen:
Beachten Sie, dass es sich hierbei um ein stark vereinfachtes Beispiel handelt und dass ein reales Anwendungsdiagramm zur Bedrohungsmodellierung wesentlich komplexer sein könnte.
Wenn man eine Anwendung auf diese Weise sieht, kann man leichter Fehler erkennen. Terry könnte zum Beispiel feststellen, dass die Kommunikation zwischen seiner Datenbank mit Ballonfotos und seinem Webserver nicht Transport Layer Security (TLS)verwendet. Dies bedeutet, dass keiner der beiden Server die Identität des anderen mit Hilfe digitaler Signaturen überprüft, was es einem Angreifer ermöglicht, sich als Datenbankserver auszugeben und bösartige Inhalte an den Webserver zu senden.
Da die Bedrohungsmodellierung während des gesamten Entwicklungsprozesses stattfindet, kann die Behebung von Schwachstellen bedeuten, dass entweder der Plan für die Architektur einer Anwendung geändert oder ein Fix für einen laufenden Build der Anwendung bereitgestellt wird.
Um die von ihm identifizierte Bedrohung zu entschärfen, kann Terry seinen Datenbankserver und seinen Webserver so umkonfigurieren, dass sie TLS für ihre Verbindung verwenden - oder besser noch, dass sie mutual TLS (mTLS) verwenden und sich gegenseitig verifizieren.
Zu diesem Zeitpunkt könnte Terry die Anwendung in einer Testumgebung ausführen und prüfen, ob 1) die Server TLS wie konfiguriert verwenden und 2) der Webserver HTTP-Verkehr von einem nicht verifizierten Server anstelle des Datenbankservers akzeptiert. Ähnliche Überprüfungen würde er auch für alle anderen von ihm angewandten Abhilfemaßnahmen durchführen.
Eine Methode zur Bedrohungsmodellierung ist ein Ansatz zur Ermittlung von Bedrohungen. Die Methoden strukturieren den Prozess der Bedrohungsmodellierung, der in einem komplexen System sonst überfordernd sein könnte. Unternehmen können aus einer Vielzahl von Methoden zur Bedrohungsmodellierung wählen oder sogar ihre eigenen entwickeln. Einige der gängigsten Methoden sind:
Es gibt noch mehrere andere Methoden der Bedrohungsmodellierung. Einige von ihnen, wie "Trike" und die verschiedenen Hybridmethoden, haben nicht einmal Akronyme.
Die Modellierung von Bedrohungen soll vor und während der Softwareentwicklung und während des gesamten Lebenszyklus einer Anwendung erfolgen. Wenn eine Anwendung ohne Bedrohungsmodellierung oder -minderung veröffentlicht wird, können Sicherheitslücken von Benutzern - oder Angreifern - entdeckt werden, bevor sie von Sicherheitsteams entdeckt werden. Dies kann zu einer Datenverletzung führen und stellt ein größeres Risiko für Zero-Day-Bedrohungendar.
Da die Bedrohungsmodellierung jedoch nicht alle Risiken innerhalb eines Systems aufdeckt, sollten Entwickler und Unternehmen diesen Prozess auch nach der Veröffentlichung fortsetzen. Neben der Erstellung von Bedrohungsmodellen können sie dies auch tun, indem sie:
Cloudflare bietet auch einen threat intelligence und einen Betriebsdienst, Cloudforce One, um Kunden vor den neuesten Bedrohungen zu schützen. Cloudforce One wird von einem erstklassigen Bedrohungsforschungsteam geleitet, das sehr erfahren darin ist, Angreifer auf globaler Ebene zu stören. Erfahren Sie mehr über Cloudforce One hier.