GithubHelp home page GithubHelp logo

crond-jaist / cyprom Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 7.0 110 KB

CyPROM: Scenario Progression Management for Cybersecurity Training

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%
cybersecurity-training scenario-progression training-management

cyprom's Introduction

Important Notice

The CROND NEC-endowed chair at JAIST that has developed CyPROM originally ceased to exist in March 2021, and future development will be carried out by the Cybersecurity Lab at JAIST in the new repository CyPROM. The original CyPROM version will not be receiving any future updates, so please switch over to the new CyPROM version as soon as you are able to do so.

CyPROM: Scenario Progression Management for Cybersecurity Training

CyPROM is a scenario progression management system that was created with the goal of making possible advanced cybersecurity training activities that take place in dynamic environments in which all three training aspects can be put into practice, attack, forensics, and defense. CyPROM is being developed by the Cyber Range Organization and Design (CROND) NEC-endowed chair at the Japan Advanced Institute of Science and Technology (JAIST).

An overview of CyPROM is provided in the figure below. Based on training scenarios and target information provided by instructors, the management module of CyPROM will initiate a set of processes that drive the execution of those scenarios in the training environment. Each scenario driver uses a "Trigger-Action-Branching" mechanism that is executed independently for each participant, so that scenario progression takes place in accordance with their individual actions.

CyPROM Overview

Next we provide brief information on how to setup and use CyPROM. For details, including training scenario representation, please refer to the User Guide made available on the releases page.

Setup

CyPROM has been developed mainly on the Ubuntu 18.04 LTS operating system; other OSes may work, but have not been thoroughly tested. Although CyPROM can interface with cyber ranges created in other manners, we recommend its use together with the CyTrONE framework and its components, which you may want to install in advance.

In order to setup CyPROM it is enough to uncompress the archive containing the latest release into your directory of choice (for instance, your home directory) on the host on which you intend to use it. In case CyPROM is used together with CyRIS, we suggest using the same host for both of them. The only requirement is that CyPROM can access the cyber range environments that will be used during the training activity.

CyPROM is implemented in Python, and it requires several packages to run. We provide the list of requirements in a file that can be used to install the included packages via the following command from the cyprom/ directory:

$ sudo -H pip install -r requirements.txt

Although the default settings should work fine in most case, before using CyPROM for the first time, we suggest that you check the content of the configuration file config that is located in the top directory of the CyPROM installation.

Quick Start

In order to run CyPROM with the default settings, use the following command:

$ ./cyprom.py

This will execute a basic training scenario that emulates a sample training activity with two scenarios using only harmless test actions.

To get used to the training scenario representation syntax, we suggest examining the examples provided in the directory examples/, and also consulting the user guide. In particular, a cyber range must be created, and the target information file needs to be modified accordingly, in order to run an actual training activity.

References

For a research background regarding CyPROM, please refer to the following paper:

  • R.Beuran, T.Inoue, Y.Tan, Y.Shinoda, "Realistic Cybersecurity Training via Scenario Progression Management", IEEE European Symposium on Security and Privacy Workshops (EuroSPW 2019), Workshop on Cyber Range Applications and Technologies (CACOE’19), Stockholm, Sweden, June 20, 2019. (in press)

For a list of contributors to this project, see the file CONTRIBUTORS included in the distribution.

cyprom's People

Contributors

rzvnbr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

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.