With the advent of modern software development architectures such as Microservices (MSA) and Service-Oriented Architectures (SOA), web applications have evolved from simple programs executed on a remote server into complex works consisting of standalone applications, each providing a specific service. This high degree of heterogeneity introduces complexity in building the so-called Application Programming Interfaces (APIs) that facilitate interaction between different services. Despite the challenges involved, this architectural style has gained significant appreciation from companies, to the point where it has largely replaced the outdated monolithic counterpart within a few years. However, this architecture presents several challenges, including managing communication between services through APIs, data synchronization, and, particularly, security. In this regard, we will discuss the vulnerabilities of microservices-based applications, with a focus on their mutual interactions. We will also explore potential countermeasures to ensure robust, high-performing, and secure applications, aiming to identify a common strategy for achieving these qualities.
Con l’avvento delle moderne architetture di sviluppo software, come i Microservizi (MSA) e le architetture Service Oriented (SOA), le webApp cessano di essere dei semplici programmi eseguiti su un server remoto e diventano vere e proprie opere costituite da applicazioni a sé stanti, ognuna fornitrice di un particolare servizio. La forte eterogeneità comporta, di conseguenza, una certa complessità nella realizzazione delle cosiddette API, ossia interfacce di programmazione, necessarie per l’interazione tra i differenti servizi. Nonostante la complessità si tratta di uno stile architetturale molto apprezzato dalle aziende, tanto che, nel giro di pochi anni, ha sostituito quasi del tutto la controparte monolitica, divenuta ormai obsoleta. Tuttavia, tale architettura comporta non poche sfide, tra cui la gestione della comunicazione tra i servizi tramite API, la sincronizzazione dei dati e in particolare la sicurezza. A quest’ultimo proposito verranno presentate le vulnerabilità di tali applicazioni a microservizi, ponendo il focus sulle interazioni reciproche, e le possibili contromisure da adottare per fornire applicazioni robuste, performanti e allo stesso tempo sicure, al fine di individuare quella che potrebbe essere una strategia comune nel garantire tali qualità.
ANALISI DELLE VULNERABILITÀ NELLE ARCHITETTURE A MICROSERVIZI: STRATEGIE E BEST PRACTICES PER LA MITIGAZIONE DELLE MINACCE
RENZULLI, RAFFAELE PIO
2022/2023
Abstract
With the advent of modern software development architectures such as Microservices (MSA) and Service-Oriented Architectures (SOA), web applications have evolved from simple programs executed on a remote server into complex works consisting of standalone applications, each providing a specific service. This high degree of heterogeneity introduces complexity in building the so-called Application Programming Interfaces (APIs) that facilitate interaction between different services. Despite the challenges involved, this architectural style has gained significant appreciation from companies, to the point where it has largely replaced the outdated monolithic counterpart within a few years. However, this architecture presents several challenges, including managing communication between services through APIs, data synchronization, and, particularly, security. In this regard, we will discuss the vulnerabilities of microservices-based applications, with a focus on their mutual interactions. We will also explore potential countermeasures to ensure robust, high-performing, and secure applications, aiming to identify a common strategy for achieving these qualities.| File | Dimensione | Formato | |
|---|---|---|---|
|
TESI.pdf
File consultabile da postazioni biblioteca
Dimensione
1.45 MB
Formato
Adobe PDF
|
1.45 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14253/68675