Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CyberBattleSim — Eine Experimentier- und Forschungsplattform zur Untersuchung der Interaktion automatisierter Agenten in abstrakten simulierten Netzwerkumgebungen. | Kitploit
Tools/GitHubGitHub/microsoft/cyberbattlesim
Laterale BewegungPenetrationstestsMaschinelles LernenPapers & ForschungLernen & BildungRed Teaming
GitHubmicrosoft/cyberbattlesim

CyberBattleSim

Eine Experimentier- und Forschungsplattform zur Untersuchung der Interaktion automatisierter Agenten in abstrakten simulierten Netzwerkumgebungen.

Repository anzeigen
1.8k28521vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CyberBattleSim

  1. April 2021: Siehe die Ankündigung im Microsoft Security Blog.

CyberBattleSim ist eine experimentelle Forschungsplattform zur Untersuchung der Interaktion automatisierter Agenten, die in einer simulierten abstrakten Unternehmensnetzwerkumgebung agieren. Die Simulation bietet eine hochabstrakte Darstellung von Computernetzwerken und Cybersicherheitskonzepten. Ihre auf Python basierende OpenAI Gym-Schnittstelle ermöglicht das Training automatisierter Agenten mittels Reinforcement-Learning-Algorithmen.

Die Simulationsumgebung wird durch eine feste Netzwerktopologie und eine Reihe von Schwachstellen parametrisiert, die Agenten nutzen können, um sich lateral im Netzwerk zu bewegen. Das Ziel des Angreifers ist es, einen Teil des Netzwerks zu übernehmen, indem er Schwachstellen ausnutzt, die auf den Computerknoten platziert sind. Während der Angreifer versucht, sich im Netzwerk auszubreiten, überwacht ein Verteidiger-Agent die Netzwerkaktivität und versucht, einen Angriff zu erkennen und dessen Auswirkungen auf das System zu mildern, indem er den Angreifer entfernt. Wir stellen einen einfachen stochastischen Verteidiger bereit, der laufende Angriffe auf der Grundlage vordefinierter Erfolgswahrscheinlichkeiten erkennt und eindämmt. Die Eindämmung implementieren wir durch ein Neuabbilden der infizierten Knoten, ein Prozess, der abstrakt als eine über mehrere Simulationsschritte dauernde Operation modelliert wird.

Um die Leistung der Agenten zu vergleichen, betrachten wir zwei Metriken: die Anzahl der Simulationsschritte, die benötigt werden, um ihr Ziel zu erreichen, und die kumulativen Belohnungen über die Simulationsschritte hinweg über die Trainingsepochen.

Projektziele

Wir betrachten dieses Projekt als eine Experimentierplattform für die Forschung zur Interaktion automatisierter Agenten in abstrakten simulierten Netzwerkumgebungen. Durch die Veröffentlichung als Open-Source hoffen wir, die Forschungsgemeinschaft zu ermutigen, zu untersuchen, wie Cyber-Agenten in solchen Netzwerkumgebungen interagieren und sich weiterentwickeln.

Die von uns bereitgestellte Simulation ist zugegebenermaßen einfach, aber das hat Vorteile. Ihr hochgradig abstrakter Charakter verbietet eine direkte Anwendung auf reale Systeme und bietet so einen Schutz vor potenziellem Missbrauch automatisierter Agenten, die damit trainiert wurden. Gleichzeitig ermöglicht uns ihre Einfachheit, uns auf bestimmte Sicherheitsaspekte zu konzentrieren, die wir untersuchen möchten, und schnell mit modernen Algorithmen des maschinellen Lernens und der KI zu experimentieren.

Beispielsweise konzentriert sich die aktuelle Implementierung auf Lateral-Movement-Cyberangriffstechniken, in der Hoffnung zu verstehen, wie Netzwerktopologie und -konfiguration diese beeinflussen. Mit diesem Ziel vor Augen waren wir der Meinung, dass die Modellierung des tatsächlichen Netzwerkverkehrs nicht notwendig sei. Dies ist nur ein Beispiel für eine wesentliche Einschränkung unseres Systems, die zukünftige Beiträge möglicherweise angehen möchten.

Auf der algorithmischen Seite stellen wir einige grundlegende Agenten als Ausgangspunkt bereit, aber wir wären neugierig zu erfahren, wie sich hochmoderne Reinforcement-Learning-Algorithmen im Vergleich zu ihnen verhalten. Wir haben festgestellt, dass der große Aktionsraum, der jedem Computersystem eigen ist, eine besondere Herausforderung für Reinforcement Learning darstellt – im Gegensatz zu anderen Anwendungen wie Videospielen oder Robotersteuerung. Das Trainieren von Agenten, die Anmeldeinformationen speichern und abrufen können, ist eine weitere Herausforderung bei der Anwendung von RL-Techniken, bei denen Agenten typischerweise keinen internen Speicher haben. Dies sind weitere Forschungsbereiche, in denen die Simulation für Benchmarking-Zwecke verwendet werden könnte.

Weitere Interessensgebiete umfassen den verantwortungsvollen und ethischen Einsatz autonomer Cybersicherheitssysteme: Wie entwirft man ein Unternehmensnetzwerk, das Verteidigern einen intrinsischen Vorteil verschafft? Wie führt man sichere Forschung durch, die darauf abzielt, Unternehmen vor autonomen Cyberangriffen zu schützen, während der schädliche Einsatz solcher Technologie verhindert wird?

Dokumentation

Lesen Sie die Kurze Einführung in das Projekt.

Build-Status

TypBranchStatus
CImaster.github/workflows/ci.yml
Docker-Imagemaster.github/workflows/build-container.yml

Benchmark

Siehe Benchmark-Dokumentation. Jupyter-Notebooks mit den neuesten Läufen sind unter einem eigenen Tag unter /notebooks/benchmarks (latest_benchmark) eingecheckt.

Einrichten einer Entwicklungsumgebung

Es wird dringend empfohlen, in einer Linux-Umgebung zu arbeiten, entweder direkt oder über WSL unter Windows. Das direkte Ausführen von Python unter Windows sollte funktionieren, wird aber nicht mehr unterstützt.

Beginnen Sie damit, das Repository zu klonen:

git clone https://github.com/microsoft/CyberBattleSim.git

Betriebssystemkomponenten

Wenn beim Ausführen von Papermill auf den Notebooks (oder alternativ beim Ausführen von orca --help) der folgende Fehler auftritt:

/home/wiblum/miniconda3/envs/cybersim/lib/orca_app/orca: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

oder andere Shared Libraries wie libgdk_pixbuf-2.0.so.0, dann führen Sie den folgenden Befehl aus:

sudo apt install libnss3-dev libgtk-3-0 libxss1 libasound2-dev libgtk2.0-0 libgconf-2-4

Unter Linux oder WSL

Die Anweisungen wurden auf einer Linux-Ubuntu-Distribution getestet (sowohl nativ als auch über WSL).

Wenn Conda noch nicht installiert ist, müssen Sie es installieren, indem Sie das Skript install_conda.sh ausführen.

bash install-conda.sh

Sobald dies erledigt ist, öffnen Sie ein neues Terminal und führen Sie das Initialisierungsskript aus:

bash init.sh

Dadurch wird eine Conda-Umgebung mit dem Namen cybersim erstellt, die alle erforderlichen Betriebssystem- und Python-Abhängigkeiten enthält.

Um die Umgebung zu aktivieren, führen Sie aus:

conda activate cybersim

Windows-Subsystem für Linux

Die unterstützte Entwicklungsumgebung unter Windows ist über WSL. Sie müssen zuerst eine Ubuntu-WSL-Distribution auf Ihrem Windows-Rechner installieren und dann mit den Linux-Anweisungen (nächster Abschnitt) fortfahren.

Git-Authentifizierung von WSL aus

Um sich bei Git zu authentifizieren, können Sie entweder eine SSH-basierte Authentifizierung verwenden oder alternativ den Credential-Helper-Trick verwenden, um automatisch ein PAT-Token zu generieren. Letzteres kann durch Ausführen des folgenden Befehls unter WSL erfolgen (weitere Informationen hier):

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"

Docker auf WSL

Um Ihre Umgebung innerhalb eines Docker-Containers auszuführen, empfehlen wir, Docker über das Windows-Subsystem für Linux (WSL) gemäß den folgenden Anweisungen auszuführen: Installieren von Docker unter Windows über WSL).

Windows (nicht unterstützt)

Tool herunterladen