SlideShare a Scribd company logo
1 of 7
Download to read offline
Università degli Studi di Trieste
DIPARTIMENTO DI INGEGNERIA E ARCHITTETURA
Tesi triennale in Ingegneria Elettronica ed Informatica
Summary of "Exploring HTTP Header Manipulation
In-The-Wild"
Candidato:
Davide MICHIELIN
Matricola: IN0500307
Relatore:
Prof. Alberto BARTOLI
Anno Accademico 2018-2019
Indice
1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 La rete Hola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 Descrizione dell’esperimento . . . . . . . . . . . . . . . . . . . . . 3
4 Analisi dei risultati e considerazioni conclusive . . . . . . . . 5
1
1 Introduzione
Gli header HTTP sono parte integrante del protocollo HTTP, l’invenzione
che ha avuto più successo e che ha sconvolto il mondo del World Wide Web.
Essi sono un tassello fondamentale dei messaggi HTTP e sono rappresentati
da coppie di attributo-valore che possono riportare eventuali informazioni sul
messaggio trasportato o sul mittente del messaggio.
Nonostante siano documentati con precisi standard, poco è conosciuto riguardo
la loro manipolazione da parte dei cosiddetti middleboxes, dispositivi adibiti
alla trasformazione, ispezione e filtraggio del traffico HTTP e non.
Gli header HTTP sono stati introdotti a partire dalla versione 1.0 del protocollo
HTTP. Un ulteriore aggiornamento è stato effettuato con la versione 1.1.
La tipologia di header è molto varia: alcuni riportano informazioni sul con-
tenuto di un documento, altri identificano delle informazioni sul client (nelle
richieste) o sul server (nelle risposte).
Lo scopo di questo esperimento è stato quello di analizzare tutti i tipi di ma-
nipolazione degli header e vedere come si differenziano tra i diversi continenti.
Quest’analisi risulta essere molto più dettagliata rispetto ad altri esperimenti
fatti in precedenza poiché, oltre ai principali continenti come Europa e Nord
America, sono state studiate anche le eventuali modifiche apportate dalle in-
frastrutture presenti nei cosiddetti continenti “in via di sviluppo” come Africa
e Sud America.
Per la verifica di eventuali modifiche nelle richieste e nelle risposte HTTP in-
viate e ricevute sono stati utilizzati un server e un client specifici, controllati
dall’organizzazione che ha svolto l’esperimento per avere un’analisi precisa su
quanto è cambiato.
2 La rete Hola
Per effettuare tutte le analisi del caso, è stata creata una piattaforma di mis-
urazione in cui veniva utilizzata una rete peer-to-peer che prende il nome di
Hola.
Quest’ultima permette ai client di inviare le proprie richieste HTTP verso reti
differenti.
Non appena un client vuole effettuare un’operazione, contatta un server Hola
(zagent) che si occuperà di inoltrare la richiesta verso un nodo presente nel
2
paese richiesto dal client. Questo ha portato enormi vantaggi per l’esperimento
rispetto all’utilizzo di piattaforme basate su infrastrutture controllate come Plan-
etLab: è risultato, infatti, che Hola viene utilizzata in quasi tutte le parti del
mondo (ad eccezione di pochi Stati nel continente africano, in quello sudamer-
icano e in quello asiatico) e, di conseguenza, i dati raccolti utilizzando questo
tipo di rete sono molto più elevati (sono stati collezionati dati da circa 144 mila
indirizzi IP).
Una classificazione importante che è stata fatta è quella relativa ai sistemi au-
tonomi, ovvero l’insieme di reti sotto il controllo di un’autorità amministrativa.
Sono stati divisi in 5 principali categorie, secondo un metodo di classificazione
molto più dettagliato, ma con un tasso di recall leggermente più basso rispetto
ad altri tipi di classificazione.
Prima di effettuare l’esperimento, la rete Hola è stata testata per eliminare even-
tuali comportamenti anomali, che avrebbero potuto compromettere i risultati.
Per evitare di andare incontro a problemi di censura e di bloccaggio da parte di
alcuni nodi che compongono la rete Hola, è stato scelto di inviare un messaggio
contenente una pagina con la scritta "Hello World".
Un header risultava essere modificato se si verificava uno di questi tre casi:
• il valore di un header è stato modificato rispetto al valore inviato dal client
o dal server;
• un header è stato aggiunto nel tragitto tra client e server;
• un header è stato rimosso nel tragitto tra client e server;
Un altro problema da risolvere è stato identificare gli header introdotti dai peer
che componevano la rete Hola: per eliminare tale complicazione sono stati
utilizzati vari servizi per capire quali fossero gli header e, successivamente,
rimuoverli dalle richieste e dalle risposte campione.
3 Descrizione dell’esperimento
Le misurazioni sono state effettuate in due casi: nel primo, sono state valu-
tate le manipolazioni a livello di sistema autonomo mentre, nel secondo, sono
state analizzate a livello di regione. Nel primo caso, il problema principale è
stato quello di capire come classificare i sistemi autonomi, soprattutto nel caso
di sistemi autonomi di grandi dimensioni che prevedono percorsi o middlebox
3
dislocati in più zone territoriali. Per questo motivo, è stato scelto di dividere i
vari sistemi con la classificazione citata precedentemente.
Figura 1: Classificazione dei sistemi autonomi e dati relativi alle rispettive manipolazioni
effettuate
Come si evince dalla tabella in Figura 1, il comportamento tra i diversi tipi
di sistema autonomo è molto vario: si va da una percentuale del 3/5% per i
sistemi “University” ad una percentuale del 34/39% nei sistemi “NIC”. Questo
perché, quest’ultimi, risultano avere delle infrastrutture di rete dedicate per i
loro scopi che possono portare ad una più frequente modifica degli header.
Utilizzando i dati a disposizione è stato possibile verificare come le modifiche
agli header, effettuate dai diversi sistemi autonomi, sono molto eterogenee, con
una percentuale di sistemi che riportano la stessa modifica che si aggira attorno
al 44% per le richieste e al 32% per le risposte.
Nel secondo caso la classificazione non risulta essere un problema, poichè sono
stati presi in considerazione, come zone territoriali, i continenti, con l’aggiunta
del Medio Oriente.
Figura 2: Grafico rappresentante il numero di sistemi autonomi che effettuano manipolazioni
e che non ne effettuano, raggruppati per stato. La linea verde rappresenta la frazione di sistemi
che manipolano gli header rispetto al totale.
4
In Figura 2 sono rappresentati i primi trenta sistemi autonomi che hanno
riportato un numero più elevato di modifiche agli header, divisi per Stato. Il
tratto verde rappresenta la frazione di sistemi autonomi che hanno presentato
manipolazioni degli header rispetto al totale di sistemi analizzati per paese.
Da questi dati si può notare che non vi sono discrepanze notevoli: gli stati che
presentano un’alta percentuale di sistemi autonomi che applicano modifiche
agli header nelle richieste, riportano un’alta percentuale anche nelle risposte. In
questa seconda analisi si è tenuto conto di Stati con i quali avere dati sufficienti
e il requisito è stato impostato ad almeno 10 sistemi autonomi su cui fare le mis-
urazioni.
A questo punto, si è cercato di capire quale fosse il motivo di un trend molto
diverso tra i vari Paesi. Sono stati raccolti dati sulle varie nazioni riguardo
la capacità (e la facilità) di connettersi a internet da parte della popolazione e
riguardo l’economia di ogni paese.
Si è scoperto che, seppur risulti abbastanza controintuitivo, i Paesi meno svilup-
pati tendono ad avere un più alto sviluppo di middlebox per la manipolazione
di header rispetto ai paesi molto più sviluppati: ad esempio, risulta che il 36%
dei sistemi autonomi in Africa effettuino manipolazioni alle richieste HTTP
mentre, la percentuale, si riduce notevolmente in Europa (8%).
Per capirne il motivo, sono stati contattati i maggiori operatori telefonici all’interno
dei vari continenti. È emerso che nei Paesi più sviluppati, i costi per il transito
dei dati nelle reti è minore, poiché gli ISP utilizzano gli Internet Exchange Point
che permettono loro di scambiare traffico internet con altri ISP, riducendo an-
che l’implementazione di costose web cache per memorizzare i dati dei propri
utenti. Inoltre, è presente una più alta implementazione di cache di provider
specifici che limitano il compito agli ISP stessi.
Tutto ciò risulta essere meno implementato nei Paesi in via di sviluppo dove gli
ISP utilizzano servizi di internet Transit (acquisto di una certa quantità di banda
da un altro provider), con cui devono sostenere prezzi molto più alti.
4 Analisi dei risultati e considerazioni conclusive
Per valutare i risultati ottenuti è stata fatta una classificazione basandosi su
varie risorse (RFC, IANA), che ha permesso di dividere in varie categorie gli
header manipolati.
Come si può notare in Figura 3, il risultato più interessante risulta essere quello
5
Figura 3: Tipi di header modificati per ogni continente (request e response)
relativo ai caching headers: occupano una gran parte delle richieste/risposte
manipolate e sono molto più presenti nelle regioni con alto costo di trasporto
dati.
Un comportamento opposto è invece quello tra i feature headers e gli opera-
tional headers: i primi, che descrivono un determinato comportamento relativo
al nodo da cui arriva la richiesta (o la risposta), presentano un alto numero
di manipolazioni nelle risposte. I secondi, utilizzati per la memorizzazione di
eventuali indirizzi IP, firewall o middleboxes, sono molto più manipolati nelle
richieste.
Le manipolazioni effettuate dai vari middleboxes sono delle più svariate: dalla
modifica del contenuto di alcuni header, alla totale eliminazione di altri che ven-
gono inviati o dal client o dal server.
Infine, soprattutto nel caso del continente africano, sono stati trovati alcuni
headers sconosciuti, per i quali non è presente alcun tipo di documentazione.
In conclusione, si può dire che le manipolazioni degli header HTTP sono abbas-
tanza comuni (con un 25% dei sistemi autonomi analizzati che eseguono una
modifica almeno una volta) seppur differenti da regione a regione.
Un ulteriore esperimento sarà svolto in futuro per verificare come questa ten-
denza può evolversi.
È fondamentale far notare che, ultimamente, molti browser implementano il
protocollo HTTP 2.0. Quest’ultimo porta con sé alcune tecniche di crittografia,
che possono rendere vano il lavoro di alcuni middleboxes: un futuro esperi-
mento, oltre a verificare quanto detto in precedenza, potrebbe dimostrare come
gli operatori di rete riusciranno a superare questo ostacolo per avere un con-
tinuo monitoraggio della rete stessa.
6

More Related Content

What's hot

Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesThomas Zimmermann
 
Target Breach Analysis
Target Breach AnalysisTarget Breach Analysis
Target Breach AnalysisTal Be'ery
 
Attack-driven defense
Attack-driven defenseAttack-driven defense
Attack-driven defenseZane Lackey
 
Intrusion detection
Intrusion detectionIntrusion detection
Intrusion detectionCAS
 
Role of data mining in cyber security
Role of data mining in cyber securityRole of data mining in cyber security
Role of data mining in cyber securityKhaled Al-Khalili
 
Symmetric encryption and message confidentiality
Symmetric encryption and message confidentialitySymmetric encryption and message confidentiality
Symmetric encryption and message confidentialityCAS
 
Petit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossirPetit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossirLionelTopotam
 
Sql injections - with example
Sql injections - with exampleSql injections - with example
Sql injections - with examplePrateek Chauhan
 
Extended Summary of "DNS Observatory: the Big Picture of the DNS"
Extended Summary of "DNS Observatory: the Big Picture of the DNS"Extended Summary of "DNS Observatory: the Big Picture of the DNS"
Extended Summary of "DNS Observatory: the Big Picture of the DNS"BarbaraDubaz
 
Cybercrime And Cyber forensics
Cybercrime And  Cyber forensics Cybercrime And  Cyber forensics
Cybercrime And Cyber forensics sunanditaAnand
 
Packet sniffing & ARP Poisoning
 Packet sniffing & ARP Poisoning  Packet sniffing & ARP Poisoning
Packet sniffing & ARP Poisoning Viren Rao
 
Introduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitIntroduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitRaghav Bisht
 
CNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer AttacksCNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer AttacksSam Bowne
 
Semantics, Blockchains and Ricardian Contracts
Semantics, Blockchains and Ricardian ContractsSemantics, Blockchains and Ricardian Contracts
Semantics, Blockchains and Ricardian ContractsChristopher Brewster
 

What's hot (20)

Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 
Capture the flag
Capture the flagCapture the flag
Capture the flag
 
Target Breach Analysis
Target Breach AnalysisTarget Breach Analysis
Target Breach Analysis
 
Attack-driven defense
Attack-driven defenseAttack-driven defense
Attack-driven defense
 
Intrusion detection
Intrusion detectionIntrusion detection
Intrusion detection
 
Sql injection
Sql injectionSql injection
Sql injection
 
Role of data mining in cyber security
Role of data mining in cyber securityRole of data mining in cyber security
Role of data mining in cyber security
 
SQL injection
SQL injectionSQL injection
SQL injection
 
Symmetric encryption and message confidentiality
Symmetric encryption and message confidentialitySymmetric encryption and message confidentiality
Symmetric encryption and message confidentiality
 
Petit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossirPetit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossir
 
Sql injections - with example
Sql injections - with exampleSql injections - with example
Sql injections - with example
 
Extended Summary of "DNS Observatory: the Big Picture of the DNS"
Extended Summary of "DNS Observatory: the Big Picture of the DNS"Extended Summary of "DNS Observatory: the Big Picture of the DNS"
Extended Summary of "DNS Observatory: the Big Picture of the DNS"
 
Cybercrime And Cyber forensics
Cybercrime And  Cyber forensics Cybercrime And  Cyber forensics
Cybercrime And Cyber forensics
 
Packet sniffing & ARP Poisoning
 Packet sniffing & ARP Poisoning  Packet sniffing & ARP Poisoning
Packet sniffing & ARP Poisoning
 
Introduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitIntroduction To Exploitation & Metasploit
Introduction To Exploitation & Metasploit
 
Encryption and Key Distribution Methods
Encryption and Key Distribution MethodsEncryption and Key Distribution Methods
Encryption and Key Distribution Methods
 
CNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer AttacksCNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer Attacks
 
Arp spoofing
Arp spoofingArp spoofing
Arp spoofing
 
Semantics, Blockchains and Ricardian Contracts
Semantics, Blockchains and Ricardian ContractsSemantics, Blockchains and Ricardian Contracts
Semantics, Blockchains and Ricardian Contracts
 
Banner grabbing
Banner grabbingBanner grabbing
Banner grabbing
 

Similar to Michielin Davide Extended Summary

Extended summary of "A Long way to the Top: Significance, Structure and Stabi...
Extended summary of "A Long way to the Top: Significance, Structure and Stabi...Extended summary of "A Long way to the Top: Significance, Structure and Stabi...
Extended summary of "A Long way to the Top: Significance, Structure and Stabi...XhacuBejaj
 
Reti di computer
Reti di computerReti di computer
Reti di computerTaxiUber
 
MQRT_4.1 Introduzione.ppt
MQRT_4.1 Introduzione.pptMQRT_4.1 Introduzione.ppt
MQRT_4.1 Introduzione.pptssuser965f2f
 
Extended summary of “Understanding the Performance Costs and Benefits of Pri...
Extended summary of “Understanding the Performance Costs  and Benefits of Pri...Extended summary of “Understanding the Performance Costs  and Benefits of Pri...
Extended summary of “Understanding the Performance Costs and Benefits of Pri...RiccardoDeMonte
 
Presentazione tesi
Presentazione tesiPresentazione tesi
Presentazione tesisuccer110
 
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeuticiacapone
 
Reti di computer e protocolli
Reti di computer e protocolliReti di computer e protocolli
Reti di computer e protocollifilibertodicarlo
 
Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Giuseppe Vizzari
 
Reti e internet
Reti e internetReti e internet
Reti e internetyrcorr
 
Extended Summary of “Comparing the Effects of DNS, DoT, and DoH on Web Perfo...
Extended Summary of “Comparing the Effects of DNS, DoT, and  DoH on Web Perfo...Extended Summary of “Comparing the Effects of DNS, DoT, and  DoH on Web Perfo...
Extended Summary of “Comparing the Effects of DNS, DoT, and DoH on Web Perfo...GabrieleCimador
 
Analisi della robustezza architetturale a livello routing e dns in servizi we...
Analisi della robustezza architetturale a livello routing e dns in servizi we...Analisi della robustezza architetturale a livello routing e dns in servizi we...
Analisi della robustezza architetturale a livello routing e dns in servizi we...MarcoBrotto1
 
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDAnalisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDLeonardoSimonini
 
3 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/183 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/18Giuseppe Vizzari
 

Similar to Michielin Davide Extended Summary (20)

Extended summary of "A Long way to the Top: Significance, Structure and Stabi...
Extended summary of "A Long way to the Top: Significance, Structure and Stabi...Extended summary of "A Long way to the Top: Significance, Structure and Stabi...
Extended summary of "A Long way to the Top: Significance, Structure and Stabi...
 
Reti di computer
Reti di computerReti di computer
Reti di computer
 
Reti
RetiReti
Reti
 
Gestione Reti
Gestione RetiGestione Reti
Gestione Reti
 
MQRT_4.1 Introduzione.ppt
MQRT_4.1 Introduzione.pptMQRT_4.1 Introduzione.ppt
MQRT_4.1 Introduzione.ppt
 
Le reti di computer (2)
Le reti di computer (2)Le reti di computer (2)
Le reti di computer (2)
 
Extended summary of “Understanding the Performance Costs and Benefits of Pri...
Extended summary of “Understanding the Performance Costs  and Benefits of Pri...Extended summary of “Understanding the Performance Costs  and Benefits of Pri...
Extended summary of “Understanding the Performance Costs and Benefits of Pri...
 
Presentazione tesi
Presentazione tesiPresentazione tesi
Presentazione tesi
 
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeutici
 
Reti di computer e protocolli
Reti di computer e protocolliReti di computer e protocolli
Reti di computer e protocolli
 
Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19
 
Reti e internet
Reti e internetReti e internet
Reti e internet
 
Concetti base di networking
Concetti base di networkingConcetti base di networking
Concetti base di networking
 
Extended Summary of “Comparing the Effects of DNS, DoT, and DoH on Web Perfo...
Extended Summary of “Comparing the Effects of DNS, DoT, and  DoH on Web Perfo...Extended Summary of “Comparing the Effects of DNS, DoT, and  DoH on Web Perfo...
Extended Summary of “Comparing the Effects of DNS, DoT, and DoH on Web Perfo...
 
Analisi della robustezza architetturale a livello routing e dns in servizi we...
Analisi della robustezza architetturale a livello routing e dns in servizi we...Analisi della robustezza architetturale a livello routing e dns in servizi we...
Analisi della robustezza architetturale a livello routing e dns in servizi we...
 
Prova
ProvaProva
Prova
 
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDAnalisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
 
3 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/183 - Introduzione a Internet (2/2) - 17/18
3 - Introduzione a Internet (2/2) - 17/18
 
Reti informatiche
Reti informaticheReti informatiche
Reti informatiche
 
Reti di Calcolatori
Reti di CalcolatoriReti di Calcolatori
Reti di Calcolatori
 

Michielin Davide Extended Summary

  • 1. Università degli Studi di Trieste DIPARTIMENTO DI INGEGNERIA E ARCHITTETURA Tesi triennale in Ingegneria Elettronica ed Informatica Summary of "Exploring HTTP Header Manipulation In-The-Wild" Candidato: Davide MICHIELIN Matricola: IN0500307 Relatore: Prof. Alberto BARTOLI Anno Accademico 2018-2019
  • 2. Indice 1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 La rete Hola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Descrizione dell’esperimento . . . . . . . . . . . . . . . . . . . . . 3 4 Analisi dei risultati e considerazioni conclusive . . . . . . . . 5 1
  • 3. 1 Introduzione Gli header HTTP sono parte integrante del protocollo HTTP, l’invenzione che ha avuto più successo e che ha sconvolto il mondo del World Wide Web. Essi sono un tassello fondamentale dei messaggi HTTP e sono rappresentati da coppie di attributo-valore che possono riportare eventuali informazioni sul messaggio trasportato o sul mittente del messaggio. Nonostante siano documentati con precisi standard, poco è conosciuto riguardo la loro manipolazione da parte dei cosiddetti middleboxes, dispositivi adibiti alla trasformazione, ispezione e filtraggio del traffico HTTP e non. Gli header HTTP sono stati introdotti a partire dalla versione 1.0 del protocollo HTTP. Un ulteriore aggiornamento è stato effettuato con la versione 1.1. La tipologia di header è molto varia: alcuni riportano informazioni sul con- tenuto di un documento, altri identificano delle informazioni sul client (nelle richieste) o sul server (nelle risposte). Lo scopo di questo esperimento è stato quello di analizzare tutti i tipi di ma- nipolazione degli header e vedere come si differenziano tra i diversi continenti. Quest’analisi risulta essere molto più dettagliata rispetto ad altri esperimenti fatti in precedenza poiché, oltre ai principali continenti come Europa e Nord America, sono state studiate anche le eventuali modifiche apportate dalle in- frastrutture presenti nei cosiddetti continenti “in via di sviluppo” come Africa e Sud America. Per la verifica di eventuali modifiche nelle richieste e nelle risposte HTTP in- viate e ricevute sono stati utilizzati un server e un client specifici, controllati dall’organizzazione che ha svolto l’esperimento per avere un’analisi precisa su quanto è cambiato. 2 La rete Hola Per effettuare tutte le analisi del caso, è stata creata una piattaforma di mis- urazione in cui veniva utilizzata una rete peer-to-peer che prende il nome di Hola. Quest’ultima permette ai client di inviare le proprie richieste HTTP verso reti differenti. Non appena un client vuole effettuare un’operazione, contatta un server Hola (zagent) che si occuperà di inoltrare la richiesta verso un nodo presente nel 2
  • 4. paese richiesto dal client. Questo ha portato enormi vantaggi per l’esperimento rispetto all’utilizzo di piattaforme basate su infrastrutture controllate come Plan- etLab: è risultato, infatti, che Hola viene utilizzata in quasi tutte le parti del mondo (ad eccezione di pochi Stati nel continente africano, in quello sudamer- icano e in quello asiatico) e, di conseguenza, i dati raccolti utilizzando questo tipo di rete sono molto più elevati (sono stati collezionati dati da circa 144 mila indirizzi IP). Una classificazione importante che è stata fatta è quella relativa ai sistemi au- tonomi, ovvero l’insieme di reti sotto il controllo di un’autorità amministrativa. Sono stati divisi in 5 principali categorie, secondo un metodo di classificazione molto più dettagliato, ma con un tasso di recall leggermente più basso rispetto ad altri tipi di classificazione. Prima di effettuare l’esperimento, la rete Hola è stata testata per eliminare even- tuali comportamenti anomali, che avrebbero potuto compromettere i risultati. Per evitare di andare incontro a problemi di censura e di bloccaggio da parte di alcuni nodi che compongono la rete Hola, è stato scelto di inviare un messaggio contenente una pagina con la scritta "Hello World". Un header risultava essere modificato se si verificava uno di questi tre casi: • il valore di un header è stato modificato rispetto al valore inviato dal client o dal server; • un header è stato aggiunto nel tragitto tra client e server; • un header è stato rimosso nel tragitto tra client e server; Un altro problema da risolvere è stato identificare gli header introdotti dai peer che componevano la rete Hola: per eliminare tale complicazione sono stati utilizzati vari servizi per capire quali fossero gli header e, successivamente, rimuoverli dalle richieste e dalle risposte campione. 3 Descrizione dell’esperimento Le misurazioni sono state effettuate in due casi: nel primo, sono state valu- tate le manipolazioni a livello di sistema autonomo mentre, nel secondo, sono state analizzate a livello di regione. Nel primo caso, il problema principale è stato quello di capire come classificare i sistemi autonomi, soprattutto nel caso di sistemi autonomi di grandi dimensioni che prevedono percorsi o middlebox 3
  • 5. dislocati in più zone territoriali. Per questo motivo, è stato scelto di dividere i vari sistemi con la classificazione citata precedentemente. Figura 1: Classificazione dei sistemi autonomi e dati relativi alle rispettive manipolazioni effettuate Come si evince dalla tabella in Figura 1, il comportamento tra i diversi tipi di sistema autonomo è molto vario: si va da una percentuale del 3/5% per i sistemi “University” ad una percentuale del 34/39% nei sistemi “NIC”. Questo perché, quest’ultimi, risultano avere delle infrastrutture di rete dedicate per i loro scopi che possono portare ad una più frequente modifica degli header. Utilizzando i dati a disposizione è stato possibile verificare come le modifiche agli header, effettuate dai diversi sistemi autonomi, sono molto eterogenee, con una percentuale di sistemi che riportano la stessa modifica che si aggira attorno al 44% per le richieste e al 32% per le risposte. Nel secondo caso la classificazione non risulta essere un problema, poichè sono stati presi in considerazione, come zone territoriali, i continenti, con l’aggiunta del Medio Oriente. Figura 2: Grafico rappresentante il numero di sistemi autonomi che effettuano manipolazioni e che non ne effettuano, raggruppati per stato. La linea verde rappresenta la frazione di sistemi che manipolano gli header rispetto al totale. 4
  • 6. In Figura 2 sono rappresentati i primi trenta sistemi autonomi che hanno riportato un numero più elevato di modifiche agli header, divisi per Stato. Il tratto verde rappresenta la frazione di sistemi autonomi che hanno presentato manipolazioni degli header rispetto al totale di sistemi analizzati per paese. Da questi dati si può notare che non vi sono discrepanze notevoli: gli stati che presentano un’alta percentuale di sistemi autonomi che applicano modifiche agli header nelle richieste, riportano un’alta percentuale anche nelle risposte. In questa seconda analisi si è tenuto conto di Stati con i quali avere dati sufficienti e il requisito è stato impostato ad almeno 10 sistemi autonomi su cui fare le mis- urazioni. A questo punto, si è cercato di capire quale fosse il motivo di un trend molto diverso tra i vari Paesi. Sono stati raccolti dati sulle varie nazioni riguardo la capacità (e la facilità) di connettersi a internet da parte della popolazione e riguardo l’economia di ogni paese. Si è scoperto che, seppur risulti abbastanza controintuitivo, i Paesi meno svilup- pati tendono ad avere un più alto sviluppo di middlebox per la manipolazione di header rispetto ai paesi molto più sviluppati: ad esempio, risulta che il 36% dei sistemi autonomi in Africa effettuino manipolazioni alle richieste HTTP mentre, la percentuale, si riduce notevolmente in Europa (8%). Per capirne il motivo, sono stati contattati i maggiori operatori telefonici all’interno dei vari continenti. È emerso che nei Paesi più sviluppati, i costi per il transito dei dati nelle reti è minore, poiché gli ISP utilizzano gli Internet Exchange Point che permettono loro di scambiare traffico internet con altri ISP, riducendo an- che l’implementazione di costose web cache per memorizzare i dati dei propri utenti. Inoltre, è presente una più alta implementazione di cache di provider specifici che limitano il compito agli ISP stessi. Tutto ciò risulta essere meno implementato nei Paesi in via di sviluppo dove gli ISP utilizzano servizi di internet Transit (acquisto di una certa quantità di banda da un altro provider), con cui devono sostenere prezzi molto più alti. 4 Analisi dei risultati e considerazioni conclusive Per valutare i risultati ottenuti è stata fatta una classificazione basandosi su varie risorse (RFC, IANA), che ha permesso di dividere in varie categorie gli header manipolati. Come si può notare in Figura 3, il risultato più interessante risulta essere quello 5
  • 7. Figura 3: Tipi di header modificati per ogni continente (request e response) relativo ai caching headers: occupano una gran parte delle richieste/risposte manipolate e sono molto più presenti nelle regioni con alto costo di trasporto dati. Un comportamento opposto è invece quello tra i feature headers e gli opera- tional headers: i primi, che descrivono un determinato comportamento relativo al nodo da cui arriva la richiesta (o la risposta), presentano un alto numero di manipolazioni nelle risposte. I secondi, utilizzati per la memorizzazione di eventuali indirizzi IP, firewall o middleboxes, sono molto più manipolati nelle richieste. Le manipolazioni effettuate dai vari middleboxes sono delle più svariate: dalla modifica del contenuto di alcuni header, alla totale eliminazione di altri che ven- gono inviati o dal client o dal server. Infine, soprattutto nel caso del continente africano, sono stati trovati alcuni headers sconosciuti, per i quali non è presente alcun tipo di documentazione. In conclusione, si può dire che le manipolazioni degli header HTTP sono abbas- tanza comuni (con un 25% dei sistemi autonomi analizzati che eseguono una modifica almeno una volta) seppur differenti da regione a regione. Un ulteriore esperimento sarà svolto in futuro per verificare come questa ten- denza può evolversi. È fondamentale far notare che, ultimamente, molti browser implementano il protocollo HTTP 2.0. Quest’ultimo porta con sé alcune tecniche di crittografia, che possono rendere vano il lavoro di alcuni middleboxes: un futuro esperi- mento, oltre a verificare quanto detto in precedenza, potrebbe dimostrare come gli operatori di rete riusciranno a superare questo ostacolo per avere un con- tinuo monitoraggio della rete stessa. 6