[Hackmeeting] progetto TrackMap

Delete this message

Reply to this message
Author: ɣęƈƞą
Date:  
To: hackmeeting
Subject: [Hackmeeting] progetto TrackMap
Ciao, scusate la mail lunga, ma spero sia interessante :)

Sto cercando un po' di feedback riguardo un progetto che sto portando
avanti con TacticalTech (http://tacticaltech.org) .

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,
Claudio/vecna


[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.