Studio e sviluppo di un tool per la rilevazione di vulnerabilità di tipo web cache deception
Durante il periodo di tirocinio è stato sviluppato un tool per la rilevazione delle vulnerabilità di tipo web cache deception. Parallelamente allo sviluppo sono state studiate varianti di web cache deception specifiche, alcune delle quali mai discusse prima in letteratura, la cui metodologia di ricerca è stata implementata nel tool. Successivamente allo sviluppo, il tool è stato testato su più di 100 domini, dove è stato in grado di rilevare diverse vulnerabilità. Infine sono stati studiati nuovi vettori d’attacco per le web cache deception, ponendo principalmente l’attenzione sui web mail client. È stato dimostrato come sia possibile utilizzare alcuni web mail client come vettori d’attacco per le web cache deception, aspetto che non è mai stato discusso in letteratura.
Tecnologie coinvolte
Grazie al lavoro svolto durante il tirocinio è stato possibile apprendere nuove nozioni per quanto riguarda le web cache deception e sulla loro ricerca. Per lo sviluppo del tool è stato utilizzato il linguaggio Java e diverse librerie, oltre che l’API Selenium per l’utilizzo di un headless browser.Inoltre per lo sviluppo di un componente del tool (un’estensione del browser Firefox) è stato utilizzato Javascript.
Competenze e risultati raggiunti
Sono stati ottenuti buoni risultati e tutti gli obbiettivi iniziali sono stati raggiunti. Di seguito si elencano i principali risultati ottenuti:
- È stato sviluppato un tool per l’automazione della ricerca delle web cache deception, sviluppato in modo tale da coprire il maggior numero di scenari possibili.
- È stato testato il tool su più di 100 domini dove è stato in grado di rilevare alcune vulnerabilità.
- Sono state individuate specifiche vulnerabilità di tipo web cache deception, uniche nel proprio genere, la cui metodologia di ricerca è stata implementata nel tool.
- È stato scoperto un nuovo vettore d’attacco per le web cache deception basato sui web mail client.
È stato possibile dimostrare come le web cache deception siano ancora oggi un problema diffuso nel web. Inoltre è stato anche dimostrato come l’introduzione delle tecnologie di web caching e delle relative vulnerabilità di tipo web cache deception, abbiano implicazioni su tecnologie già esistenti come i web mail client e possano impattare pratiche ritenute sicure come l’apertura di una mail.
Si sono riscontrati dei problemi principalmente per quanto riguarda la fase di crawling del tool, ovvero in alcuni casi il tool veniva bloccato da un software antibot che controllava il valore della proprietà Javascript navigator.webdriver, non modificabile con l’API di Selenium. Per ovviare a questo problema si dovrebbero modificare i driver del browser utilizzati dall’API Selenium, ciò non è stato fatto in quanto va oltre lo scopo di questa tesi. Per quanto riguarda gli sviluppi futuri il tool è accessibile pubblicamente alla seguente repository Github: https://github.com/f-min/WCD_prober e nel caso ci siano aggiornamenti saranno pubblicati nuove release.
Il lavoro svolto in questa tesi ha portato alla pubblicazione dell’articolo “A Methodology for Web Cache Deception Vulnerability Discovery” alla “International Conference on Cloud Computing and Services Science 2024”.