• Non ci sono risultati.

Modellazione temporale dell'attività di retweet ed applicazione all'individuazione di comportamenti sospetti

N/A
N/A
Protected

Academic year: 2021

Condividi "Modellazione temporale dell'attività di retweet ed applicazione all'individuazione di comportamenti sospetti"

Copied!
120
0
0

Testo completo

(1)

Dipartimento di Filologia, Letteratura e Linguistica

Corso di Laurea in Informatica Umanistica

Tesi di Laurea Magistrale

Modellazione temporale dell’attività di

retweet ed applicazione all’individuazione

di comportamenti sospetti

Relatori:

prof. Dino Pedreschi prof. Maurizio Tesconi Correlatore:

dott. Stefano Cresci

Candidato: Michele Mazza

(2)
(3)
(4)

Le potenzialità offerte dai social network come strumenti di comunicazione vengono spesso sfruttate per fini eticamente discutibili, soprattutto attraverso i social bot, ovvero software che controllano un account su un determinato social network. In questo studio sono state modellate temporalmente le attività di retweet degli utenti Twitter, evidenziando la presen-za di pattern e anomalie che possono essere sfruttati per l’identificazione di comportamenti automatizzati e dunque appartenenti a social bot. È stato sviluppato un metodo per la rilevazione di social bot basato sull’utilizzo di un autoencoder come estrattore di feature per poter successivamente estrarre dei cluster composti da utenti la cui attività temporale contiene pattern simili tra loro.

(5)

Sommario iii

1 Introduzione 1

2 Stato dell’arte 4

2.1 Bot . . . 4

2.2 Social bot . . . 5

2.3 Tipi di social bot . . . 7

2.3.1 Spam bot . . . 8

2.3.2 Political bot . . . 9

2.3.3 Pay bot . . . 9

2.3.4 Fake follower . . . 10

2.4 Struttura di un social bot . . . 10

2.5 Social botnet . . . 12

2.5.1 Struttura di una social botnet . . . 13

2.6 Le azioni dei social bot nell’OSN . . . 14

2.6.1 Disinformation . . . 16 2.6.2 Computational propaganda . . . 17 2.6.3 Data scraping . . . 17 2.6.4 Impersonificazione . . . 18 2.6.5 Effetti offline . . . 19 2.7 Twitter . . . 21 2.7.1 Retweet . . . 22 2.7.2 Le Twitter API . . . 24

(6)

3.1 Approcci . . . 30

3.1.1 Analisi comportamentale . . . 30

3.1.2 Analisi dei contenuti e del linguaggio . . . 33

3.1.3 Crowdsourcing . . . 34

3.1.4 Honeypots . . . 35

3.1.5 Problemi degli approcci . . . 35

3.2 Soluzioni online . . . 36

3.2.1 Botometer . . . 36

3.2.2 Debot . . . 38

3.3 Prevenire la creazione di account in massa . . . 38

3.3.1 CAPTCHA . . . 39

3.3.2 Phone number verification . . . 40

3.4 Social botnet identificate . . . 40

3.4.1 Star Wars botnet . . . 40

3.4.2 Bursty botnet . . . 42

3.4.3 I fake followers di Devumi . . . 43

4 Modellazione dei retweet 45 4.1 Raccolta dati . . . 47

4.1.1 Retweet scraper . . . 47

4.1.2 Proxy manager e user agent manager . . . 49

4.1.3 Retweet parser . . . 50 4.2 API Refresher . . . 52 4.3 Dati . . . 53 4.3.1 Prime osservazioni . . . 55 4.4 Visualizzazione Retweet-Tweet . . . 58 4.5 Pattern temporali . . . 59

4.5.1 Pattern linea retta . . . 61

4.5.2 Pattern a gocce . . . 63

4.5.3 Pattern a blocchi . . . 64

4.5.4 Pattern a cascata . . . 65

4.5.5 Sessioni di retweet . . . 68

(7)

4.7.1 Autoencoder . . . 77

4.7.2 Variational autoencoder . . . 79

4.7.3 Estrazione di feature . . . 79

4.8 Manipolazione delle serie temporali . . . 80

4.9 Clustering . . . 82

4.9.1 DBSCAN . . . 83

4.9.2 HDBSCAN . . . 84

4.10 Validazione del metodo sviluppato . . . 85

4.11 Confronto con altri metodi . . . 87

4.12 Social botnet identificate . . . 91

4.12.1 Auto botnet . . . 91

4.12.2 Scanu botnet . . . 94

5 Conclusioni e sviluppi futuri 97

(8)

2.1 Rappresentazione concettuale dei tipi di social bot in base all’intervento

umano . . . 8

2.2 Rappresentazione concettuale della struttura di un social bot . . . 11

2.3 Rappresentazione concettuale della struttura di una social botnet . . . 13

2.4 Rappresentazione concettuale di un generatore markoviano. . . 15

3.1 Trame temporali di diversi account Twitter . . . 32

3.2 Comparazione tramite istogrammi tra social bot e utenti reali su feature basate sul sentimento e indipendenti dal topic . . . 33

3.3 Esempio di analisi effettuata tramite il tool Botometer sull’account @probabot_ 37 3.4 Rappresentazione concettuale della strutta di Debot . . . 38

3.5 Esempio di CAPTCHA . . . 39

3.6 Distribuzione geografica dei tweet generati dalla Star Wars botnet . . . 41

3.7 Distribuzione degli id degli utenti Twitter campionati . . . 42

3.8 Esempio di tweet condivisi da un account della Bursty botnet . . . 43

3.9 Esempio della visualizzazione sviluppata dal New York Times . . . 44

4.1 Rappresentazione concettuale del sistema di scraping . . . 46

4.2 Rappresentazione concettuale del funzionamento del proxy manager e del-l’user agent manager . . . 50

4.3 Distribuzione dei retweet nella prima settimana di analisi . . . 54

4.4 Distribuzione dei retweet nella seconda settimana di analisi . . . 54

4.5 Distribuzione dei retweet tra i 100 utenti che ne hanno condivisi di più . . . 55

4.6 Distribuzione dei valori di source dei retweet analizzati . . . 56

4.7 Esempio di retweet condivisi dall’account @advpio . . . 57

(9)

4.10 Dettaglio della visualizzazione RTT per l’account @AntonioSpadafo4 . . . . 61

4.11 Visualizzazione RTT per l’account @RistoriAmo . . . 62

4.12 Visualizzazione RTT per l’account @adrianobusolin . . . 63

4.13 Visualizzazione RTT per l’account @AriannaAmbrosi0 . . . 64

4.14 Visualizzazione RTT per l’account @AnnaliRampa . . . 66

4.15 Visualizzazione RTT con dominio amplificato per l’account @AnnaliRampa . 67 4.16 Visualizzazione RTT per l’account @petra_romano . . . 68

4.17 Dettaglio della visualizzazione RTT per l’account @petra_romano . . . 69

4.18 Visualizzazione RTT per l’account @lemonsq2772984 . . . 70

4.19 Dettaglio della visualizzazione RTT per l’account @lemonsq27729847 . . . . 71

4.20 Proiezione del parametro irt per i retweet dell’utente @LaVoceRC . . . 74

4.21 Proiezione del parametro irt per i retweet dell’utente @marangonluke . . . . 75

4.22 Proiezione del parametro distance per i retweet dell’utente @ANTONIO49471273 76 4.23 Rappresentazione concettuale del funzionamento di un autoencoder . . . 78

4.24 Confronto tra la generalizzazione di PCA e quella degli autoencoder . . . . 80

4.25 Esempio di generazione della rappresentazione di una serie temporale di retweet . . . 82

4.26 Distribuzione della cardinalità dei cluster . . . 86

4.27 Visualizzazione RTT per gli account @RubinoDue e @Stella_Perlina . . . 89

4.28 Esempio di retweet condivisi dagli account @RubinoDue e @Stella_Perlina 90 4.29 Visualizzazione RTT per la “Auto botnet” . . . 92

4.30 Dettaglio della visualizzazione RTT per la “Auto botnet” . . . 93

4.31 Visualizzazione RTT per la “Scanu botnet” . . . 95

(10)

4.1 Distribuzione dei retweet tra i 10 utenti che ne hanno condivisi di più . . . 56 4.2 Media e deviazione standard dei parametri aggiuntivi calcolati . . . 73 4.3 Matrice di confusione . . . 86 4.4 Quartili della distribuzione del parametro n-retweets . . . 87 4.5 Confronto tra le prestazione del metodo sviluppato, un’euristica di base e

(11)

2.1 Esempio di un oggetto JSON rappresentante un utente. . . 25

2.2 Esempio di un oggetto JSON rappresentante un tweet. . . 26

4.1 Esempio di oggetto JSON restituito da Twitter . . . 48

4.2 Esempio di oggetto JSON prodotto dal retweet parser . . . 51

(12)

Introduzione

Negli ultimi anni la nascita e la diffusione di nuove tecnologie hanno influenzato e conti-nuano ad influenzare i metodi di comunicare, relazionarsi, pensare ed agire della società. Un Social Network Online (OSN) è un servizio web tramite cui gli utenti iscritti possono creare connessioni tra loro e condividere messaggi, foto, video e altri contenuti digitali (Steinfield, Ellison e Lampe 2008). Per definizione, un OSN si compone di tre elementi principali (Boyd e Ellison 2007):

• un profilo pubblico o semi-pubblico creato dall’utente; • una lista di connessioni verso altri utenti;

• la possibilità di consultare le proprie connessioni e quelle altrui.

I diversi OSN esistenti condividono i tre elementi elencati precedentemente, ma si diffe-renziano per le forme di comunicazione che offrono all’utente e per il modo in cui egli può espandere la propria rete sociale o professionale all’interno della piattaforma.

La piattaforma Instagram1 ad esempio, permette all’utente di comunicare condividen-do foto o video arricchiti da hashtag o di seguire altri utenti per ricevere aggiornamenti riguardo i loro contenuti. Twitter2 può essere definito una piattaforma di microblogging:

1https://www.instagram.com/ 2

(13)

l’utente può comunicare tramite post di lunghezza limitata, menzionare altri utenti e, co-me su Instagram, aggiungere hashtag ai propri contenuti. Facebook3 risulta più complesso, in quanto copre un set di funzionalità più ampio e permette agli utenti di comunicare tra loro in molteplici modi: questi possono condividere post sulla loro bacheca o in particola-ri gruppi (sia pparticola-rivati che pubblici), possono invitare altparticola-ri utenti a partecipare a eventi o creare una pagina che rappresenti un brand o un’azienda.

Negli ultimi anni l’utenza degli OSN ha subito una forte crescita: Facebook conta più di 2 miliardi di utenti attivi ogni mese (Facebook 2018), Instagram circa 800 milioni (In-stagram 2018) e Twitter più di 300 milioni (Twitter 2018). Ormai gli OSN giocano un ruolo fondamentale nell’attuale ecosistema dell’informazione, in contesti come movimenti civili (Howard et al. 2011; Bailón et al. 2011; Tufekci e Wilson 2012; González-Bailón, Borge-Holthoefer e Moreno 2013; Tufekci 2014), sensibilizzazione politica (Bond et al. 2012; Bakshy, Messing e Adamic 2015), interventi nella sanità pubblica (Centola 2010; Dredze 2012; Korda e Itani 2013) e gestione delle emergenze (Avvenuti et al. 2016a; Avvenuti et al. 2016b; Merchant, Elmer e Lurie 2011): sono quindi considerabili potenti strumenti di comunicazione. Tuttavia, le potenzialità di suddetti strumenti vengono sfrut-tate anche per fini eticamente discutibili come la propaganda radicale e il reclutamento da parte di gruppi estremisti (Ferrara 2017a), la manipolazione del mercato azionario (Ferra-ra 2015; Cresci et al. 2018b) o la diffusione di falsi articoli scientifici da parte di movimenti anti-scienza (Bessi et al. 2015; Del Vicario et al. 2016).

In questi casi vengono spesso utilizzati i cosiddetti social bot: software che controllano un account su un determinato OSN, in grado di eseguire attività come scrivere un messag-gio, condividere un contenuto o richiedere una connessione con un altro utente, progettati quindi per comportarsi in modi simili a quelli di una persona in uno spazio sociale (Abo-khodair, Yoo e McDonald 2015).

Il loro utilizzo ha avuto grande impatto in numerose situazioni e contesti, si veda l’in-fluenza sull’esito delle elezioni politiche degli USA nel 2016 (Bessi e Ferrara 2016), la

3

(14)

propaganda attuata durante la Brexit (Howard e Kollanyi 2016) o le campagne di di-sinformazione lanciate nel corso delle elezioni presidenziali in Francia nel 2017 (Ferrara 2017b).

Diretta conseguenza del fenomeno è stato lo sviluppo di numerose tecniche e metodo-logie di bot detection, ovvero di strumenti sviluppati per riuscire a distinguere gli account gestiti da esseri umani da quelli gestiti da software (Karataş e Şahin 2017).

In questo lavoro è stato sviluppato uno scraper per raccogliere informazioni riguardo gli utenti italiani di Twitter, in particolare della loro attività di retweet, senza dover sot-tostare ai limiti imposti dalle Twitter API. Sfruttando la vastità del dataset ottenuto si sono analizzate e modellate temporalmente le attività degli utenti, fino al rilevamento di particolari pattern e anomalie riconducibili all’attività automatizzata di un social bot. È stata sviluppata una particolare visualizzazione, chiamata Retweet-Tweet, in grado di evi-denziare la presenza di pattern temporali facilitandone dunque l’identificazione manuale.

Tramite l’uso di un autoencoder le attività degli utenti sono state compresse in vetto-ri di lunghezza fissa, ciò ne ha permesso il successivo clustevetto-ring sulla base della quale è stato determinato un criterio di valutazione in grado di distinguere l’attività di un indivi-duo reale da quella di un social bot.

Sono state poi esplorate manualmente delle social botnet identificate grazie al metodo sviluppato.

(15)

Stato dell’arte

Oggi i termini social bot e bot sono spesso utilizzati come sinonimi, per indicare tutti quei account che sono controllati da un software. In realtà i due termini indicano due cose correlate ma ben distinte; si potrebbero considerare i social bot come una particolare categoria di bot.

2.1

Bot

Il termine bot, nella sua forma più semplice è un derivato di robot. In generale i bot sono definiti come agenti automatizzati che agiscono su una piattaforma online (Franklin e Graesser 1996), software costantemente in esecuzione che formulano decisioni, agiscono secondo le precedenti senza l’intervento umano e in grado di adattarsi al contesto in cui operano (Tsvetkova et al. 2017). Tuttavia, fin dalla nascita dell’informatica e del World

Wide Web, sono stati prodotti diversi software che hanno assunto il nome di bot, alcuni

dei quali soddisfano funzioni e agiscono in modi significativamente diversi da quelli che oggi assoceremmo a un bot.

Durante il periodo di nascita e diffusione dei personal computer, il termine era utiliz-zato per indicare diversi tipi di software come demoni1 e script sviluppati per segnalare

1

Un software eseguito in background, cioè senza che sia sotto il controllo diretto dell’utente, tipicamente fornendo un servizio all’utente.

(16)

all’utente eventuali errori o situazioni a rischio all’interno di un altro software in esecu-zione (Leonard 1998). Il termine bot ha poi finito per indicare altri tipi di software come web scraper2, crawler3, indexer4, chatbot interattivi dotati di interfacce testuali e semplici agenti autonomi presenti nei primi giochi “multi-user dungeon” (Leonard 1998).

Ad inizio anni 2000, il termine ha condotto ad una serie completamente nuova di asso-ciazioni nell’ambiente della cyber security, dove è stato utilizzato per riferirsi a macchine compromesse e controllate in remoto da malware5 (Yang et al. 2014). Questi dispositivi

possono instaurare collegamenti tra loro tramite una rete, chiamata botnet, ed essere uti-lizzati per eseguire un attacco DDos6 (Peitz et al. 2012).

Con la diffusione degli OSN, si è iniziato a usare il termine per indicare gli account auto-matizzati, anche se nell’ambito della cyber security si preferisce utilizzare il termine sybil, che indica un attore o un nodo compromesso all’interno di una rete (Bessi e Ferrara 2016; Alvisi et al. 2013).

2.2

Social bot

I social bot sono particolari tipi di bot che hanno il controllo di un account su un OSN: si tratta di attori sociali (Abokhodair, Yoo e McDonald 2015) che partecipano attivamente all’interno dell’OSN, compiendo azioni di complessità variabile. Si può considerare social bot, ad esempio un account su un OSN che funge da semplice aggregatore che condivide contenuti raccolti da un sito web o da un altro account, oppure uno più sofisticato, come un bot capace di sostenere una conversazione con un utente reale, superando il test di Turing (Turing 1950).

2Un software che estrae contenuti da una pagina web.

3Un software che analizza i contenuti di una rete (o di un database) in un modo metodico e

automatizzato.

4Un software che utilizza dati, solitamente meta tag per creare un indice e velocizzare le ricerche. 5Un software usato per rubare informazioni sensibili e accedere a sistemi informatici privati.

6Un attacco informatico in cui si fanno esaurire deliberatamente le risorse di un sistema informatico

(17)

Il mondo scientifico offre diverse definizioni del termine e spesso queste divergono for-temente l’una dall’altra, fino ad arrivare a contraddirsi a vicenda. Le diverse definizioni derivano da una prospettiva mista insita nel termine stesso, in parte sociale e in parte tecnica.

Dal punto di vista tecnico, il solo termine bot si riferisce ad algoritmi di automazione (Maréchal 2016), mentre una definizione più precisa ma ancora incompleta è quella di agenti software automatizzati (Geiger 2016). Un’altra definizione li vede come dotati di intelligenza artificiale e in grado di agire autonomamente sul web (Heinrich 2017). Le scienze sociali di solito includono le implicazioni sociopolitiche delle azioni dei social bot, in grado di imitare gli utenti degli OSN e di manipolare l’opinione pubblica (Woolley 2016). Da questa prospettiva deriva un nuovo termine: political bot, un tipo specifico di social bot, un attore che opera secondo un’agenda politica (Hegelich 2016).

Definizioni più specifiche considerano l’imitazione della comunicazione e del comportamen-to umano e l’interazione con altri utenti come una caratteristica fondamentale dei social bot (Kaspar, Gräßer e Riffi 2017; Howard, Kollanyi e Woolley 2016).

In questo lavoro il termine social bot è associato alla seguente definizione (Grimme et al. 2017):

“Il termine social bot è un concetto sovraordinato che riassume diversi tipi di agenti (semi) automatici. Questi agenti sono progettati per adempiere ad uno scopo specifico mediante una comunicazione mono o multi direzionale online” In questa definizione il social bot viene visto come un concetto di alto livello che include in sé diversi tipi di bot. La definizione data copre le caratteristiche fondamentali di un social bot:

• può essere automatizzato o guidato parzialmente da un operatore; • è orientato verso uno scopo;

• può comunicare in modi diversi;

(18)

Tutti i social bot hanno una caratteristica comune: quella di riuscire a, o almeno tentare di, mimare il comportamento umano (Karataş e Şahin 2017), cercando di apparire come tale agli occhi degli altri utenti.

2.3

Tipi di social bot

Non tutti i social bot sono uguali: si possono distinguere tra loro per intenzioni e modalità di comunicazione.

È possibile effettuare una prima distinzione in base alle loro intenzioni: • social bot benigni: si tratta di bot sviluppati senza intenti malevoli.

– Un esempio sono i cosiddetti news bot, account automatizzati che

partecipa-no alla diffusione di partecipa-notizie operando da distributori di quest’ultime (Lokot e Diakopoulos 2016);

• social bot maligni: sono quei bot creati per scopi malevoli di vario genere.

Questo lavoro si concentrerà soltanto sulla descrizione e l’identificazione dei social bot maligni - in quanto il loro impatto si rivela importante sull’ecosistema dell’OSN - e sui comportamenti tenuti, che tendono a mimare quelli umani per evitare la loro identifica-zione.

I social bot si possono poi distinguere in base all’intervento umano che richiedono per essere operativi:

• automatizzati: una volta in esecuzione, non hanno bisogno di alcun intervento da parte di un operatore umano;

• semi-automatizzati: sono ibridi, presentano sia un comportamento automatizzato che l’intervento di un operatore umano. Vengono anche chiamati cyborg (Chu et al. 2010).

(19)

Bot

Account

(a) Automatizzato

Bot

Account

Umano

(b) Semi-automatizzato

Umano

Account

(c) Manuale

Figura 2.1: Rappresentazione concettuale dei tipi di social bot in base all’intervento umano.

Esiste un terzo gruppo, quello dei social bot manuali, che non vengono però considerati bot per definizione. Si tratta di operatori umani che gestiscono account sotto l’istruzione di altri umani. L’unica caratteristica in comune con gli altri due gruppi di social bot è la presenza di un agente umano che ne programma il comportamento.

Un altro criterio utilizzabile per distinguere i tipi di social bot riguarda il comportamento che assumono all’interno dell’OSN.

2.3.1 Spam bot

Sono bot il cui scopo è quello di condividere un determinato tipo di contenuto con le loro connessioni. Si possono categorizzare in (Stringhini, Kruegel e Vigna 2010):

• displayer: condividono i contenuti sulla propria pagina. Un utente deve visitare la pagina per visualizzare il contenuto;

• bragger: condividono i contenuti su un feed (ad esempio un tweet su Twitter). Il contenuto sarà visibile agli utenti connessi con il social bot;

• poster: condividono i contenuti sulle pagine degli altri utenti;

• whisperer: condividono i contenuti tramite messaggi privati diretti alla propria rete di connessioni.

(20)

Si tratta di approcci distinti utilizzati in scenari diversi, ad esempio i bragger possono sfruttare i trendic topic7per raggiungere un numero maggiore di persone. Un poster invece diffonderà il contenuto attraverso una comunicazione da uno a molti, in quanto questo verrà visualizzato da tutti gli utenti che visiteranno la pagina sulla quale è stato condiviso. Infine, quella del whisperer è una comunicazione uno ad uno, e la sua attività risulterà più nascosta rispetto a quella degli altri.

2.3.2 Political bot

Possono essere considerati una sottocategoria degli spam bot, in quanto agiscono se-condo gli stessi criteri. Si distinguono da quest’ultimi poiché le loro azioni sono atte a influenzare circostanze politiche e sono distinguibili in tre diverse strategie:

• astroturfing: la creazione artificiale di contenuti e rumors a supporto di un prodotto, un tema o di un personaggio. È simile al semplice spam, ma ha un dominio più specifico e conseguenze potenzialmente più vaste (Ratkiewicz et al. 2011);

• smoke screening: si riferisce all’utilizzo di certi hashtag per la condivisione di con-tenuti che non riguardano il dibattito principale (Abokhodair, Yoo e McDonald 2015);

• misdirection: si riferisce alla condivisione di contenuti totalmente diversi da quelli a cui fanno riferimento gli hashtag utilizzati (Abokhodair, Yoo e McDonald 2015). Tutte le strategie riportate possono portare ad equivocare un certo evento e influenzare ad esempio la popolarità di un certo hashtag e i suoi relativi argomenti.

2.3.3 Pay bot

Sono social bot che copiano contenuti da altre fonti e li riportano sotto forma di micro URL8 prodotti da servizi che offrono un pagamento per il traffico generato. In questo modo gli sviluppatori riescono ad ottenere un guadagno dall’attività dei loro social bot.

7

Termine nato su Twitter per indicare un argomento popolare sulla piattaforma.

(21)

In alcuni casi, le micro URL possono invece indirizzare l’utente a indirizzi compromessi, i quali infettando la macchina possono consentire l’accesso di terzi a informazioni personali.

2.3.4 Fake follower

Si tratta di social bot il cui scopo è quello di creare connessioni con determinati uten-ti (spesso sotto pagamento) per aumentare la loro popolarità e influenza (Cresci et al. 2015). Anche uno spam bot può avere un comportamento aggressivo per quanto riguarda la costruzione della propria rete di connessioni, ma lo distinguiamo da un fake follower in quanto quest’ultimo non ha particolari intenti per quanto riguarda la diffusione dei contenuti che condivide. Non è escluso che uno spam bot possa essere usato anche come fake follower.

Ad oggi esiste un vero e proprio mercato dei fake follower (Stringhini et al. 2012), uti-lizzati anche in ambito politico. Ad esempio, durante la campagna elettorale degli USA del 2012, l’account Twitter di Mitt Romney, al tempo candidato alle elezioni presidenziali, ha visto un improvviso aumento di seguaci, la maggior parte dei quali si è poi rivelata essere composta da fake follower (Cresci et al. 2015).

2.4

Struttura di un social bot

È chiaro che i social bot operino attraverso un account registrato su un OSN. Su que-st’ultimo, il social bot si comporta come un normale utente (umano) ed esegue le azioni per cui è stato sviluppato; alcuni social bot cercano di mantenere un profilo basso mentre altri tentano di risultare il più visibili possibile. Qualunque sia lo scopo di un social bot, questo sarà composto da due componenti principali: un profilo online e un software (Zhang et al. 2016).

Tutto ciò che è visibile agli altri utenti dell’OSN compone il profilo del social bot, che lo utilizza per interagire con gli altri utenti. Per riuscire nell’intento di confondersi nell’e-cosistema dell’OSN, un social bot deve avere un profilo che rispecchi lo standard dettato

(22)

dagli utenti reali. Informazioni come biografia e immagine del profilo possono essere cari-cate manualmente da un operatore o in modo autonomo dal social bot, che può raccogliere immagini e testi dal web. In altri casi, il social bot può anche disporre di un profilo com-promesso, ovvero un profilo appartenuto in precedenza ad un utente reale, che ne ha perso l’accesso (si può trattare di account rubato tramite phishing9).

Se la creazione del profilo viene trascurata, diventa più semplice per gli utenti reali rico-noscere quest’ultimo come appartenente ad un social bot: ad esempio quando l’immagine del profilo rappresenta una celebrità o un personaggio di fantasia, oppure se immagine del profilo e contenuti condivisi si dimostrano discordanti (il profilo di un’anziana che condi-vide contenuti fanciulleschi).

Il profilo non fa strettamente parte del social bot per definizione, ma funge da collega-mento tra la parte software e l’OSN. Appartiene però a quest’ultimo ed è controllato dal social bot.

OSN

Dati

Profilo

Software

Social bot

Figura 2.2: Rappresentazione concettuale della struttura di un social bot.

La parte software elabora e processa i dati provenienti dall’OSN e basandosi su questi ese-gue determinate azioni sull’OSN tramite il suo profilo. La reazione degli altri utenti alle azioni eseguite potranno essere usate come nuovi dati da elaborare per determinare l’azione successiva.

La parte software è quella che esegue i comandi impartiti al social bot in fase di sviluppo e progettazione. Il social bot riceve dei dati in input provenienti dall’OSN attraverso il

9

(23)

proprio profilo, elabora una reazione e la esegue di nuovo tramite il profilo. I social bot semiautomatici prevedono un’interfaccia che permette ad un operatore di intervenire sul loro comportamento.

2.5

Social botnet

Spesso diversi social bot operano in maniera coordinata all’interno dell’OSN, in modo da ottimizzare al meglio i risultati derivanti dalle loro azioni. In questo caso parliamo di social botnet: gruppi di social bot controllati da un singolo botmaster, che collaborano continuando ad imitare il comportamento umano (Zhang et al. 2016).

Una social botnet offre un approccio ideale per la gestione di diversi spam bot. Si prendano in considerazione i seguenti casi:

1. i social bot di una botnet hanno reti di connessioni diverse tra loro, o ne condividono solo una piccola parte;

2. i social bot di una botnet hanno reti di connessioni identiche, o ne condividono la maggior parte.

Nel primo caso lo stesso contenuto condiviso dai diversi social bot avrà una diffusione maggiore all’interno dell’OSN, mentre nel secondo gli stessi utenti vedranno più volte con-diviso lo stesso contenuto, la cui influenza crescerà all’interno della rete.

Un altro aspetto fondamentale di una social botnet è quello rappresentato dalla pro-pria rete di connessioni, che ha la possibilità di crescere in modo drasticamente più veloce rispetto a quella di un singolo social bot: se, ad esempio, si prende in considerazione l’o-biettivo di allargare una rete di connessioni con 100 nuovi utenti, la social botnet può distribuire le nuove connessioni tra i suoi componenti invece di far eseguire l’operazione ad un singolo social bot, riducendo in questo modo il rischio di un ban10.

Un altro vantaggio è quello riguardante la politica di banning di alcuni OSN: su Twit-ter, ad esempio, se un contenuto viene ritenuto malevolo il suo creatore verrà considerato

(24)

uno spammer e quindi bannato. Tutti gli altri utenti che hanno condiviso tale contenuto non subiranno nessuna conseguenza. In una botnet, può avvenire che un solo componente produca il contenuto, mentre tutti gli altri si occupano di condividerlo; in questo modo il rischio di ban si riduce ad un solo account.

2.5.1 Struttura di una social botnet

Una social botnet è composta da due elementi: i social bot e il botmaster (Boshmaf et al. 2013).

Un social bot appartenente ad una botnet possiede le stesse caratteristiche viste in prece-denza, ma con la differenza che può ricevere dei comandi dal botmaster ed inviare ad esso informazioni riguardo la propria rete e il proprio stato all’interno dell’OSN.

Il botmaster si occupa di mantenere attiva la coordinazione tra i vari social bot. Si tratta di un software che non ha accesso diretto all’OSN, ma che viene aggiornato dai vari social bot ed ha il compito di decidere quali azioni dovranno eseguire i singoli componenti. La presenza di un botmaster è utile anche per la distribuzione di aggiornamenti tra i diversi bot: esso infatti produce una comunicazione da uno a molti verso i social bot della rete.

Social bot

Social bot

Social bot

Social bot

Bot master

Figura 2.3: Rappresentazione concettuale della struttura di una social botnet.

I social bot appartenenti alla botnet non comunicano direttamente tra loro, ma sono coordinati dal botmaster che si occupa di distribuire aggiornamenti e comandi ai social bot.

(25)

Come per i social bot, il botmaster può essere completamente automatico o semiauto-matico: in questo caso, sarà dotato di un’interfaccia attraverso la quale un operatore potrà gestire i social bot.

2.6

Le azioni dei social bot nell’OSN

Gli OSN sono ecosistemi che offrono un numero limitato di forme di comunicazione al loro interno. Le azioni che un utente può compiere all’interno di un OSN possono essere generalizzate a 4:

• condividere un contenuto proprio; • condividere un contenuto altrui; • commentare un contenuto;

• esprimere un apprezzamento (like).

Alcuni OSN offrono molte più azioni rispetto a quelle elencate, oppure ne offrono una ver-sione più sofisticata; Facebook, ad esempio, fornisce ai propri utenti una serie di reazioni attraverso la quale possono esprimersi riguardo ad un contenuto (Turnbull e Jenkins 2016).

In genere un social bot è capace di compiere tutte e quattro le azioni sopra elencate in maniera più o meno sofisticata. Si prenda come esempio la condivisione di un contenuto come un semplice messaggio; sono due i modi in cui un social bot può portare a termine questo compito:

• usando un testo già presente sull’OSN, sul web o in un database specifico; • generando un messaggio ex-novo.

Il primo risulta sicuramente più semplice da implementare, mentre il secondo richiede una strategia che permetta di generare un testo sintatticamente e - se possibile - seman-ticamente corretto. Una possibile soluzione riguarda l’implementazione di un generatore

(26)

markoviano11 (Jurafsky e Martin 2009): un modello matematico utilizzato per generare

testi simili a quelli di un corpus.

0.33 0.66 Io 1.00  non 0.33 0.33 0.33 mangio 1.00 carne 1.00 pesce 1.00 formaggio .

Figura 2.4: Rappresentazione concettuale di un generatore markoviano.

Si tratta di un programma che genera testi casuali ma vagamente plausibili a partire da un testo di base. Data in input una parola di partenza x, per generare la parola successiva cerca nel testo di base tutte le occorrenze della parola x nel testo, controlla da quali parole è seguita e sceglie una delle parole che seguono x usando come distribuzione di probabilità la frequenza con la quale appaiono dopo x.

Altra possibile soluzione si rivela quella di sfruttare tecniche di machine learning per sviluppare un’intelligenza artificiale in grado di produrre messaggi e all’occorrenza rispon-dere a commenti. Un esempio è il social bot Tay, rilasciato su Twitter da Microsoft nel 2016 (Neff e Nagy 2016).

(27)

Tay era un social bot sperimentale completamente autonomo, che grazie al machine lear-ning si dimostrava in grado di apprendere direttamente dai contenuti condivisi su Twitter. L’esperimento di Microsoft fallì poiché il social bot, esposto a contenuti di natura razzista, iniziò a sua volta a condividere contenuti della stessa natura. Nonostante ciò, il lavoro svolto da Microsoft testimonia come l’utilizzo dell’intelligenza artificiale possa rendere un social bot capace di interagire in maniera del tutto simile a quella di un utente reale.

2.6.1 Disinformation

Il termine fake news è ormai adottato per riferirsi a un grande gruppo di elementi che in realtà risultano distinti tra loro: si tratta infatti di articoli redatti con informazioni che risultano non veritiere, le cui cause possono essere l’influenza del redattore, un’errata interpretazione della fonte, semplice satira o inesattezze nelle testimonianze raccolte.

Per indicare gli articoli riportanti notizie che contengono errori intenzionali, scritti con l’intenzione di suscitare reazioni da parte del lettore, è stato introdotto il termine false

news (Weedon, Nuland e Stamos 2017). Queste false news sfruttano dei false amplifiers,

ovvero l’attività coordinata da account non autentici con l’intento di manipolare una certa discussione; attività che può rispecchiare quella di una social botnet. Quando una false news trova un canale di diffusione - come una social botnet o una community all’interno di un OSN - si verifica il fenomeno della disinformation (Weedon, Nuland e Stamos 2017), che si distingue dalla misinformation, la cui diffusione non è intenzionale.

Diversi studi hanno dimostrato attraverso esperimenti l’effetto dei social bot in relazione ai fenomeni della disinformation e misinformation. Con l’aumento dell’utilizzo degli OSN quali fonti di notizie, è aumentata in maniera proporzionale anche la creazione di social bot diffusori di false news (Conover et al. 2011). Uno studio, ad esempio, ha dimostrato come i social bot abbiano ricoperto un ruolo fondamentale nella diffusione di articoli non corretti durante il 2017, e che nella maggior parte dei casi si è trattato di articoli di natura politica (Schlitzer 2018).

(28)

2.6.2 Computational propaganda

I political bot sono la sottocategoria di social bot che ha suscitato maggiore interesse negli ultimi anni per via della costante crescita del loro utilizzo. Solitamente il loro scopo è quello di accrescere la popolarità di una persona o un’idea specifica, generando interazioni intorno a queste. Come visto in precedenza, condividono caratteristiche con gli spam bot: partecipano a conversazioni pubbliche condividendo contenuti a sostegno della loro idea politica in modo da permettere a quest’ultimi di diffondersi in modo più ampio possibile; questo tipo di attività prende il nome di propaganda computazionale (Boshmaf et al. 2013).

Uno dei primi utilizzi dei political bot risale al 2010, durante le Massachusetts Special Election negli USA, dove una piccola rete di account automatizzati è stata utilizzata per lanciare una campagna di diffamazione contro uno dei candidati (Metaxas e Mustafaraj 2012). Un uso più sofisticato ne è stato fatto in Russia, dove gli attivisti politici hanno utilizzato Twitter per mobilitare e discutere le elezioni presidenziali, per poi scontrarsi con una campagna avanzata da social bot che ha censurato il movimento (Thomas, Grier e Paxson 2012). Dal 2012, alcuni ricercatori sostengono che i social bot siano stati utilizzati su Twitter per interferire con la mobilitazione politica in Siria (Verkamp e Gupta 2013; Abokhodair, Yoo e McDonald 2015), e in Messico (Suárez-Serrato et al. 2016). Recente-mente, l’applicazione dei political bot avrebbe potuto incidere sull’esito di avvenimenti come i referendum (Woolley e Howard 2016): sono stati presentati studi che suggeriscono un’importante attività di political bot in vista del referendum Brexit del Regno Unito del 2016 (Bastos e Mercea 2017), delle elezioni presidenziali negli USA del 2016 (Bessi e Ferrara 2016) e delle elezioni generali in Francia del 2017 (Ferrara 2017b). I political bot sono spesso associati a campagne di disinformazione, ma sono stati utilizzati anche per campagne di attivismo (Savage, Monroy-Hernandez e Höllerer 2016) e giornalismo (Lokot e Diakopoulos 2016).

2.6.3 Data scraping

Finora si è parlato di social bot come di agenti comunicanti, ma esiste un sottogruppo di social bot il cui scopo non è quello di interagire con altri utenti, bensì quello di raccogliere informazioni e di sorvegliare determinati profili o eventi all’interno dell’OSN. Infatti, alcuni

(29)

OSN come Facebook sono chiusi: per poter visualizzare il profilo di un utente occorre essere iscritto alla OSN ed inoltre, a seconda delle impostazioni scelte dall’utente riguardo la privacy, per poter visualizzare maggiori informazioni è necessario aver stretto amicizia sulla piattaforma. In situazioni come queste entrano in gioco i social bot, in grado di creare connessioni in modo automatico e capaci di raccogliere e salvare le informazioni che trovano durante l’esecuzione.

2.6.4 Impersonificazione

Un social bot per natura dispone di un account all’interno dell’OSN, e ogni account all’interno dell’OSN è legato ad un’identità reale. Nasce quindi un problema per il social bot riguardo a quale identità assumere. Distinguiamo così due gruppi di social bot:

• social bot con una fake identity: social bot che utilizzano dati inventati per poter usufruire dell’OSN;

• social bot doppelganger12: social bot che utilizzano l’identità di una persona reale

(Goga, Venkatadri e Gummadi 2015).

Un social bot doppelganger presenta diversi vantaggi rispetto ad un bot con una fake identity. Ad esempio, un doppelganger, copiando l’identità di una celebrità può sfruttare la sua popolarità per accrescere velocemente la propria rete di connessioni, oppure può utilizzare l’identità di un utente per infiltrarsi nella sua rete sociale e conquistare la fiducia delle proprie connessioni (Goga, Venkatadri e Gummadi 2015).

L’identità reale utilizzata da un social bot può essere presa all’interno dell’OSN in cui il social bot opera, o da un altro sito web (Bilge et al. 2009), in modo da rendere più difficile un’eventuale indagine da parte degli utenti dell’OSN.

12

Termine mutuato dal tedesco, letteralmente "doppio viandante". Si riferisce a un qualsiasi doppio o sosia di una persona.

(30)

2.6.5 Effetti offline

Uno degli aspetti più importanti riguardo l’attività dei social bot è quello del loro effetto al di fuori del World Wide Web. Nonostante sia chiaro che producano effetti online, non lo è altrettanto se l’effetto prodotto si ripercuote sul comportamento che gli utenti hanno fuori dalla rete.

La difficoltà sta nell’individuare la tipologia di account su un OSN che possa influenzare la vita reale di un utente. Aspetti come il numero di seguaci o di contenuti condivisi non sono sempre sufficienti a determinare l’influenza di un account (Cossu, Labatut e Dugué 2016). Questa sembra dipendere più dalla fiducia, aspetto strettamente correlato alla ca-pacità del social bot di mimare il comportamento umano (Aiello et al. 2012). Anche la posizione di un account in un grafo sociale (Ilyas e Radha 2011) sembra incidere sulla sua capacità di influenza, insieme alla lingua utilizzata (Cossu, Dugué e Labatut 2015), mentre studi riguardanti l’interdipendenza tra popolarità di un account e la sua influenza chiari-scono che la popolarità non è un requisito per essere influenti e viceversa (Cha et al. 2010).

Anche se una social botnet riesce ad applicare una certa influenza sulle tendenze di un OSN, non sempre ci si trova davanti ad un atto di manipolazione efficace. Risulta peri-coloso sopravvalutare l’effettiva influenza di un social bot: ad esempio, un individuo non cambierà la propria convinzione politica solo per aver letto un messaggio su un OSN, ma potrebbe verificarsi un’influenza più sottile che tutt’oggi non è possibile dimostrare in ma-niera empirica, e la cui portata risulta più ampia (Hegelich 2016).

I social bot possono sfruttare i dati pubblici degli utenti dell’OSN per individuare quelli che più facilmente accetteranno una connessione con loro in base al loro comportamento sulla piattaforma (Xie et al. 2012; Zangerle e Specht 2014), per adattarsi alle norme so-ciali usando i comportamenti di utenti reali come modello da seguire (Ferrara et al. 2016; Messias et al. 2013). Molti utenti rendono disponibili tutti i loro dati e creano connessioni senza discrezione, offrendo ai social bot un punto di accesso al’interno della rete: questa tendenza è uno dei motivi che rende gli OSN così vulnerabili alla presenza dei social bot (Romero et al. 2011).

Altro fattore importante è il cosiddetto analfabetismo tecnologico, ma questo determina solo in parte le scelte degli utenti riguardo la propria sicurezza all’interno dell’OSN (Leon et al. 2012): è infatti la stessa natura dell’OSN ad influenzare in maniera sostanziale il

(31)

comportamento degli utenti nei confronti della loro vulnerabilità. Basti pensare al concet-to di popolarità misurata nella cardinalità delle connessioni che un utente ha all’interno dell’OSN e che spinge dunque l’utente ad assumere comportamenti che tendano ad au-mentarla al massimo, come creare connessioni con sconosciuti (Steinfield, Ellison e Lampe 2008; Wilson, Gosling e Graham 2012).

La maggior parte degli utenti non è a conoscenza dei social bot, per questo motivo di-verse ricerche hanno come obiettivo quello di educarli ad identificarli, evitarli e segnalarli (Woolley e Howard 2014; Davis et al. 2016), anche se è stato dimostrato che la capacità di identificazione di un utente medio risulta bassa (Wang et al. 2012). Il motivo risiede nel fatto che gli OSN si rivelano un ambiente dove la distinzione tra utenti reali e social bot risulta complicata; spesso un social bot raggiunge la stessa credibilità degli utenti reali (Edwards et al. 2014). Gli ambienti digitali come gli OSN creano quella che è stata definita “proxy culture” (Floridi 2015): l’individuo fuori dalla rete si affida al linguaggio vocale e a quello del corpo per determinare autenticità e fiducia (Metzger e Flanagin 2013), ma online gli utenti si affidano invece ad elementi come l’immagine del profilo, le reazioni e altri strumenti che agevolano il camuffamento dei social bot.

Gli OSN pongono delle soglie anche per quanto riguarda il linguaggio. Il test di Turing (Turing 1950) può essere facilmente superato con successo da un social bot per via delle agevolazioni che l’OSN gli offre come mezzo di comunicazione: ad esempio su Twitter è presente un limite massimo di caratteri utilizzabili in un messaggio, diminuendo così la complessità strutturale e semantica di quest’ultimi e semplificandone la generazione (Co-burn e Marra 2011). Quando la sfida linguistica appare più complessa, un social bot può sempre sfruttare l’esistenza di altri messaggi già scritti all’interno dell’OSN o sul web e riorganizzarli a proprio piacimento (Boshmaf et al. 2013).

La maggior parte degli OSN offre agli utenti la possibilità di creare un profilo personale che rappresenti la loro identità attraverso un’interfaccia preconfezionata. Le stesse immagini del profilo possono diventare, oltre che uno strumento di rappresentazione, anche un mez-zo di comunicazione (Mazza et al. 2016) che i social bot possono sfruttare per convincere gli altri utenti di essere a loro volta utenti reali (Elishar et al. 2012), o addirittura per ottenere popolarità nella rete in cui tentano di introdursi (Java et al. 2007).

(32)

2.7

Twitter

Twitter, nato nel 2006, è un OSN dedicato al microblogging. Comunicando tramite tweets, ovvero testi limitati a 280 caratteri, gli utenti della piattaforma possono scambiar-si messaggi pubblici all’interno di essa. Questi messaggi possono essere espresscambiar-si nella forma di tweeting, pubblicandoli sul proprio profilo, replying, rispondendo ad altri messaggi; e di direct messaging, inviando messaggi privati ad un altro utente. Gli account comunicano tra loro attraverso il tagging: utilizzando il simbolo @ prima del nome di un utente lo si può menzionare, ovvero rivolgersi direttamente ad esso. Inoltre gli iscritti possono interagire tra loro riguardo argomenti specifici usando il simbolo hashtag #, che permette di collegare un contenuto a precisi argomenti.

Gli utenti possono poi creare connessioni attraverso il follow: divenendo seguace di un utente i suoi contenuti verranno mostrati sul feed principale. Un utente può decidere di seguire amici, compagnie, istituzioni, personaggi pubblici o politici.

Le attività su Twitter sono state classificate in 4 gruppi che possono anche intersecarsi tra loro (Java et al. 2007):

• daily chatter: utenti che informano altri utenti riguardo la loro vita quotidiana; • conversations: utenti che si menzionano l’un l’altro per rispondersi a vicenda; • URL: utenti che condividono messaggi contenenti collegamenti ipertestuali ad altri

siti web;

• news: utenti che condividono messaggi che riportano notizie.

Nel 2010, Twitter presentava circa 30 milioni di utenti attivi mensilmente (Statista 2017) mentre oggi ne conta più di 300, registrando una notevole crescita a livello globale che l’ha reso anche uno strumento efficace per la diffusione di messaggi politici: durante le elezioni presidenziali del 2012 sono stati contati 45 milioni di utenti attivi mensilmente, numero che è salito a 67 milioni durante le elezioni del 2016 (Statista 2017).

Twitter combina gli elementi di un OSN (Boyd e Ellison 2007) con quelli di un blog (Marlow 2005), mostrando tutti i tweet e retweet di un utente sulla propria pagina, dal

(33)

più al meno recente. Il profilo degli utenti della piattaforma appaiono minimalisti e sono accessibili anche esternamente, ma un utente può rendere privati i suoi tweet. La funziona-lità principale di Twitter, mostrata dopo l’accesso, è rappresentata dallo stream di tweet condivisi dagli utenti seguiti da chi ha effettuato il login.

Lo stream di tweet informa perifericamente i vari utenti senza che debbano partecipare attivamente alla conversazione.

2.7.1 Retweet

Nonostante il retweet possa essere visto come il semplice atto di copiare e trasmet-tere un contenuto, esso contribuisce allo sviluppo di un’ecologia conversazionale in cui le diverse conversazioni sono composte dall’interazione di svariate voci che danno origine a un contesto colloquiale condiviso tra gli utenti (Boyd, Golder e Lotan 2010). L’atto del retweet è strutturato in modo tale da disperdere la conversazione attraverso una rete di utenti connessi, evitando che questa rimanga dunque costretta entro un gruppo chiuso di utenti.

Il retweet può coinvolgere nuovi utenti in una discussione, invitandoli a partecipare in-direttamente: può essere inteso sia come mezzo di diffusione che di partecipazione ad una conversazione. Diffondere un contenuto tramite retweet non significa solo inviare messaggi ad un nuovo pubblico, ma anche interagire con questo.

I motivi per cui un utente utilizza la funzione retweet possono essere riassunti nei seguenti punti (Boyd, Golder e Lotan 2010):

• per diffondere il tweet a nuovi segmenti di pubblico; • per intrattenere o informare un pubblico specifico;

• per commentare un certo tweet e iniziare una conversazione; • per confermare di aver letto il contenuto del tweet;

• per confermare pubblicamente il proprio accordo con il contenuto del tweet; • per un atto di amicizia, fedeltà o omaggio verso un utente;

(34)

• per far aumentare la popolarità di un utente; • per far aumentare la propria popolarità;

• per salvare il tweet sul proprio feed per futuri accessi.

La natura in tempo reale che Twitter incentiva si rivela un valore aggiunto. Le due sezioni, “cerca” e “trending topics” permettono all’utente di trovare e partecipare alle conversa-zioni pubbliche iniziate da qualsiasi utente dell’OSN in tempo reale, influenzando così il tipo di contenuti che gli utenti scelgono di condividere tramite retweet.

Oggi il retweet viene usato anche come unità per misurare la popolarità di un evento (Zhang, Wang e Li 2013): si assume che se un particolare evento riceva più tweet che ret-weet a riguardo, questi non dureranno a lungo su Twitter, e l’evento potrebbe non essere in grado di guadagnare popolarità (Firdaus, Ding e Sadeghian 2018). Il retweet può essere inoltre usato per misurare la fiducia tra utente e autore del tweet (Adali et al. 2010): questa si rivela un fattore importante nell’ecosistema dell’OSN e serve a valutare l’attendibilità dei contenuti che un utente sceglie di condividere.

Diversi sono gli studi interessati al retweet come meccanismo di diffusione: alcuni di questi hanno indagato sulle caratteristiche in base alle quali un utente è spinto a condividere un determinato tweet, estraendo una serie di caratteristiche che possono avere un impatto, come le precedenti interazioni con l’autore del tweet e il tipo di tweet che l’utente tende a condividere (Comarela et al. 2012), o la serendipicità13 delle informazioni contenute nel tweet (Sun, Zhang e Mei 2013).

Non sempre il retweet risulta una riproduzione esatta dell’informazione originale. Quando un utente commenta il tweet originale nel proprio retweet, può alterarne il significato ini-ziale . Anche quando non altera direttamente il messaggio, il significato del retweet può cambiare grazie al contesto in cui si trova. Anche la diversa interpretazione di un segmen-to di pubblico è in grado di portare ad un cambiamensegmen-to di significasegmen-to del tweet originale. Questi fenomeni possono contribuire alla crescita della misinformation.

13

(35)

2.7.2 Le Twitter API

La raccolta dati è un passo fondamentale nell’ambito dei lavori scientifici che si occupa-no dello studio e delle analisi di informazioni, ed è importante che i dati raccolti risultioccupa-no adeguati al fine di ottenere risultati utili. Campi relativi al natural language processing14, sentiment analysis15e machine learning utilizzano gli OSN per estrarre informazioni sugli utenti e trasformarle in input machine-readable16, usate poi da diversi algoritmi per otte-nere predizioni che possono riguardare la diffusione di un’influenza (Lampos e Cristianini 2010), i risultati di strategie di marketing (Asur e Huberman 2010) o l’esito delle elezioni politiche (Tumasjan et al. 2010).

Twitter rappresenta un ambiente in cui è possibile trovare conversazioni tra utenti ri-guardanti molteplici argomenti, spesso tenute praticamente in tempo reale; per questo motivo risulta essere uno degli OSN più utilizzati per la raccolta dati. Le informazioni raccolte su Twitter hanno portato a studi sulla diffusione di rumors (Zubiaga et al. 2016), sul rilevamento della mobilità (Cuenca-Jara et al. 2017) e sulla risposta a catastrofi (Ashk-torab et al. 2014).

Il mondo scientifico utilizza Twitter e i suoi dati per i propri studi, poiché permette di interrogare e raccogliere grandi volumi di dati in tempi brevi. Per accedere a questi si utilizzano le Twitter API17, che richiedono la registrazione di un’applicazione per poter

poi interrogare i vari endpoint18. Questi rientrano in cinque gruppi:

• account e utenti: permettono di gestire in modo programmatico il profilo e le im-postazioni di un account, silenziare o bloccare utenti, gestirli assieme ai follower o richiedere informazioni sull’attività di un account autorizzato;

• tweet e risposte: consentono l’accesso ai tweet pubblici e alle risposte;

14Il processo di trattamento automatico delle informazioni scritte o parlate in una lingua naturale. 15Processo di identificazione ed estrazione di informazioni soggettive da diverse fonti.

16Dati esposti in un formato che li renda interpretabili da un calcolatore. 17

https://developer.twitter.com/

18

(36)

• messaggi diretti: garantiscono l’accesso alle conversazioni private degli utenti che hanno concesso in modo esplicito l’autorizzazione all’applicazione;

• annunci: consentono di gestire automaticamente le campagne pubblicitarie su Twit-ter;

• strumenti e SDK19 per il publisher: si tratta di strumenti atti ad incorporare nelle pagine web cronologie, pulsanti di condivisione e altri contenuti propri di Twitter. Le ricerche e gli studi che si occupano di sviluppare strumenti e metodi per la rivelazione dei social bot fanno uso dei primi due gruppi per analizzare dati relativi ad utenti e alla loro attività.

Questi endpoint restituiscono in risposta oggetti formattati contenenti dati e metadati. Per un tweet ad esempio, oltre alle informazioni che è possibile osservare durante la norma-le navigazione, vengono forniti anche metadati come coordinate geografiche, informazioni cronologiche, informazioni sui retweet e sul linguaggio.

1 { 2 " u s e r ": { 3 " id ": 2 2 4 4 9 9 4 9 4 5 , 4 " i d _ s t r ": " 2 2 4 4 9 9 4 9 4 5 " , 5 " n a m e ": " T w i t t e r D e v " , 6 " s c r e e n _ n a m e ": " T w i t t e r D e v " , 7 " l o c a t i o n ": " I n t e r n e t " ,

8 " url ": " h t t p s :// dev . t w i t t e r . com /" ,

9 " d e s c r i p t i o n ": " Y o u r s o u r c e for T w i t t e r n e w s " , 10 " v e r i f i e d ": true , 11 " f o l l o w e r s _ c o u n t ": 477684 , 12 " f r i e n d s _ c o u n t ": 1524 , 13 " l i s t e d _ c o u n t ": 1184 , 14 " f a v o u r i t e s _ c o u n t ": 2151 , 15 " s t a t u s e s _ c o u n t ": 3121 , 16 " c r e a t e d _ a t ": " Sat Dec 14 0 4 : 3 5 : 5 5 + 0 0 0 0 2013" , 17 " u t c _ o f f s e t ": null , 19

Acronimo per “software development kit”: un insieme di strumenti per lo sviluppo e la documentazione di software.

(37)

18 " t i m e _ z o n e ": null , 19 " g e o _ e n a b l e d ": true , 20 " l a n g ": " en " , 21 " p r o f i l e _ i m a g e _ u r l _ h t t p s ": " h t t p s :// pbs . t w i m g . com /" 22 } 23 }

Listing 2.1: Esempio di un oggetto JSON rappresentante un utente.

1 {

2 " c r e a t e d _ a t ": " Thu Apr 06 1 5 : 2 4 : 1 5 + 0 0 0 0 2017" ,

3 " id ": 8 5 0 0 0 6 2 4 5 1 2 1 6 9 5 7 4 4 ,

4 " i d _ s t r ": " 8 5 0 0 0 6 2 4 5 1 2 1 6 9 5 7 4 4 " ,

5 " t e x t ": "1/ T o d a y we ’ re s h a r i n g our v i s i o n for the f u t u r e of the T w i t t e r API p l a t f o r m ! n h t t p s :// t . co / X w e G n g m x l P " , 6 " s o u r c e ": " T w i t t e r for Mac " , 7 " t r u n c a t e d ": true , 8 " i s _ q u o t e _ s t a t u s ": false , 9 " r e p l y _ c o u n t ": 1585 , 10 " r e t w e e t _ c o u n t ": 1585 , 11 " f a v o r i t e _ c o u n t ": 1138 , 12 " f a v o r i t e d ": true , 13 " r e t w e e t e d ": t r u e 14 " u s e r ": {} , 15 " l a n g ": " en " , 16 " c o o r d i n a t e s ": { 17 " c o o r d i n a t e s ": [ - 7 5 . 1 4 3 1 0 2 6 4 , 4 0 . 0 5 7 0 1 6 4 9 ] , 18 " t y p e ": " P o i n t " 19 } , 20 " p l a c e ": { 21 " a t t r i b u t e s ": {} , 22 " b o u n d i n g _ b o x ": { 23 " c o o r d i n a t e s ": [[ 24 [ - 7 7 . 1 1 9 7 5 9 , 3 8 . 7 9 1 6 4 5 ] , [ - 7 6 . 9 0 9 3 9 3 , 3 8 . 7 9 1 6 4 5 ] , [ - 7 6 . 9 0 9 3 9 3 , 3 8 . 9 9 5 5 4 8 ] , [ - 7 7 . 1 1 9 7 5 9 , 3 8 . 9 9 5 5 4 8 ] 25 ]] , 26 " t y p e ": " P o l y g o n " 27 } , 28 " c o u n t r y ": " U n i t e d S t a t e s " ,

(38)

29 " c o u n t r y _ c o d e ": " US " ,

30 " f u l l _ n a m e ": " W a s h i n g t o n , DC " ,

31 " id ": "01 f b e 7 0 6 f 8 7 2 c b 3 2 " ,

32 " n a m e ": " W a s h i n g t o n " ,

33 " p l a c e _ t y p e ": " c i t y " ,

34 " url ": " h t t p :// api . t w i t t e r . com /1/ geo / id / 0 1 7 2 c b 3 2 . j s o n "

35 } , 36 " e n t i t i e s ": { 37 " h a s h t a g s ": [] , 38 " u r l s ": [] , 39 " u s e r _ m e n t i o n s ": [] , 40 " m e d i a ": [] , 41 " s y m b o l s ": [] 42 " p o l l s ": [] 43 } 44 }

Listing 2.2: Esempio di un oggetto JSON rappresentante un tweet.

Nonostante le Twitter API rendano relativamente semplice la procedura di raccogliere tweet, presentano comunque dei limiti:

• a seconda dell’endpoint, non è possibile effettuare più di n chiamate nella stessa finestra temporale di quindici minuti;

• i tweet risultanti dalla ricerca non sono più vecchi di sette giorni; recentemente sono state introdotte delle soluzioni a pagamento per poter accedere a tweet più vecchi; • i tweet risultanti dalla ricerca basata su un utente, oltre a non essere più vecchi di

sette giorni, sono limitati ai 3.200 più recenti.

2.7.3 Twitter social bot

Data la sua semplicità d’uso e di accesso, - caratteristiche che lo rendono diverso da Facebook, che è ad oggi l’OSN più utilizzato - Twitter risulta essere un terreno fertile per la creazione di social bot. Si stima che la percentuale di questi su Twitter si aggiri tra il 9% e il 15% (Varol et al. 2017) e che circa 2/3 dei tweet contenenti URL che rimandano

(39)

ai siti web più popolari sia condiviso da social bot (Wojcik et al. 2018). Le azioni che un social bot può compiere su Twitter sono:

• tweet; • retweet; • like;

• follow/unfollow.

Come per i social bot presenti in altri OSN, quelli su Twitter possono essere utilizzati per diversi scopi: dalla semplice condivisione dei contenuti di un determinato utente a compiti più difficili, come la partecipazione a discussioni con altri iscritti. Un altro tipo di social bot può svolgere il compito di seguire determinati utenti per aumentarne la popolarità (Cresci et al. 2015): grazie a questa funzione, si può fare in modo che tale account guadagni anche più utenti reali come seguaci (Wang 2010).

(40)

Social bot detection

Lo studio e il riconoscimento di social bot è una disciplina ancora giovane e in fase di sviluppo. I social bot si evolvono di pari passo ai metodi sviluppati per il loro rilevamento, rendendo quest’ultimi inefficaci e obsoleti. Dal momento che i social bot sono in via di sviluppo e aggiornamento costante per evadere il rilevamento, è importante che anche i metodi utilizzati per identificarli siano continuamente aggiornati.

La maggiore difficoltà risiede nel fatto che il social bot per definizione imita o tenta di imitare il comportamento umano; certi tipi di spam bot rappresentano un’eccezione, in quanto distribuiscono una grande quantità di contenuti spesso simili che può essere facil-mente individuata sia da un umano che da un algoritmo. Di solito, però, l’identificazione di un social bot risulta difficile, soprattutto quando gli account da loro creati contengono informazioni che possono apparire legittime: ciò risulta in modo più evidente quando un social bot utilizza un account compromesso, ovvero uno precedentemente appartenuto ad un utente reale.

Continuando a sviluppare nuovi metodi per il rilevamento dei bot, ricercatori e addet-ti alla sicurezza informaaddet-tica dispongono di metodi per combattere o almeno idenaddet-tificare i pericoli che derivano dalla loro presenza. Attualmente, il mondo della ricerca ha sviluppato diversi metodi, seguendo approcci differenti.

(41)

3.1

Approcci

La cosiddetta bot detection può applicare approcci diversi, ognuno dei quali risulta più efficace in un determinato scenario o all’interno di uno specifico OSN. Questo perché i vari OSN sono diversi in struttura e modalità di utilizzo, e possiedono anche diversi gradi di disponibilità per quanto riguarda i dati che diffondono pubblicamente. Ad esempio, attra-verso le Twitter API, è possibile ottenere tutte le informazioni riguardo il profilo di un account, mentre tramite le API fornite da Facebook non è possibile ottenere questo tipo di dati. Disporre dei dati riguardanti i profili pubblici degli utenti significa poter effettuare un’analisi più profonda su questi.

Un altro fattore che determina il tipo di approccio è il tipo di social bot che si vuole analizzare. I vari tipi di social bot comunicano attraverso diversi canali e in differenti vo-lumi, e alcuni metodi di rilevamento possono identificare i vari tipi di bot in maniera più efficace. Ad esempio, se si vogliono identificare dei fake follower, analizzare le loro attività risulterebbe perlopiù inutile.

Negli ultimi anni sono stati numerosi i contributi forniti dal mondo scientifico riguar-do l’identificazione dei social bot e delle loro attività. Alcuni studi si sono concentrati sul testo dei contenuti che hanno generato, altri sull’analisi di determinate feature. L’a-nalisi comportamentale sembra essere una strada percorsa da molti ricercatori, poiché il comportamento può essere misurato attraverso diversi approcci.

3.1.1 Analisi comportamentale

È possibile riconoscere un social bot all’interno di un OSN attraverso l’identificazione di un pattern comportamentale: una qualsiasi azione può seguire un determinato schema in un arco temporale. Un pattern può essere scoperto, ad esempio, studiando gli intervalli di tempo che passano tra la condivisione di un contenuto o il tipo di azione eseguito da un account dopo la registrazione all’interno dell’OSN (Cresci et al. 2018a; Echeverria e Zhou 2017a).

(42)

I modelli comportamentali spesso differiscono tra social bot e utenti reali : la ricerca scien-tifica si è concentrata in particolare sull’analisi dei modelli temporali dei tweets (Zhang e Paxson 2011): all’interno di tale lavoro si è verificato se un determinato comportamento fosse proprio di utenti reali o di social bot attraverso il test chi quadrato di Pearson: una tecnica di inferenza che si basa sulla statistica di chi-quadro1 e sulla relativa distribuzione di probabilità, che può essere utilizzato con variabili a livello di scala nominale o ordinale. Il test di Pearson è stato utilizzato per verificare se i timestamp2 dei tweet fossero coerenti con le distribuzioni temporali di utenti reali, in quanto tale test fornisce una probabilità di come i tweet possano essere uniformemente distribuiti in un determinato orario: una bassa probabilità indica che la distribuzione temporale appartiene ad un utente reale, mentre un’alta probabilità riporta all’attività automatizzata di un social bot.

La distribuzione temporale dei diversi account varia significativamente; l’asse X ripor-ta i minuti in un’ora mentre l’asse Y i secondi in un minuto. La distribuzione temporale di un utente reale è sparsa in un modo casuale e priva di cluster3, mentre quella di un social bot risulta più regolare.

Il problema dell’approccio presentato risiede nel fatto che questo può essere facilmente eluso aumentando il grado di casualità del social bot, rendendo poi impossibile, attraverso tale approccio, la distinzione tra utente reale e social bot.

Un altro approccio comportamentale utilizzato ha previsto un’analisi in base all’attivi-tà di tweeting, al contenuto dei tweet e alle proprieall’attivi-tà di un account (Chu et al. 2010), tutti analizzati per classificare tramite machine learning gli utenti come umani, social bot o cyborg (equivalente a ciò che in questo lavoro è stato definito come social bot semi-automatico). Lo studio si è concentrato su fattori come il numero di seguaci, il numero di utenti seguiti, il numero di tweet, la frequenza di quest’ultimi e il dispositivo di origine del tweet. Analizzando le relazioni tra utenti seguiti e seguaci, lo studio ha dimostrato che gli

1

Il termine “chi-quadro” si usa per indicare contemporaneamente la distribuzione di probabilità, una particolare tecnica di inferenza statistica e un indice statistico.

2

Una sequenza di caratteri che rappresentano una data e/o un orario per accertare l’effettivo avvenimento di un certo evento.

(43)

utenti reali tendono ad averne circa lo stesso numero, mentre il 60% di account identifi-cati come social bot hanno un minor numero di seguaci rispetto al numero di utenti che seguono. Gli autori spiegano che i social bot tendono a seguire un gran numero di utenti per ottenere un followback4 ed aumentare la propria popolarità. Riguardo al numero di tweet, nello studio è risultato che gli utenti reali tendono a condividerne di più rispetto ai social bot, questo perché i social bot vengono spesso ibernati per un certo periodo di tempo; quando però tornano attivi, postano tweet con maggiore frequenza.

Figura 3.1: Trame temporali di diversi account Twitter.

Ogni punto rappresenta un singolo tweet. Sull’asse X sono riportati i minuti del tweet nel-l’ora e sull’asse Y i secondi nel minuto. Il grafico in alto a sinistra mostra la distribuzione temporale di utenti che hanno superato il test riportando l’uniformità prevista. In tutti gli altri grafici sono riportati invece comportamenti che falliscono il test, esibendo diversi modelli non uniformi fatta eccezione per il comportamento riportato in basso a destra che esibisce un uniformità troppo pronunciata, troppo armonica per essere stato prodotto da un processo casuale (Zhang e Paxson 2011).

4

Tecnica basilare utilizzata su diversi OSN, consiste nel diventare seguace di un utente aspettando di essere ricambiati.

(44)

3.1.2 Analisi dei contenuti e del linguaggio

Un altro tipo di approccio adottato consiste nell’analisi dei contenuti testuali. Alcuni social bot possono essere identificati analizzando le parole che utilizzano nei loro contenuti e i sentimenti che esprimono.

Figura 3.2: Comparazione tramite istogrammi tra social bot e utenti reali su feature basate sul sentimento e indipendenti dal topic.

I vari istogrammi mostrano le differenze dei sentimenti espressi da utenti reali e social bot:

- in alto a sinistra si osserva una forte presenza di sentimento positivo nei tweet generati da utenti reali;

- in alto a destra è mostrata una presenza più accentuata di sentimenti negativi nei tweet generati da umani rispetto a quelli generati da social bot;

- in basso a sinistra è evidenziato come siano perlopiù i social bot a produrre tweet con un sentimento;

- in basso a destra è riportata la forte discordanza tra i sentimenti positivi e negativi nei tweet generati da social bot (Dickerson, Kagan e Subrahmanian 2014).

(45)

Nello sviluppo di strumenti per il rilevamento di social bot possono venire implemen-tati metodi di analisi linguistiche e sentimentali attraverso l’elaborazione del linguaggio naturale. Tramite quest’ultimo, un software può determinare il tipo di sentimento espres-so da una frase, che espres-solitamente può risultare neutro, positivo o negativo (Wilespres-son, Wiebe e Hoffmann 2005). In questi casi è possibile addestrare il software utilizzando contenuti estratti ed etichettati dallo stesso OSN (Pak e Paroubek 2010), in modo da ottenere un corpus di dati coerente con i testi che saranno presi in analisi.

Nel 2014 è stato effettuato uno studio sulla distinzione tra utenti reali e social bot su base linguistica (Dickerson, Kagan e Subrahmanian 2014): lo studio ha preso in esame tweet prodotti da diversi account e ne ha analizzato la media degli hashtag, dei link e dei caratteri speciali presenti. Inoltre ha effettuato un controllo semantico, analizzando il sentimento medio di ogni utente riguardo diversi argomenti, il grado di contraddizione dei sentimenti espressi, la loro polarità sentimentale e la rispettiva frequenza di sentimenti positivi e negativi. Dopo un’analisi basata su 7,7 milioni di tweet appartenenti a oltre 555.000 utenti è stato mostrato che sentimenti positivi risultano più forti negli utenti reali e che la gamma di sensazioni espresse varia con maggior frequenza.

L’analisi linguistica permette in molti casi di distinguere i testi generati da un software da quelli generati da un individuo umano, offrendo una promettente base di partenza per lo sviluppo futuro di nuovi metodi di identificazione dei social bot.

3.1.3 Crowdsourcing

Un approccio che si differenzia notevolmente dagli altri è quello del crowdsourcing. Il crowdsourcing funziona come un test di Turing (Turing 1950) in cui persone reali parteci-pano alla determinazione di un account come reale o social bot. Uno studio ha esaminato la fattibilità di una soluzione crowdsourcing (Wang et al. 2012), dimostrandone l’efficacia per i seguenti motivi:

• l’intelligenza umana può risolvere problemi che gli algoritmi non possono risolvere; • il carico di lavoro viene distribuito tra più persone in modo da non sovraccaricare il

(46)

• le dimensioni dei gruppi di lavoro possono variare in maniera dinamica; • nuove persone possono essere reclutate se si presenta il bisogno.

La differenza più significativa rispetto agli altri metodi riguarda l’utilizzo dell’intelligenza umana, che può rilevare incoerenze che gli algoritmi non sono in grado di trovare, come incongruenze linguistiche o di contesto. I non esperti riescono a svolgere il compito in modo rapido, anche se tendono a sbagliare in modo frequente (Tufekci e Wilson 2012). È uno degli approcci più efficaci e può essere utilizzato anche per etichettare gli account di un OSN per un futuro task di classificazione automatica. Lo svantaggio maggiore presentato da questo approccio è il costo di risorse umane richiesto.

3.1.4 Honeypots

L’honeypot, letteralmente “barattolo di miele”, rappresenta un approccio di tipo pas-sivo, in quanto non richiede l’analisi di un account e dei suoi dati per trovare anomalie. Un honeypot è un account creato ad hoc su un OSN per attirare l’attenzione dei social bot. Sono account la cui attività viene monitorata per controllare le caratteristiche degli account che interagiscono con essi. Uno studio ha creato 300 honeypot su diversi OSN, tra cui Twitter (Stringhini, Kruegel e Vigna 2010), tenendoli attivi per dodici mesi. Dopo aver raccolto e analizzato i dati, i ricercatori hanno scoperto che gran parte degli account che hanno interagito con gli honeypot erano utenti reali. Per distinguere gli utenti reali dai social bot è stato richiesto un intervento umano, i risultati del quale hanno mostrato che, tra gli account Twitter, 361 su 397 erano social bot. Nonostante i risultati si sia-no dimostrati significativamente diversi per gli altri OSN, per quanto riguarda Twitter l’approccio sembra risultare molto efficace. Lo svantaggio principale presentato da questa metodologia riguarda la quantità di tempo richiesta; può capitare che durante il periodo di tempo necessario ad ingaggiare interazioni con altri account, alcuni di questi vengano cancellati o sospesi, rendendone praticamente inutile l’analisi.

3.1.5 Problemi degli approcci

Tutti gli approcci, a prescindere dalla loro complessità, seguono regole che tendono a descrivere le caratteristiche di un social bot. Se un operatore umano utilizza lo stesso

Riferimenti

Documenti correlati

Nei mesi di attività, sono stati realizzati numerosi incontri con le aziende aderenti al progetto Cluster al fine di spiegare agli Imprenditori Agricoli singoli,

LE RETTE SONO LINEE CHE MANTENGONO LA STESSA DIREZIONE SENZA INIZIO

Le schede delle unità amministrative verranno ordinate per , provincia (colonne 12 e 11) e nell'ordine tabulate per avere il numero di queste unità (contaschede) e il numero degli

Nell’ambito della presente sottomisura, il sostegno può essere concesso per attività dimostrative unicamente legate alla disseminazione dei risultati del progetto e sulla base

Secondaria) Interventi rivolti alle famiglie: Consulenza psicologica (individuale o di coppia)

Grazie alle tecnologie Big Data, si è effettuata un'analisi approfondita su due tipi di Retweet Graph: Cumulative Evolutionary Retweet Graph e Dynamic Retweet Graph

Dopo aver identificato gli hashtag unici tra i 1000 più popolari utilizzando la tecnica S-H-ESD, tramite un algoritmo di Machine Learning non supervisionato applicato

Lo scopo di questo lavoro è quello di sollecitare l’avvio di un confronto in merito alla valutazione dei ri- schi professionali presenti negli “ambienti sospetti di in- quinamento”