Le SQL Injections (SQLi) sono una delle vulnerabilità applicative più diffuse e pericolose degli ultimi vent’anni, tanto da comparire stabilmente nella classifica OWASP Top 10. Gli approcci di rilevamento basati sul Machine Learning offrono un’alternativa flessibile ai filtri a firma statica, ma la loro efficacia dipende strettamente dalla qualità e dalla varietà dei dati di addestramento: i dataset pubblici disponibili sono spesso limitati e poco rappresentativi delle tecniche di offuscamento con cui gli attaccanti eludono le difese. Questa tesi analizza se, e in che misura, la data augmentation tramite Large Language Models (LLM) possa colmare questa lacuna. Viene proposta ed implementata una pipeline che, a partire da payload SQLi estratti dallo strumento sqlmap, genera migliaia di varianti offuscate con un modello Qwen2.5-Coder eseguito localmente, ne verifica empiricamente la correttezza sintattica e, tramite esecuzione su un database MySQL reale, l’efficacia, e infine misura l’impatto dei nuovi dati su un classificatore basato su TF-IDF e XGBoost. Il contributo centrale è il confronto tra l’augmentation con LLM e un fuzzer meccanico. I risultati mostrano che un detector addestrato solo su dataset classici non riconosce il 22,1% dei payload generati dall’LLM ma quasi tutti quelli del fuzzer. Inoltre addestrare sui payload dell’LLM permette di riconoscere anche quelli del fuzzer, mentre il contrario non vale. Lo spazio di attacco esplorato dall’LLM contiene e supera quello del fuzzing meccanico. L’augmentation tramite LLM colma il divario di copertura senza degradare le prestazioni sulla distribuzione originale, confermandosi una strategia migliore per addestrare detector di SQLi robusti.
SQL INJECTION DETECTION USING MACHINE LEARNING AND DATASET AUGMENTATION WITH LARGE LANGUAGE MODELS
CAPPIELLO, ALESSIO
2025/2026
Abstract
Le SQL Injections (SQLi) sono una delle vulnerabilità applicative più diffuse e pericolose degli ultimi vent’anni, tanto da comparire stabilmente nella classifica OWASP Top 10. Gli approcci di rilevamento basati sul Machine Learning offrono un’alternativa flessibile ai filtri a firma statica, ma la loro efficacia dipende strettamente dalla qualità e dalla varietà dei dati di addestramento: i dataset pubblici disponibili sono spesso limitati e poco rappresentativi delle tecniche di offuscamento con cui gli attaccanti eludono le difese. Questa tesi analizza se, e in che misura, la data augmentation tramite Large Language Models (LLM) possa colmare questa lacuna. Viene proposta ed implementata una pipeline che, a partire da payload SQLi estratti dallo strumento sqlmap, genera migliaia di varianti offuscate con un modello Qwen2.5-Coder eseguito localmente, ne verifica empiricamente la correttezza sintattica e, tramite esecuzione su un database MySQL reale, l’efficacia, e infine misura l’impatto dei nuovi dati su un classificatore basato su TF-IDF e XGBoost. Il contributo centrale è il confronto tra l’augmentation con LLM e un fuzzer meccanico. I risultati mostrano che un detector addestrato solo su dataset classici non riconosce il 22,1% dei payload generati dall’LLM ma quasi tutti quelli del fuzzer. Inoltre addestrare sui payload dell’LLM permette di riconoscere anche quelli del fuzzer, mentre il contrario non vale. Lo spazio di attacco esplorato dall’LLM contiene e supera quello del fuzzing meccanico. L’augmentation tramite LLM colma il divario di copertura senza degradare le prestazioni sulla distribuzione originale, confermandosi una strategia migliore per addestrare detector di SQLi robusti.I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14253/110445