SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
1
Università degli studi di Trieste
DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
Corso di Laurea in Ingegneria Elettronica e Informatica
Extended summary of “Understanding the Performance Costs
and Benefits of Privacy-focused Browser Extensions”
Candidato: Relatore:
Riccardo De Monte Prof. Alberto Bartoli
Matricola: IN0500642
ANNO ACCADEMICO 2020-2021
2
Indice
1 Introduzione .................................................................................................................................3
2 Come funzionano le estensioni per la privacy..............................................................................3
3 La metodologia .............................................................................................................................4
3.1 I browsers .......................................................................................................................................... 4
3.2 Le estensioni considerate.................................................................................................................. 4
3.3 Le metriche........................................................................................................................................ 5
3.4 Il setup: i domini considerati, l’hardware utilizzato e le zone geografiche....................................... 5
4 I risultati........................................................................................................................................6
5 Conclusioni....................................................................................................................................8
6 Fonti bibliografiche.......................................................................................................................8
3
1 Introduzione
Al giorno d’oggi l’industria della pubblicità è una delle realtà economiche più importanti, se non la
più importante. I profitti sono ottenibili però grazie ad un vero e proprio profiling degli utenti del
web, per mezzo di tecniche per il tracciamento e per la raccolta di grandi quantità di dati. Tali
tecniche tuttavia, si rivelano pesantemente invasive, violando così la nostra privacy.
Ad eccezione del GDPR, non ci sono molti regolamenti attivi a tutela dei dati personali ed in molti
paesi, come gli Stati Uniti d’America e la Cina, non è previsto alcun tipo di limitazione.
Una possibile soluzione è rappresentata dalle estensioni per l’anti-tracking e per il bloccaggio delle
pubblicità. Google afferma però che, oltre a problemi di privacy dovuti al possibile comportamento
malevolo di certe estensioni, queste possano portare ad un calo delle prestazioni dei browsers.
Questo articolo presenta uno studio che analizza le differenze in termini di performance tra l’utilizzo
dei browser con e senza l’adozione delle estensioni. Come si vedrà successivamente, gli autori hanno
dimostrato che, secondo certe metriche, l’uso di determinate estensioni porti in realtà ad un
miglioramento dell’esperienza d’uso degli utenti.
2 Come funzionano le estensioni per la privacy
Le estensioni per la privacy hanno bisogno di analizzare le richieste http per poi attuare delle azioni
in risposta al loro contenuto. Per fare ciò, le estensioni usufruiscono della API webRequest. Essa
consente ad un’estensione di ispezionare, modificare e bloccare una richiesta in un qualunque
momento del suo processo di creazione.
Figura 1: Flusso comune degli eventi generati per la creazione di una richiesta
Considerando lo schema in Figura 1, un’estensione è in grado di intervenire quando si verifica uno
degli eventi evidenziati in grigio. Per esempio, è possibile modificare i request headers di una
richiesta http con la funzione di callback assegnata all’evento onBeforeSendHeaders, cioè
quell’evento generato quando sono stati definiti i request headers ma non è ancora stato mandato
alcun dato.
4
In generale, queste estensioni possono:
• cancellare la richiesta quando vengono generati gli eventi onBeforeRequest,
onBeforeSendHeaders e onAuthRequired
• reindirizzare la richiesta quando si gestiscono gli eventi onBeforeRequest e
onHeadersReceived
• modificare i request headers quando si gestisce l’evento onBeforeSendHeaders
• modificare i response headers quando si gestisce l’evento onHeadersReceived
Inoltre, Firefox permette alle estensioni di monitorare e modificare il contenuto di una risposta http.
Il modo in cui le estensioni vanno ad intervenire differisce da estensione ad estensione. In
particolare le estensioni si possono suddividere in due categorie:
1. quelle che usufruiscono di blacklist o whitelist di domini
2. quelle che fanno uso di algoritmi euristici in grado di determinare un’attività di tracking
3 La metodologia
3.1 I browsers
Lo studio è stato condotto facendo uso di Google Chrome 77 e Mozilla Firefox 68, utilizzando come
sistema operativo Debian Linux 10.
Per testare in modo automatizzato i due browser, si è fatto affidamento su Selenium, un framework
che permette di automatizzare l’iterazione tra browser e siti web per mezzo di istruzioni (test). Per
ottimizzare l’uso di Selenium è stato necessario procedere in modo differente in base al browser:
• Firefox è stato eseguito in modalità headless, cioè senza fare uso dell’interfaccia grafica (si
interagisce con il browser tramite riga di comando)
• Chrome è stato eseguito in modalità headful, ma usando un display virtuale grazie a Xvfb
3.2 Le estensioni considerate
Le estensioni considerate sono:
1. AdBlock Plus
2. uBlock Origin
3. Decentraleyes
4. HTTPS Everywhere
5. NoScript Security Suite
6. Ghostery
7. Disconnect
8. Privacy Badger
In questo studio sono state analizzate 10 configurazioni (le medesime per entrambi i browsers): la
configurazione baseline, cioè senza l’uso delle estensioni, una per ogni estensione ed infine una che
combina l’uso di Decentraleyes, Privacy Badger, e uBlock Origin.
5
3.3 Le metriche
Per quantificare le differenze di prestazione tra le varie configurazioni, sono state definite delle
metriche. Queste metriche si possono suddividere in due categorie: browser metrics e system
metrics.
Le browser metrics sono le seguenti:
1. onLoad: il tempo impiegato per caricare l’intera pagina
2. onContentLoad: il tempo impiegato per caricare il file HTML inziale
3. Resources: il numero totale di risorse richieste
4. Cookies: il numero di cookies inviati
5. Total Size: dimensione totale della pagina (in KB)
Per ottenere tali informazioni, si è esportato un file di tipo HAR per ogni sito visitato.
Le system metrics considerate sono le seguenti:
1. CPU Clock: il tempo speso dalla CPU (da tutti i core) per eseguire le istruzioni necessarie
2. Context Switches: il numero di commutazioni di contesto
3. CPU Migrations: il numero di migrazioni di CPU
Misurare queste quantità ha permesso di valutare l’impatto di una configurazione sull’intero
sistema. In particolare, queste metriche sono anche degli indicatori di quanta energia viene
consumata.
3.4 Il setup: i domini considerati, l’hardware utilizzato e le zone geografiche
Nella scelta di quali siti web visitare, si è considerata la classifica dei siti più popolari Tranco, una
lista contenente 1 milione di domini. Di questa top list, si è selezionato un sottoinsieme di 2,000
domini, considerando sia alcuni siti nella top 1,000 (i più ottimizzati), che quelli dei restanti della top
100,000.
Come setup hardware si è fatto affidamento sul servizio Amazon EC2, e si è optato per delle istanze
dotate di un processore Intel® Xeon® Platinum 8175M, di una memoria RAM da 32 GB e di una
connessione internet fino a 10Gbps. Inoltre, lo stesso esperimento è stato condotto usando un mini
computer Intel Core i7 NUC con 75Mbps di connessione internet, per cui sono stati ottenuti gli stessi
risultati.
Per evidenziare eventuali differenze di performance dovute al GDPR, l’esperimento è stato
effettuato sia in Virginia, Stati Uniti d’America, che a Francoforte, in Germania.
6
4 I risultati
I dati ottenuti sono il risultato di 18 giorni di test, nei quali si è visitato con successo ogni dominio
per 7 volte (mediamente) con Firefox e da 1 a 3 volte con Chrome.
L’analisi condotta consiste nel confrontare ogni configurazione con estensioni con la configurazione
baseline. In particolare, per ogni metrica, si sono processati i dati ottenuti come segue:
• è stata calcolata la mediana dei dati ottenuti
• alla mediana viene sottratta la mediana dei dati ottenuti con la configurazione senza
estensioni
• il risultato ottenuto viene poi calcolato in termini della deviazione mediana assoluta per la
configurazione baseline (M)
• in base al valore ottenuto si è colorato in modo differente il grafico delle frequenze
cumulate relative. Se il valore è positivo, allora significa che c’è un peggioramento rispetto
alla versione baseline ed in tal caso si è colorato lo sfondo del grafico con una gradazione di
rosso. In caso contrario, si ha invece un miglioramento e si è colorato lo sfondo del grafico
con una gradazione di blu.
Figura 2: I risultati per le configurazioni di Firefox in Germania
7
Figura 3: I risultati per le configurazioni di Chrome negli USA
Come osservabile in Figura 2, nel caso di Firefox in Germania si è ottenuto che tutte le
configurazioni, tranne quelle con AdBlock Plus, con HTTPS Everywhere e con Disconnect, risultano,
in termini di mediana, più performanti secondo tutte le metriche, tranne nel caso del tempo
onContentLoad.
Come osservabile in Figura 3, si è invece osservato che le differenze tra la configurazione baseline e
quelle con le estensioni sono meno marcate nel caso di Chrome negli USA. Si può quindi constatare
che il comportamento di un’estensione varia in base al browser utilizzato.
A conferma della tesi sostenuta dagli autori, si è osservato che per esempio la configurazione di
Chrome con uBlock Origin risulta peggiore rispetto la configurazione baseline solo secondo la
metrica onContentLoad, con un ritardo di 3ms (in termini di mediana).
Infine, si sono constatate delle notevoli differenze dovute alla posizione geografica. Analizzando le
metriche come il numero di risorse richieste e il numero di cookies inviati, si è rilevato che negli USA
le estensioni hanno bloccato più richieste e cookies, evidenziando così quanto le estensioni debbano
intervenire maggiormente là dove non esiste alcun regolamento per la privacy. A conferma di ciò, si
può trarre una conclusione simile osservando i dati relativi al CPU time.
8
5 Conclusioni
Dando maggior importanza alle metriche onLoad, Resources e CPU Clock, considerate quelle più
rilevanti dal punto di vista dell’esperienza d’uso dell’utente, è risultato dall’esperimento che molte
delle configurazioni con estensioni risultano migliori o comparabili alla configurazione baseline.
Questo conferma che l’uso di webRequest, e quindi delle estensioni, non comporta per forza
conseguenze negative in termini di performance sull’uso dei browser, contraddicendo ciò che
afferma Google.
L’analisi condotta però non dimostra né l’efficacia delle estensioni nel bloccare le attività di tracking
né se queste estensioni, a loro volta, violino o meno la privacy degli utenti. A tal proposito, gli autori
suggeriscono ai produttori dei browsers di adottare dei metodi automatizzati per verificare che le
estensioni non abusino delle API.
6 Fonti bibliografiche
• Kevin Borgolte, Nick Feamster, Understanding the Performance Costs and Benefits of
Privacy-focused Browser Extensions in WWW ’20 Proceedings of The Web Conference 2020,
pp. 2275-2286

Contenu connexe

Similaire à Extended summary of “Understanding the Performance Costs and Benefits of Privacy-focused Browser Extensions”

Studio di una Architettura per un Sistema Distributivo ad Alta Affidabilità
Studio di una Architettura per un Sistema Distributivo ad Alta AffidabilitàStudio di una Architettura per un Sistema Distributivo ad Alta Affidabilità
Studio di una Architettura per un Sistema Distributivo ad Alta AffidabilitàRoberto Peruzzo
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione LelliMatteo Lelli
 
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...Alessandro Umek
 
Evento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSEEvento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSEXenesys
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGiacomoZorzin
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...TiborRacman
 
Progetto e implementazione di uno script python per la gestione di richieste ...
Progetto e implementazione di uno script python per la gestione di richieste ...Progetto e implementazione di uno script python per la gestione di richieste ...
Progetto e implementazione di uno script python per la gestione di richieste ...AndreaMajcen
 
REALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALI
REALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALIREALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALI
REALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALIStefano Cenizzi
 
Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...
Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...
Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...diegohusu
 
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...daniel_zotti
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneAmmLibera AL
 
SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...AndrijaCiric1
 
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...guest86388a
 
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...guest86388a
 
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...Filippo Muscolino
 
Web Api – The HTTP Way
Web Api – The HTTP WayWeb Api – The HTTP Way
Web Api – The HTTP WayLuca Milan
 
Application_level_SLA_monitoring
Application_level_SLA_monitoringApplication_level_SLA_monitoring
Application_level_SLA_monitoringNicola Mezzetti
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Mattia Milleri
 

Similaire à Extended summary of “Understanding the Performance Costs and Benefits of Privacy-focused Browser Extensions” (20)

Studio di una Architettura per un Sistema Distributivo ad Alta Affidabilità
Studio di una Architettura per un Sistema Distributivo ad Alta AffidabilitàStudio di una Architettura per un Sistema Distributivo ad Alta Affidabilità
Studio di una Architettura per un Sistema Distributivo ad Alta Affidabilità
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione Lelli
 
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
 
Evento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSEEvento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSE
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
 
Progetto e implementazione di uno script python per la gestione di richieste ...
Progetto e implementazione di uno script python per la gestione di richieste ...Progetto e implementazione di uno script python per la gestione di richieste ...
Progetto e implementazione di uno script python per la gestione di richieste ...
 
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
 
REALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALI
REALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALIREALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALI
REALIZZAZIONE DI UNA WEB PART PER L'ACCESSO A MOTORI DI BASI DI DATI RELAZIONALI
 
Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...
Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...
Progetto e realizzazione di un'applicazione WebGIS per la visualizzazione di ...
 
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
 
SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...
 
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
 
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
Cecutti Federico - Progetto e sviluppo di un'applicazione domotica per telefo...
 
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
 
Web Api – The HTTP Way
Web Api – The HTTP WayWeb Api – The HTTP Way
Web Api – The HTTP Way
 
Application_level_SLA_monitoring
Application_level_SLA_monitoringApplication_level_SLA_monitoring
Application_level_SLA_monitoring
 
Presentazione
PresentazionePresentazione
Presentazione
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 

Extended summary of “Understanding the Performance Costs and Benefits of Privacy-focused Browser Extensions”

  • 1. 1 Università degli studi di Trieste DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA Corso di Laurea in Ingegneria Elettronica e Informatica Extended summary of “Understanding the Performance Costs and Benefits of Privacy-focused Browser Extensions” Candidato: Relatore: Riccardo De Monte Prof. Alberto Bartoli Matricola: IN0500642 ANNO ACCADEMICO 2020-2021
  • 2. 2 Indice 1 Introduzione .................................................................................................................................3 2 Come funzionano le estensioni per la privacy..............................................................................3 3 La metodologia .............................................................................................................................4 3.1 I browsers .......................................................................................................................................... 4 3.2 Le estensioni considerate.................................................................................................................. 4 3.3 Le metriche........................................................................................................................................ 5 3.4 Il setup: i domini considerati, l’hardware utilizzato e le zone geografiche....................................... 5 4 I risultati........................................................................................................................................6 5 Conclusioni....................................................................................................................................8 6 Fonti bibliografiche.......................................................................................................................8
  • 3. 3 1 Introduzione Al giorno d’oggi l’industria della pubblicità è una delle realtà economiche più importanti, se non la più importante. I profitti sono ottenibili però grazie ad un vero e proprio profiling degli utenti del web, per mezzo di tecniche per il tracciamento e per la raccolta di grandi quantità di dati. Tali tecniche tuttavia, si rivelano pesantemente invasive, violando così la nostra privacy. Ad eccezione del GDPR, non ci sono molti regolamenti attivi a tutela dei dati personali ed in molti paesi, come gli Stati Uniti d’America e la Cina, non è previsto alcun tipo di limitazione. Una possibile soluzione è rappresentata dalle estensioni per l’anti-tracking e per il bloccaggio delle pubblicità. Google afferma però che, oltre a problemi di privacy dovuti al possibile comportamento malevolo di certe estensioni, queste possano portare ad un calo delle prestazioni dei browsers. Questo articolo presenta uno studio che analizza le differenze in termini di performance tra l’utilizzo dei browser con e senza l’adozione delle estensioni. Come si vedrà successivamente, gli autori hanno dimostrato che, secondo certe metriche, l’uso di determinate estensioni porti in realtà ad un miglioramento dell’esperienza d’uso degli utenti. 2 Come funzionano le estensioni per la privacy Le estensioni per la privacy hanno bisogno di analizzare le richieste http per poi attuare delle azioni in risposta al loro contenuto. Per fare ciò, le estensioni usufruiscono della API webRequest. Essa consente ad un’estensione di ispezionare, modificare e bloccare una richiesta in un qualunque momento del suo processo di creazione. Figura 1: Flusso comune degli eventi generati per la creazione di una richiesta Considerando lo schema in Figura 1, un’estensione è in grado di intervenire quando si verifica uno degli eventi evidenziati in grigio. Per esempio, è possibile modificare i request headers di una richiesta http con la funzione di callback assegnata all’evento onBeforeSendHeaders, cioè quell’evento generato quando sono stati definiti i request headers ma non è ancora stato mandato alcun dato.
  • 4. 4 In generale, queste estensioni possono: • cancellare la richiesta quando vengono generati gli eventi onBeforeRequest, onBeforeSendHeaders e onAuthRequired • reindirizzare la richiesta quando si gestiscono gli eventi onBeforeRequest e onHeadersReceived • modificare i request headers quando si gestisce l’evento onBeforeSendHeaders • modificare i response headers quando si gestisce l’evento onHeadersReceived Inoltre, Firefox permette alle estensioni di monitorare e modificare il contenuto di una risposta http. Il modo in cui le estensioni vanno ad intervenire differisce da estensione ad estensione. In particolare le estensioni si possono suddividere in due categorie: 1. quelle che usufruiscono di blacklist o whitelist di domini 2. quelle che fanno uso di algoritmi euristici in grado di determinare un’attività di tracking 3 La metodologia 3.1 I browsers Lo studio è stato condotto facendo uso di Google Chrome 77 e Mozilla Firefox 68, utilizzando come sistema operativo Debian Linux 10. Per testare in modo automatizzato i due browser, si è fatto affidamento su Selenium, un framework che permette di automatizzare l’iterazione tra browser e siti web per mezzo di istruzioni (test). Per ottimizzare l’uso di Selenium è stato necessario procedere in modo differente in base al browser: • Firefox è stato eseguito in modalità headless, cioè senza fare uso dell’interfaccia grafica (si interagisce con il browser tramite riga di comando) • Chrome è stato eseguito in modalità headful, ma usando un display virtuale grazie a Xvfb 3.2 Le estensioni considerate Le estensioni considerate sono: 1. AdBlock Plus 2. uBlock Origin 3. Decentraleyes 4. HTTPS Everywhere 5. NoScript Security Suite 6. Ghostery 7. Disconnect 8. Privacy Badger In questo studio sono state analizzate 10 configurazioni (le medesime per entrambi i browsers): la configurazione baseline, cioè senza l’uso delle estensioni, una per ogni estensione ed infine una che combina l’uso di Decentraleyes, Privacy Badger, e uBlock Origin.
  • 5. 5 3.3 Le metriche Per quantificare le differenze di prestazione tra le varie configurazioni, sono state definite delle metriche. Queste metriche si possono suddividere in due categorie: browser metrics e system metrics. Le browser metrics sono le seguenti: 1. onLoad: il tempo impiegato per caricare l’intera pagina 2. onContentLoad: il tempo impiegato per caricare il file HTML inziale 3. Resources: il numero totale di risorse richieste 4. Cookies: il numero di cookies inviati 5. Total Size: dimensione totale della pagina (in KB) Per ottenere tali informazioni, si è esportato un file di tipo HAR per ogni sito visitato. Le system metrics considerate sono le seguenti: 1. CPU Clock: il tempo speso dalla CPU (da tutti i core) per eseguire le istruzioni necessarie 2. Context Switches: il numero di commutazioni di contesto 3. CPU Migrations: il numero di migrazioni di CPU Misurare queste quantità ha permesso di valutare l’impatto di una configurazione sull’intero sistema. In particolare, queste metriche sono anche degli indicatori di quanta energia viene consumata. 3.4 Il setup: i domini considerati, l’hardware utilizzato e le zone geografiche Nella scelta di quali siti web visitare, si è considerata la classifica dei siti più popolari Tranco, una lista contenente 1 milione di domini. Di questa top list, si è selezionato un sottoinsieme di 2,000 domini, considerando sia alcuni siti nella top 1,000 (i più ottimizzati), che quelli dei restanti della top 100,000. Come setup hardware si è fatto affidamento sul servizio Amazon EC2, e si è optato per delle istanze dotate di un processore Intel® Xeon® Platinum 8175M, di una memoria RAM da 32 GB e di una connessione internet fino a 10Gbps. Inoltre, lo stesso esperimento è stato condotto usando un mini computer Intel Core i7 NUC con 75Mbps di connessione internet, per cui sono stati ottenuti gli stessi risultati. Per evidenziare eventuali differenze di performance dovute al GDPR, l’esperimento è stato effettuato sia in Virginia, Stati Uniti d’America, che a Francoforte, in Germania.
  • 6. 6 4 I risultati I dati ottenuti sono il risultato di 18 giorni di test, nei quali si è visitato con successo ogni dominio per 7 volte (mediamente) con Firefox e da 1 a 3 volte con Chrome. L’analisi condotta consiste nel confrontare ogni configurazione con estensioni con la configurazione baseline. In particolare, per ogni metrica, si sono processati i dati ottenuti come segue: • è stata calcolata la mediana dei dati ottenuti • alla mediana viene sottratta la mediana dei dati ottenuti con la configurazione senza estensioni • il risultato ottenuto viene poi calcolato in termini della deviazione mediana assoluta per la configurazione baseline (M) • in base al valore ottenuto si è colorato in modo differente il grafico delle frequenze cumulate relative. Se il valore è positivo, allora significa che c’è un peggioramento rispetto alla versione baseline ed in tal caso si è colorato lo sfondo del grafico con una gradazione di rosso. In caso contrario, si ha invece un miglioramento e si è colorato lo sfondo del grafico con una gradazione di blu. Figura 2: I risultati per le configurazioni di Firefox in Germania
  • 7. 7 Figura 3: I risultati per le configurazioni di Chrome negli USA Come osservabile in Figura 2, nel caso di Firefox in Germania si è ottenuto che tutte le configurazioni, tranne quelle con AdBlock Plus, con HTTPS Everywhere e con Disconnect, risultano, in termini di mediana, più performanti secondo tutte le metriche, tranne nel caso del tempo onContentLoad. Come osservabile in Figura 3, si è invece osservato che le differenze tra la configurazione baseline e quelle con le estensioni sono meno marcate nel caso di Chrome negli USA. Si può quindi constatare che il comportamento di un’estensione varia in base al browser utilizzato. A conferma della tesi sostenuta dagli autori, si è osservato che per esempio la configurazione di Chrome con uBlock Origin risulta peggiore rispetto la configurazione baseline solo secondo la metrica onContentLoad, con un ritardo di 3ms (in termini di mediana). Infine, si sono constatate delle notevoli differenze dovute alla posizione geografica. Analizzando le metriche come il numero di risorse richieste e il numero di cookies inviati, si è rilevato che negli USA le estensioni hanno bloccato più richieste e cookies, evidenziando così quanto le estensioni debbano intervenire maggiormente là dove non esiste alcun regolamento per la privacy. A conferma di ciò, si può trarre una conclusione simile osservando i dati relativi al CPU time.
  • 8. 8 5 Conclusioni Dando maggior importanza alle metriche onLoad, Resources e CPU Clock, considerate quelle più rilevanti dal punto di vista dell’esperienza d’uso dell’utente, è risultato dall’esperimento che molte delle configurazioni con estensioni risultano migliori o comparabili alla configurazione baseline. Questo conferma che l’uso di webRequest, e quindi delle estensioni, non comporta per forza conseguenze negative in termini di performance sull’uso dei browser, contraddicendo ciò che afferma Google. L’analisi condotta però non dimostra né l’efficacia delle estensioni nel bloccare le attività di tracking né se queste estensioni, a loro volta, violino o meno la privacy degli utenti. A tal proposito, gli autori suggeriscono ai produttori dei browsers di adottare dei metodi automatizzati per verificare che le estensioni non abusino delle API. 6 Fonti bibliografiche • Kevin Borgolte, Nick Feamster, Understanding the Performance Costs and Benefits of Privacy-focused Browser Extensions in WWW ’20 Proceedings of The Web Conference 2020, pp. 2275-2286