SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
UNIVERSITÀDEGLISTUDIDITRIESTE
Dipartimento diIngegneria e Architettura
Corso di Studi in Ingegneria Elettronica e Informatica
EXTENDED SUMMARY OF “AN
EMPIRICAL STUDY OF THE USE OF
INTEGRITY VERIFICATION
MECHANISMS FOR WEB
SUBRESOURCES”
Tesi di Laurea Triennale
Laureando:
Giacomo BONORA
Relatore:
prof. Alberto BARTOLI
_____________________________________
ANNO ACCADEMICO 2021-2022
Sommario
1 INTRODUZIONE.............................................................................................................................3
2 SISTEMA E MODELLO DI MINACCIA .......................................................................................3
3 LA RACCOMANDAZIONE DEL W3C SRI ..................................................................................3
4 ANALISI SU LARGA SCALA........................................................................................................4
4.1 Fonti dei dati..............................................................................................................................4
4.2 Metodologia...............................................................................................................................4
4.3 Risultati......................................................................................................................................4
4.3.1 Adozione di HTTPS ............................................................................................................4
4.3.2 Estensione della minaccia ...................................................................................................5
4.3.3 Adozione delle SRI .............................................................................................................5
4.3.4 Utilizzo delle SRI................................................................................................................6
5 ESPERIENZA SVILUPPATORI WEB ............................................................................................7
6 DISCUSSIONE E CONCLUSIONE................................................................................................8
7 FONTI BIBLIOGRAFICHE ............................................................................................................8
1 INTRODUZIONE
L'argomento di discussione dell'articolo preso in analisi è la struttura del Web, costituito nello
specifico da un insieme di risorse interconnesse identificate da URL, di cui fanno parte pagine web
HTML che includono collegamenti navigabili e sottorisorse come script, fogli di stile, immagini e
video. Tuttavia, con l'avvento delle reti di distribuzione dei contenuti (CDN), sempre più
sottorisorse vengono ospitate da fornitori terzi, noti come sottorisorse cross-domain. Questo ha
portato diversi vantaggi, come una maggiore affidabilità e la riduzione di costi e latenza, ma
comporta anche alcuni rischi per la sicurezza, in quanto le sottorisorse possono essere alterate
durante la trasmissione. Per affrontare questo problema, il W3C ha rilasciato la raccomandazione
sull'integrità delle sottorisorse (SRI) nel 2016, che consente agli sviluppatori di includere i digest,
delle sottorisorse, per verificare l’integrità delle risorse prima di caricarle. Come dichiarato dallo
stesso W3C questa pratica non risolve totalmente il problema se non in un contesto sicuro, HTTPS.
È stato condotto il primo studio longitudinale su larga scala riguardante l'utilizzo delle SRI nel web,
intervistando gli sviluppatori web in merito alla loro comprensione e utilizzo delle SRI. La ricerca si
è basata su un enorme set di dati di circa 3 miliardi di URL, analizzando l'uso delle SRI negli ultimi
3 anni e mezzo. L'analisi ha mostrato che più dell'80% delle pagine web include almeno una
sottorisorsa esterna e che l'uso delle SRI è cresciuto, passando da meno dell'1% nell'ottobre 2017 al
3,40% nel settembre 2019.
2 SISTEMA E MODELLO DI MINACCIA
Consideriamo una pagina web ospitata su un server che contiene sottorisorse come script, fogli di
stile e immagini incluse per riferimento e non salvate nello stesso web server della pagina. Le
risorse possono essere interne o esterne. Con sottorisorse esterne si includono risorse presenti su
altri siti web o ospitate su una rete di distribuzione di contenuti. Quando un utente visita una pagina
web, il browser recupera prima la pagina web dal server, poi le sue sottorisorse, per ultimo mostra
la pagina web all'utente. L’alterazione del contenuto della sottorisorsa può avvenire per diverse
ragioni, tra cui la compromissione del canale di comunicazione tra client e server, la
compromissione della memoria del server da parte di un hacker o la modifica della sottorisorsa da
parte del suo manutentore.
3 LA RACCOMANDAZIONE DEL W3C SRI
Le SRI consentono agli sviluppatori web di garantire l'integrità del contenuto delle sottorisorse
incluse nelle loro pagine web. Le SRI, a partire da settembre del 2019, coprono gli elementi script e
link e sono pienamente supportate da diversi browser. Un uso tipico delle SRI è il seguente:
<script src=“https://www.server.com/script.js” integrity=“sha256-47D…␣sha512-8HB…” />
Un attributo di integrità è formato da una o più espressioni hash (separate da uno spazio) che
contengono il nome dell'algoritmo di hashing e il digest, generato da quell'algoritmo. Il browser
verifica l'integrità di una sottorisorsa verificando se il digest della sottorisorsa corrisponde a quello
specificato nell'espressione hash nell’attributo “integrity”. Se l’attributo di integrità risulta
malformato o vuoto la sottorisorsa viene caricata ugualmente. Se, invece, non dovesse
corrispondere, la sottorisorsa non viene caricata. Le direttive CSP (Content Security Policy)
possono essere utilizzate per costringere gli sviluppatori web a specificare un attributo di integrità
valido per ogni sottorisorsa. In questo modo, le sottorisorse prive di attributo di integrità o con un
attributo malformato non vengono caricate. Tuttavia, attualmente queste direttive iniziano ad essere
abbandonate dai browser Web.
4 ANALISI SU LARGA SCALA
4.1 Fonti dei dati
Verranno utilizzati due fonti di dati principali per la nostra analisi: una del web su larga scala e una
classifica dei domini basata sulla loro popolarità. L’analisi del web è fornita da Common Crawl.
L’insieme di dati forniti, dataset, da Common Crawl (CC) contiene istantanee del Web, ciascuna di
essa contiene Header HTTP e il contenuto http della pagina Web. L’altra collezione di dati Cisco
Umbrella 1 Million (Top1m) fornisce una classifica dei nomi di dominio più popolari basata sulle
statistiche di query DNS e sugli IP client in 165 Paesi.
4.2 Metodologia
È stato analizzato l'uso delle SRI esaminando il contenuto HTML delle pagine web e identificando
le sottorisorse incluse. Poiché l'analisi di tutte le pagine web richiede molto tempo, è stata posta
maggiore concentrazione sulle pagine che includono un attributo di integrità ed è stato utilizzato un
semplice filtro per individuarle. L'insieme di pagine web che contengono almeno una SRI (CC-SRI)
costituisce il set di dati su cui condurre l’analisi. Per ogni pagina web del set di dati CC-SRI viene
estratto l'URL, la politica di sicurezza dei contenuti (CSP) e tutti gli elementi/sottorisorse di link e
script. Per analizzare l'utilizzo delle SRI e la sua evoluzione nel tempo, sono stati elaborati 13
istantanee del dataset Common Crawl dal 2016-05 al 2019-09. Inoltre, per studiare l'utilizzo delle
sottorisorse sul web in generale, non solo per le pagine che utilizzano le SRI, è stato estratto un
campione (CC-all-1%) che contiene l'1% dell'ultima istantanea (2019-09) del dataset CC.
4.3 Risultati
4.3.1 Adozione di HTTPS
Per valutare l'adozione di TLS/HTTPS nel dataset CC, si identifica il protocollo utilizzato (HTTP o
HTTPS) in base all'URL della pagina web. Il protocollo TLS utilizzato in HTTPS fornisce, oltre
all'autenticazione, anche l'integrità del canale, il che lo rende correlato e talvolta complementare alle
SRI, le quali forniscono l'integrità del canale e dell'archiviazione.
La figura 1 illustra l'andamento della percentuale di pagine web servite tramite HTTPS nel dataset
CC e nel suo sottoinsieme Top1m, insieme alle principali tappe nello sviluppo e nella diffusione di
HTTPS. Nell'ultima istantanea del CC (2019-09), il 58,82% delle pagine web è stato servito tramite
HTTPS, con una percentuale significativamente più elevata tra le pagine web più popolari (87,43%
nella Top1m).
Figura 1: andamento della percentuale delle pagine web
che utilizzano HTPPS nel tempo
4.3.2 Estensione della minaccia
Per valutare la minaccia più comune all'integrità delle sottorisorse, viene calcolata la percentuale di
pagine web che includono almeno una sottorisorsa esterna, nel dataset CC-all-1%. Nel dataset CC-
all-1%, l'82,76% delle pagine web include almeno una sottorisorsa esterna di link o script, e queste
pagine web includono in media da 8 a 15 sottorisorse, sono quindi potenzialmente esposte a
minacce all'integrità delle sottorisorse e possono beneficiare delle SRI, che coprono gli elementi
script e link. Le immagini non sono coperte dalle SRI, ed è interessante notare che la percentuale di
pagine web che includono un’immagine esterna è maggiore del 50%.
4.3.3 Adozione delle SRI
La dimensione del dataset CC-SRI ha permesso di individuare la percentuale di pagine web che
utilizzano le SRI nel tempo, come mostrato nella Figura 2, che riporta anche le principali tappe
dell'evoluzione e dell'adozione delle SRI. In particolare, sono state evidenziate le date in cui alcune
librerie popolari, come Bootstrap, hanno iniziato a includere gli attributi di integrità nei loro
frammenti di codice, nonché la disponibilità di una bozza della raccomandazione SRI prima del suo
rilascio ufficiale. Inoltre, è stato osservato che le SRI sono state implementate in alcuni browser
web prima del loro rilascio ufficiale. Nonostante una discreta adozione complessiva delle SRI, con
solo il 3,40% di tutte le pagine web in CC, è stata osservata una tendenza in crescita, con un
aumento nel 2018 doppio rispetto all'anno precedente. Un fattore che potrebbe accelerare l'adozione
delle SRI è l'inclusione automatica degli attributi di integrità da parte degli strumenti di
compilazione.
Poiché l'hosting di sottorisorse su server di terze parti comporta rischi, per esempio code injection o
cross-site scripting, che i siti web più importanti non sono disposti a correre, l'adozione delle SRI da
parte dei siti Top1m è più rapida rispetto al resto del Web.
Figura 2:percentuale di utilizzo da parte delle pagine Web delle SRI nel tempo
L’adozione delle SRI è influenzata dagli sviluppatori di librerie e dagli operatori CDN, come
confermato dai risultati del sondaggio tra gli sviluppatori web.
Per approfondire questo aspetto, vengono analizzate:
1. le sottorisorse più utilizzate sul web
2. i principali domini che forniscono le sottorisorse che utilizzano le SRI
Per le sottorisorse è stata calcolata la lista di quelle più utilizzate nel dataset CC-all-1% e viene
verificato se contengono un frammento di codice che utilizzi le SRI. Dato che le stesse sottorisorse
possono essere ospitate su più domini con URL differenti, è stato sviluppato un metodo per
identificarle utilizzando l'attributo "target" degli elementi.
Per i domini viene analizzata la popolarità in ogni istantanea del dataset CC-SRI, contando il
numero di sottorisorse con un attributo di integrità ospitate su ciascun dominio, in base all'URL
presente nell'attributo target.
4.3.4 Utilizzo delle SRI
Vengono analizzate le attuali pratiche degli sviluppatori web relative all'uso delle SRI. In
particolare, si calcola il numero di risorse secondarie che utilizzano o meno l'attributo di integrità
nelle istantanee del dataset CC-SRI. In media, le pagine web contengono circa 41 sottorisorse, ma
solo 1,79 di queste utilizzano l'attributo di integrità. Si valuta anche la distribuzione degli algoritmi
di hash e del numero di espressioni di hash utilizzate negli attributi di integrità per gli elementi link
e script. La maggior parte degli attributi di integrità, nel dataset CC-SRI, contiene un solo digest e
gli algoritmi più comuni sono sha384, sha256 e sha512. Solo l'1,16% degli attributi delle pagine che
usano SRI contengono più di un digest con algoritmi di hash diversi. Si evidenzia che gran parte
degli sviluppatori web copia e incolla frammenti di codice da altri siti web, come librerie e CDN, il
che significa che le osservazioni sull'uso delle SRI si applicano anche agli sviluppatori delle librerie
incluse e agli operatori delle CDN. A seconda delle impostazioni considerate e dell'avversario, le
SRI e il protocollo TLS possono offrire protezione alla sicurezza della pagina web. Le impostazioni
vengono classificate in base a tre criteri: l'uso di TLS per la pagina web, l'uso di TLS per la
sottorisorsa e se il percorso della sottorisorsa è locale o esterno. Nel dataset CC-SRI, viene
analizzata la ripartizione tra le diverse impostazioni già menzionate. Si è osservato che spesso il
protocollo viene omesso, in questo modo il protocollo utilizzato per servire la pagina sarà lo stesso
utilizzato per ottenere la sottorisorsa, soprattutto nelle pagine web servite tramite TLS. Inoltre, la
maggior parte delle sottorisorse utilizza URL assoluti per specificare il percorso nell'attributo target,
che di solito sono utilizzati per le sottorisorse esterne. Le SRI proteggono dalle corruzioni sul server
e sul canale, sempre che quest’ultimi per servire la pagina web non siano compromessi. Quando la
pagina web viene servita senza TLS, gli attributi di integrità delle sottorisorse non sono protetti
durante la trasmissione e la sicurezza della pagina web non è garantita.
5 ESPERIENZA SVILUPPATORI WEB
Dato l'esito precedente, si è voluto indagare sulla comprensione degli sviluppatori web sulle SRI.
Per garantire un'elevata affidabilità dei dati, sono stati seguiti diversi processi di garanzia della
qualità durante la somministrazione dello strumento di indagine. Sono stati selezionati 227
sviluppatori web autori di plug-in e temi di WordPress e autori di pacchetti NPM. Per evitare che gli
intervistati si orientassero verso l’argomento della sicurezza informatica, è stato inviato via e-mail il
sondaggio da compilare descritto come “comprensione delle pratiche del web”.
Pertanto, sono state poste le seguenti domande ottenendo le seguenti risposte:
• RQ1. Gli sviluppatori web sono consapevoli dei rischi associati alle risorse secondarie
(esterne)?
o La maggior parte degli intervistati è stata in grado di identificare le principali
minacce dello scenario fornito, ovvero malicious code injection e il cross-site
scripting (56,8% o 129). Un gruppo più ristretto (13,2% o 30) ha descritto gli effetti
secondari: compromissione della privacy degli utenti, key-logging, reindirizzamento
a siti web falsi, mentre circa un terzo dei partecipanti (30% o 68) ha fornito risposte
generiche.
• RQ2. Gli sviluppatori web sono consapevoli delle SRI?
o Confrontando i risultati si è concluso che solo il 31% circa degli intervistati è in
grado di abbinare lo scenario alla soluzione fornita dalle SRI.
• RQ3. In che misura gli sviluppatori web comprendono l'uso delle SRI (comportamenti
generali e specifici)?
o Gli intervistati che hanno affermato di conoscere o utilizzare le SRI sono stati invitati
a descrivere come le SRI potrebbero essere utilizzate in un sito web e a quale scopo.
La maggioranza degli intervistati ha fornito una descrizione corretta dello scopo e
dell'implementazione delle SRI (88,6% o 132), ma il 11,4% (o 17) degli intervistati
non è stato in grado di farlo.
• RQ4. Quali sono le pratiche attuali degli sviluppatori quando utilizzano le SRI?
o Gli intervistati sono stati invitati a indicare come di solito includono le SRI nella loro
pratica di sviluppo web scegliendo da un elenco di opzioni e specificando eventuali
altre pratiche in un campo di testo libero. La maggior parte degli intervistati ha
segnalato di copiare e incollare frammenti di codice da documentazioni ufficiali,
seguita dalla configurazione degli strumenti di compilazione per calcolare le
checksum in modo automatico e includerle nel codice. Un terzo gruppo ha indicato
di calcolare manualmente le checksum delle sottorisorse e di includerle nel codice,
mentre un quarto gruppo ha riferito di copiare frammenti di codice dalle comunità
online. Infine, alcuni intervistati non erano sicuri o non avevano ancora utilizzato le
SRI.
6 DISCUSSIONE E CONCLUSIONE
In questo articolo è stato fornito il primo studio completo sull'uso delle SRI. La ricerca si è basata
su un'analisi longitudinale dei dataset di Common Crawl negli ultimi 3 anni e mezzo; il tasso di
adozione delle SRI è attualmente pari a ≈3,40% ed è in crescita. Gli sviluppatori di librerie e i
fornitori di CDN influenzano l'adozione attraverso l'inclusione di attributi di integrità nei frammenti
di codice messi a disposizione degli sviluppatori. L'indagine ha evidenziato una buona conoscenza
delle SRI tra gli sviluppatori, ma anche alcune incomprensioni sul loro funzionamento. Infine, pur
ricordando che i risultati si basano su comportamenti personali non verificabili, e quindi potrebbero
differire da quelli reali, l'uso delle SRI è in gran parte manuale, anche se sarebbe richiesta una
migliore integrazione.
7 FONTI BIBLIOGRAFICHE
Bertil Chapuis, Olamide Omolola, Mauro Cherubini, Mathias Humbert, Kévin Huguenin. An
Empirical Study of the Use of Integrity Verification Mechanisms for Web Subresources. The Web
Conference (WWW), Apr 2020, Taipei, Taiwan. pp.34-45, ff10.1145/3366423.3380092ff. ffhal-
02435688f

Más contenido relacionado

Similar a Extended Summary of 'An Empirical Study of the Use of Integrity Verification Mechanisms for Web Subresources'

DBpedia nel contesto Linked Data
DBpedia nel contesto Linked DataDBpedia nel contesto Linked Data
DBpedia nel contesto Linked Data
Andrea Casagrande
 
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso BootstrapStudio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Davide Polotto
 
Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...
Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...
Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...
Anna Stramaglia
 
PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...
PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...
PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...
guestfe85ba
 

Similar a Extended Summary of 'An Empirical Study of the Use of Integrity Verification Mechanisms for Web Subresources' (20)

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
 
DBpedia nel contesto Linked Data
DBpedia nel contesto Linked DataDBpedia nel contesto Linked Data
DBpedia nel contesto Linked Data
 
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDAnalisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
 
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...
 
Seo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesignerSeo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesigner
 
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso BootstrapStudio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap
 
I motori di_ricerca_1
I motori di_ricerca_1I motori di_ricerca_1
I motori di_ricerca_1
 
06 - Il browser
06 - Il browser06 - Il browser
06 - Il browser
 
6 - Il browser - 16/17
6 - Il browser - 16/176 - Il browser - 16/17
6 - Il browser - 16/17
 
Motori Di Ricerca e Standard Web - Smau 2008
Motori Di Ricerca e Standard Web - Smau 2008Motori Di Ricerca e Standard Web - Smau 2008
Motori Di Ricerca e Standard Web - Smau 2008
 
Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...
Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...
Progettazione e sviluppo del modulo di gestione e analisi dei biosegnali all'...
 
10 - Ricercare nel web II
10 - Ricercare nel web II10 - Ricercare nel web II
10 - Ricercare nel web II
 
PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...
PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...
PROGETTO E REALIZZAZIONE DI UN SISTEMA PER L’ANNOTAZIONE AUTOMATICA DI IMMAGI...
 
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
 
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
 
Extended summary of "Accept the Risk and Continue: Measuring the Long Tail of...
Extended summary of "Accept the Risk and Continue: Measuring the Long Tail of...Extended summary of "Accept the Risk and Continue: Measuring the Long Tail of...
Extended summary of "Accept the Risk and Continue: Measuring the Long Tail of...
 
Promozione sul web per la Pubblica Amministrazione
Promozione sul web per la Pubblica AmministrazionePromozione sul web per la Pubblica Amministrazione
Promozione sul web per la Pubblica Amministrazione
 
SugarCRM REST API: Un’applicazione in appena dieci minuti
SugarCRM REST API: Un’applicazione in appena dieci minutiSugarCRM REST API: Un’applicazione in appena dieci minuti
SugarCRM REST API: Un’applicazione in appena dieci minuti
 
I motori di ricerca e le caratteristiche di un sito web
I motori di ricerca e le caratteristiche di un sito webI motori di ricerca e le caratteristiche di un sito web
I motori di ricerca e le caratteristiche di un sito web
 
Smau Bologna | R2B 2019 Luca Bonadimani (AIPSI)
Smau Bologna | R2B 2019 Luca Bonadimani (AIPSI)Smau Bologna | R2B 2019 Luca Bonadimani (AIPSI)
Smau Bologna | R2B 2019 Luca Bonadimani (AIPSI)
 

Último

Último (9)

GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 

Extended Summary of 'An Empirical Study of the Use of Integrity Verification Mechanisms for Web Subresources'

  • 1. UNIVERSITÀDEGLISTUDIDITRIESTE Dipartimento diIngegneria e Architettura Corso di Studi in Ingegneria Elettronica e Informatica EXTENDED SUMMARY OF “AN EMPIRICAL STUDY OF THE USE OF INTEGRITY VERIFICATION MECHANISMS FOR WEB SUBRESOURCES” Tesi di Laurea Triennale Laureando: Giacomo BONORA Relatore: prof. Alberto BARTOLI _____________________________________ ANNO ACCADEMICO 2021-2022
  • 2. Sommario 1 INTRODUZIONE.............................................................................................................................3 2 SISTEMA E MODELLO DI MINACCIA .......................................................................................3 3 LA RACCOMANDAZIONE DEL W3C SRI ..................................................................................3 4 ANALISI SU LARGA SCALA........................................................................................................4 4.1 Fonti dei dati..............................................................................................................................4 4.2 Metodologia...............................................................................................................................4 4.3 Risultati......................................................................................................................................4 4.3.1 Adozione di HTTPS ............................................................................................................4 4.3.2 Estensione della minaccia ...................................................................................................5 4.3.3 Adozione delle SRI .............................................................................................................5 4.3.4 Utilizzo delle SRI................................................................................................................6 5 ESPERIENZA SVILUPPATORI WEB ............................................................................................7 6 DISCUSSIONE E CONCLUSIONE................................................................................................8 7 FONTI BIBLIOGRAFICHE ............................................................................................................8
  • 3. 1 INTRODUZIONE L'argomento di discussione dell'articolo preso in analisi è la struttura del Web, costituito nello specifico da un insieme di risorse interconnesse identificate da URL, di cui fanno parte pagine web HTML che includono collegamenti navigabili e sottorisorse come script, fogli di stile, immagini e video. Tuttavia, con l'avvento delle reti di distribuzione dei contenuti (CDN), sempre più sottorisorse vengono ospitate da fornitori terzi, noti come sottorisorse cross-domain. Questo ha portato diversi vantaggi, come una maggiore affidabilità e la riduzione di costi e latenza, ma comporta anche alcuni rischi per la sicurezza, in quanto le sottorisorse possono essere alterate durante la trasmissione. Per affrontare questo problema, il W3C ha rilasciato la raccomandazione sull'integrità delle sottorisorse (SRI) nel 2016, che consente agli sviluppatori di includere i digest, delle sottorisorse, per verificare l’integrità delle risorse prima di caricarle. Come dichiarato dallo stesso W3C questa pratica non risolve totalmente il problema se non in un contesto sicuro, HTTPS. È stato condotto il primo studio longitudinale su larga scala riguardante l'utilizzo delle SRI nel web, intervistando gli sviluppatori web in merito alla loro comprensione e utilizzo delle SRI. La ricerca si è basata su un enorme set di dati di circa 3 miliardi di URL, analizzando l'uso delle SRI negli ultimi 3 anni e mezzo. L'analisi ha mostrato che più dell'80% delle pagine web include almeno una sottorisorsa esterna e che l'uso delle SRI è cresciuto, passando da meno dell'1% nell'ottobre 2017 al 3,40% nel settembre 2019. 2 SISTEMA E MODELLO DI MINACCIA Consideriamo una pagina web ospitata su un server che contiene sottorisorse come script, fogli di stile e immagini incluse per riferimento e non salvate nello stesso web server della pagina. Le risorse possono essere interne o esterne. Con sottorisorse esterne si includono risorse presenti su altri siti web o ospitate su una rete di distribuzione di contenuti. Quando un utente visita una pagina web, il browser recupera prima la pagina web dal server, poi le sue sottorisorse, per ultimo mostra la pagina web all'utente. L’alterazione del contenuto della sottorisorsa può avvenire per diverse ragioni, tra cui la compromissione del canale di comunicazione tra client e server, la compromissione della memoria del server da parte di un hacker o la modifica della sottorisorsa da parte del suo manutentore. 3 LA RACCOMANDAZIONE DEL W3C SRI Le SRI consentono agli sviluppatori web di garantire l'integrità del contenuto delle sottorisorse incluse nelle loro pagine web. Le SRI, a partire da settembre del 2019, coprono gli elementi script e link e sono pienamente supportate da diversi browser. Un uso tipico delle SRI è il seguente: <script src=“https://www.server.com/script.js” integrity=“sha256-47D…␣sha512-8HB…” /> Un attributo di integrità è formato da una o più espressioni hash (separate da uno spazio) che
  • 4. contengono il nome dell'algoritmo di hashing e il digest, generato da quell'algoritmo. Il browser verifica l'integrità di una sottorisorsa verificando se il digest della sottorisorsa corrisponde a quello specificato nell'espressione hash nell’attributo “integrity”. Se l’attributo di integrità risulta malformato o vuoto la sottorisorsa viene caricata ugualmente. Se, invece, non dovesse corrispondere, la sottorisorsa non viene caricata. Le direttive CSP (Content Security Policy) possono essere utilizzate per costringere gli sviluppatori web a specificare un attributo di integrità valido per ogni sottorisorsa. In questo modo, le sottorisorse prive di attributo di integrità o con un attributo malformato non vengono caricate. Tuttavia, attualmente queste direttive iniziano ad essere abbandonate dai browser Web. 4 ANALISI SU LARGA SCALA 4.1 Fonti dei dati Verranno utilizzati due fonti di dati principali per la nostra analisi: una del web su larga scala e una classifica dei domini basata sulla loro popolarità. L’analisi del web è fornita da Common Crawl. L’insieme di dati forniti, dataset, da Common Crawl (CC) contiene istantanee del Web, ciascuna di essa contiene Header HTTP e il contenuto http della pagina Web. L’altra collezione di dati Cisco Umbrella 1 Million (Top1m) fornisce una classifica dei nomi di dominio più popolari basata sulle statistiche di query DNS e sugli IP client in 165 Paesi. 4.2 Metodologia È stato analizzato l'uso delle SRI esaminando il contenuto HTML delle pagine web e identificando le sottorisorse incluse. Poiché l'analisi di tutte le pagine web richiede molto tempo, è stata posta maggiore concentrazione sulle pagine che includono un attributo di integrità ed è stato utilizzato un semplice filtro per individuarle. L'insieme di pagine web che contengono almeno una SRI (CC-SRI) costituisce il set di dati su cui condurre l’analisi. Per ogni pagina web del set di dati CC-SRI viene estratto l'URL, la politica di sicurezza dei contenuti (CSP) e tutti gli elementi/sottorisorse di link e script. Per analizzare l'utilizzo delle SRI e la sua evoluzione nel tempo, sono stati elaborati 13 istantanee del dataset Common Crawl dal 2016-05 al 2019-09. Inoltre, per studiare l'utilizzo delle sottorisorse sul web in generale, non solo per le pagine che utilizzano le SRI, è stato estratto un campione (CC-all-1%) che contiene l'1% dell'ultima istantanea (2019-09) del dataset CC. 4.3 Risultati 4.3.1 Adozione di HTTPS Per valutare l'adozione di TLS/HTTPS nel dataset CC, si identifica il protocollo utilizzato (HTTP o HTTPS) in base all'URL della pagina web. Il protocollo TLS utilizzato in HTTPS fornisce, oltre all'autenticazione, anche l'integrità del canale, il che lo rende correlato e talvolta complementare alle SRI, le quali forniscono l'integrità del canale e dell'archiviazione. La figura 1 illustra l'andamento della percentuale di pagine web servite tramite HTTPS nel dataset CC e nel suo sottoinsieme Top1m, insieme alle principali tappe nello sviluppo e nella diffusione di
  • 5. HTTPS. Nell'ultima istantanea del CC (2019-09), il 58,82% delle pagine web è stato servito tramite HTTPS, con una percentuale significativamente più elevata tra le pagine web più popolari (87,43% nella Top1m). Figura 1: andamento della percentuale delle pagine web che utilizzano HTPPS nel tempo 4.3.2 Estensione della minaccia Per valutare la minaccia più comune all'integrità delle sottorisorse, viene calcolata la percentuale di pagine web che includono almeno una sottorisorsa esterna, nel dataset CC-all-1%. Nel dataset CC- all-1%, l'82,76% delle pagine web include almeno una sottorisorsa esterna di link o script, e queste pagine web includono in media da 8 a 15 sottorisorse, sono quindi potenzialmente esposte a minacce all'integrità delle sottorisorse e possono beneficiare delle SRI, che coprono gli elementi script e link. Le immagini non sono coperte dalle SRI, ed è interessante notare che la percentuale di pagine web che includono un’immagine esterna è maggiore del 50%. 4.3.3 Adozione delle SRI La dimensione del dataset CC-SRI ha permesso di individuare la percentuale di pagine web che utilizzano le SRI nel tempo, come mostrato nella Figura 2, che riporta anche le principali tappe dell'evoluzione e dell'adozione delle SRI. In particolare, sono state evidenziate le date in cui alcune librerie popolari, come Bootstrap, hanno iniziato a includere gli attributi di integrità nei loro frammenti di codice, nonché la disponibilità di una bozza della raccomandazione SRI prima del suo rilascio ufficiale. Inoltre, è stato osservato che le SRI sono state implementate in alcuni browser web prima del loro rilascio ufficiale. Nonostante una discreta adozione complessiva delle SRI, con solo il 3,40% di tutte le pagine web in CC, è stata osservata una tendenza in crescita, con un aumento nel 2018 doppio rispetto all'anno precedente. Un fattore che potrebbe accelerare l'adozione delle SRI è l'inclusione automatica degli attributi di integrità da parte degli strumenti di compilazione. Poiché l'hosting di sottorisorse su server di terze parti comporta rischi, per esempio code injection o cross-site scripting, che i siti web più importanti non sono disposti a correre, l'adozione delle SRI da parte dei siti Top1m è più rapida rispetto al resto del Web.
  • 6. Figura 2:percentuale di utilizzo da parte delle pagine Web delle SRI nel tempo L’adozione delle SRI è influenzata dagli sviluppatori di librerie e dagli operatori CDN, come confermato dai risultati del sondaggio tra gli sviluppatori web. Per approfondire questo aspetto, vengono analizzate: 1. le sottorisorse più utilizzate sul web 2. i principali domini che forniscono le sottorisorse che utilizzano le SRI Per le sottorisorse è stata calcolata la lista di quelle più utilizzate nel dataset CC-all-1% e viene verificato se contengono un frammento di codice che utilizzi le SRI. Dato che le stesse sottorisorse possono essere ospitate su più domini con URL differenti, è stato sviluppato un metodo per identificarle utilizzando l'attributo "target" degli elementi. Per i domini viene analizzata la popolarità in ogni istantanea del dataset CC-SRI, contando il numero di sottorisorse con un attributo di integrità ospitate su ciascun dominio, in base all'URL presente nell'attributo target. 4.3.4 Utilizzo delle SRI Vengono analizzate le attuali pratiche degli sviluppatori web relative all'uso delle SRI. In particolare, si calcola il numero di risorse secondarie che utilizzano o meno l'attributo di integrità nelle istantanee del dataset CC-SRI. In media, le pagine web contengono circa 41 sottorisorse, ma solo 1,79 di queste utilizzano l'attributo di integrità. Si valuta anche la distribuzione degli algoritmi di hash e del numero di espressioni di hash utilizzate negli attributi di integrità per gli elementi link e script. La maggior parte degli attributi di integrità, nel dataset CC-SRI, contiene un solo digest e gli algoritmi più comuni sono sha384, sha256 e sha512. Solo l'1,16% degli attributi delle pagine che usano SRI contengono più di un digest con algoritmi di hash diversi. Si evidenzia che gran parte degli sviluppatori web copia e incolla frammenti di codice da altri siti web, come librerie e CDN, il che significa che le osservazioni sull'uso delle SRI si applicano anche agli sviluppatori delle librerie incluse e agli operatori delle CDN. A seconda delle impostazioni considerate e dell'avversario, le SRI e il protocollo TLS possono offrire protezione alla sicurezza della pagina web. Le impostazioni vengono classificate in base a tre criteri: l'uso di TLS per la pagina web, l'uso di TLS per la sottorisorsa e se il percorso della sottorisorsa è locale o esterno. Nel dataset CC-SRI, viene analizzata la ripartizione tra le diverse impostazioni già menzionate. Si è osservato che spesso il protocollo viene omesso, in questo modo il protocollo utilizzato per servire la pagina sarà lo stesso utilizzato per ottenere la sottorisorsa, soprattutto nelle pagine web servite tramite TLS. Inoltre, la maggior parte delle sottorisorse utilizza URL assoluti per specificare il percorso nell'attributo target,
  • 7. che di solito sono utilizzati per le sottorisorse esterne. Le SRI proteggono dalle corruzioni sul server e sul canale, sempre che quest’ultimi per servire la pagina web non siano compromessi. Quando la pagina web viene servita senza TLS, gli attributi di integrità delle sottorisorse non sono protetti durante la trasmissione e la sicurezza della pagina web non è garantita. 5 ESPERIENZA SVILUPPATORI WEB Dato l'esito precedente, si è voluto indagare sulla comprensione degli sviluppatori web sulle SRI. Per garantire un'elevata affidabilità dei dati, sono stati seguiti diversi processi di garanzia della qualità durante la somministrazione dello strumento di indagine. Sono stati selezionati 227 sviluppatori web autori di plug-in e temi di WordPress e autori di pacchetti NPM. Per evitare che gli intervistati si orientassero verso l’argomento della sicurezza informatica, è stato inviato via e-mail il sondaggio da compilare descritto come “comprensione delle pratiche del web”. Pertanto, sono state poste le seguenti domande ottenendo le seguenti risposte: • RQ1. Gli sviluppatori web sono consapevoli dei rischi associati alle risorse secondarie (esterne)? o La maggior parte degli intervistati è stata in grado di identificare le principali minacce dello scenario fornito, ovvero malicious code injection e il cross-site scripting (56,8% o 129). Un gruppo più ristretto (13,2% o 30) ha descritto gli effetti secondari: compromissione della privacy degli utenti, key-logging, reindirizzamento a siti web falsi, mentre circa un terzo dei partecipanti (30% o 68) ha fornito risposte generiche. • RQ2. Gli sviluppatori web sono consapevoli delle SRI? o Confrontando i risultati si è concluso che solo il 31% circa degli intervistati è in grado di abbinare lo scenario alla soluzione fornita dalle SRI. • RQ3. In che misura gli sviluppatori web comprendono l'uso delle SRI (comportamenti generali e specifici)? o Gli intervistati che hanno affermato di conoscere o utilizzare le SRI sono stati invitati a descrivere come le SRI potrebbero essere utilizzate in un sito web e a quale scopo. La maggioranza degli intervistati ha fornito una descrizione corretta dello scopo e dell'implementazione delle SRI (88,6% o 132), ma il 11,4% (o 17) degli intervistati non è stato in grado di farlo. • RQ4. Quali sono le pratiche attuali degli sviluppatori quando utilizzano le SRI? o Gli intervistati sono stati invitati a indicare come di solito includono le SRI nella loro pratica di sviluppo web scegliendo da un elenco di opzioni e specificando eventuali altre pratiche in un campo di testo libero. La maggior parte degli intervistati ha segnalato di copiare e incollare frammenti di codice da documentazioni ufficiali, seguita dalla configurazione degli strumenti di compilazione per calcolare le checksum in modo automatico e includerle nel codice. Un terzo gruppo ha indicato di calcolare manualmente le checksum delle sottorisorse e di includerle nel codice, mentre un quarto gruppo ha riferito di copiare frammenti di codice dalle comunità online. Infine, alcuni intervistati non erano sicuri o non avevano ancora utilizzato le SRI.
  • 8. 6 DISCUSSIONE E CONCLUSIONE In questo articolo è stato fornito il primo studio completo sull'uso delle SRI. La ricerca si è basata su un'analisi longitudinale dei dataset di Common Crawl negli ultimi 3 anni e mezzo; il tasso di adozione delle SRI è attualmente pari a ≈3,40% ed è in crescita. Gli sviluppatori di librerie e i fornitori di CDN influenzano l'adozione attraverso l'inclusione di attributi di integrità nei frammenti di codice messi a disposizione degli sviluppatori. L'indagine ha evidenziato una buona conoscenza delle SRI tra gli sviluppatori, ma anche alcune incomprensioni sul loro funzionamento. Infine, pur ricordando che i risultati si basano su comportamenti personali non verificabili, e quindi potrebbero differire da quelli reali, l'uso delle SRI è in gran parte manuale, anche se sarebbe richiesta una migliore integrazione. 7 FONTI BIBLIOGRAFICHE Bertil Chapuis, Olamide Omolola, Mauro Cherubini, Mathias Humbert, Kévin Huguenin. An Empirical Study of the Use of Integrity Verification Mechanisms for Web Subresources. The Web Conference (WWW), Apr 2020, Taipei, Taiwan. pp.34-45, ff10.1145/3366423.3380092ff. ffhal- 02435688f