progetto TrackMap, anticipazione
Ciao a tutti, scusate per l'email lunga. spero sia interessante per chi si applica alla geopolitica dei dati ;) Sto cercando un po' di feedback riguardo un progetto che porto avanti con TacticalTech (http://tacticaltech.org), si chiama TrackMap. Lo scopo è mostrare visivamente agli utenti, e dare delle risorse complete ai ricercatori, per misurare quante delle comunicazioni svolte da un utente sono normalmente esposte [1] ad altre nazioni. Detto in modo sintetico (e tecnicamente approssimativo): un utente che vuole partecipare alla ricerca avvia un software, questo software effettua dei traceroute (http://it.wikipedia.org/wiki/Traceroute) verso una lista di siti. Ogni singolo passaggio che le nostre connessioni fanno, può rappresentare la fuoriuscire dal territorio nazionale. Come lo si capisce ? non c'è una soluzione affidabile al 100%, ma GeoIP è quella che più si avvicina [2]. Per rendere però il test meno astratto, non ho pensato di prendere i 1000 siti più visitati e sottoporli a questo test, ma di scegliere dei soggetti più appropriati. Ho pensato (di iniziare) i news media, perché: 1) normalmente sono pensati per dei cittadini di una specifica nazione, quindi il fatto che il traffico possa rimanere locale è un'aspettativa piuttosto sensata. 2) chi dovesse fare analisi [3] su nazioni stranire, potendo monitorare quali articoli vengono più letti e da dove [4], avrebbe ottimi dati per capire gli interessi e le percezioni di una nazione (ma potrebbe zoomare l'analisi su una sola città, per esempio) 3) i media online vivono di advertising, e questo li porta ad un'inclusione (non direi scellerata, ma sicuramente inconsapevole delle implicazioni) di tracker, social media, banner ed altre cose pur di poter monitizzare, effettivamente "vendendo" i loro utenti. Sicché, avevo fatto questa presentazione ad Aprile: http://vecna.github.io al festival del giornalismo, poi ho migliorato il prototipo, qui vedete tre nazioni diverse con i loro media nazionali, ordinate per quantità di nazioni* estere che possono: http://ytre.me/web/Italy.html http://ytre.me/web/Germany.html http://ytre.me/web/Switzerland.html (*) Non dovrei parlare di nazioni, ma di "classi di IP assegnati a compagnie", con compagnie soggette alle leggi di quelle nazioni. Mi chiedo quanto sia equivalente. Il lavoro degli ultimi mesi è stato improntato a far scalare l'analisi a livello globale, quindi avendo sia delle liste di media diversificate per nazioni, sia una separazione di media nazionali da locali (necessario per dare una scelta comoda all'utente), e poi lo script di raccolta dati che deve girare in ogni nazione sotto analisi. Qui c'è il repository con la spiegazione dettagliata di quello che fa: https://github.com/vecna/helpagainsttrack Cosa vorrei ? Critiche, suggerimenti, commenti. Stiamo preparando la comunicazione e alcune ricerche fatte sui dati collezionati, e siccome è una forma di analisi relativamente nuova e facilmente fraintendibile, volevo farla più accurata possibile. Alcune anticipazione raccolte grossolanamente (l'analisi non è ancora iniziata): 1) E' visivamente misurabile quanto, il depeering di telecom italia, influenzi la fuoriuscita dal traffico dal territorio nazionale. 2) ogni connessione che esce da un certo provider guatemalese, passa solo per link americani 3) alcune connessioni da palestina a palestina, passano per Francoforte e per Tel Aviv. 4) la quantità di inclusioni riconducibili a Google, superano, dalle 2 alle 5 volte, la compagnia in seconda posizione. I record (a occhio!) di inclusioni, vanno a 2 media tedeschi: { "id": 28, "included_companies": [ "Krux", "Turn", "Facebook", "Outbrain", "comScore", "PubMatic", "CONTEXTWEB", "Visual Revenue", "MediaMath", "AOL", "OpenX", "Horyzon Media", "Federated Media", "Criteo", "Twitter", "Improve Digital", "Cox Digital Solutions", "ADITION", "INFOnline", "Yieldlab", "adrolays", "Adap.tv", "nugg.ad", "Google", "Rocket Fuel", "Magnetic", "AudienceScience", "ADTECH", "New Relic", "ValueClick", "Acuity", "Fox One Stop Media", "Casale Media", "SpotXchange", "adscale", "Datalogix", "AppNexus", "Videology", "DataXu", "eXelate", "eyeReturn Marketing" ], "linked_hosts": 93, "title": "Aktuelle Nachrichten - Bild.de", "type": "global", "url": "www.bild.de" }, E { "id": 69, "included_companies": [ "Krux", "Turn", "Emediate", "OwnerIQ", "Google", "Facebook", "PubMatic", "CONTEXTWEB", "AOL", "MediaMath", "OpenX", "Optimizely", "Federated Media", "Horyzon Media", "Criteo", "INFOnline", "Improve Digital", "Cox Digital Solutions", "ADITION", "cXense", "Yieldlab", "Adap.tv", "Akamai", "Casale Media", "nugg.ad", "Twitter", "Rocket Fuel", "AudienceScience", "Chartbeat", "Fox One Stop Media", "The Trade Desk", "Adform", "plista", "SpotXchange", "adscale", "Datalogix", "AppNexus", "adrolays", "Webtrekk", "Videology", "ADTECH", "adnologies" ], "linked_hosts": 105, "title": "Nachrichten und aktuelle Informationen aus Politik, Wirtschaft, Sport und Kultur - DIE WELT", "type": "global", "url": "www.welt.de" }, Per ognuno di queli "linked_hosts" che vengono derivati dall'analisi dei media, c'è un'analisi geografica, che forse ad un essere umano potrà sembrare scomoda da leggere, ma è un'API JSON che sarà pubblica tra 3 settimane: { "company": "DG", "country_chain": [ "Italy", "United States", "United Kingdom", "Netherlands" ], "host": "bs.serving-sys.com", "media_url": "www.corriere.it" }, { "company": "DG", "country_chain": [ "Italy", "Europe", "United States", "Europe", "United States", "Italy" ], "host": "ds.serving-sys.com", "media_url": "www.corriere.it" }, { "company": "Facebook", "country_chain": [ "Italy", "Ireland" ], "host": "www.facebook.com", "media_url": "www.corriere.it" }, { "company": "Automattic", "country_chain": [ "Italy", "United States" ], "host": "0.gravatar.com", "media_url": "www.corriere.it" }, Questo ad esempio, mostra i (una piccola porzione) dei passaggi che avvengono ogni volta che andiamo su www.corriere.it Esiste già qualcosa di simile, per quanto riguarda le compagnie di tracking presenti: http://newsreadsus.okfn.de/ ma in questo progetto, l'uso di traceroute/GeoIP permette appunto di visualizzare dati meno intuitivi ma significanti. I dati ricevuti, sono una quantità enorme di traceroute. ad esempio, questo è un dato grezzo di un traceroute dalla nigeria verso moda.corriere.it: $ cat moda.corriere.it_countries.json { "0": null, "1": null, "2": "Nigeria", "3": "Nigeria", "4": "Nigeria", "5": "United States", "6": "United States", "7": "United States", "8": "United States", "9": "Italy", "10": null, "11": null } E qualcuno potrebbe chiedersi: ma che c'entra l'US tra la Nigeria e l'Italia ? anche niente. Ma, questi sono gli indirizzi IP di quel traceroute (riporto quelli dal quinto hop al decimo): ["41.184.56.97"], null, ["184.105.213.146", "72.52.92.222", "184.105.213.146", "72.52.92.222"], ["184.105.223.254", "72.52.92.30", "184.105.223.254", "72.52.92.30", "184.105.223.254", "72.52.92.30"], ["184.105.222.110", "184.105.222.130", "184.105.222.110", "184.105.222.50", "184.105.222.130"], ["72.52.92.241", "184.105.222.130", "72.52.92.241", "184.105.222.130"], ["217.171.38.94"], E facendo un po' di reverse DNS, capiamo che: 41.184.56.97, l'hop marcato come "4", è ir1-th-lon.rv.ipnxtelecoms.com, che è parte di http://www.ipnxnigeria.net/ provider nigeriano wiMax. Poi si passa sul backbone: $ host 184.105.213.146 146.213.105.184.in-addr.arpa domain name pointer 10ge14-6.core1.fra1.he.net. $ host 72.52.92.222 222.92.52.72.in-addr.arpa domain name pointer 10ge3-1.core1.lon2.he.net. questi sono link di http://he.net/ (Hurrican Electric, rete di backbone) ne ho saltato uno, per poi arrivare qui: $ host 72.52.92.241 241.92.52.72.in-addr.arpa domain name pointer 10ge2-1.core1.mil1.he.net. $ geoiplookup 72.52.92.241 GeoIP Country Edition: US, United States un link di HE diretto verso l'italia (mil1), e poi l'hop successivo arriva in italia $ host 217.171.38.94 Host 94.38.171.217.in-addr.arpa. not found: 3(NXDOMAIN) $ geoiplookup 217.171.38.94 GeoIP Country Edition: IT, Italy questa cosa fatta in modo automatico ha delle imprecisioni (non so sinceramente dire quante. avete idee ?). Questo è più o meno come funziona, ed è spiegato bene nel README: https://github.com/vecna/helpagainsttrack ci sono anche altri esempi di traceroute spiegati. cose che non facciamo per ora: - non si entra nel merito di "come sarebbe il mondo se tutti usassero HTTPSEverywhere" ( https://www.eff.org/https-everywhere ) - non si valutano le privacy policy dei singoli stati, servizi, ISP. - le CDN vengno considerate come tutti gli altri server. ciao e grazie dell'attenzione, Claudio Agosti, Centro Studi Hermes. [1] per esposte intendo che passano attraverso altre nazioni o attraverso compagnie straniere. Non conta tanto lo stato di diritto sul tema, conta la possibilità intrinseca che essere siano bloccate, dirottata, controllate passivamente. [2] GeoIP dice a chi è allocata un certo indirizzo IP, quindi a volte può essere associato ad un provider americano che ha la sua sede a francoforte, e la connessione apparirù come toccare "United States", oppure, ad un provider italiano che ha un server di un francese apparirà come italiano. In questi esempi i soggetti coinvolti nel trattamento dei dati sono 4, e solo 2 ne vengono rivelati da GeoIP. Trattandosi [3] non intendo specificatamente "le agenzie di intelligence", anche qualunque altro privato che possa avere accesso a questi dati, (e il fatto che rappresenti o no una violazione nel suo territorio, fare analisi su dati di anonimi stranieri, questo per ora ci è ignoto) [4] l'analisi è automatizzabile se pensiamo che basta un referer per sapere quale articolo viene acceduto (e da chi, e da dove), poi gli articoli sono indicizzati da motori appositi, e fare analisi automatizzate diventa possibile senza uno sforzo umano proporzionale alla quantità di dati.
participants (1)
-
Claudio Agosti