SlideShare a Scribd company logo
1 of 10
Download to read offline
Extended summary of “Search-Based SQL
Injection Attacks Testing using Genetic
Programming”
Aziz B., Bader M., Hippolyte C. (2016) Search-Based SQL Injection Attacks Testing Using
Genetic Programming. EuroGP 2016.
Candidato: Relatore:
Andrea Gonzato Prof. Andrea De Lorenzo
Laurea Triennale in Ingegneria
Elettronica e Informatica
Anno accademico 2019 - 2020
Introduzione: SQL Injection
“SQL Injection è un tipo di attacco informatico il cui scopo è quello di indurre il DBMS ad eseguire query
SQL non autorizzate.”
● Vulnerabilità presente tipicamente nelle applicazioni web che usano un DBMS
● Avviene quando gli input non filtrati vengono utilizzati nelle query
○ Attaccante inietta del codice lo scopo di controllare la struttura e logica delle query
● Conseguenza: dati esposti
Introduzione
● La SQL Injection è la vulnerabilità più diffusa in ambito Web Application
(OWASP, 2017)
● Testare il software è importante
○ permette di individuare gli input e i parametri vulnerabili da SQL Injection
○ fondamentale eseguire molti test
■ automatizzare il processo di testing
● Come automatizzare il test di software contro SQL Injection
○ Come generare automaticamente i test da eseguire
Problema
Soluzione proposta
Sistema che utilizza tecniche di Programmazione Genetica per generare test
Programmazione Genetica
● è una tecnica di apprendimento automatico
● si basa sull’evoluzione di individui
○ generazione popolazione
■ selezione
● fitness function
■ replicazione
Implementazione sistema su ECJ
● Gli individui sono i test, cioè stringhe con tentativi di SQL Injection
○ Sono rappresentabili con strutture ad albero
● Definizione nodi dell’albero
○ Terminal set
○ Functions set
● Definizione fitness function
○ Numero di attacchi
L’individuo rappresenta la
stringa: 1199 OR 1 = 1 ; --
nodi operazione
PARA x )
CMT x --
Double
QUOTE
x ”
QUOTE x ’
SEMI x ;
AND x1 AND x2
OR x1 OR x2
Sperimentazione su SuiteCRM
Obiettivo: verificare che la metodologia riesca a generare test con SQL
Injection
Test su parametri vulnerabili di SuiteCRM
Analisi Risultati
Molti test generati presentano errori sintattici
Conclusioni
● Per ogni parametro vulnerabile sono stati generati test con SQL Injection
● Procedimento a elevato sforzo computazionale
● La metodologia potenzialmente è applicabile anche per generare test
contro cross-site scripting
Grazie per l’attenzione

More Related Content

Similar to Extended Summary of "Search-Based SQL Injection Attacks Testing using Genetic Programming"

dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...Microfocusitalia
 
Fusione di impronta digitale e impronta vocale per il controlllo accessi
Fusione di impronta digitale e impronta vocale per il controlllo accessiFusione di impronta digitale e impronta vocale per il controlllo accessi
Fusione di impronta digitale e impronta vocale per il controlllo accessisanpi89
 
Qualità del Software
Qualità del SoftwareQualità del Software
Qualità del SoftwareYeser Rema
 
Sql Injection: attacchi e rimedi
Sql Injection: attacchi e rimediSql Injection: attacchi e rimedi
Sql Injection: attacchi e rimediDavide Micale
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
 
Progetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web ApplicationsProgetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web ApplicationsMarco Morana
 
Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...
Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...
Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...Boymix81
 
Presentazione Testing automatizzato
Presentazione Testing automatizzatoPresentazione Testing automatizzato
Presentazione Testing automatizzatoangelolu
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERDotNetCampus
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
 
AZURE Machine Learning Studio: applicazione alla manutenzione predittiva
AZURE Machine Learning Studio: applicazione alla manutenzione predittivaAZURE Machine Learning Studio: applicazione alla manutenzione predittiva
AZURE Machine Learning Studio: applicazione alla manutenzione predittivaAriel Cedola
 
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...Emerasoft, solutions to collaborate
 
Automatic generation of inspection checklist by user profiling
Automatic generation of inspection checklist by user profilingAutomatic generation of inspection checklist by user profiling
Automatic generation of inspection checklist by user profilingNicola Del Gobbo
 
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesSimone Onofri
 
A statistical framework to evaluate the "diversity" impact against Advanced P...
A statistical framework to evaluate the "diversity" impact against Advanced P...A statistical framework to evaluate the "diversity" impact against Advanced P...
A statistical framework to evaluate the "diversity" impact against Advanced P...Davide Cioccia
 
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...K-Tech Formazione
 

Similar to Extended Summary of "Search-Based SQL Injection Attacks Testing using Genetic Programming" (20)

dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
 
Fusione di impronta digitale e impronta vocale per il controlllo accessi
Fusione di impronta digitale e impronta vocale per il controlllo accessiFusione di impronta digitale e impronta vocale per il controlllo accessi
Fusione di impronta digitale e impronta vocale per il controlllo accessi
 
Qualità del Software
Qualità del SoftwareQualità del Software
Qualità del Software
 
Sql Injection: attacchi e rimedi
Sql Injection: attacchi e rimediSql Injection: attacchi e rimedi
Sql Injection: attacchi e rimedi
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
 
Progetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web ApplicationsProgetti Open Source Per La Sicurezza Delle Web Applications
Progetti Open Source Per La Sicurezza Delle Web Applications
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...
Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...
Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...
 
Presentazione Testing automatizzato
Presentazione Testing automatizzatoPresentazione Testing automatizzato
Presentazione Testing automatizzato
 
LARUS 10th - Rampado Omar
LARUS 10th - Rampado OmarLARUS 10th - Rampado Omar
LARUS 10th - Rampado Omar
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
AZURE Machine Learning Studio: applicazione alla manutenzione predittiva
AZURE Machine Learning Studio: applicazione alla manutenzione predittivaAZURE Machine Learning Studio: applicazione alla manutenzione predittiva
AZURE Machine Learning Studio: applicazione alla manutenzione predittiva
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
 
Openexp 2006
Openexp 2006Openexp 2006
Openexp 2006
 
Automatic generation of inspection checklist by user profiling
Automatic generation of inspection checklist by user profilingAutomatic generation of inspection checklist by user profiling
Automatic generation of inspection checklist by user profiling
 
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
 
A statistical framework to evaluate the "diversity" impact against Advanced P...
A statistical framework to evaluate the "diversity" impact against Advanced P...A statistical framework to evaluate the "diversity" impact against Advanced P...
A statistical framework to evaluate the "diversity" impact against Advanced P...
 
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...
 

Recently uploaded

Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 

Recently uploaded (11)

Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 

Extended Summary of "Search-Based SQL Injection Attacks Testing using Genetic Programming"

  • 1. Extended summary of “Search-Based SQL Injection Attacks Testing using Genetic Programming” Aziz B., Bader M., Hippolyte C. (2016) Search-Based SQL Injection Attacks Testing Using Genetic Programming. EuroGP 2016. Candidato: Relatore: Andrea Gonzato Prof. Andrea De Lorenzo Laurea Triennale in Ingegneria Elettronica e Informatica Anno accademico 2019 - 2020
  • 2. Introduzione: SQL Injection “SQL Injection è un tipo di attacco informatico il cui scopo è quello di indurre il DBMS ad eseguire query SQL non autorizzate.” ● Vulnerabilità presente tipicamente nelle applicazioni web che usano un DBMS ● Avviene quando gli input non filtrati vengono utilizzati nelle query ○ Attaccante inietta del codice lo scopo di controllare la struttura e logica delle query ● Conseguenza: dati esposti
  • 3. Introduzione ● La SQL Injection è la vulnerabilità più diffusa in ambito Web Application (OWASP, 2017) ● Testare il software è importante ○ permette di individuare gli input e i parametri vulnerabili da SQL Injection ○ fondamentale eseguire molti test ■ automatizzare il processo di testing
  • 4. ● Come automatizzare il test di software contro SQL Injection ○ Come generare automaticamente i test da eseguire Problema Soluzione proposta Sistema che utilizza tecniche di Programmazione Genetica per generare test
  • 5. Programmazione Genetica ● è una tecnica di apprendimento automatico ● si basa sull’evoluzione di individui ○ generazione popolazione ■ selezione ● fitness function ■ replicazione
  • 6. Implementazione sistema su ECJ ● Gli individui sono i test, cioè stringhe con tentativi di SQL Injection ○ Sono rappresentabili con strutture ad albero ● Definizione nodi dell’albero ○ Terminal set ○ Functions set ● Definizione fitness function ○ Numero di attacchi L’individuo rappresenta la stringa: 1199 OR 1 = 1 ; -- nodi operazione PARA x ) CMT x -- Double QUOTE x ” QUOTE x ’ SEMI x ; AND x1 AND x2 OR x1 OR x2
  • 7. Sperimentazione su SuiteCRM Obiettivo: verificare che la metodologia riesca a generare test con SQL Injection Test su parametri vulnerabili di SuiteCRM
  • 8. Analisi Risultati Molti test generati presentano errori sintattici
  • 9. Conclusioni ● Per ogni parametro vulnerabile sono stati generati test con SQL Injection ● Procedimento a elevato sforzo computazionale ● La metodologia potenzialmente è applicabile anche per generare test contro cross-site scripting