SlideShare a Scribd company logo
1 of 7
Download to read offline
UNIVERSITÀ DEGLI STUDI DI TRIESTE
Dipartimento di Ingegneria e Architettura
Tesi di Laurea Triennale in Ingegneria Elettronica ed Informatica
Summary of “Cached and Confused:
Web Cache Deception in the Wild”
Candidato: Relatore:
Marco SANTERAMO Prof. Alberto BARTOLI
__________________________________________
Anno Accademico 2019-2020
Indice:
1 Introduzione 3
2 Attacco WCD 3
3 Ambiente di misura 4
4 Elaborazione dei dati 4
5 Configurazione CDN e implicazioni 5
6 Conclusioni 6
7 Bibliografia 7
1 Introduzione:
La condivisione globale dei contenuti nel web e la loro rapida accessibilità è diventata l’obiettivo dei servizi di
condivisione dati. È stato quindi introdotto uno strumento di memorizzazione condivisa di risorse frequentemente
utilizzate detto “Web Cache”.
Questa tecnologia migliora l’accesso alle risorse, mitigando la latenza delle risposte HTTP e riducendo il traffico Internet.
Esse sono presenti localmente nei “Web Browser”, “Web Server” e nei “Proxies” rendendo inadatte al caching le risposte
HTTP contenenti informazioni private.
In particolare, i “Reverse Caching Proxies” sfruttano il caching per fare da intermediario tra il client e il Web Server con
funzioni di protezione aggiuntiva e bilanciamento del carico.
Per rendere le proprie risorse accessibili rapidamente da tutto il mondo, i gestori di siti internet si affidano a reti di Reverse
Caching Proxy dette “Content Delivery Network” [CDN], rendendo le caches una criticità della rete di condivisione.
L’attacco “Web Cache Deception” [WCD] sfrutta le scarse misure di sicurezza e negligenze nell’applicazione dello
standard HTTP; alcune possibili configurazioni delle CDN possono esserne complici. Esse supportano un’elevata
libertà nel caching delle risorse lasciando all’utente l’onere di analizzare e modificare impostazioni, ad esempio
permettendo di scegliere criteri di caching tramite l’analisi dell’URL della risorsa richiesta al posto degli Header Cache
HTTP. Le impostazioni di default per le CDN considerate in questo studio sono espresse nella Tabella 2.
Tabella 1: Criteri di caching per le principali CDN
I Web Server forniscono delle risorse dinamiche, con le quali è possibile interagire interpretando sequenze di caratteri
presenti nell’URL come una specifica istruzione [URL Rewriting].
Tali sequenze sono presenti successivamente al percorso che individua la risorsa dinamica all’interno del Web Server.
Sono di interesse per lo studio le seguenti tecniche:
- Path Parameter: La parte di URL successiva all’ultimo carattere “/” che segue un percorso valido, viene
interpretata come una o più variabili di input al documento dinamico.
- Encoded Newline: Il web server interrompe l’analisi dell’URL dopo l’identificativo di “nuova riga” [simbolo
“/n”, identificativo “%0A”]
- Encoded Semicolon: Analogo a Path Parameter ma considerato “%3B” identificativo del carattere”;”.
- Encoded Pownd: I web server frammentano l’URL una volta individuato “%23”, identificativo di “asterisco”.
- Encoded Question Mark: Analogo a Path Parameter ed Encoded Semicolon, ma è necessario inserire anche il
nome della variabile di input.
Questo processo, non essendo impiegato anche dai proxy intermedi, porta a due interpretazioni dell’URL [Path
Confusion].
Esempio di Path Confusion con tecnica Path Parameter: “http://website/risorsa.php/val1/val2”
Le variabili val1 e val2 vengono interpretate come tali dal Web Server tramite il processo di URL Rewriting ed elise se
non compatibili con i parametri di ingresso di “risorsa.php”.
Il Proxy non impiega tali processi, interpretando “/val1” come parte del percorso “http://website/risorsa.php/val1/” che
punta alla risorsa “val2”.
2 Attacco WCD:
Il Web Cache Deception è una tipologia di attacco informatico presentata da Omer Gil nel 2017.
Essa aggira il normale funzionamento di un proxy, memorizzando le risposte HTTP della vittima nella cache locale e
rendendole accessibili pubblicamente.
L’attaccante individua vittima e sito bersaglio e, adottando la tecnica Path Confusion adeguata, genera un URL ad hoc.
Tale URL contiene un parametro che riferisce ad un file non presente sul Web Server.
Il nome del file è generato appositamente dall’attaccante [URL Mapping] e corrisponde ad un valore ad alta entropia,
ovvero un valore difficile da indovinare casualmente da altri utenti.
Riprendendo l’esempio Path Parameter: http://website/risorsa.php/50835249.css
Procedimento:
1) L’attaccante convince la vittima a collegarsi a tale URL.
2) Si avvia il processo Path Confusion:
La richiesta della vittima viene processata dal Web
Server che in base a uno o più criteri di URL Rewriting
può ignorare parte dell’URL richiesta [es. “Encoded
Newline”] o variabili di input non valide, per praticità o
negligenza. Se questo processo ha successo, il risultato
dell’elaborazione è un URL che potenzialmente punta a
una risorsa contenente informazioni protette.
Il Web Server genera una risposta HTTP e la trasmette
alla vittima. Il proxy intermedio, essendo all’oscuro dei
processi di URLRewriting e URLMapping, individua
una risposta contenente una risorsa statica, inserendola
in cache.
3) L’attaccante visita la medesima URL e il proxy
intermedio fornisce la risposta della vittima.
3 Ambiente di misura:
Considerata la lista “Alexa Top 5K”, si determinano una popolazione di siti e relativi sottodomini
[Seed Pool].
Essendo alla ricerca di informazioni private della vittima, si considera il sottoinsieme del Seed
Pool che richiede autenticazione. Il campione estratto implementa la tecnologia di autenticazione
“Google OAuth”, permettendo la generazione automatica degli account “vittima” e “attaccante”
dove i campi sensibili sono riempiti con appositi marker ad alta entropia.
Per entrambe le identità e per ciascun sito vengono impiegati dei software [Crawlers] che
individuano un set di pagine obiettivo e ne immagazzinano i cookies.
Si individuano criteri di similitudine delle URL, considerandone un campione per ridurre il carico
di lavoro [URL Grouping].
Ad esempio, un insieme di pagine generate da una stessa applicazione web è probabile mostri le
stesse vulnerabilità.
Successivamente si effettua l’attacco, registrando le risposte di attaccante e vittima per ciascuna
pagina.
Si ricerca nella risposta dell’attaccante (es. Javascript, query string, FORM HTML) la presenza di
valori randomici o markers precedentemente inserite nell’account “vittima”.
Seguendo queste fasi sono stati effettuati due studi a distanza di 14 mesi.
Il primo studio ha impiegato solamente la tecnica Path Confusion di tipo Path Parameter.
Il secondo studio ha impiegato tutte le tecniche descritte nell’introduzione, aggiungendo ai siti che
implementano Google OAuth un campione di 45 siti con differenti tipologie di autenticazione.
Il basso numero di elementi appartenenti al campione è causato dall’impossibilità di una creazione
di account automatica.
Figura 1: Schematizzazione del processo di attacco
Figura 2:
Schematizzazione del
processo di analisi
4 Elaborazione dei dati:
Le analisi sono iniziate rispettivamente in data 05/2018 e 07/2019.
Riferendoci al primo studio, dalla Figura 3 notiamo come la distribuzione delle vulnerabilità sia indipendente dalla
popolarità.
Nonostante l’attacco teoricamente impatti ugualmente sia cache autonome che CDN, tramite particolari header nelle
risposte HTTP si è evidenziato come tutti i siti vulnerabili fossero distribuiti dalle CDN. Considerato che il 74% di
Alexa Top 1K si rimette a CDN, sono necessarie nuove ricerche in merito.
Dall’analisi delle risposte HTTP pervenute all’attaccante, sono state
individuate le seguenti informazioni protette:
- Personal Identifiable Informations [PII]: Informazioni identificative
(nome, cognome, …), di salute (calorie bruciate, peso…), finanziarie
(saldo, transazioni…) etc., individuate in coppie ‘keyword =
variabile’ impiegabili per attacchi phishing mirati [Spearphishing].
- Security Tokens: Cross-Site Request Forgery (CSRF Tokens) segreti
conosciuti solo al client e impiegati per prevenire gli attacchi di tipo
CSRF, i quali inducono la vittima a effettuare delle richieste HTTP,
ad esempio tramite tag HTTP (Iframe, img etc.) nascosti,
condividendo inconsapevolmente informazioni o autorizzando operazioni.
- Tokens Application Programming Interface [API] o Identificatori di
Sessione: Segreti che l’attaccante può impiegare per impersonare la vittima e individuati all’interno di
Javascript generati dinamicamente.
Le misurazioni sono state ripetute con attaccanti non autenticati riscontrando risultati analoghi. L’autenticazione risulta
quindi superflua.
Siti totali Siti Vulnerabili
Google
OAuth
Autenticazioni
varie
Vulnerabili Tasso
rispetto al
totale
Vulnerabili con
informazioni
protette
Tasso rispetto
ai siti
vulnerabili
ANALISI
[05/18]
295 0 16 4,7% 14 87,5%
ANALISI
[07/19]
295 45 25 8,5% 23 92%
Tabella 2: Tassi di Vulnerabilità
Dal confronto delle due analisi emerge come, grazie alla varietà di tecniche Path Confusion applicate, nel secondo
studio si sia verificato un incremento delle positività, dove il 44% dei siti risulta vulnerabile solamente a tecniche
differenti da Path Parameter.
Tali fattori hanno portato inoltre ad un elevato incremento delle risposte HTTP di tipo “200 OK”, vettori di una
maggiore densità di informazioni rispetto alle risposte “404 Not Found”, implicando un aumento delle informazioni
protette ottenute dall’attaccante che per alcuni siti è più che triplicato.
Per verificare che il tasso di vulnerabilità sia indipendente dal campione preso in esame si impiega il test del chi quadro
di Pearson’s, dimostrando l’ininfluenza della tipologia di autenticazione.
La mancata adozione di contromisure durante i 14 mesi che separano i due studi genera preoccupazione nei ricercatori.
5 Configurazioni CDN e implicazioni:
Un dato allarmante riguarda l’accessibilità delle cache dei Reverse Proxy in funzione della posizione geografica.
A differenza delle cache lato server, vulnerabili indipendentemente dalla posizione geografica dell’attaccante, i siti che
si affidano alle CDN dovrebbero possedere un’ulteriore protezione.
Infatti, per architettura delle CDN, zone geografiche differenti vengono gestite da reverse proxy differenti.
Figura 3: Grafico delle vulnerabilità
Per l’attaccante diventa necessario conoscere l’indirizzo IP del
Caching Proxy obiettivo e produrre delle richieste con header
“Host” che nascondano la sua effettiva posizione geografica.
Per verificare la veridicità di tali ipotesi è stato effettuato il
seguente test empirico durante la seconda analisi:
Considerata una vittima a Boston (USA) e un attaccante a Trento
(ITA) è stata ripetuta la procedura illustrata nel punto 2,
constatando che 6 su 25 attacchi hanno avuto successo.
Nonostante la risposta HTTP della vittima non fosse presente nel
Caching Proxy italiano [PT], essa è stata recuperata dall’attaccante.
Ignorando l’effettiva struttura interna delle CDN considerate, è
impossibile fornire delle risposte esaustive riguardo alle cause dei
successi. Una delle ipotesi è la presenza di una cache centralizzata e
di riferimento per tutti gli Caching Proxy ma non individuabile
direttamente dall’esterno.
Questo avrebbe permesso al proxy italiano di contattare quello
statunitense [PB] recuperando la risposta HTTP fornita dal Web
Server [WS] alla vittima.
6 Conclusioni:
In conclusione, le vulnerabilità non risiedono nella configurazione errata del singolo Web Server o Caching Proxy bensì
nella loro interazione fornendo all’attaccante un’ampia scelta di tecniche Path Confusion efficaci.
Per evitare questa vulnerabilità è necessario configurare correttamente le caches, andando oltre le configurazioni
standard delle CDN e considerando una visione olistica del sistema.
Servono quindi ulteriori ricerche a causa delle limitazioni sulla popolazione presa in esame e delle tecniche utilizzate,
evidenziando come i risultati di questi studi illustrino solamente le basi delle potenzialità del WCD.
Figura 4: Schematizzazione dell’attacco da differenti
posizioni geografiche
7 Bibliografia:
Seyed Ali Mirheidari, Kaan Onarlioglu, KU Leuven; “Cached and Confused:
Web Cache Deception in the Wild”, in the Proceedings of the
29th “USENIX Security Symposium”; August 2020.

More Related Content

Similar to Extended summary of "Cached and Confused: Web Cache Deception in the Wild"

Malware Analysis. A Case Study
Malware Analysis. A Case StudyMalware Analysis. A Case Study
Malware Analysis. A Case Study
Gianni Amato
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Luca Bressan
 
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
gwalter85
 
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVOROSVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO
Zanatta Davide
 

Similar to Extended summary of "Cached and Confused: Web Cache Deception in the Wild" (20)

SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
Maria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci- programmazione presentazioneMaria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci- programmazione presentazione
 
Analisi della robustezza architetturale a livello routing e dns in servizi we...
Analisi della robustezza architetturale a livello routing e dns in servizi we...Analisi della robustezza architetturale a livello routing e dns in servizi we...
Analisi della robustezza architetturale a livello routing e dns in servizi we...
 
Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open Source
 
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del Controller
 
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
 
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
 
Net core base
Net core baseNet core base
Net core base
 
Malware Analysis. A Case Study
Malware Analysis. A Case StudyMalware Analysis. A Case Study
Malware Analysis. A Case Study
 
Progetto e realizzazione di uno strumento per la raccolta di dipendenze archi...
Progetto e realizzazione di uno strumento per la raccolta di dipendenze archi...Progetto e realizzazione di uno strumento per la raccolta di dipendenze archi...
Progetto e realizzazione di uno strumento per la raccolta di dipendenze archi...
 
Applicazione di una metofolgia di analisi e valutazione del rischio informatico
Applicazione di una metofolgia di analisi e valutazione del rischio informaticoApplicazione di una metofolgia di analisi e valutazione del rischio informatico
Applicazione di una metofolgia di analisi e valutazione del rischio informatico
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
 
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
 
Summary of 50 ways to leak your data an exploration of apps circumvention of ...
Summary of 50 ways to leak your data an exploration of apps circumvention of ...Summary of 50 ways to leak your data an exploration of apps circumvention of ...
Summary of 50 ways to leak your data an exploration of apps circumvention of ...
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVOROSVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
02 - Introduzione a Internet (I)
02 - Introduzione a Internet (I)02 - Introduzione a Internet (I)
02 - Introduzione a Internet (I)
 
Presentation - Extended summary of "The Representativeness of Automated Web C...
Presentation - Extended summary of "The Representativeness of Automated Web C...Presentation - Extended summary of "The Representativeness of Automated Web C...
Presentation - Extended summary of "The Representativeness of Automated Web C...
 

Extended summary of "Cached and Confused: Web Cache Deception in the Wild"

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Tesi di Laurea Triennale in Ingegneria Elettronica ed Informatica Summary of “Cached and Confused: Web Cache Deception in the Wild” Candidato: Relatore: Marco SANTERAMO Prof. Alberto BARTOLI __________________________________________ Anno Accademico 2019-2020
  • 2. Indice: 1 Introduzione 3 2 Attacco WCD 3 3 Ambiente di misura 4 4 Elaborazione dei dati 4 5 Configurazione CDN e implicazioni 5 6 Conclusioni 6 7 Bibliografia 7
  • 3. 1 Introduzione: La condivisione globale dei contenuti nel web e la loro rapida accessibilità è diventata l’obiettivo dei servizi di condivisione dati. È stato quindi introdotto uno strumento di memorizzazione condivisa di risorse frequentemente utilizzate detto “Web Cache”. Questa tecnologia migliora l’accesso alle risorse, mitigando la latenza delle risposte HTTP e riducendo il traffico Internet. Esse sono presenti localmente nei “Web Browser”, “Web Server” e nei “Proxies” rendendo inadatte al caching le risposte HTTP contenenti informazioni private. In particolare, i “Reverse Caching Proxies” sfruttano il caching per fare da intermediario tra il client e il Web Server con funzioni di protezione aggiuntiva e bilanciamento del carico. Per rendere le proprie risorse accessibili rapidamente da tutto il mondo, i gestori di siti internet si affidano a reti di Reverse Caching Proxy dette “Content Delivery Network” [CDN], rendendo le caches una criticità della rete di condivisione. L’attacco “Web Cache Deception” [WCD] sfrutta le scarse misure di sicurezza e negligenze nell’applicazione dello standard HTTP; alcune possibili configurazioni delle CDN possono esserne complici. Esse supportano un’elevata libertà nel caching delle risorse lasciando all’utente l’onere di analizzare e modificare impostazioni, ad esempio permettendo di scegliere criteri di caching tramite l’analisi dell’URL della risorsa richiesta al posto degli Header Cache HTTP. Le impostazioni di default per le CDN considerate in questo studio sono espresse nella Tabella 2. Tabella 1: Criteri di caching per le principali CDN I Web Server forniscono delle risorse dinamiche, con le quali è possibile interagire interpretando sequenze di caratteri presenti nell’URL come una specifica istruzione [URL Rewriting]. Tali sequenze sono presenti successivamente al percorso che individua la risorsa dinamica all’interno del Web Server. Sono di interesse per lo studio le seguenti tecniche: - Path Parameter: La parte di URL successiva all’ultimo carattere “/” che segue un percorso valido, viene interpretata come una o più variabili di input al documento dinamico. - Encoded Newline: Il web server interrompe l’analisi dell’URL dopo l’identificativo di “nuova riga” [simbolo “/n”, identificativo “%0A”] - Encoded Semicolon: Analogo a Path Parameter ma considerato “%3B” identificativo del carattere”;”. - Encoded Pownd: I web server frammentano l’URL una volta individuato “%23”, identificativo di “asterisco”. - Encoded Question Mark: Analogo a Path Parameter ed Encoded Semicolon, ma è necessario inserire anche il nome della variabile di input. Questo processo, non essendo impiegato anche dai proxy intermedi, porta a due interpretazioni dell’URL [Path Confusion]. Esempio di Path Confusion con tecnica Path Parameter: “http://website/risorsa.php/val1/val2” Le variabili val1 e val2 vengono interpretate come tali dal Web Server tramite il processo di URL Rewriting ed elise se non compatibili con i parametri di ingresso di “risorsa.php”. Il Proxy non impiega tali processi, interpretando “/val1” come parte del percorso “http://website/risorsa.php/val1/” che punta alla risorsa “val2”.
  • 4. 2 Attacco WCD: Il Web Cache Deception è una tipologia di attacco informatico presentata da Omer Gil nel 2017. Essa aggira il normale funzionamento di un proxy, memorizzando le risposte HTTP della vittima nella cache locale e rendendole accessibili pubblicamente. L’attaccante individua vittima e sito bersaglio e, adottando la tecnica Path Confusion adeguata, genera un URL ad hoc. Tale URL contiene un parametro che riferisce ad un file non presente sul Web Server. Il nome del file è generato appositamente dall’attaccante [URL Mapping] e corrisponde ad un valore ad alta entropia, ovvero un valore difficile da indovinare casualmente da altri utenti. Riprendendo l’esempio Path Parameter: http://website/risorsa.php/50835249.css Procedimento: 1) L’attaccante convince la vittima a collegarsi a tale URL. 2) Si avvia il processo Path Confusion: La richiesta della vittima viene processata dal Web Server che in base a uno o più criteri di URL Rewriting può ignorare parte dell’URL richiesta [es. “Encoded Newline”] o variabili di input non valide, per praticità o negligenza. Se questo processo ha successo, il risultato dell’elaborazione è un URL che potenzialmente punta a una risorsa contenente informazioni protette. Il Web Server genera una risposta HTTP e la trasmette alla vittima. Il proxy intermedio, essendo all’oscuro dei processi di URLRewriting e URLMapping, individua una risposta contenente una risorsa statica, inserendola in cache. 3) L’attaccante visita la medesima URL e il proxy intermedio fornisce la risposta della vittima. 3 Ambiente di misura: Considerata la lista “Alexa Top 5K”, si determinano una popolazione di siti e relativi sottodomini [Seed Pool]. Essendo alla ricerca di informazioni private della vittima, si considera il sottoinsieme del Seed Pool che richiede autenticazione. Il campione estratto implementa la tecnologia di autenticazione “Google OAuth”, permettendo la generazione automatica degli account “vittima” e “attaccante” dove i campi sensibili sono riempiti con appositi marker ad alta entropia. Per entrambe le identità e per ciascun sito vengono impiegati dei software [Crawlers] che individuano un set di pagine obiettivo e ne immagazzinano i cookies. Si individuano criteri di similitudine delle URL, considerandone un campione per ridurre il carico di lavoro [URL Grouping]. Ad esempio, un insieme di pagine generate da una stessa applicazione web è probabile mostri le stesse vulnerabilità. Successivamente si effettua l’attacco, registrando le risposte di attaccante e vittima per ciascuna pagina. Si ricerca nella risposta dell’attaccante (es. Javascript, query string, FORM HTML) la presenza di valori randomici o markers precedentemente inserite nell’account “vittima”. Seguendo queste fasi sono stati effettuati due studi a distanza di 14 mesi. Il primo studio ha impiegato solamente la tecnica Path Confusion di tipo Path Parameter. Il secondo studio ha impiegato tutte le tecniche descritte nell’introduzione, aggiungendo ai siti che implementano Google OAuth un campione di 45 siti con differenti tipologie di autenticazione. Il basso numero di elementi appartenenti al campione è causato dall’impossibilità di una creazione di account automatica. Figura 1: Schematizzazione del processo di attacco Figura 2: Schematizzazione del processo di analisi
  • 5. 4 Elaborazione dei dati: Le analisi sono iniziate rispettivamente in data 05/2018 e 07/2019. Riferendoci al primo studio, dalla Figura 3 notiamo come la distribuzione delle vulnerabilità sia indipendente dalla popolarità. Nonostante l’attacco teoricamente impatti ugualmente sia cache autonome che CDN, tramite particolari header nelle risposte HTTP si è evidenziato come tutti i siti vulnerabili fossero distribuiti dalle CDN. Considerato che il 74% di Alexa Top 1K si rimette a CDN, sono necessarie nuove ricerche in merito. Dall’analisi delle risposte HTTP pervenute all’attaccante, sono state individuate le seguenti informazioni protette: - Personal Identifiable Informations [PII]: Informazioni identificative (nome, cognome, …), di salute (calorie bruciate, peso…), finanziarie (saldo, transazioni…) etc., individuate in coppie ‘keyword = variabile’ impiegabili per attacchi phishing mirati [Spearphishing]. - Security Tokens: Cross-Site Request Forgery (CSRF Tokens) segreti conosciuti solo al client e impiegati per prevenire gli attacchi di tipo CSRF, i quali inducono la vittima a effettuare delle richieste HTTP, ad esempio tramite tag HTTP (Iframe, img etc.) nascosti, condividendo inconsapevolmente informazioni o autorizzando operazioni. - Tokens Application Programming Interface [API] o Identificatori di Sessione: Segreti che l’attaccante può impiegare per impersonare la vittima e individuati all’interno di Javascript generati dinamicamente. Le misurazioni sono state ripetute con attaccanti non autenticati riscontrando risultati analoghi. L’autenticazione risulta quindi superflua. Siti totali Siti Vulnerabili Google OAuth Autenticazioni varie Vulnerabili Tasso rispetto al totale Vulnerabili con informazioni protette Tasso rispetto ai siti vulnerabili ANALISI [05/18] 295 0 16 4,7% 14 87,5% ANALISI [07/19] 295 45 25 8,5% 23 92% Tabella 2: Tassi di Vulnerabilità Dal confronto delle due analisi emerge come, grazie alla varietà di tecniche Path Confusion applicate, nel secondo studio si sia verificato un incremento delle positività, dove il 44% dei siti risulta vulnerabile solamente a tecniche differenti da Path Parameter. Tali fattori hanno portato inoltre ad un elevato incremento delle risposte HTTP di tipo “200 OK”, vettori di una maggiore densità di informazioni rispetto alle risposte “404 Not Found”, implicando un aumento delle informazioni protette ottenute dall’attaccante che per alcuni siti è più che triplicato. Per verificare che il tasso di vulnerabilità sia indipendente dal campione preso in esame si impiega il test del chi quadro di Pearson’s, dimostrando l’ininfluenza della tipologia di autenticazione. La mancata adozione di contromisure durante i 14 mesi che separano i due studi genera preoccupazione nei ricercatori. 5 Configurazioni CDN e implicazioni: Un dato allarmante riguarda l’accessibilità delle cache dei Reverse Proxy in funzione della posizione geografica. A differenza delle cache lato server, vulnerabili indipendentemente dalla posizione geografica dell’attaccante, i siti che si affidano alle CDN dovrebbero possedere un’ulteriore protezione. Infatti, per architettura delle CDN, zone geografiche differenti vengono gestite da reverse proxy differenti. Figura 3: Grafico delle vulnerabilità
  • 6. Per l’attaccante diventa necessario conoscere l’indirizzo IP del Caching Proxy obiettivo e produrre delle richieste con header “Host” che nascondano la sua effettiva posizione geografica. Per verificare la veridicità di tali ipotesi è stato effettuato il seguente test empirico durante la seconda analisi: Considerata una vittima a Boston (USA) e un attaccante a Trento (ITA) è stata ripetuta la procedura illustrata nel punto 2, constatando che 6 su 25 attacchi hanno avuto successo. Nonostante la risposta HTTP della vittima non fosse presente nel Caching Proxy italiano [PT], essa è stata recuperata dall’attaccante. Ignorando l’effettiva struttura interna delle CDN considerate, è impossibile fornire delle risposte esaustive riguardo alle cause dei successi. Una delle ipotesi è la presenza di una cache centralizzata e di riferimento per tutti gli Caching Proxy ma non individuabile direttamente dall’esterno. Questo avrebbe permesso al proxy italiano di contattare quello statunitense [PB] recuperando la risposta HTTP fornita dal Web Server [WS] alla vittima. 6 Conclusioni: In conclusione, le vulnerabilità non risiedono nella configurazione errata del singolo Web Server o Caching Proxy bensì nella loro interazione fornendo all’attaccante un’ampia scelta di tecniche Path Confusion efficaci. Per evitare questa vulnerabilità è necessario configurare correttamente le caches, andando oltre le configurazioni standard delle CDN e considerando una visione olistica del sistema. Servono quindi ulteriori ricerche a causa delle limitazioni sulla popolazione presa in esame e delle tecniche utilizzate, evidenziando come i risultati di questi studi illustrino solamente le basi delle potenzialità del WCD. Figura 4: Schematizzazione dell’attacco da differenti posizioni geografiche
  • 7. 7 Bibliografia: Seyed Ali Mirheidari, Kaan Onarlioglu, KU Leuven; “Cached and Confused: Web Cache Deception in the Wild”, in the Proceedings of the 29th “USENIX Security Symposium”; August 2020.