Giter Site home page Giter Site logo

crond-jaist / cytrone Goto Github PK

View Code? Open in Web Editor NEW
81.0 7.0 15.0 411 KB

CyTrONE: Integrated Cybersecurity Training Framework

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

Python 94.34% Shell 5.66%
cybersecurity training cyber-range learning-management-system integrated

cytrone's Introduction

CyTrONE: Integrated Cybersecurity Training Framework

CyTrONE is a cybersecurity training framework that simplifies the training setup process through an approach that integrates training content and training environment management. CyTrONE is being developed by the Cyber Range Organization and Design (CROND) NEC-endowed chair at the Japan Advanced Institute of Science and Technology (JAIST) in Ishikawa, Japan.

An overview of CyTrONE is provided below, illustrating the overall workflow, as well as the interaction with several external modules also developed by CROND. Thus, based on input from an instructor and information retrieved from a training database, CyTrONE uploads the training content to a Learning Management System (LMS) via the helper tool called CyLMS, and creates the associated training environment via the cyber range instantiation system CyRIS; a third module, named CyPROM, can be used to manage the scenario progression in order to include dynamic elements in the training activity, such as real-time attacks, etc. As for the trainees, they can access the LMS to consult the training content, connect to the cyber range to conduct the necessary investigation, and provide answers also via the LMS.

CyTrONE Overview

While the CyTrONE distribution already includes some sample training content to get you started, we also released independently more training content via the CROND web page. This additional content comprises a set of CTF (Capture The Flag) style questions, as well as a set of questions inspired by the NIST Technical Guide to Information Security Testing and Assessment.

We have prepared install scripts that can be used to set up the entire CyTrONE framework, including CyRIS, CyLMS, CyPROM and the Moodle VM, on a single host. Due to specific differences, separate versions of the script are available for the Ubuntu 16.04 LTS and Ubuntu 18.04 LTS host operating systems. Alternatively, please refer to the next information on the prerequisites for running CyTrONE, and on how to set up and use the framework. More details about CyTrONE are available in the user guide published on the releases page that also includes the latest stable version of the software.

Prerequisites

If manual setup is prefered, such as in the case of employing multiple cyber range hosts, the following steps must be carried out before using CyTrONE:

  • Install the Moodle LMS on the host used as training content server by referring to the relevant documentation for details: https://moodle.org/
  • Install the CyLMS cybersecurity training support tools for LMS on the same host where Moodle is installed by referring to the CyLMS User Guide: https://github.com/crond-jaist/cylms/
  • Install the CyRIS cyber range instantiation system on the hosts used for cyber range creation by referring to the CyRIS User Guide: https://github.com/crond-jaist/cyris/

The following optional components can also be installed:

Setup

To set up CyTrONE manually, follow the steps below:

  1. Download the archive of the latest stable version of the CyTrONE source code from the releases page
  2. Extract the CyTrONE archive on the host used to manage the training and to run Moodle; the archive includes the following sub-directories:
    • code/: Framework source code written in Python
    • database/: Sample training content for CyTrONE
    • moodle/: Sample configuration file for CyLMS/Moodle
    • scripts/: Helper scripts for managing and using CyTrONE
  3. Create a configuration file for the helper scripts used to manage CyTrONE according to your actual setup; for this purpose, use the file scripts/CONFIG.dist as template

Note that the following software is required to run CyTrONE (some of these requirements are shared with CyLMS and CyRIS):

  • Python: Programming language (currently using v2.7)
  • PyYAML: Library for handling YAML files
  • PassLib: Library for handling passwords

Quick Start

Assuming that the entire CyTrONE framework was set up, either via the install scripts mentioned above or manually, following are the basic steps necessary to use it:

  1. Start the execution of the CyTrONE framework.

    $ ./start_cytrone.sh

  2. Create a new training session by running the command below and selecting one of the pre-configured menu choices displayed (these choices can be customized by modifying the script itself). Alternatively, the web-based UI can be used for this purpose.

    $ ./create_training.sh

  3. Information about how to access the created cyber range will be displayed; verify that the cyber range is accessible and that training content is displayed in the Moodle LMS. The helper script get_notification.sh can also be used to retrieve this information at any time. Trainees must be provided with the details regarding the instance allocated to each of them before each training.

  4. End the created training session (assuming the session id is 1). Again, the web-based UI can also be used for this purpose.

    $ ./end_training.sh 1

  5. Stop the execution of the CyTrONE framework when all the training sessions were completed.

    $ ./stop_cytrone.sh

References

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

  • R. Beuran, D. Tang, C. Pham, K. Chinen, Y. Tan, Y. Shinoda, "Integrated Framework for Hands-on Cybersecurity Training: CyTrONE", Elsevier Computers & Security, vol. 78C, June 2018, pp. 43-59.

For a list of contributors to this project, please check the file CONTRIBUTORS included with the source code.

cytrone's People

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cytrone's Issues

Password for moddle VM

[email protected]: Permission denied (publickey,password).
[email protected] (Moodle VM) password can be found in user guide.
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 3 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:

What is the password ???

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.