SAMURAI: Combinare analisi Statica e Dinamica per l’identificazione di vulnerabilità di sicurezza nelle applicazioni web.
View/ Open
Author
Collura, Emanuele <1996>
Date
2022-07-21Data available
2022-08-04Abstract
Negli ultimi decenni, il software è diventato un elemento fondamentale nella gestione delle aziende e nella vita personale. Con la rapida diffusione degli smartphone, ma anche con la pandemia Covid 19 degli ultimi anni, si ha avuto un forte incremento di tutti i servizi online. La maggioranza delle soluzioni sono offerte grazie a servizi web fruibili tramite browser e ultimamente anche attraverso il mobile. I principali vantaggi di un’applicazione web sono: il basso costo di installazione, l’aggiornamento automatico di nuove funzionalità per tutti gli utenti e l’accesso universale da qualsiasi macchina connessa a Internet. L’aspetto negativo è che l’uso di tecnologie server e browser rende le applicazioni Web particolarmente soggette a errori e difficili da testare. D’altronde, la questione della Web Security nel contesto dell’attuale normativa europea sulla privacy, la GDPR, assume un valore di primaria importanza per tutte le Aziende, e perciò si rende necessario introdurre e integrare le tecniche di sicurezza nelle pratiche di sviluppo/rilascio DevOps esistenti adottando metodologie DevSecOps. In questo studio vogliamo mostrare una nuova metodologia di analisi di sicurezza del software che attui un approccio ibrido, al fine di individuare vulnerabilità nelle applicazioni web tramite analisi statica e di validare le risultanze mediante un’attività di testing dinamico sfruttando approcci di Deep Reinforcement Learning e mirato a stimolare gli endpoint REST esposti dall’applicativo. Per dimostrare l’applicabilità e l’efficacia della metodologia, è stato realizzato un prototipo di ricerca, SAMURAI, per analizzare applicazioni web sviluppate in linguaggio Java con servizi REST. I risultati sperimentali preliminari hanno permesso di valutare l'applicabilità e l'efficacia dell'approccio proposto. Over the past few decades, software has become a staple in business management and personal life. With the rapid spread of smartphones, but also with the Covid 19 pandemic in recent years, there has been a strong increase in all online services. Most of the solutions are offered thanks to web services accessible via browser and lately also via mobile. The main advantages of a web application are: the low installation cost, the automatic updating of new features for all users and universal access from any machine connected to the Internet. The downside is that the use of server and browser technologies makes Web applications particularly error-prone and difficult to test. On the other hand, the question of Web Security in the context of the current European legislation on privacy, the GDPR, assumes a value of primary importance for all companies, and therefore it is necessary to introduce and integrate security techniques into development practices / DevOps release by adopting DevSecOps methodologies. In this study we want to show a new software security analysis methodology that implements a hybrid approach, in order to identify vulnerabilities in web applications through static analysis and to validate the results through a dynamic testing activity using Deep Reinforcement Learning approaches and aimed at stimulating the REST endpoints exposed by the application. To demonstrate the applicability and effectiveness of the methodology, a research prototype, SAMURAI, was created to analyze web applications developed in Java with REST services. The preliminary experimental results made it possible to evaluate the applicability and effectiveness of the proposed approach.
Type
info:eu-repo/semantics/masterThesisCollections
- Laurea Magistrale [5082]