# Deploying Secure Distributed Systems: Comparative Analysis of GNS3 and SEED Internet Emulator
## 6 Results and Evaluation
### Network Security
#### 6.5.1 Vulnerabilities  
As of May 2023, the GNS3 documentation [68] reported a single vulnerability (CVE-2015-2667) in GNS3 Version 1.2.3. This vulnerability is a search path vulnerability that can allow local users to gain privileges through Trojan horse malware in an unspecified directory. The severity score for this vulnerability is 7.2 out of 10, with complete confidentiality, integrity, and availability impact and low access complexity. Exploiting this vulnerability can result in the disclosure of all files on the system, compromising system integrity, and the complete unavailability of the affected resource. The exploit does not allow an attacker to gain access to the system.  
To improve security for GNS3, the developers recommend changing the default password for the GNS3 VM, adding authentication to the GNS3 server, avoiding running GNS3 as the root user or through the Windows administrator, and carefully risk-assessing remote server deployments to mitigate the risk of brute force attacks. They also suggest using a VPN tunnel for information security when running GNS3 remotely, along with SSL or SSH. Additional security measures include rate limiting authentications, disabling unused features, running the server in a container, providing quotas for users, enforcing strict user access privileges, limiting possible binaries for Qemu, using the API instead of Telnet, and binding virtual networks to a specific IP address.  
Regarding the SEED Internet Emulator, which uses Docker as the underlying technology, the Docker documentation [69] reports 34 vulnerabilities as of May 2023. These vulnerabilities fall into several categories, including denial of service (4 vulnerabilities), directory traversal (8), code execution (7), bypassing security mechanisms (10), gaining information (2), and gaining privileges (5).  
In terms of severity, two are in the range of 9-10 (CVE-2014-9357 and CVE-2019-5736 both exploiting code execution) and 7 in the range of 7-8, covering directory traversal (1), code execution (1), bypassing security mechanisms (1), gaining information (1), and gaining privileges (2).  
In detail, the two most-serious vulnerabilities reported are: CVE-2014-9357 (score 10.0) and CVE-2019-5736 (score 9.3). These vulnerabilities are related to code execution, and their exploitation can have a complete impact on confidentiality, integrity, and availability, resulting in the disclosure of all file systems. It also leads to a complete compromise of the system's protection, resulting in the system being fully compromised. Furthermore, it causes a complete shutdown of the affected resource, rendering it completely unusable. To perform these exploits, certain preconditions must be satisfied, and authentication is not required to exploit the vulnerability.  
To improve security for Docker, developers recommend focusing on securing the kernel, securing the Docker daemon, eliminating loopholes in the configuration file, and strengthening the security features of the kernel and its interactions with the containers. This can be achieved by using security features such as GRSEC or PAX, which provide additional safety checks at both compile and runtime, and using security model templates and custom policies for Docker containers.