Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CyberBattleSim — Экспериментальная и исследовательская платформа для изучения взаимодействия автоматизированных агентов в абстрактных симулированных сетевых средах. | Kitploit
Инструменты/GitHubGitHub/microsoft/cyberbattlesim
Латеральное перемещениеТестирование на ПроникновениеМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеRed Teaming
GitHubmicrosoft/cyberbattlesim

CyberBattleSim

Экспериментальная и исследовательская платформа для изучения взаимодействия автоматизированных агентов в абстрактных симулированных сетевых средах.

Репозиторий
1.8k285211 месяц назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CyberBattleSim

8 апреля 2021 г.: См. объявление в блоге Microsoft Security.

CyberBattleSim — это экспериментальная исследовательская платформа для изучения взаимодействия автоматизированных агентов, работающих в смоделированной абстрактной корпоративной сетевой среде. Симуляция предоставляет высокоуровневую абстракцию компьютерных сетей и концепций кибербезопасности. Её интерфейс OpenAI Gym на Python позволяет обучать автоматизированных агентов с помощью алгоритмов обучения с подкреплением.

Среда симуляции параметризуется фиксированной топологией сети и набором уязвимостей, которые агенты могут использовать для латерального перемещения в сети. Цель атакующего — захватить контроль над частью сети, используя уязвимости, заложенные в компьютерных узлах. Пока атакующий пытается распространиться по сети, защитник наблюдает за сетевой активностью и пытается обнаружить любую атаку и смягчить её последствия, вытесняя атакующего. Мы предоставляем базового стохастического защитника, который обнаруживает и смягчает текущие атаки на основе заданных вероятностей успеха. Смягчение реализуется путем переустановки образов заражённых узлов — процесс, абстрактно моделируемый как операция, длящаяся несколько шагов симуляции.

Для сравнения производительности агентов мы рассматриваем две метрики: количество шагов симуляции, необходимых для достижения цели, и суммарное вознаграждение за шаги симуляции на протяжении эпох обучения.

Цели проекта

Мы рассматриваем этот проект как экспериментальную платформу для проведения исследований взаимодействия автоматизированных агентов в абстрактных смоделированных сетевых средах. Открывая его исходный код, мы надеемся побудить исследовательское сообщество изучать, как киберагенты взаимодействуют и эволюционируют в таких сетевых средах.

Предоставляемая симуляция, безусловно, упрощена, но у этого есть преимущества. Её высокоабстрактная природа исключает прямое применение к реальным системам, что служит защитой от потенциального злонамеренного использования обученных на ней автоматизированных агентов. В то же время её простота позволяет сосредоточиться на конкретных аспектах безопасности, которые мы хотим изучить, и быстро экспериментировать с новейшими алгоритмами машинного обучения и ИИ.

Например, текущая реализация сосредоточена на методах латерального перемещения в кибератаках, с надеждой на понимание того, как топология и конфигурация сети влияют на них. С этой целью мы решили, что моделирование реального сетевого трафика не требуется. Это лишь один пример существенного ограничения нашей системы, которое будущие участники, возможно, захотят устранить.

С алгоритмической стороны мы предоставляем несколько базовых агентов в качестве отправной точки, но нам было бы любопытно узнать, как современные алгоритмы обучения с подкреплением сравниваются с ними. Мы обнаружили, что большое пространство действий, присущее любой компьютерной системе, представляет собой особую проблему для обучения с подкреплением, в отличие от других применений, таких как видеоигры или управление роботами. Обучение агентов, способных хранить и извлекать учётные данные, — ещё одна задача, возникающая при применении методов RL, где агенты обычно не обладают внутренней памятью. Это ещё одни области исследований, где симуляцию можно использовать для целей сравнения.

Другие области интереса включают ответственное и этичное использование автономных систем кибербезопасности: как спроектировать корпоративную сеть, дающую защитным агентам внутреннее преимущество? Как проводить безопасные исследования, направленные на защиту предприятий от автономных кибератак, предотвращая при этом злонамеренное использование такой технологии?

Документация

Прочитайте Краткое введение в проект.

Статус сборки

ТипВеткаСтатус
CImaster.github/workflows/ci.yml
Образ Dockermaster.github/workflows/build-container.yml

Бенчмарк

См. Документацию по бенчмарку. Jupyter-ноутбуки с последними запусками хранятся под специальным тегом по адресу /notebooks/benchmarks (latest_benchmark).

Настройка среды разработки

Настоятельно рекомендуется работать в среде Linux, либо напрямую, либо через WSL на Windows. Запуск Python на Windows напрямую должен работать, но больше не поддерживается.

Начните с клонирования репозитория:

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

Компоненты ОС

Если при запуске papermill на ноутбуках (или при выполнении 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

или другие разделяемые библиотеки, такие как libgdk_pixbuf-2.0.so.0, выполните следующую команду:

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

В Linux или WSL

Инструкции были протестированы на дистрибутиве Linux Ubuntu (как нативно, так и через WSL).

Если conda ещё не установлена, необходимо установить её, запустив скрипт install_conda.sh.

bash install-conda.sh

После этого откройте новый терминал и выполните скрипт инициализации:

bash init.sh

Это создаст окружение conda с именем cybersim со всеми необходимыми зависимостями ОС и Python.

Для активации окружения выполните:

conda activate cybersim

Подсистема Windows для Linux (WSL)

Поддерживаемая среда разработки на Windows — через WSL. Сначала необходимо установить дистрибутив Ubuntu WSL на вашу машину с Windows, а затем следовать инструкциям для Linux (следующий раздел).

Аутентификация Git из WSL

Для аутентификации в Git вы можете использовать аутентификацию на основе SSH или, альтернативно, трюк с credential-helper для автоматической генерации PAT-токена. Последнее можно сделать, выполнив следующую команду в WSL (подробнее здесь):

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

Docker в WSL

Для запуска вашего окружения в контейнере Docker мы рекомендуем запускать docker через подсистему Windows для Linux (WSL), следуя этим инструкциям: Установка Docker в Windows через WSL).

Windows (не поддерживается)

Этот метод больше не поддерживается, вместо этого предпочтительнее работать в среде Linux через подсистему WSL. Но если вы настаиваете, начните с установки Python 3.10, а затем в командной строке PowerShell выполните скрипт ./init.ps1.

Быстрый старт с использованием Docker

Самый быстрый способ начать работу — через контейнер Docker.

ПРИМЕЧАНИЕ: По лицензионным причинам мы не публикуем публично никакие артефакты сборки. В частности, реестр Docker spinshot.azurecr.io, упоминаемый в командах ниже, остаётся закрытым для только для сопровождающих проекта.

В качестве обходного пути вы можете воссоздать образ Docker самостоятельно, используя предоставленный Dockerfile, опубликовать полученный образ в своём собственном реестре Docker и заменить имя реестра в командах ниже.

Запуск из реестра Docker

Скачать инструмент