SlideShare a Scribd company logo
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

PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
2024 State of Marketing Report – by Hubspot
PDF
Everything You Need To Know About ChatGPT
PDF
Product Design Trends in 2024 | Teenage Engineerings
PDF
How Race, Age and Gender Shape Attitudes Towards Mental Health
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
How Race, Age and Gender Shape Attitudes Towards Mental Health

Recently uploaded (9)

PDF
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
PDF
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
PDF
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
PDF
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
PPTX
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
PPTX
Copia di PROGETTO VIOLENZA sulle donne PCTO
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
Copia di PROGETTO VIOLENZA sulle donne PCTO
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
Ad
Ad

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