Project Overview
The Virtual Internet project aims to provide comprehensive cybersecurity training to students in a safe, stable, and self-contained environment. This environment allows students to test common internet attacks without the risks associated with running such exercises on a standard network. Utilizing an open-source Python library called SEED Emulator, this project emulates real-world network device functionality and communication, providing a robust training ground for cybersecurity education.
Vision Statement
The Virtual Internet serves as a virtualized environment specifically designed for Western Washington University (WWU) students. It allows them to conduct labs and exercises that would be unsafe or impractical in a typical computer lab or network of virtual machines. By abstracting the setup process through the SEED Emulator, students can focus on learning and practicing cybersecurity tasks. This project is integrated with WWU’s Cyber Range, offering a convenient and accessible platform for all students.
Technology Utilized
- Debian-based Linux distribution
- Python3
- Docker
- SEED Emulator
Hardware Requirements:
- 8GB RAM
- 20GB SSD/HDD
- 4 or more cores on Intel 7th-gen or AMD 2000-series or newer processor
- Ubuntu Horizon Platform: Hosting lab images on the cyber range
Project Outcomes
Added Features
- Automated User Manual: When the virtual machine (VM) launches, a script automatically opens a User Manual. This manual informs the end-user about the aliased commands they can issue in a terminal window to start various labs, along with providing a terminal window for these commands.
- Optimized Bash Scripts: Aliased commands run optimized bash scripts that manage the SEED Emulator's launch process. These scripts redirect terminal output into log files, detecting when the Emulator GUI is ready and handling common Docker bugs.
- New Labs: Full implementation and writing of BGP Attack and Botnet labs.
- Updated Network Build Script: The Python script for network building has been rewritten to be more extensible and explanatory, facilitating future groups in implementing fully extensible networks.
Architecture
System Architecture
The Virtual Internet project consists of several main components, each interacting seamlessly to provide a functional and secure environment for cybersecurity training.
SEED Emulator Integration:
Python scripts, developed within the SEED framework, are compiled to generate Docker Containers representing network devices such as routers, switches, and user devices. These Docker Containers create a virtual internet/network, which can be interacted with and visualized through a front-end emulator accessible via any web browser.
Cyber Range Interaction:
The project is hosted on WWU’s Cyber Range, allowing easy access and deployment for students. Lab images are hosted on the Ubuntu Horizon Platform, ensuring stability and accessibility.
Deployment and Configuration
Component Connections: Each component is connected via Docker networks, enabling seamless communication between virtual devices.
Deployment Requirements: The project must be deployed on systems meeting the specified hardware requirements. Configuration details include setting up Docker and Python environments and ensuring proper permissions for running scripts.
Dependencies: Critical dependencies include the SEED Emulator, Docker, and Python libraries used in the project.
Security Mechanisms: The project incorporates standard cybersecurity practices, such as isolating the virtual environment from the host system and using secure communication protocols within the emulated network.
Areas for Future Work
Extend Netbuild.py Script:
-
Enable the creation of asymmetrical and more complex networks.
-
Integrate SEED’s built-in DNS server, webserver functionality, and blockchain simulation.
-
Include VPN simulation using SEED’s OpenVPN simulation.
Expand SEED Labs: Develop and publish additional labs to the Cyber Range, enhancing the variety and depth of training scenarios.
Cross VM Interactions: Enable interactions across virtual machines via the Cyber Range Virtual Internet Sub network as a stretch goal.