Firefox: come gestisce la nostra privacy con SQLite | ALTRI capitoli | ||||
Per ciascun utente del sistema, Firefox crea un profilo utente. Le impostazioni di un utente e le sue informazioni personali ( bookmark, estensioni, preferenze ) vengono salvate in più file, salvati, a loro volta, nella directory di profilo. Qual è la directory di profilo? In un sistema Linux, essa è scritta nel file:
dove il simbolo
È possibile trovare il nome della cartella di profilo, anche aprendo il menù:
di Firefox, che apre una scheda di informazioni di sistema, raggiungibile alla pagina web locale:
dove, nella sezione:
troviamo il record:
dove troviamo il bottone:
Attenzione: i file di profilo dovrebbero essere modificati, utilizzando esclusivamente i programmi adeguati ( interfacce ). Le sole eccezioni sono i file che iniziano con la sequenza:
che possono essere modificati direttamente dall'utente, con un editor di testo:
Si tratta di file che permettono una personalizzazione delle impostazioni, che devono essere creati dall'utente ( di default, non sono presenti, nella cartella di profilo ). Per un elenco dei file presenti nella directory di profilo di Firefox, seguire il link:
oppure:
in lingua italiana. La cache di Firefox è uno spazio sul disco fisso in cui il browser salva tutti gli oggetti ( pagine, immagini, video, documenti PDF ) che l'utente ha scaricato dal web. Grazie a questo meccanismo, chiamato " caching ", un browser potrà, almeno per un certo periodo di tempo, caricare lo stesso documento, senza andarlo a richiedere al server di origine, risparmiando, quindi, tempo e banda di connessione. I file di cache, in un sistema Linux, sono reperibili, normalmente, nella directory il cui nome è il nome del profilo utente, contenuta, a sua volta, nella directory:
dove il simbolo
All'interno di questa direcory, troviamo diverse directory, tra le quali la direcory:
che contiene i file di cache veri e propri:
Nel primo file ( 001 ) vengono memorizzati i dati di accesso a metadata e dati di piccole dimensioni, in blocchi da 512 byte. Nel secondo file ( 002 ) vengono memorizzati i dati di accesso a metadata e dati di medie dimensioni, in blocchi da 1024 byte. Nel terzo file ( 003 ) vengono memorizzati i dati di accesso a metadata e dati di grandi dimensioni, in blocchi da 4096 byte. Il file MAP è il file di indice, che viene caricato in memoria, da Firefox, all'inizio della sessione. Per accedere direttamente dal browser al contenuto della cache, è sufficiente inserire nella barra degli indirizzi del browser l'indirizzo locale:
Questo comando elenca i tipi di cache presenti:
e, per ciascun tipo di cache, le informazioni sui record presenti, sulle dimensioni della cache e sulla porzione di disco in cui la cache è stata salvata:
Naturalmente, per la " Memory cache ", la cache mantenuta solo nella memoria fisica del sistema ( RAM ), non avremo alcuna locazione fisica su disco fisso:
Il record:
è un link ad una pagina nella quale vengono visualizzati tutti gli oggetti contenuti nella cache. Per ciascuno degli oggetti, Firefox pubblica alcune informazioni ed il link all'oggetto stesso:
dove
Firefox: navigazione anonima o privata? Da una parte, Firefox crea e gestisce un complesso meccanismo di memorizzazione dei dati dell'utente, al fine di costruire, nel tempo, un suo profilo sempre più preciso e dettagliato. Dall'altra parte, Firefox mette a disposizione dell'utente una serie di strumenti, il cui scopo è quello di evitare la raccolta dei dati, da parte del browser. Gli strumenti a disposizione sono molti e sono tutti elencati nelle pagine di aiuto di Firefox stessa, all'indirizzo:
Tra questi strumenti, esiste la Navigazione Anonima, che dovrebbe meglio chiamarsi Navigazione Privata ( Private Browsing ). La navigazione privata impedisce che Firefox memorizzi su disco le informazioni di navigazione dell'utente ( siti visitati, cookie, file temporanei ). La navigazione privata non è anonima, poichè viene effettuata con un indirizzo IP ben identificabile ( quello assegnatoci dal nostro ISP, o Internet Service Provider ). Quello che la navigazione privata, se applicata costantemente, evita è la profilazione dell'utente: un profilo utente si caratterizza proprio dall'insieme delle informazioni personali che il browser riesce a raccogliere, nel tempo, relativamente ad un singolo utente. Proprio l'insieme delle informazioni personali che la navigazione privata promette di non salvare sul disco fisso dello stesso utente. Perchè Firefox, i vostri dati, li salva nel vostro computer. Non su un server remoto. I dati salvati da Firefox, quindi, potranno essere utili o in ambito forense, se un domani dovessimo essere chiamati in un tribunale a rispondere di un qualche illecito, oppure ad un qualche hacker che dovesse riuscire a prelevarli e farseli inviare via Internet. Due possibilità che potrebbero accadere a chiunque di noi. Rispetto ai server remoti, invece, la sola funzione che Firefox mette a disposizione è l'opzione:
di più dubbia efficacia, visto che si fonda sulla buonafede dei siti visitati ( Richiedi ai siti di non effettuare alcun tracciamento )! Per evitare la profilazione effettuata dai server remoti, quindi, serve un uso ragionato di programmi come Privoxy, che permettono di modificare gli header HTTP in uscita, e di circuiti di server proxy, quali TOR, che permettono di navigare il web con un indirizzo IP differente dal nostro IP reale. E questa sarebbe la vera e propria navigazione anonima. Navigazione privata e navigazione anonima, però, sono strettamente intrecciate. Ipotizziamo di navigare anonimamente, utilizzando il circuito TOR. Siamo proprio certi che un qualche programma, Java o Javascript, non stia inviando alcune informazioni già salvate sul nostro disco fisso dal browser, nel corso delle sessioni precedenti? Se così fosse, il nostro indirizzo IP, acquisito dalla rete TOR, non impedirebbe al server interlocutore di riconoscerci e di continuare tranquillamente ad arricchire il nostro profilo. Ad oggi, ottobre 2014, Firefox utilizza una serie di database SQLite, per gestire alcuni suoi dati ( in realtà, alcuni vostri dati ). Ciascun utente avrà i suoi propri file di database, all'interno della sua propria directory personale. L'utente
Solitamente:
Attualmente, i database gestiti da Firefox sono:
che contengono gli add-on e le estensioni Firefox installate nel sistema. Estensioni e add-on sono plugin, cioè programmi integrati nel software principale ( Firefox ), per estenderne le funzionalità. Il database:
contiene tutti i dati inseriti nelle form ( moduli ), compilate online dall'utente, sempre che Firefox sia stato impostato per ricordare questi dati. Attenzione: nel caso aveste mai inserito, in un campo di una form, i dati della vostra carta di credito, li trovereste, in questo database, nel formato testuale originale. Il database:
utilizzato, dalla versione 3 di Firefox, in sostituzione dei file:
mantenuti anche nelle versioni più recenti, per un problema di compatibilità con le versioni precedenti, contiene l'intera storia del browser Firefox. In esso vengono salvate le tabelle:
La tabella:
per esempio, contiene tutte le sequenze testuali inserite, dall'utente, nella barra degli indirizzi del browser, presumibilmente per digitare una URL ( indirizzo web ). Il testo salvato in questi record è il testo immesso nella barra degli indirizzi, fino al momento in cui l'utente ha scelto uno dei suggerimenti proposti da Firefox, suggerimenti prelevati dalla lista dei siti già visitati. Il campo:
contiene un riferimento al campo id della tabella moz_places, tabella in cui si conservano i dati delle pagine web visitate. In questo modo, è possibile conoscere l'indirizzo web reale scelto dall'utente, dopo aver immesso la stringa testuale iniziale. La tabella:
è la tabella principale del database places, dove vengono conservate le URL ( indirizzi ) di tutte le singole pagine web visitate. Vale la pena di spendere qualche riga sui campi di ciascun record e sul loro significato:
In particolare, c'è da segnalare che:
Anche il campo
contiene, ovviamente, tutti i bookmark salvati dall'utente, completi di cartelle, separatori e tag. Mozilla distingue tre tipi di bookmark:
Per ciascun record della tabella
Il separatore è, semplicemente, la barra grafica che separa un gruppo di bookmark ( cartelle comprese ) dal resto: quindi, non apporta alcuna informazione utile. Le etichette, o TAG, invece, comprendono le TAG ( keyword, etichette ) che sono state associate al bookmark, dall'utente, e le cartelle create dall'utente stesso, in fase di organizzazione dei bookmark. La funzione delle cartelle e delle TAG, infatti, è la stessa: aiutare a ritrovare più facilmente una pagina web. Firefox stessa scrive: "Pensate ad una TAG come ad una cartella virtuale di bookmark. Diversamente da quanto accade con le cartelle reali, un bookmark può trovarsi in più cartelle virtuali". La cartella reale è il contenitore di altre cartelle o di altri bookmark. Ciascun record della tabella
che è un chiave interna, un campo, cioè, che rimanda ad un altro record della tabella
Oltre alle cartelle create dall'utente, Firefox contiene anche le cartelle bookmark di sistema, all'interno delle quali vengono distribute tutte le altre cartelle. Il campo:
oltre ad essere la chiave primaria della tabella
tabella che contiene le cartelle di sistema ed il loro nome. Questa cartella, di dubbia utilità, contiene gli stessi primi cinque record della tabella
composta da soli due campi:
mentre l'eventuale descrizione viene salvata, da Firefox, nella tabella:
che, invece, è più ricca di campi e di riferimenti esterni. Il campo in cui viene salvata la descrizione del bookmark é:
Il campo
è bene ricordare che sono date, espresse in numeri a 64 bit, che rappresentano i microsecondi trascorsi dal 1 gennaio 1970 UTC ( Coordinated Universal Time ), o PRTime. Un microsecondo è un milionesimo di secondo. Quindi, avendo un valore PRT quale:
inserite il numero di secondi, ottenuto dividendo il numero per 1.000.000, nella tabella di conversione che trovate seguendo questo link. All'interno del database
l'abbiamo già incontrata: è la tabella in cui vengono scritte le descrizioni associate ai bookmark. Per Firefox, la descrizione di un bookmark è il contenuto dell'header HTML:
La seconda tabella riservata alle descrizioni è:
in cui vengono memorizzate le annotazioni associate alle pagine web. Il significato di alcuni campi di queste due tabelle è difficile da afferrare e, probabilmente, non è mai stato definito con certezza, vista la difficoltà che si incontra nel reperire materiale illustrativo. Quello che è certo è che la chiave esterna della tabella
mentre la chiave esterna della tabella
Per quanto riguarda i campi:
è possibile intuirne il significato, leggendo le note di Mozilla Wiki, scritte nel 2006 ed ormai superate: " Poichè alcune annotazioni ( descrizioni ) potrebbero essere molto lunghe, incrementando, di conseguenza, anche il numero di pagine, sarà necessario impostare un qualche meccanismo di scadenza delle annotazioni. Le annotazioni che avranno superato la data di scadenza verranno eliminate. L'intervallo temporale dovrà essere variabile, poichè alcune annotazioni potranno essere molto grandi e dovranno scadere molto velocemente, ma alcune altre annotazioni potranno avere dimensioni ridotte. Dovrà esserci anche la possibilità di non impostare alcuna data di scadenza. L'intervallo temporale dovrà essere misurato a partire dalla creazione dell'annotazione, ma potrebbe anche essere presa in considerazione l'eventualità d misurarlo a partire dal momento dell'ultimo accesso alla pagina: 'questa annotazione scade dopo un mese di mancato utilizzo della pagina'. Cancellare la storia ( history ) dovrebbe implicare la scadenza delle annotazioni, a meno che siano state impostate senza data di scadenza, oppure siano ancora necessarie a qualcosa, come ad un bookmark ". Per quanto riguarda, invece, le FLAG, lo stesso testo dice: " Le Flag potrebbero indicare se un'annotazione è stata inserita dall'utente, oppure automaticamente, oppure da un qualche servizio, oppure da una pagina web. Una FLAG potrebbe essere utilizzata per dire se l'annotazione può essere sincronizzata da remoto, oppure no ". Infine, le due tabelle delle annotazioni contengono, entrambe, un altro campo con una chiave esterna ( Foreign Key ):
che puntano, entrambi, al campo
che contiene i nomi di tutte le annotazioni presenti nel sistema ed il relativo ID. Ciascuna URL contenuta in
i cui campi:
indicano l'identificativo della visita (
in cui vengono salvati solo gli host contattati ( domini e sottodomini ). Questa tabella non ha alcuna chiave esterna, quindi, non ha alcuna relazione formale con altre tabelle. Ovviamente, una relazione informale esiste, almeno con la tabella
visto che il nome dell'host dovrebbe essere parte di un indirizzo web, contenuto nella tabella
dove l'operatore
contenga il campo:
Per ciascun host, la tabella
dove il campo
In questa tabella sono memorizzate tutte le informazioni relative alle favicon ( icone favorite ) presenti nelle pagine web visitate, comprese le icone stesse, in formato grafico. In questo caso, non esistono chiavi esterne, campi che puntano a campi di tabelle esterne, bensì il contrario: visto che molte pagine web, contenute nella tabella
che punterà, come chiave esterna ( Foreign Key ), al campo
Il database:
utilizzato, dalla versione 3 di Firefox, in sostituzione del file:
è il database in cui Firefox memorizza i cookie ricevuti ed installati. É composto da una sola tabella:
che, a sua volta, contiene i seguenti campi:
Se un cookie è stato registrato in questo database, se tutte le condizioni inviate dal server ( expiry, path, host, isSecure, isHttpOnly ) trovano riscontro, il browser del client invierà, al server Il pannello di controllo di Firefox
I dati gestiti dai database SQLite:
sono i dati la cui gestione è controllabile dal pannello Firefox:
all'interno del menù:
Tramite il menu:
è possibile configurare quali informazioni vengono salvate durante la navigazione sul web:
( Impostazioni di Firefox - pannello Privacy ).
|
|||||
Firefox: come gestisce la nostra privacy con SQLite | Le guide di .bit: contenuto originale |