Immaginate di essere un accademico che desidera verificare che tutti i siti web siano conformi alle norme di trasparenza imposte dall’Unione Europea tramite il General Data Protection Regulation (GDPR) [1]; o studiare come gli annunci politici siano mirati a determinati utenti su Facebook (ad esempio in questo progetto); o come molti siti web usino i cosiddetti “dark patterns” per portare i visitatori a decisioni che si sentirebbero ingannati o costretti a prendere se fossero pienamente informati sul modo in cui funziona il sito [2].
Oppure immaginate di non essere un ricercatore ma un legislatore, e di voler mantenere una visione aggiornata, magari anche in tempo reale, delle tecniche di targetizzazione e personalizzazione utilizzate dai network pubblicitari, tecniche che sono basate sul tracciamento della navigazione degli utenti su Internet. Per tutte queste attività è necessario misurare diverse caratteristiche del web: la presenza di documentazione sul trattamento dei dati, di pubblicità o messaggi personalizzati, le pratiche di piazzamento di cookies per tracciare la navigazione online degli utenti, e così via.
Come combattere le pratiche commerciali ingannevoli: strategie e strumenti
Due approcci alla misurazione del web
Due sono gli approcci alla misurazione del web disponibili per questo tipo di obiettivi: creare e gestire una flotta di browser automatizzati (bot) con qualche forma di strumentazione che supporti la misurazione, oppure convincere un gran numero di utenti a permettervi di installare sui loro browser un’estensione (come adobserver.org/) o ad utilizzare direttamente un browser speciale (come themarkup.org/citizen-browser) in grado di effettuare automaticamente tutte le operazioni di tracciamento.
Quanto alla prima opzione, creare una flotta di bot su misura per ogni studio richiede molte risorse (in termini di tempo ed impegno) ed è un approccio soggetto ad errori. Anche adattare un bot esistente è spesso una strategia sconsigliabile, in quanto offre un vantaggio minimo se il codice non è stato mantenuto, è difficile da capire o modificare, o non si ricostruisce senza conoscenze speciali [3]. Per esempio, aggirare il rilevamento dei bot è una sfida sempre più difficile, poiché i siti possono bloccare o modificare il loro comportamento quando individuano un bot tra i loro visitatori.
A volte questo blocco è legittimo, poiché i bot possono essere usati per scopi nefasti, come lanciare un attacco DoS (Denial of Service) distribuito, ovvero un attacco che inonda un servizio web di tanto traffico da renderlo indisponibile; o creare artificialmente scarsità di un prodotto, accumulandolo per poi rivenderlo a prezzi più alti. Altre volte, però, i bot sono “benevoli”: la ricerca, l’auditing ed altri progetti legittimi hanno bisogno di aggirare il blocco automatico dei bot, e i continui miglioramenti nelle tattiche di blocco rappresentano un ostacolo considerevole.
La seconda opzione, ovvero convincere gli utenti ad installare estensioni o browser dedicati per uno studio di misurazione, presenta anch’essa i suoi limiti, perché rallenta la navigazione degli utenti ed aggiunge un rischio di privacy personale, in quanto tutta l’attività online dell’utente viene di fatto monitorata da chi ha programmato e distribuito l’estensione o il browser.
La terza opzione: i botnet di misurazione
Proponiamo qui una terza opzione che combina i benefici dei bot con quelli della strumentazione del browser dell’utente, evitando allo stesso tempo molti dei loro svantaggi. In questo approccio, che noi chiamiamo measurement botnet, o rete di bot per la misurazione, gli utenti lasciano che il proprio computer gestisca (pressoché senza intervento alcuno dell’utente stesso) un bot, in quella che così diventa una rete riutilizzabile e distribuita. Per far funzionare questo approccio, agli utenti viene richiesto di installare un programma che gestisce il loro bot, dandogli specifiche istruzioni su quali siti web visitare e cosa misurare esattamente – istruzioni che, ovviamente, possono essere modificate a seconda delle esigenze dello studio. In questo modo, un ricercatore, un regolatore, un revisore o un altro investigatore può semplicemente dichiarare di cosa necessita per il suo studio e farlo eseguire dai bot sulla rete distribuita di computer degli utenti.
I vantaggi dei botnet di misurazione
I botnet di misurazione richiedono meno risorse rispetto alla costruzione di un nuovo bot o all’adattamento di un bot esistente ed eliminano il rischio di privacy per i singoli utenti, i quali si limitano ad ospitare sul proprio computer un bot il cui comportamento è completamente indipendente dalla loro attività di navigazione su Internet, ed il bot funziona solo quando l’utente non ha necessità di utilizzare al massimo le sue risorse di rete e di elaborazione. Allo stesso tempo, i botnet fanno sì che si instauri una sorta di intesa tra gli utenti e tra utenti e ricercatori impegnati nel progetto a cui i bot contribuiscono. Il nostro approccio, infatti, prevede che i ricercatori descrivano i loro progetti in fase di iscrizione alla rete, cosicché i singoli utenti possano scegliere a quali progetti contribuire ed essere ricompensati per come il loro bot contribuisce ai progetti di ricerca. La ricompensa può consistere in un semplice segno di riconoscimento, come un badge per il superamento di un blocco dei bot o per il completamento di un progetto, ma dà motivazione e senso di appartenenza ad un gruppo che ha obiettivi condivisi. È il modello dei progetti Folding@home, che eseguono utili simulazioni di ripiegamento delle proteine sui computer degli utenti durante i periodi di quiescenza ed incoraggiano la connessione tra la comunità di partecipanti e gli obiettivi del progetto (si veda ad esempio la sezione “Share your story” del sito dedicato).
Come può, però, una rete distribuita di bot come quella appena descritta eludere i blocchi prima menzionati che molti siti web incorporano nel loro codice? Ad esempio, se uno dei bot della rete visitasse il sito di Twitter, molto probabilmente verrebbe identificato come visitatore non umano, e gli verrebbe presentato un CAPTCHA, cioè uno di quei puzzle relativamente semplici da risolvere per una persona (ad esempio, “seleziona tutte le immagini che contengono un semaforo”) ma tuttora impossibili da risolvere in maniera automatizzata. La nostra soluzione è semplice: il bot lascia il compito temporaneamente irrisolto, visita altri siti, magari accumulando due o tre CAPTCHA simili, e mentre l’utente non appare impegnato in altre attività oppure a cadenza regolare programmabile dall’utente stesso (ad esempio, tutte le sere ad un orario prestabilito), gli manda una notifica sullo schermo chiedendo di risolverli tutti insieme, così da poter accedere al sito finora bloccato e compiere tutte le misurazioni che era stato programmato a fare.
Come usare i botnet di misurazione
L’approccio che proponiamo può essere utilizzato per vari tipi di misurazione. Ad esempio, alcuni ricercatori [4] hanno studiato il fenomeno della personalizzazione delle pubblicità evidenziandone gli effetti discriminatori (certamente non intenzionali ma reali): per motivi legati al maggior numero di uomini che donne ai vertici aziendali, e quindi alla maggiore probabilità che un uomo si interessi a corsi di alta formazione manageriale, le pubblicità per questo tipo di corsi di fatto vengono mostrate quasi esclusivamente a uomini, risultando in una discriminazione di genere. Per scoprire questi effetti indesiderati della targetizzazione, il gruppo di ricercatori ha dovuto creare migliaia di account finti, alcuni con genere dichiarato maschile, altri femminile, ed osservare quali pubblicità ciascun account ricevesse. Un processo piuttosto macchinoso che invece potrebbe facilmente essere automatizzato grazie ad una rete distribuita di bot come quella da noi proposta.
E ancora, il nostro approccio potrebbe essere usato come un sistema di “early warning” o di allerta precoce per il rilevamento di mis/disinformazione, che sappiamo si diffonde più ampiamente e più velocemente delle informazioni vere [5]. Per esempio, programmando i bot a seguire i principali influencers sui social media, uno studio che utilizza i botnet di misurazione potrebbe rilevare in tempo pressoché reale la diffusione virale delle fake news.
Come si può dedurre dalla diversità dei contesti che abbiamo menzionato, il nostro sistema è altamente flessibile e può essere facilmente adattato a una varietà di paradigmi di sperimentazione diversi. Mettiamo i bot “buoni” a servizio della società, della scienza e della regolamentazione!
Bibliografia
[1] G. Johnson, S. Shriver, e S. Goldberg, “Privacy & Market Concentration: Intended & Unintended Consequences of the GDPR,” SSRN Scholarly Paper ID 3477686, Social Science Research Network, Rochester, NY, gennaio 2021.
[2] A. Mathur, G. Acar, M. J. Friedman, E. Lucherini, J. Mayer, M. Chetty e A. Narayanan, “Modelli oscuri su scala: Finds from a Crawl of 11K Shopping Websites”, Proceedings of the ACM on Human-Computer Interaction, vol. 3, no. CSCW, p. 81, 2019.
[3] C. Collberg e T. A. Proebsting, “Repeatability in computer systems research”, Communications of the ACM, vol. 59, no. 3, pp. 62-69, 2016. Editore: ACM New York, NY, USA.
[4] M. C. Tschantz, A. Datta, A. Datta, e J. M. Wing, “A methodology for information flow experiments,” in Computer Security Foundations Symposium (CSF), 2015 IEEE 28th, pp. 554-568, IEEE, 2015.
[5] S. Vosoughi, D. Roy, e S, Aral, “The spread of true and false news online.” Science 359, no. 6380 (2018): 1146-1151.