Code Monkey home page Code Monkey logo

limmen / csle Goto Github PK

View Code? Open in Web Editor NEW
112.0 6.0 21.0 131.04 MB

A research platform to develop automated security policies using quantitative methods, e.g., optimal control, computational game theory, reinforcement learning, optimization, evolutionary methods, and causal inference.

Home Page: http://limmen.dev/csle/

License: Other

Makefile 0.45% Shell 0.40% Dockerfile 0.56% Python 87.02% HTML 0.02% CSS 0.14% JavaScript 10.20% C 0.01% PHP 1.13% Prolog 0.02% Batchfile 0.07%
reinforcement-learning cybersecurity markov-games markov-decision-processes deep-learning game-theory self-learning

csle's Introduction

Paper github Docker pulls PyPi downloads

The Cyber Security Learning Environment (CSLE)

CSLE is a platform for evaluating and developing reinforcement learning agents for control problems in cyber security. It can be considered as a cyber range specifically designed for reinforcement learning agents. Everything from network emulation, to simulation and implementation of network commands have been co-designed to provide an environment where it is possible to train and evaluate reinforcement learning agents on practical problems in cyber security. The platform can also be used to combine reinforcement learning with other quantitative methods, e.g., dynamic programming, computational game theory, evolutionary methods, causal inference, and general optimization.

Main Features

๐Ÿ–ฅ๏ธ Emulation System

CLSE includes a system for emulating large scale IT infrastructures, cyber attacks, and client populations. It is based on Linux containers and can be used to collect traces and to evaluate security policies.

Note The emulation system is mainly designed to run on a distributed system, e.g., a compute cluster. It can run on a laptop as well, but then only small emulations can be created.

๐Ÿ’ญ Simulation System

CSLE includes a simulation system for executing reinforcement learning algorithms and simulating Markov decision processes and Markov games. It is built in Python and can be integrated with standard machine learning libraries.

Note The simulations are compatible with OpenAI Gym/Gymnasium. Hence you can integrate the simulations with your own implementations of reinforcement learning algorithms.

โš™๏ธ Management System

CSLE includes a system for managing emulations and simulations which can be accessed either through Command-Line Interface (CLI), through a REST API, through Python libraries, or through a web interface. The management system allows a) to start/stop emulations/simulations; b) real-time monitoring of emulation and simulation processes; and c), shell access to components of emulations.

๐ŸŽ“ Documentation

Documentation, installation instructions, and usage examples are available here. A PDF version of the documentation is available here. A video walkthrough of the installation process is available here.

๐Ÿ“‹ Supported Releases

Release Last date of support
v.0.6.0 2024-12-24
v.0.5.0 2024-06-02
v.0.4.0 2024-02-07
v.0.3.0 2024-01-17
v.0.2.0 2023-10-30
v.0.1.0 2023-06-06

Maintenance releases have a stable API and dependency tree, and receive bug fixes and critical improvements but not new features. We currently support each release for a window of 6 months.

๐Ÿ“ˆ Build Status

Workflow Status
csle-agents status
csle-attacker status
csle-collector status
csle-common status
csle-defender status
csle-ryu status
csle-base status
csle-system-identification status
gym-csle-stopping-game-build status
gym-csle-intrusion-response-game-build status
python-linter status
csle-tolerance-build status
gym-csle-apt-game-build status
gym-csle-cyborg-build status
csle-attack-profiler-build status
management-system status

Supported Platforms

Datasets

A dataset of 6400 intrusion traces can be found here.

Maintainer

Kim Hammar
Kim Hammar

๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Contribute

Contributions are very welcome. Please use GitHub issues and pull requests. See the documentation for further instructions.

List of Contributors ๐ŸŒŸ

Thanks go to these people!

Kim Hammar
Kim Hammar
Rolf Stadler
Rolf Stadler
Pontus Johnson
Pontus Johnson
Antonio Frederico Nesti Lopes
Antonio Frederico Nesti Lopes
Jakob Stymne
Jakob Stymne
Arvid Lagerqvist
Arvid Lagerqvist
Nils Forsgren
Nils Forsgren
Forough Shahab Samani
Forough Shahab Samani
Bength Roland Pappila
Bength Roland Pappila
Yu Hu
Yu Hu
Yan Wang
Yan Wang
Aws Jaber
Aws Jaber

๐Ÿ”– Copyright and license

Creative Commons (C) 2020-2024, Kim Hammar

See also


Made with โค ย  at ย  ย , ย  and ย 

csle's People

Contributors

arvid123 avatar awsnaser avatar foroughsh avatar kingxiaofire avatar limmen avatar nforsg avatar ppplbngth avatar yuhu-kth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

csle's Issues

Distributed deployment

Setup cluster configuration and deployment. One master node with metastore and management system. Several worker nodes.

Zeek

Add Zeek as a sensor to collect data

Kibana Proxy

Proxy the Kibana interface through the management interface for viewing logs.

ClamAV

Install ClamAv as a sensor to collect data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.