un approccio moderno al cross-site scripting
DESCRIPTION
studio e ricerca di tecniche d'attacco e di difesa moderne inerenti alla vulnerabilità cross-site scripting.TRANSCRIPT
Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche
Un Approccio Moderno al
Cross-Site Scripting
RELATOREPROF. PAOLO CERAVOLO
TESI DI LAUREA DIRENATO FERRUA
Matr. 774222
Anno Accademico 2012/2013
Obiettivo (1)
19961993 1999 2002 2005 2008 2011 2014
Obiettivo (2)
Informazionevalida?
TE
SI
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
persistent
non-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
nuovo attaccovecchio attacco
Prevenzione degli attacchi (1)
Filtri anti-XSS nei browser
...
Prevenzione degli attacchi (2)
Corretto filtraggio dell’input e dell’outputda 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