Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/microsoft/cyberbattlesim
Mouvement LatéralTests d'IntrusionApprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationRed Teaming
GitHubmicrosoft/cyberbattlesim

CyberBattleSim

Une plateforme d'expérimentation et de recherche pour étudier l'interaction d'agents automatisés dans des environnements réseau simulés abstraits.

Voir le dépôt
1.8k28521il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CyberBattleSim

8 avril 2021 : Consultez l'annonce sur le blog de sécurité Microsoft.

CyberBattleSim est une plateforme de recherche expérimentale pour étudier l'interaction d'agents automatisés opérant dans un environnement réseau d'entreprise abstrait simulé. La simulation fournit une abstraction de haut niveau des réseaux informatiques et des concepts de cybersécurité. Son interface OpenAI Gym basée sur Python permet l'entraînement d'agents automatisés utilisant des algorithmes d'apprentissage par renforcement.

L'environnement de simulation est paramétré par une topologie de réseau fixe et un ensemble de vulnérabilités que les agents peuvent utiliser pour se déplacer latéralement dans le réseau. Le but de l'attaquant est de prendre possession d'une partie du réseau en exploitant des vulnérabilités implantées dans les nœuds informatiques. Pendant que l'attaquant tente de se propager dans le réseau, un agent défenseur surveille l'activité du réseau et tente de détecter toute attaque en cours et d'atténuer l'impact sur le système en expulsant l'attaquant. Nous fournissons un défenseur stochastique de base qui détecte et atténue les attaques en cours sur la base de probabilités de succès prédéfinies. Nous implémentons l'atténuation en ré-imagerie des nœuds infectés, un processus modélisé de manière abstraite comme une opération s'étendant sur plusieurs étapes de simulation.

Pour comparer les performances des agents, nous examinons deux métriques : le nombre d'étapes de simulation nécessaires pour atteindre leur objectif et les récompenses cumulées au fil des étapes de simulation à travers les époques d'entraînement.

Objectifs du projet

Nous considérons ce projet comme une plateforme d'expérimentation pour mener des recherches sur l'interaction d'agents automatisés dans des environnements réseau simulés abstraits. En le rendant open-source, nous espérons encourager la communauté de recherche à étudier comment les cyber-agents interagissent et évoluent dans de tels environnements réseau.

La simulation que nous fournissons est certes simpliste, mais cela présente des avantages. Sa nature hautement abstraite empêche une application directe aux systèmes réels, offrant ainsi une protection contre une éventuelle utilisation malveillante d'agents automatisés entraînés avec elle. En même temps, sa simplicité nous permet de nous concentrer sur des aspects de sécurité spécifiques que nous souhaitons étudier et d'expérimenter rapidement avec des algorithmes récents d'apprentissage automatique et d'IA.

Par exemple, l'implémentation actuelle se concentre sur les techniques de cyberattaques de mouvement latéral, dans l'espoir de comprendre comment la topologie et la configuration du réseau les affectent. Avec cet objectif en tête, nous avons estimé que la modélisation du trafic réseau réel n'était pas nécessaire. Ce n'est qu'un exemple de limitation significative de notre système que les futures contributions pourraient souhaiter aborder.

Côté algorithmique, nous fournissons quelques agents de base comme points de départ, mais nous serions curieux de savoir comment les algorithmes d'apprentissage par renforcement de pointe se comparent à eux. Nous avons constaté que le grand espace d'actions intrinsèque à tout système informatique constitue un défi particulier pour l'apprentissage par renforcement, contrairement à d'autres applications comme les jeux vidéo ou le contrôle de robots. L'entraînement d'agents capables de stocker et de récupérer des identifiants est un autre défi rencontré lors de l'application des techniques d'RL où les agents n'ont généralement pas de mémoire interne. Ce sont d'autres domaines de recherche pour lesquels la simulation pourrait être utilisée à des fins de benchmarking.

D'autres domaines d'intérêt incluent l'utilisation responsable et éthique des systèmes de cybersécurité autonomes : Comment concevoir un réseau d'entreprise qui donne un avantage intrinsèque aux agents défenseurs ? Comment mener des recherches sûres visant à défendre les entreprises contre les cyberattaques autonomes tout en empêchant l'utilisation malveillante d'une telle technologie ?

Documentation

Lisez la Introduction rapide au projet.

Statut de construction

TypeBrancheStatut
CImaster.github/workflows/ci.yml
Image Dockermaster.github/workflows/build-container.yml

Benchmark

Voir la Documentation du benchmark. Les notebooks Jupyter avec les dernières exécutions sont enregistrés sous une balise dédiée à /notebooks/benchmarks (latest_benchmark).

Configuration d'un environnement de développement

Il est fortement recommandé de travailler dans un environnement Linux, soit directement, soit via WSL sous Windows. L'exécution de Python directement sous Windows devrait fonctionner mais n'est plus prise en charge.

Commencez par cloner le dépôt :

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

Composants OS

Si vous obtenez l'erreur suivante lors de l'exécution de papermill sur les notebooks (ou alternativement lors de l'exécution de orca --help)

/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

ou d'autres bibliothèques partagées comme libgdk_pixbuf-2.0.so.0, Exécutez alors la commande suivante :

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

Sous Linux ou WSL

Les instructions ont été testées sur une distribution Linux Ubuntu (native et via WSL).

Si conda n'est pas déjà installé, vous devez l'installer en exécutant le script install_conda.sh.

bash install-conda.sh

Une fois cela fait, ouvrez un nouveau terminal et exécutez le script d'initialisation :

bash init.sh

Cela créera un environnement conda nommé cybersim avec toutes les dépendances OS et Python nécessaires.

Pour activer l'environnement, exécutez :

conda activate cybersim

Sous-système Windows pour Linux (WSL)

L'environnement de développement pris en charge sous Windows se fait via WSL. Vous devez d'abord installer une distribution WSL Ubuntu sur votre machine Windows, puis procéder aux instructions Linux (section suivante).

Authentification Git depuis WSL

Pour vous authentifier avec Git, vous pouvez soit utiliser l'authentification basée sur SSH, soit utiliser l'astuce du gestionnaire d'identifiants pour générer automatiquement un jeton PAT. Cette dernière peut être faite en exécutant la commande suivante sous WSL (plus d'infos ici) :

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

Docker sur WSL

Pour exécuter votre environnement dans un conteneur Docker, nous recommandons d'exécuter docker via le Sous-système Windows pour Linux (WSL) en suivant les instructions suivantes : Installation de Docker sur Windows sous WSL.

Windows (non pris en charge)

Télécharger l’outil