Skip to content

Commit

Permalink
Revised README.md in view of the v1.2 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Razvan committed Dec 28, 2020
1 parent 96b414b commit 0b1892e
Showing 1 changed file with 41 additions and 40 deletions.
81 changes: 41 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,34 @@
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)
developed by the Cyber Range Organization and Design
([CROND](https://www.jaist.ac.jp/misc/crond/index-en.html))
NEC-endowed chair at the Japan Advanced Institute of Science and
Technology (JAIST).
Technology ([JAIST](https://www.jaist.ac.jp/english/)) in Ishikawa,
Japan.

An overview of CyTrONE is provided below, illustrating the overall
workflow, as well as the interaction with several external modules
that are 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 also 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 the answers via the LMS.
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](https://github.com/crond-jaist/cytrone/blob/master/cytrone_overview.png)

While the CyTrONE distribution already includes some sample training
content to get you started, we are also releasing independently more
content to get you started, we also released independently more
training content via the [CROND web
page](https://www.jaist.ac.jp/misc/crond/achievements-en.html). 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".
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,
Expand All @@ -42,15 +43,16 @@ LTS](https://gist.github.com/crond-jaist/592e5d3f92aaf4cf4e53b341a9d6d3cc)
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
in the user guide published on the
[releases](https://github.com/crond-jaist/cytrone/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
hosts, the following steps must be carried out _before_ using CyTrONE:
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/
Expand All @@ -61,13 +63,12 @@ hosts, the following steps must be carried out _before_ using CyTrONE:
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 (note that
they are not yet included in the install script mentioned above):
The following optional components can also be installed:
* Install the **CyPROM** scenario progression management module, also
on the hosts used for cyber range creation, by referring to the
CyPROM User Guide: https://github.com/crond-jaist/cyprom/
* Install the **Web-based UI** for CyTrONE by referring to the
corresponding User Guide:
corresponding user guide:
https://github.com/crond-jaist/cytrone-ui-web/


Expand All @@ -77,56 +78,56 @@ 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](https://github.com/crond-jaist/cytrone/releases) page
2. Extract the CyTrONE archive to the hosts to manage the training and
to run Moodle; the archive includes the following sub-directories:
* 'code/': Framework source code written in Python
* 'scripts/': Helper scripts for managing and using CyTrONE
* 'database/': Sample training content for CyTrONE
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
provided file 'scripts/CONFIG.dist' as template
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: Currently using version 2.7 on Ubuntu OS
* 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
script](https://gist.github.com/crond-jaist/0f3af8bc31928fc3c03afdbf5c5d3696)
or manually, the following are the basic steps necessary to use it:
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
`$ ./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
`$ ./create_training.sh`

3. Information about how to access the created cyber range will be
displayed (and trainees must be provided with the details regarding
the instance allocated to each of them); verify that the cyber range
is accessible and that training content is displayed in the Moodle
LMS. The helper script named 'get_notification.sh' can also be used to
retrieve this information at any time.
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.
`1`). Again, the web-based UI can also be used for this purpose.

$ ./end_training.sh 1
`$ ./end_training.sh 1`

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

$ ./stop_cytrone.sh
`$ ./stop_cytrone.sh`


## References
Expand Down

0 comments on commit 0b1892e

Please sign in to comment.