ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche 
Un Approccio Moderno al 
Cross-Site Scripting 
RELATORE 
PROF. PAOLO CERAVOLO 
TESI DI LAUREA DI 
RENATO FERRUA 
Matr. 774222 
Anno Accademico 2012/2013
Obiettivo (1) 
1993 1996 1999 2002 2005 2008 2011 2014
Obiettivo (2) 
Informazione 
valida? 
TESI 
Creazione di una 
soluzione alternativa
Stato dell’arte (1) 
Il cross-site scripting (XSS) è una vulnerabilità che affligge i siti web dinamici. 
Permette all’attaccante di far eseguire del codice malizioso al browser della vittima. 
Esistono 3 tipi di vulnerabilità XSS: 
• Non-persistent 
• Persistent 
• Dom-based
Stato dell’arte (2) 
XSS non-persistent
Stato dell’arte (3) 
XSS persistent
Stato dell’arte (4) 
XSS DOM-based 
non-persistent 
persistent 
<script>alert(‘test xss’);</script>
Rischi per la vittima XSS (1) 
• Accesso alle abitudini 
− Ricostruzione della cronologia 
− Ricostruzione dell’elenco dei siti in cui si è autenticati 
• Accesso a servizi che necessitano di credenziali per l’autenticazione 
− Furto delle credenziali memorizzate nel password manager 
− Furto delle credenziali attraverso tecniche di phishing 
• Hijacking della sessione 
− Inoltro dei cookies all’attaccante 
• Accesso ai dati personali 
• Disinformazione/diffamazione 
− Modifica dei contenuti di un sito 
• Attacchi behind the firewall 
− Web server fingerprinting 
− Modifica della configurazione del router 
• Il browser diventa uno zombie 
− The Browser Exploitation Framework (BeEF) 
• Worm XSS
Rischi per la vittima XSS (2) 
Ricostruzione della Cronologia 
vecchio attacco nuovo attacco
Prevenzione degli attacchi (1) 
Filtri anti-XSS nei browser 
...
Prevenzione degli attacchi (2) 
Corretto filtraggio dell’input e dell’output 
da parte delle applicazioni web
Studio del Caso Cdling Capital Services Inc. (1) 
• La società ha richiesto di valutare la sicurezza della propria piattaforma contro 
gli attacchi XSS 
• La modalità di testing concordata è a scatola grigia (Gray Box)
Studio del Caso Cdling Capital Services Inc. (2) 
• Mappatura del sito
Studio del Caso Cdling Capital Services Inc. (3) 
• Mappatura dei file
Studio del Caso Cdling Capital Services Inc. (4) 
• Analisi degli input e degli output
Studio del Caso Cdling Capital Services Inc. (5) 
• Analisi degli input e degli output
Studio del Caso Cdling Capital Services Inc. (6) 
• Analisi del File System 
• Analisi della Gestione degli Errori 
• Analisi dei Cookie
Studio del Caso Cdling Capital Services Inc. (7) 
• cdling.com non presenta vulnerabilità XSS 
• Durante l’analisi sono emersi alcuni bug, uno dei quali sfruttabile per aumentare la 
propria reputazione all’interno del sito
Conclusioni (1) 
• I concetti su cui si fonda il cross-site scripting al giorno d’oggi, sono analoghi a 
quelli dei primi anni 2000 
• Essendo il browser la componente sfruttata per sferrare l’attacco, la 
vulnerabilità assume connotati diversi a seconda del web client in uso; ne 
consegue che gran parte della letteratura, essendo datata e basata su sistemi 
obsoleti, fornisce un supporto solo parziale al lettore 
• Per ogni attacco non più funzionante è stato possibile trovare una variante, 
anche se generalmente meno performante o comunque compatibile con un 
numero inferiore di web client 
• Per contrastare il cross-site scripting, negli ultimi anni, i principali vendor hanno 
integrato nei loro browser di ultima generazione dei filtri anti-XSS, questi sono 
in grado di mitigare gli attacchi non-persistent più comuni 
• Altri progetti di ricerca sono in corso, ma nessuno di questi si è ancora tradotto 
in un software, efficace e facilmente distribuibile, in grado di prevenire tutti i 
tipi d’attacco
Conclusioni (2) 
• I linguaggi di programmazione moderni mettono a disposizione metodi e 
framework adatti alla scrittura di codice sicuro. Questi se sfruttati in modo 
intelligente da programmatori e progettisti permettono di creare applicazioni 
web prive di vulnerabilità XSS 
• Negli anni la situazione è quindi migliorata, ma il problema è ben lontano 
dall’essere risolto

More Related Content

Un Approccio Moderno al Cross-Site Scripting

  • 1. Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Un Approccio Moderno al Cross-Site Scripting RELATORE PROF. PAOLO CERAVOLO TESI DI LAUREA DI RENATO FERRUA Matr. 774222 Anno Accademico 2012/2013
  • 2. Obiettivo (1) 1993 1996 1999 2002 2005 2008 2011 2014
  • 3. Obiettivo (2) Informazione valida? TESI Creazione di una soluzione alternativa
  • 4. Stato dell’arte (1) Il cross-site scripting (XSS) è una vulnerabilità che affligge i siti web dinamici. Permette all’attaccante di far eseguire del codice malizioso al browser della vittima. Esistono 3 tipi di vulnerabilità XSS: • Non-persistent • Persistent • Dom-based
  • 5. Stato dell’arte (2) XSS non-persistent
  • 6. Stato dell’arte (3) XSS persistent
  • 7. Stato dell’arte (4) XSS DOM-based non-persistent persistent <script>alert(‘test xss’);</script>
  • 8. Rischi per la vittima XSS (1) • Accesso alle abitudini − Ricostruzione della cronologia − Ricostruzione dell’elenco dei siti in cui si è autenticati • Accesso a servizi che necessitano di credenziali per l’autenticazione − Furto delle credenziali memorizzate nel password manager − Furto delle credenziali attraverso tecniche di phishing • Hijacking della sessione − Inoltro dei cookies all’attaccante • Accesso ai dati personali • Disinformazione/diffamazione − Modifica dei contenuti di un sito • Attacchi behind the firewall − Web server fingerprinting − Modifica della configurazione del router • Il browser diventa uno zombie − The Browser Exploitation Framework (BeEF) • Worm XSS
  • 9. Rischi per la vittima XSS (2) Ricostruzione della Cronologia vecchio attacco nuovo attacco
  • 10. Prevenzione degli attacchi (1) Filtri anti-XSS nei browser ...
  • 11. Prevenzione degli attacchi (2) Corretto filtraggio dell’input e dell’output da parte delle applicazioni web
  • 12. Studio del Caso Cdling Capital Services Inc. (1) • La società ha richiesto di valutare la sicurezza della propria piattaforma contro gli attacchi XSS • La modalità di testing concordata è a scatola grigia (Gray Box)
  • 13. Studio del Caso Cdling Capital Services Inc. (2) • Mappatura del sito
  • 14. Studio del Caso Cdling Capital Services Inc. (3) • Mappatura dei file
  • 15. Studio del Caso Cdling Capital Services Inc. (4) • Analisi degli input e degli output
  • 16. Studio del Caso Cdling Capital Services Inc. (5) • Analisi degli input e degli output
  • 17. Studio del Caso Cdling Capital Services Inc. (6) • Analisi del File System • Analisi della Gestione degli Errori • Analisi dei Cookie
  • 18. Studio del Caso Cdling Capital Services Inc. (7) • cdling.com non presenta vulnerabilità XSS • Durante l’analisi sono emersi alcuni bug, uno dei quali sfruttabile per aumentare la propria reputazione all’interno del sito
  • 19. Conclusioni (1) • I concetti su cui si fonda il cross-site scripting al giorno d’oggi, sono analoghi a quelli dei primi anni 2000 • Essendo il browser la componente sfruttata per sferrare l’attacco, la vulnerabilità assume connotati diversi a seconda del web client in uso; ne consegue che gran parte della letteratura, essendo datata e basata su sistemi obsoleti, fornisce un supporto solo parziale al lettore • Per ogni attacco non più funzionante è stato possibile trovare una variante, anche se generalmente meno performante o comunque compatibile con un numero inferiore di web client • Per contrastare il cross-site scripting, negli ultimi anni, i principali vendor hanno integrato nei loro browser di ultima generazione dei filtri anti-XSS, questi sono in grado di mitigare gli attacchi non-persistent più comuni • Altri progetti di ricerca sono in corso, ma nessuno di questi si è ancora tradotto in un software, efficace e facilmente distribuibile, in grado di prevenire tutti i tipi d’attacco
  • 20. Conclusioni (2) • I linguaggi di programmazione moderni mettono a disposizione metodi e framework adatti alla scrittura di codice sicuro. Questi se sfruttati in modo intelligente da programmatori e progettisti permettono di creare applicazioni web prive di vulnerabilità XSS • Negli anni la situazione è quindi migliorata, ma il problema è ben lontano dall’essere risolto