polito.it
Politecnico di Torino (logo)

Automatic fixing of vulnerabilities: SQL Injection in Java

Mattia Di Leo

Automatic fixing of vulnerabilities: SQL Injection in Java.

Rel. Riccardo Sisto. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2023

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (3MB) | Preview
Abstract:

Il presente lavoro di tesi si pone come obiettivo lo sviluppo di un tool che sia in grado di correggere automaticamente le vulnerabilità presenti all'interno del codice sorgente. Lo svilupo di un'applicazione è un'attività molto complessa e che richiede molte risorse. Tra i vari aspetti da tenere in considerazione c'è assolutamente quello delle funzionalità ma non bisogna tralasciare la sicurezza, per quanto un software possa essere performante e innovativo, se non è sicuro tutto il resto del lavoro è vano. Questo aspetto spesso viene sottovalutato, ci si concentra più sulle funzionalità, tralasciando tutta la parte relativa alla cybersecurity per un motivo: il tempo. Innanzitutto sarebbe necessario studiare le basi della programmazione sicura e poi soprattutto le soluzioni proposte spesso sono più difficili da implementare. Il tool sviluppato aiuterà i programmatori facendoli risparmiare tempo prezioso, correggendo automaticamente gli errori presenti nel codice sorgente. Analizzando lo stato dell'arte si è visto come ancora siamo in uno stato embrionale, sono state scartate le AI come ChatGPT per concentrarsi sull’implementazione di un programma non basato su intelligenza artificiale. Si è scelto Java sia come linguaggio di sviluppo ma anche come target, per quanto concerne le vulnerabilità, invece, sono state scelte le SQL injection "vanilla". Dopo aver sviluppato il tool, questo è stato inizialmente testato per capire quanto effettivamente fosse efficace e in grado di correggere. Infine per ottimizzare maggiormente si è deciso di integrarlo con Git, in maniera che alla fine dell’esecuzione i risultati venissero già "pushati" nel repository di Git, sfruttando quest’ultimo per il confronto dei file modificati.

Relatori: Riccardo Sisto
Anno accademico: 2023/24
Tipo di pubblicazione: Elettronica
Numero di pagine: 107
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: Blue Reply Srl
URI: http://webthesis.biblio.polito.it/id/eprint/28533
Modifica (riservato agli operatori) Modifica (riservato agli operatori)