Network Reachability Analysis and Visualization of AWS Environments

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2021-12-13
Department
Major/Subject
Communications Engineering
Mcode
ELEC3029
Degree programme
CCIS - Master’s Programme in Computer, Communication and Information Sciences (TS2013)
Language
en
Pages
60
Series
Abstract
In order to assess the network security posture of environments deployed to public cloud platforms it is often valuable to understand the network architecture and reachability between the resources in the network. Deducing these manually from the configurations of the cloud services can be, however, laborious and error prone work. As an attempt to automate part of this work, this thesis designs and implements a tool that can be used to automatically model networks and resources deployed to Amazon Web Services (AWS) public cloud platform. Besides modelling the network, the tool can analyse the network reachability between different points of the network and visualise the results. The tool is a proof of concept and supports the core networking and computational services of AWS. The tool works solely based on the configuration data available from AWS service application programming interfaces. The developed application is evaluated by measuring the execution time performance of the different functionalities of the tool against AWS environments of different sizes. Additionally, it is assessed whether the application fulfills the requirements set for it before the implementation. As a result of the evaluation, it was found that the tool fulfilled well the requirements set for it in the design phase. The execution time performance was found to be sufficient in the most normal use cases. However, there is some room for improvement in the performance of the tool, especially when working with large target environments containing hundreds of virtual machines. The performance results encourage to develop the tool further, and many good improvement areas were identified from the implementation.

Julkisiin pilvipalveluihin rakennettujen ympäristöjen verkkotietoturvan tason arvioimisessa on usein arvokasta ymmärtää verkon arkkitehtuuri, sekä verkkosaavutettavuus verkossa olevien resurssien välillä. Näiden päättely manuaalisesti pilvipalveluiden konfiguraatioista on kuitenkin työlästä ja virhealtista työtä. Yrityksenä automatisoida osa tästä työstä, tässä opinnäytetyössä suunnitellaan ja toteutetaan työkalu, jota voidaan käyttää mallintamaan tietoverkkoja ja resursseja Amazon Web Services (AWS) -pilvipalvelussa automaattisesti. Verkon mallintamisen lisäksi, työkalu pystyy analysoimaan verkkosaavutettavuutta verkon eri pisteiden välillä sekä visualisoimaan mallinnuksen ja analyysin tulokset. Työkalu on konseptitodistus, joka tukee AWS:n keskeisimpiä laskenta- ja verkkoresursseja. Työkalu toimii yksinomaan AWS:n ohjelmointirajapinnoista saatavan konfiguraatiodatan avulla. Kehitetyn sovelluksen suorituskykyä arvioidaan mittaamalla sen eri toiminnallisuuksien suoritusaikaa eri kokoisia AWS ympäristöjä vasten. Lisäksi arvioidaan täyttääkö työkalu sille ennen toteutuksen aloittamista asetetut vaatimukset. Arvioinnin tuloksena huomattiin, että toteutus täytti sille suunnitteluvaiheessa asetetut vaatimukset hyvin. Sovelluksen suoritusajan huomattiin olevan riittävä tavanomaisimmissa testitapauksissa. Erityisesti isompien kohdeympäristöjen, joissa on satoja virtuaalikoneita, kanssa kuitenkin huomattiin, että sovelluksen suorituskyvyssä on myös parantamisen varaa. Suorituskykyarvioinnin tulokset rohkaisevat kehittämään työkalua eteenpäin, ja toteutuksesta tunnistettiin monia hyviä parannusalueita.
Description
Supervisor
Hämäläinen, Jyri
Thesis advisor
Kapanen, Ville
Keywords
public, cloud, AWS, network, reachability, visualisation
Other note
Citation