README.md 4.27 KB
Newer Older
1
# Cyber Sandbox Creator
Jan Vykopal's avatar
Jan Vykopal committed
2

Attila Farkas's avatar
Attila Farkas committed
3
Cyber Sandbox Creator is a tool that can generate portable definition files and build virtual environments using VirtualBox, Vagrant, and Ansible from a simple YAML definition of topology. The combination of these tools makes it possible to create virtual machines connected with virtual networks with minimal effort, even on a desktop computer.
Attila Farkas's avatar
Attila Farkas committed
4

Attila Farkas's avatar
Attila Farkas committed
5
![usage](doc/sandbox_creator_general.svg "Usage")
Attila Farkas's avatar
Attila Farkas committed
6

7
8
---

Attila Farkas's avatar
Attila Farkas committed
9
**Note: This is just a quick guide how to install and generate files with Cyber Sandbox Creator. For full description of how to prepare the host device to run the generated environments and how to build the virtual machines, check our [wiki page](https://gitlab.ics.muni.cz/muni-kypo-csc/cyber-sandbox-creator/-/wikis/home).**
Attila Farkas's avatar
Attila Farkas committed
10

11
12
13
**The latest stable release is available in [Releases](https://gitlab.ics.muni.cz/muni-kypo-csc/cyber-sandbox-creator/-/releases).**

## Installation
Attila Farkas's avatar
Attila Farkas committed
14

Jan Vykopal's avatar
Jan Vykopal committed
15
### Linux (Ubuntu/Debian)
Attila Farkas's avatar
Attila Farkas committed
16

Attila Farkas's avatar
Attila Farkas committed
17
18
19
20
1. Install pip using `$ sudo apt-get install python3-pip`.
2. Install setuptools with `$ pip3 install setuptools`.
3. Install Kypo Topology Definition `$ pip3 install kypo-topology-definition --extra-index-url https://gitlab.ics.muni.cz/api/v4/projects/2358/packages/pypi/simple`.
4. Install Cyber Sandbox Creator with `$ pip3 install sandboxcreator`.
Attila Farkas's avatar
Attila Farkas committed
21

Attila Farkas's avatar
Attila Farkas committed
22
### Windows 10
Attila Farkas's avatar
Attila Farkas committed
23
24

1. Install [Python 3](https://www.python.org/downloads/windows/). At the beginning of the installation mark the "Add Python to PATH" option.
Attila Farkas's avatar
Attila Farkas committed
25
26
3. Install Kypo Topology Definition `$ pip install kypo-topology-definition --extra-index-url https://gitlab.ics.muni.cz/api/v4/projects/2358/packages/pypi/simple`.
4. Install Cyber Sandbox Creator with `$ pip install sandboxcreator`.
Attila Farkas's avatar
Attila Farkas committed
27

Attila Farkas's avatar
Attila Farkas committed
28
## Usage
Attila Farkas's avatar
Attila Farkas committed
29

Attila Farkas's avatar
Attila Farkas committed
30
### Linux (Ubuntu/Debian) and Windows 10
Attila Farkas's avatar
Attila Farkas committed
31

Attila Farkas's avatar
Attila Farkas committed
32
33
34
1. After the installation, simply run the command `$ create-sandbox <topology_definition>` to generate intermediate definition files.
2. Navigate to the newly created directory `sandbox` (next to the topology definition) and run `$ manage-sandbox build` to build the virtual environment.
3. The built environment can be deleted using the command `$ manage-sandbox destroy`.
Attila Farkas's avatar
Attila Farkas committed
35

36
37
38
39
## License

This project is licensed under the [MIT License](LICENSE).

Attila Farkas's avatar
Attila Farkas committed
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
## How to cite

If you use or build upon Cyber Sandbox Creator, we would appreciate it if you link to this GitLab repository. If you can, please also use the BibTeX entry below to cite the original work.
Jan Vykopal, Pavel Čeleda, Pavel Seda, Valdemar Švábenský, and Daniel Tovarňák.\
*Scalable Learning Environments for Teaching Cybersecurity Hands-on [in press].*\
In Proceedings of the 51st IEEE Frontiers in Education Conference (FIE' 2021).
```
@inproceedings{Vykopal2021Scalable,
    author    = {Vykopal, Jan and Čeleda, Pavel and Seda, Pavel and Švábenský, Valdemar and Tovarňák, Daniel},
    title     = {{Scalable Learning Environments for Teaching Cybersecurity Hands-on [in press]}},
    booktitle = {Proceedings of the 51st IEEE Frontiers in Education Conference},
    series    = {FIE '21},
    location  = {Lincoln, Nebraska, USA},
    publisher = {IEEE},
    address   = {New York, NY, USA},
    month     = {10},
    year      = {2020},
    pages     = {1--9},
    numpages  = {9},
}
```

Attila Farkas's avatar
Attila Farkas committed
62
## Credits
Attila Farkas's avatar
Attila Farkas committed
63

64
**[Cybersecurity Laboratory](https://kypo.fi.muni.cz)**\
Attila Farkas's avatar
Attila Farkas committed
65
**Faculty of Informatics**\
Attila Farkas's avatar
Attila Farkas committed
66
**Masaryk University**
Attila Farkas's avatar
Attila Farkas committed
67

68
69
**Project lead**: Jan Vykopal

Attila Farkas's avatar
Attila Farkas committed
70
**Lead developer**: Attila Farkas
Attila Farkas's avatar
Attila Farkas committed
71

Jan Vykopal's avatar
Jan Vykopal committed
72
73
**Developer**: Jana Ziková

74
**Contributors**:
Attila Farkas's avatar
Attila Farkas committed
75

76
77
78
- Valdemar Švábenský - user testing
- Daniel Tovarňák (KYPO Cyber Range Platform) - technical advisor
- Kamil Andoniadis (KYPO Cyber Range Platform)
Jan Vykopal's avatar
Jan Vykopal committed
79

80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
**Student contributors:**  all students who use the tool for their thesis projects or training

### Acknowledgements

<table>
  <tr>
    <td>![EU](doc/EU.jpg "EU emblem")</td>
    <td>
This software and accompanying documentation is part of a [project](https://cybersec4europe.eu) that has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 830929.
</td>
  </tr>
  <tr>
      <td>![TACR](doc/TACR.png "TACR logo")</td>
      <td>This software was developed with the support of the Technology Agency of the Czech Republic (TA ČR) from the National Centres of Competence programme (project identification TN01000077 – [National Centre of Competence in Cybersecurity](https://nc3.cz/)). 
      </td>
  </tr>
 </table>
Jan Vykopal's avatar
Jan Vykopal committed
97

Jan Vykopal's avatar
Jan Vykopal committed
98

Jan Vykopal's avatar
Jan Vykopal committed
99

Jan Vykopal's avatar
Jan Vykopal committed
100