8575 Letture

Spiare siti visitati: HSTS lo rende più semplice

In altri articoli abbiamo visto come sia possibile verificare quali siti web sono stati visitati con un qualunque sistema.

Di solito, utilizzando la cosiddetta modalità di navigazione in incognito offerta da tutti i principali browser web, è possibile visitare qualunque pagina senza che alcuna informazione ad essa relativa venga salvata nella cronologia e tra i file temporanei.
Accedendo al contenuto della cronologia web di qualunque browser, è molto semplice controllare quali siti web sono stati visitati, eccezion fatta per quelli aperti in modalità incognito.

Un trucco come quello illustrato nell'articolo Scoprire i siti visitati anche quando si usa la navigazione anonima, comunque, consente di avere una ricca lista dei siti visitati, anche quelli aperti usando la modalità di navigazione in incognito.

Utilizzando un router od una appliance che offra la possibilità di monitorare il traffico generato dai client connessi alla rete locale, si potrà comunque spiare i siti visitati.


L'utilizzo intelligente di servizi esterni come OpenDNS, comunque, consente di controllare i siti visitati da tutti i sistemi collegati in rete locale: Controllare i siti visitati da router, rete locale e WiFi con OpenDNS.

Anche i siti web possono spiare le pagine aperte dagli utenti

In queste ore, però, si sta tornando a parlare di una debolezza nella gestione della procedura HSTS (HTTP Strict Transport Security) che potrebbe portare un sito web di terze parti a stabilire, con un buon grado di approssimazione, quali pagine sono state precedentemente visitate dall'utente.

HSTS è un meccanismo di sicurezza che consente ai siti web di dichiarare che tutte le successive interazioni con il web server avverranno unicamente utilizzando una connessione sicura HTTPS. La politica applicata dal server web viene comunicata al client (e quindi al browser dell'utente) attraverso un'intestazione aggiuntiva che viene fornita in risposta alla richiesta di connessione.
L'utilizzo di HSTS aiuta a proteggere le comunicazioni HTTPS da attacchi di degrado della sicurezza (downgrade) ed a prevenire eventuali dirottamenti di sessione.
L'impiego di HSTS da parte di un sito web che usa il protocollo HTTPS per proteggere le informazioni scambiate tra client e server (e viceversa) viene premiato anche in fase di valutazione delle misure di sicurezza implementate. Nell'articolo Come attivare HTTPS sul proprio server Linux abbiamo visto che attivando HSTS sul proprio server web, si ottiene un giudizio nettamente migliore effettuando una verifica, ad esempio, con il test di Qualys.

L'implementazione di HSTS, quindi, è di per sé buona cosa.

Per come HSTS è gestito da parte dei vari browser web, tuttavia, il meccanismo potrebbe essere utilizzato per identificare univocamente un utente oppure per spiare i siti visitati.

Per quanto riguarda l'identificazione, nell'articolo Il supercookie HSTS traccia anche in incognito abbiamo visto come l'implementazione di HSTS nei browser web consenta di fatto l'utilizzo, da parte di qualunque sito web, di una sorta di supercookie, capace di resistere anche all''utilizzo della modalità di navigazione in incognito.
Un sito web può quindi impostare un identificativo univoco che può essere letto, attingendo al file contenente le informazioni HSTS, anche da siti terzi. Solo l'eliminazione di tutti i cookie nella modalità di navigazione normale consente di sbarazzarsi del supercookie.

In queste ore, però, si fa un gran parlare del test Sniffly. Visitando la pagina, si noterà come - nella colonna di sinistra - il test visualizzi un elenco di siti web che si sono precedentemente visitati.
Il test, insomma, riesce - con buona approssimazione - a spiare i siti web visitati dall'utente. Com'è possibile?

Innanzi tutto, vanno precisati alcuni aspetti importanti:

- il test effettua la verifica di un certo numero di siti web (non è possibile leggere la lista di tutti i siti web visitati dall'utente)
- il test ha efficacia soltanto sui siti web che utilizzano (anche o solo) il protocollo HTTPS e HSTS. Non può controllare l'eventuale precedente visita, da parte dell'utente, di siti che non usano HSTS.

Quando si visita la pagina del test Sniffly, vengono caricate una serie di immagini inesistenti sui vari domini da controllare.
Dal momento che l'immagine remota è inesistente, Sniffly verifica dopo quanto tempo viene ottenuto il messaggio dal server HTTPS con supporto HSTS.
Se la notifica arriva in breve tempo, significa che il sito web oggetto di test è stato precedentemente visitato dall'utente.

Se, dopo aver effettuato un test su Sniffly, non si riconoscessero siti web visitati in precedenza, si apra un'altra scheda o finestra del browser quindi si provi a raggiungere, per esempio, outlook.com, giustizia.it, airbnb.it o reddit.com.
Eseguendo nuovamente il test Sniffly, si troveranno tali domini nella colonna di sinistra (Sites yoùve probably visited ossia siti che hai probabilmente visitato).

Come difendersi

Gli autori del test chiamano a raccolta gli sviluppatori dei browser web che dovrebbero iniziare ad adottare misure di protezione efficaci contro gli attacchi sferrati nei confronti di HSTS.


Spiare siti visitati: HSTS lo rende più semplice

Gli utenti di Firefox possono digitare about:support nella barra degli indirizzi quindi cliccare sul pulsante Mostra cartella.
Il file SiteSecurityServiceState.txt contiene l'intera lista dei siti HSTS visitati.

Spiare siti visitati: HSTS lo rende più semplice

Periodicamente, quindi, si può cancellare il contenuto di tale file oppure impostarlo come di sola lettura affinché Firefox non possa aggiungervi ulteriori voci (leggasi, altri siti web HSTS).

Programmi come CCleaner (vedere CCleaner rimuove le app di Windows 10) supportano l'eliminazione dei supercookies HSTS e la pulizia del profilo utente Firefox.

Spiare siti visitati: HSTS lo rende più semplice

Nel caso di Google Chrome, non è possibile accedere ad un file contenente la lista dei siti HSTS precedentemente visitati.
Si può eventualmente digitare chrome://net-internals/#hsts nella barra degli indirizzi e cancellare singoli domini utilizzando la casella Delete domain.

Il sottostante Query domain consente di verificare se un dominio (già visitato in precedenza) sia incluso nella lista di quelli gestiti da Chrome.


  1. Avatar
    unax
    29/10/2015 19:29:50
    a me identifica un solo sito che avrei visitato ed è vero l'ho visitato, guardate cosa ho visitato :D PS: Tell Obama to support strong encryption! Sign the petition at savecrypto.org.
  2. Avatar
    Sampei Nihira
    29/10/2015 16:21:04
    Grazie della precisazione Michele. :approvato: Un motivo ulteriore in più per non usare il proprio browser web con configurazione a default.
  3. Avatar
    Michele Nasi
    29/10/2015 15:27:50
    Citazione: Fatto anche questo test con Chrome settato come quello del pc di mia figlia. Ho perfino abilitato i referer Aperto Outlook.com................ed il test non ha sniffato nulla. :D Figuriamoci con il setting del mio Firefox.......
    JavaScript ed il caricamento di codice da server esterni devono essere abilitati altrimenti il test non può funzionare. In configurazione standard è assolutamente efficace.
  4. Avatar
    ethan
    29/10/2015 14:34:20
    oooooopsssssss, troppa fretta... :oops: grazie :D
  5. Avatar
    ethan
    29/10/2015 14:25:21
    con Edge il test non rileva assolutamente nulla :dentone:
  6. Avatar
    Sampei Nihira
    29/10/2015 14:19:50
    Fatto anche questo test con Chrome settato come quello del pc di mia figlia. Ho perfino abilitato i referer Aperto Outlook.com................ed il test non ha sniffato nulla. :D Figuriamoci con il setting del mio Firefox.......
Spiare siti visitati: HSTS lo rende più semplice - IlSoftware.it