
Ein Open-Source-Tool zur Bedrohungsmodellierung von OWASP
[
][build]
[
][latest]
[
][practices]
[OWASP][owasp] [Threat Dragon][project] ist eine kostenlose, quelloffene, plattformübergreifende Anwendung zur Bedrohungsmodellierung. Sie wird verwendet, um Bedrohungsmodellierungsdiagramme zu zeichnen und Bedrohungen für Elemente im Diagramm aufzulisten. Mike Goodwin hat Threat Dragon als quelloffenes Community-Projekt ins Leben gerufen, das eine intuitive und zugängliche Möglichkeit zur Modellierung von Bedrohungen bietet.
Threat Dragon ist darauf ausgelegt, für verschiedene Arten von Teams zugänglich zu sein, mit Schwerpunkt auf Flexibilität und Einfachheit. Das Projekt hat den [OWASP-Produktionsstatus][project] und folgt den Werten und Prinzipien des [Manifests für Bedrohungsmodellierung][manifesto].
Dieses Programm ist freie Software: Sie können es weitergeben und/oder verändern unter den Bedingungen der [Apache 2.0 Lizenz][license].
Greifen Sie auf die neueste Version von Threat Dragon auf [der Demo-Website][demo] zu und lesen Sie die [Dokumentationsseiten][docs].
Es lohnt sich außerdem, das Video anzusehen, das von der OWASP Spotlight-Reihe bereitgestellt wird.
Der [GitHub-Release-Bereich][releases] enthält Threat Dragon von Version 1.3 bis zu den neuesten Versionen 2.x. Frühere Releases stammen aus Mike Goodwins ursprünglichem Repository.
Es gibt einen guten Überblick über Bedrohungsmodellierung und Risikobewertung von OWASP, und dieser erläutert, worauf das Threat-Dragon-Projekt abzielt:
Mike Goodwin ist der Gründer und Schöpfer dieses Projekts, und dieses Repository wurde aus Mike Goodwins ursprünglichem Repository migriert, das die Issues und Pull Requests von Oktober 2015 bis Juni 2020 enthält.
Threat Dragon ist in erster Linie eine Webanwendung. Die Webanwendung kann Bedrohungsmodelldateien im lokalen Dateisystem speichern; zusätzlich kann der Zugriff konfiguriert werden für:
Die Desktop-Versionen von Threat Dragon speichern die Bedrohungsmodelldateien im lokalen Dateisystem und greifen nicht auf externe Repositories zu. Sie können Installer herunterladen für Windows, MacOS und Linux.
Endbenutzerhilfe ist sowohl für die neueste [Version 2.x][docs] als auch für die vorherige Version 1.x verfügbar.
Threat Dragon wurde ursprünglich mit AngularJS Version 1.x geschrieben, aber diese Version von Angular hat das Ende ihres Lebenszyklus erreicht. Das bedeutet, dass die Versionen 1.x von Threat Dragon nicht mehr aktiv gepflegt werden und die Versionen 2.x neu geschrieben wurden, um Vue.js zu verwenden.
Weitere Informationen zum Erstellen/Ausführen von Version 1.x finden Sie im legacy-v1.x-Branch.
Installiere git und [node.js][node], das den Node-Paketmanager npm enthält
Klone das Repository mit: git clone https://github.com/owasp/threat-dragon.git
Dadurch wird der Code in ein Verzeichnis threat-dragon heruntergeladen, und der Anwendungscode befindet sich in zwei Unterordnern,
einer für die Back-End-Anwendung (td.server) und einer für das Front-End (td.vue).
Installiere aus dem obersten Verzeichnis des Projekts mit: npm install
Die Webanwendungsvariante von Threat Dragon erfordert einige Umgebungsvariablen; folge [der Dokumentation][config], um zu erfahren, wie diese Variablen gesetzt werden.
Wenn Zugriff auf externe Repositories erforderlich ist, wie Bitbucket / GitHub / GitLab, dann musst du zu deinem Repository-Konto gehen und die Anwendung registrieren. Es gibt Schritt-für-Schritt-Anleitungen, wie dies für [Bitbucket][bitbucket], [GitHub][github] und [GitLab][gitlab] gemacht wird.
Beim Ausführen unter Windows und während der Entwicklung können das Front-End und das Server-Back-End
separat im "Watch"-Modus mit den Befehlen gestartet werden: npm run dev:server und npm run dev:vue.
Alternativ, wenn unter Linux oder MacOS ausgeführt, starte sowohl den Back-End-Server als auch die Front-End-Anwendung
aus dem obersten Verzeichnis mit: npm start.
Wenn sowohl Front-End als auch Back-End laufen, greife mit einem Browser unter http://localhost:8080/ darauf zu
Wenn du npm start verwendest, stoppe sowohl den Back-End-Server als auch die Front-End-Anwendung
aus dem obersten Verzeichnis mit dem Befehl npm stop. Andernfalls brich sowohl den Server als auch das Vue-Front-End ab.
Threat Dragon pflegt Docker-Images im Bereich der OWASP-Organisation auf Dockerhub.
Jede Version ist als v{major}.{minor}.{patch} gekennzeichnet, z. B. v2.2.0:
docker pull owasp/threat-dragon:v2.2.0Das Latest-Tag (welches das Standard-Tag ist) kann durchaus eine Entwicklungsversion sein,
verwende daher das stable-Tag, welches immer die neueste offizielle Version ist:
docker pull threatdragon/owasp-threat-dragon:stabledocker run -it --rm -p 8080:3000 -v $(pwd)/.env:/app/.env threatdragon/owasp-threat-dragon:v2.2.0docker run -it --rm -p 8080:3000 -v %CD%/.env:/app/.env threatdragon/owasp-threat-dragon:v2.2.0Angenommen, du verwendest den HTTP-Port 8080 und greifst auf Threat Dragon unter http://localhost:8080/ zu.
Um Threat Dragon in einem Docker-Container auszuführen, der lokal gebaut wurde, konfiguriere zuerst deine [Umgebung mit dotenv][config] und führe aus dem obersten Verzeichnis des Projekts aus:
docker build -t owasp-threat-dragon:dev .docker run -it --rm -p 8080:3000 -v $(pwd)/.env:/app/.env owasp-threat-dragon:devdocker run -it --rm -p 8080:3000 -v %CD%/.env:/app/.env owasp-threat-dragon:devVerwende den HTTP-Port 8080 und greife auf Threat Dragon unter http://localhost:8080/ zu.
[][contributors]
Pull Requests, Feature-Anfragen, Fehlerberichte und Feedback jeder Art sind sehr willkommen, bitte beachte die Seite für Mitwirkende.