JShelter (precedentemente conosciuto come JavaScript Restrictor) è un estensione open source che si definisce come un "anti-malware" per browser (è disponibile per Firefox, Google Chrome e Opera) in grado di mitigare le potenziali minacce provenienti dai javascript incluso fingerprint, tracking e raccolta dati. È stata finanziata da un'importante fondazione che promuove e supporta progetti volti a sviluppare informazione aperta e accessibile, è sponsorizzata dalla Free Software Fondation, sviluppata da un dottorando dell'università di Brno con il contributo, tra gli altri, di Giorgio Maone (sviluppatore di un'altra famosissima estensione NoScript).

JShelter: difendi browser javascript malevoli

» Leggi: L’estensione Noscript Security Suite impedisce l’apertura degli script nel browser senza la nostra autorizzazione

I browser rappresentano una finestra dalla quale affacciarsi su internet ma i vetri di questa finestra lasciano trasparire anche i dati dell'utilizzatore che ci si affaccia, pronti ad essere raccolti e catalogati da migliaia e migliaia di enti interessati, per lo più, a proporci pubblicità mirata ai nostri interessi. Con il tempo questa ipotetica finestra si è sempre più ingrandita e i vetri di cui si compone sono diventati sempre più trasparenti, parallelo per dire che i moderni browser, pieni di funzioni, ai più, ignote, riescono a raccogliere e fornire ai siti che ne fanno richiesta un sacco di dati (giusto per fare un esempio, possono rilevare non solo la nostra posizione geografica, ma anche lo stato di carica della batteria del nostro laptop e perfino alcune particolari periferiche USB connesse!!). Questi dati vengono richiesti, dai siti al browser, generalmente tramite javascript, particolari istruzioni che vengono eseguite al caricamento di una pagina web. Bloccare del tutto questi script, nonostante sia possibile, ci porterebbe all'impossibilità di navigare su moltissimi siti che utilizziamo quotidianamente e quindi non è una soluzione praticabile. Utilizzare un AdBlock, può aiutarci nel mitigare questo problema, bloccando solo quegli script che sono stati identificati per essere "un po' troppo curiosi" ma possono esserci degli script che associano a funzioni utili (per non dire indispensabili) anche funzioni per la raccolta dati ai fini di profilazione o tracciamento.

» Leggi: Il migliore Ad Blocker: 5+ soluzioni per bloccare la pubblicità online

JShelter entra in gioco proprio a questo punto: come un firewall, intercetta e blocca o manipola le richieste fatte da questi script per l'accesso a determinate informazioni o funzioni del browser che potrebbero rivelare ai siti molto più di quanto vorremmo. Giusto per avere un idea, l'immagine che segue contiene la lista di tutte le funzioni del browser che JShelter può gestire; per ognuna potete trovare un'accurata descrizione sul sito ufficiale o all'interno dell'estensione.

JShelter: difendi browser javascript malevoli

Una volta installato sul nostro browser preferito, possiamo accedere alle impostazioni (Global Settings) dove si notano subito i 3 tipi di protezione offerti: JavaScript Shield, Network Boundary Shield, Fingerprint Detector

JShelter: difendi browser javascript malevoli

La funzione principale è proprio la prima e può essere impostata in maniera personalizzata (Add Custom Level) modificando a piacere ogni singola protezione, opzione sicuramente riservata ad utenti esperti, oppure settata in base ai 3 livelli preimpostati disponibili: Recommended, Strict, Experimental. Non prenderemo in considerazione Turn JavaScrit Shield off perché, come facilmente intuibile, disattiva del tutto la protezione.

L'opzione preimpostata è Recommended (ed è sicuramente quella da utilizzare!) che è quella che offre la maggior protezione cercando al contempo di non "rompere" il funzionamento dei siti mentre Scrict consente di attivare tutte le funzioni di protezione che non sono sperimentali ma alcune potrebbero causare problemi alla navigazione su qualche sito e Experimental attiva tutte le protezioni disponibili e molto probabilmente avremo qualche problema nella navigazione. È possibile avere una descrizione più dettagliata per ognuna delle voci cliccando sull'icona blu con il punto di domanda all'interno, mentre l'altra icona blu (con una freccia curva) espande la categoria interessata mostrando come sono settati le varie protezione disponibili

JShelter: difendi browser javascript malevoli

Generalmente, ogni protezione può essere impostata su 3 diversi livelli in modo che, quando uno script richiede al nostro browser qualche particolare informazione, JShelter possa rispondere con un piccola bugia (modificando un po' i dati originali), mentendo (fornendo dati completamente falsi) oppure nascondendo le informazioni richieste (bloccando la richiesta, restituendo un errore o un valore vuoto). I selettori per impostare i 3 diversi livelli saranno fissi ma potremo modificarli per ogni sito che visitiamo in modo da creare una configurazione personale: una volta caricata la pagina del sito interessato, è sufficiente cliccare sull'icona di JShelter, Modify e infine Detail tweaks for JS shield for this site.

JShelter: difendi browser javascript malevoli

La protezione Network Boundary Shield impedisce ai siti web che visitiamo di utilizzare il browser per scansionare la nostra rete locale in cerca di altri dispositivi o di porte aperte utilizzati da programmi in esecuzione. Solitamente questa opzione non da problemi nella navigazione ma potrebbe "rompere" qualche sito che richiede accesso ad una intranet. Le impostazioni che possiamo modificare non sono tante, possiamo solo scegliere se bloccare queste richieste e se mostrare una notifica quando un comportamento anomalo viene rilevato.

La funzione Fingerprint Detector valuta, in base al numero e al tipo di richieste fatte al browser, la probabilità che il sito che stiamo visitando effettui una rilevazione della nostra impronta. Ogni qualvolta visiteremo un sito che con buona probabilità sta cercando di rilevare il nostro Fingerprint, una notifica ci avviserà; cliccandoci su e poi su Show Details, potremo vedere tutte le richieste di informazioni fatte al browser, divise per categorie (tra parentesi, il numero delle volte che quell'informazione viene richiesta)

JShelter: difendi browser javascript malevoli

JShelter: difendi browser javascript malevoli

Se clicchiamo poi sull'icona di JShelter, avremo anche una valutazione della probabilità che le informazioni richieste siano utilizzate per rilevare il nostro Fingeprint (None, Low, High, Very High)

JShelter: difendi browser javascript malevoli

Il comportamento predefinito di JShelter non è quello di bloccare queste richieste ma si limita a segnalarle. La funzione di blocco può essere attivata e setteta su due livelli Limited Blocking e Full Blocking: in entrambi i casi, quando JShelter rileva che il sito sta catturando la nostra impronta, viene interrotta la comunicazione con il sito e nel primo caso, vengono rimossi alcuni dati salvati in locale mentre nel secondo caso, vengono eliminati tutti i dati temporanei che potrebbero essere utilizzati per salvare il nostro fingerprint (questa funzione richiede un permesso in più che deve essere concesso a JShelter). Bloccare il fingerprint, in maniera limitata o completa, ha comunque l'effetto di "rompere" molti siti e questo è chiaramente dichiarato anche dallo sviluppatore che, se vogliamo abilitare il blocco, consiglia di utilizzare la Whitelist per quei siti dove dobbiamo fare il login. Da notare che lasciando il blocco disattivato siamo comunque protetti dalla rilevazione del fingerprint se abbiamo settato JavaScript Shield almeno su Recommended, perché le informazioni richieste per generare la nostra impronta vengono alterate.

Conclusioni

JShelter non è un adblock ma può convivere benissimo ed è anzi consigliato utilizzarlo a fianco di un estensione di questo tipo; lo stesso sviluppatore consiglia uBlock Origin e anche altre estensioni come Decentraleye, Cookie AutoDelete, ClearURLs volte tutte a limitare l'invio di dati ai siti.

» Leggi: La miglior alternativa a Adblock per Chrome/Firefox: uBlock Origin blocca la pubblicità e consuma poca memoria

» Leggi: Aumenta la tua privacy e velocizza il caricamento delle pagine web con Decentraleyes!

Ho già scritto in merito al fingerprint in un precedente articolo e rimango della mia idea, non c'è da preoccuparsene troppo ma chi vuole preoccuparsene ha un unica arma: deve mentire sui dati richiesti. La funzione di JavaScript Shield, consente proprio di modificare la risposta alle richieste di informazioni da parte dei siti con un unico limite (che non è necessariamente grave!!!): poiché per modificare i dati viene utilizzato un hash dell'indirizzo del sito che stiamo visitando, JShelter, ad uno stesso sito e durante una stessa sessione di navigazione, mente sempre allo stesso modo, un po' come fa la protezione antitracciamento di Brave Browser (con il quale JShelter condivide parte del codice). Rimane comunque una estensione interessante per vedere quanti e quali siti tentano di rilevare il nostro fingerprint.

» Leggi: Test del browser fingerprint: c'è davvero da preoccuparsi?

» Leggi: Con Brave browser navighi sicuro e protetto