Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi

Pagina creata da Aurora Ferrario
 
CONTINUA A LEGGERE
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Analisi dell'architettura WEB
del sito www.facebook.com
             Caruso, Flamini, Giammusso, Rossi
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Strumenti
  Uso dello strumento whois per analizzare il range di indirizzi ip pubblici
  utilizzati e l'autonomous system di appartenenza.
  Cattura e studio dei pacchetti scambiati tra client e server(s) attraverso lo
  sniffer Wireshark.
• Uso dei servizi del sito www.robtex.com per apprendere informazioni
  sull'autonomous system.
  Uso dei servizi del sito www.ip2location.com per localizzare i server
  CDN del sito.
  Uso dello strumento dig (Domain Information Groper) per interrogare i
  name servers e per reperire informazioni circa la distribuzione del sito.
  Analisi dei cookies.
  Uso di alcuni addons per Firefox per facilitare l'analisi (pulizia e
  disabilitazione della cache, visualizzazione cookies, ecc.), per testare il
  sito con diverse impostazioni Locale e per visualizzare le richieste HTTP.
  Addons di Firefox: FireBug + FireCookie; ShowIp; Web Developer; Live
  HTTP HEADERS; Quick Locale Switcher.
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Whois facebook?
Le presentazioni sono sempre il primo passo.
Whois facebook.com?
Utilizzando lo strumento whois è stato possibile
reperire utili ed interessanti informazioni,
rappresentate qui a lato. Oltre le informazioni che
esulano dall'analisi tecnica, quali la localizzazione
fisica dell'organizzazione Thefacebook.com, ce ne
sono altre due che riscuotono un elevato grado
d'interesse:

  Possiamo vedere subito il range di ip pubblici
utilizzati da facebook, sintetizzati nel prefisso
69.63.176.0/20 attraverso la tecnica CIDR.

  L'autonomous system di appartenenza risulta
essere l'AS32934. Facendo un'ulteriore analisi e
utilizzando i servizi offerti da www.robtex.com,
possiamo affermare che l'insieme delle macchine
targate facebook operino in un autonomous system
tutto loro.
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Wireshark → HTTP REDIRECTION
                                                                  Il secondo passo dell'analisi è
                                                                  stato quello di catturare i
                                                                  pacchetti scambiati tra il
                                                                  client e il server, utilizzando
                                                                  Wireshark. A questo scopo è
                                                                  stato utile disabilitare la fase
                                                                  di caching per riuscire a
                                                                  catturare tutte le richieste
                                                                  DNS. Lo screenshot qui a lato
                                                                   mostra i primi pacchetti
                                                                  ricevuti. Si noti la presenza di
                                                                  una HTTP REDIRECT.

Pacchetti 1-6: richiesta DNS per il nome www.facebook.com (risposta: 69.63.184.11).
Pacchetti 7-9: Primo HIT sull'ip 69.63.184.11 → apertura connessione TCP.
Pacchetto 12: HTTP REDIRECT ↔ HTTP/1.1 302 Found.
Il campo Location mostra dove verrà effettuato il redirect.
In questo caso viene utilizzato l'alias it-it.facebook.com per il CNAME www.facebook.com.
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Analisi dei GET HTTP →
                                                Utilità della Http Redirect
                                                      Analizzando più approfonditamente questo aspetto, ci
                                                      si accorge di come il redirect http venga utilizzato per
                                                      l'internazionalizzazione del sito. Per dimostrare
                                                      questa ipotesi è stato eseguito il seguente test che ha
                                                      portato ai risultati rappresentati qui a fianco:

GET HTTP da telnet. Senza informazioni addizionali.   I. Reset dei cookies.
                                                      II. Impostazione Locale settata a it-IT.
                                                      III. Richiesta di www.facebook.com.
                                                      IV. Reset dei cookies.
                                                      V. Impostazione Locale settata su de-DE.
                                                      VI. Richiesta di www.facebook.com.
                                                      VII. GET HTTP utilizzando telnet.
Impostazione Locale del Browser:
                                                      I risultati dimostrano che, durante il primo GET, la
                                                      logica del sito viene a conoscenza dell'impostazione
                                                      Locale e dipendentemente da questa, definisce una
                                                      redirect http impostando nel campo Location la giusta
                                                      URL necessaria per la corretta traduzione del sito.
                                                      Dopo, attraverso il server Akamai (prossima
                                                      diapositiva) static.ak.fbcdn.net, verrà scaricato il
Impostazione Locale del Browser:
                                                      dizionario delle frasi corrispondente alla lingua
                                                      impostata.
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Wireshark → CDN
Procedendo con l'analisi dei pacchetti catturati, è stata notata la comunicazione con delle macchine
aventi indirizzi ip non appartenenti al prefisso 69.63.176.0/20 di facebook. Qui di seguito viene
riportata una sintesi delle richieste DNS per tali macchine:

Query                        Query Response
static.ak.fbcdn.net          CNAME static.ak.facebook.com.edgesuite.net CNAME a749.g.akamai.net A 79.140.80.24 [...]

profile.ak.fbcdn.net         CNAME profile.ak.facebook.com.edgesuite.net CNAME a1725.l.akamai.net A 63.217.8.136 [...]

photos-c.ak.fbcdn.net        Standard query response CNAME photos-c.ak.facebook.com.edgesuite.net CNAME
                             a997.mm1.akamai.net A 62.41.85.90 [...]
photos-b.ll.facebook.com     Standard query response CNAME facebook.vo.llnwd.net A 208.111.128.6 [...]

vthumb.ak.facebook.com       CNAME vthumb.facebook.com.edgesuite.net CNAME a591.da2.akamai.net A 77.67.2.74 [...]

creative.ak.facebook.com     CNAME creative.ak.facebook.com.edgesuite.net CNAME a75.g.akamai.net A 79.140.80.48 [...]
Altre queries con pattern:   Risposte con pattern:
*.ak.fbcdn.net               *.facebook.com.edgesuite.net
*.ak.facebook.com            Ogni risposta differisce per i numeri ip e per il numero cliente AKAMAI.

I risultati dimostrano come facebook faccia un largo uso di server CDN per la gestione della reperibilità dei
contenuti. I contenuti reperibili attraverso server CDN sono di vario di tipo: foto, thumbs, e script (ad
esempio da static.ak.fbcdn.net vengono scaricati gli script per l'internazionalizzazione del sito). Con
un'analisi un po' più accurata è stato possibile definire quali società CDN offrissero il proprio servizio a
facebook: Akamai e Limelight Networks. La prossima diapositiva invece, ha lo scopo di mostrare la
locazione fisica dei server CDN, riguardo sempre ai pacchetti sniffati presi in analisi.
NB: le scritte in rosso fanno riferimento ai codici che Akamai utilizza per identificare i clienti.
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Ip2location.com
Allo scopo di avere una maggiore chiarezza sulla disposizione dei server CDN utilizzati, si è scelto di utilizzare i
servizi offerti dal sito www.ip2location.com. Di seguito sono riportati i risultati ottenuti. N.B.: Le locazioni sono
relativa ad una session proveniente dall'Italia.

 creative.ak.fbcdn.net                                       static.ak.fbcdn.net

 profile.ak.fbcdn.net                                        photos-c.ak.fbcdn.net

 photos-b.ll.facebook.com                                    vthumb.ak.facebook.com
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
Esempio CDN → a749.g.akamai.net

                                                          IP            Location

                                                     144.135.8.184    AUSTRALIA

                                                    148.243.241.230    MESSICO

                                                     196.33.166.201   SUD AFRICA

                                                     72.247.242.88        USA

Questo esempio mostra varie interrogazioni DNS per a749.g.akamai.net, effettuate a
name server in diverse località. I risultati mostrano come le risposte contengano
indirizzi ip appartenenti alla nazione del name server e non al dominio di
facebook.com. I risultati sono stati ottenuti grazie allo strumento DIG e ai servizi di
www.ip2location.com.
Analisi dell'architettura WEB del sito www.facebook.com - Caruso, Flamini, Giammusso, Rossi
DIG → Distribuzione Globale
   Nella terza fase dell'analisi si è usato dig per investigare sulla
   distribuzione del sito. Qui a fianco è rappresentata la funzione
   principale dello script bash servito per automatizzare il processo
   di 10 queries dns distanziate di un minuto, eseguite su 6 name
   servers diversi, ciascuno dei quali posizionato in una nazione
   diversa. La seconda immagine mostra l'output dello script per
   soli due name servers, visto che vegono riscontrati solamente
   questi due comportamenti in tutto il processo.

    Risultati                                     Deduzioni

    Presenza di più ip nella risoluzione dns      Distribuzione
    dell'hostname.                                Globale

      Le richieste dns provenienti da             Presenza di un
    Australia, Afghanistan e USA hanno            primo livello di
    come risposta degli ip compresi in            scheduling
    69.63.176.0/24 oppure compresi in             DNS basato
    69.63.180.0/24.                               sulla nazione di
      Le richieste dns provenienti da Brasile,    provenienza
    Sud Africa, Messico, Italia, Germania e       della richiesta.
    Colombia, hanno come risposta degli ip
    compresi in 69.63.184.0/24.
Analisi dei Cookies →
                                                WEB Cluster Distribuiti
                                                      La quarta e ultima fase dell'investigazione è stata volta
                                                      all'analisi dei cookies. Questo step è stato di fondamentale
                                                      importanza per riuscire a comprendere il tipo di
                                                      distribuzione globale e, in caso di cluster distribuiti, la
                                                      presenza di web switch e il livello di questi.

Tra i vari cookies analizzati, ne esiste uno di particolare rilevanza: BIGipServer[poolname] (in figura sopra).
BIGipServer[poolname] è un cookie che prova la presenza di prodotti della famiglia BIG-IP appartenenti
all'azienda f5 (http://www.f5.com). Questi prodotti sono utilizzati per praticare web switching basati su vari tipi
di scheduling, in particolare, l'uso di questo cookie viene spesso utilizzato quando si utilizza il product module
LTM (Local Transfer Manager) di f5.

                    Obiettivo di LTM → Load Balancing in un web cluster.

Risultati                                             Deduzioni
Presenza di LTM ed esistenza di vari                  Architettura WEB basata su web cluster
ip (diapositive precedenti).                          distribuiti.
Presenza di BigipServer[poolname]                     Presenza di un web switch content-aware
nei cookies.                                          di livello 7.
Riepilogo
facebook.com
                       HTTP
69.63.176.0/20                        Internazionalizzazione
                    REDIRECTION
   AS32934

                        CDN             DNS Scheduling
Distribuzione         Akamai                Nazione
   Globale       LimeLight Networks      di provenienza

                    F5 BIG-IP
Web Cluster                                 Cookies
                       LTM
 Distribuiti                            L7 Web Switches
                  Load Balancing
Puoi anche leggere