Archives For HWS Maker

Non è una novità, se ne parla già da tempo e credo che lo “scandalo” (se così lo si può definire) legato alla baia dei pirati (ne parlava Diletta su Wired il 20 settembre scorso) sia stato solo la punta dell’iceberg, che abbia in qualche maniera sdoganato una pratica sempre più crescente, adottata ogni giorno da siti web che tendenzialmente potrebbero essere raccolti sotto il tetto unico della pirateria informatica e la violazione dei diritti d’autore. Ne parla Hardware Upgrade in maniera più approfondita ma comunque accessibile per tutti. Io oggi voglio parlarti di NoCoin, ma parto da “un po’ più lontano“, dal perché dovresti difenderti dal mining delle criptovalute via browser.

ABP X Files: ti presento NoCoin, l'ultimo arrivato in famiglia!

Cosa sta succedendo

Se ti parlo di Coinhive probabilmente non capirai di cosa sto blaterando, ma in realtà te l’ho già parzialmente introdotto nel cappello di questo articolo, è lui il protagonista dell’esperimento e relativa “sommossa popolare” legata a Pirate Bay, poiché propone un diverso modo di recuperare le spese di sostentamento di un sito web (ma non solo), inserendo javascript che possono minare criptovalute sfruttando il browser (ma non solo, ribadisco). Il tutto ha avuto inizio nel settembre del 2017 (intorno alla metà del mese), come riportato in un ottimo articolo di BleepingComputer (bleepingcomputer.com/news/security/coinhive-is-rapidly-becoming-a-favorite-tool-among-malware-devs):

Coinhive is quickly becoming the talk of the Internet, going from an innovative tool that lets you mine Monero with your browser, to a technology abused by hoards of malware authors.
Coinhive, as a tool, is a JavaScript library that website owners can load on their site. When users access the site, the Coinhive JavaScript code library executes and mines for Monero for the site owner, but using the user’s CPU resources.
Original idea! We’ll give it that. Coinhive launched on September 14, and its authors advertise it as an alternative to classic advertising.
Coinhive claims that webmasters can remove ads from their sites, and load the Coinhive library and mine for Monero using a small portion of the user’s CPU while the user is navigating the site. Site owners can make money and support their business, but without peppering their visitors with annoying ads.

Dato che di notizie riguardanti malware e falle enormi ne abbiamo già ricevute abbastanza nel corso dell’anno passato e anche in concomitanza con l’inizio di questo 2018 (Meltdown e Spectre ormai sono due nomi sulla bocca di tutti, o quasi), direi che forse possiamo fare un pelo più di attenzione a questi siti web che ormai proliferano incontrollati (anche se alimentati grosso modo dagli stessi player), prendendo contromisure che possano tutelare i browser utilizzati e le CPU dei nostri PC.

In attesa che Mozilla, Google e soci lavorino proponendo una soluzione possibilmente definitiva (dai un’occhiata a questo ormai chilometrico thread riguardante Chrome), tu puoi già fare qualcosa.

Come proteggersi

In alcuni casi, prodotti di sicurezza di terze parti (un caso abbastanza importante è quello di Malwarebytes) sono già pronti a reagire alla novità, proponendosi come scudo tra il browser e quei siti web che provano a fare ciò che non è stato preventivamente approvato dall’utente, ma non tutti possono dirsi alla pari e allo stesso livello.

Ancora una volta Adblock Plus e soci possono darci una grande mano, e di questo te ne parlo nello specifico nel successivo paragrafo dedicato a liste ben specifiche. Se vuoi utilizzare qualcosa di creato ad-hoc e disponibile su più browser, posso suggerirti “No Coin“. Si tratta di un progetto open source pubblicato su GitHub, lo trovi all’indirizzo github.com/keraf/NoCoin, il quale ha dato origine all’estensione attualmente disponibile per Firefox (WebExtension, perfettamente compatibile con Quantum), Chrome e Opera:

No Coin
No Coin
Price: Free
No Coin - Block miners on the web!
No Coin - Block miners on the web!
Developer: Keraf
Price: Free
No Coin
No Coin
Developer:
Price: Free

Il funzionamento è parecchio banale ma efficace. Come per un adblocker, No Coin sfrutta una blacklist (aggiornata) che permette al componente aggiuntivo di avvisarti nel caso in cui il sito web visitato stia facendo uso di un miner di criptovaluta, così che tu possa bloccare l’esecuzione del codice arbitrario o decidere di tenerlo in una whitelist (magari ti fa piacere partecipare al mining, ognuno fa ciò che vuole con il proprio hardware).

Allo stato attuale No Coin non è disponibile per i browser di casa Microsoft (Internet Explorer / Edge) e neanche per Safari (Apple). Per questo motivo, ho pensato di riutilizzare quanto fatto da Keraf per dare origine a “NoCoin“.

Hello, I’m NoCoin!

ABP X Files: NoCoinAdblock Plus (ma anche gli equivalenti) sono disponibili ormai per ogni browser, per questo motivo ho verificato i limiti di licenza dettati per il progetto “No Coin e ho lavorato a una modifica dello script VBS che genera la lista HWS (te ne parlavo qui), per catturare la blacklist di Keraf e trasformarla in un modulo di X Files, un’ulteriore sottoscrizione che puoi utilizzare gratuitamente sul tuo PC, la “NoCoin List“.

NoCoin si basa su una logica simile a quella HWS, per questo motivo impedisce il caricamento di qualsiasi file facente parte dei domini che vengono utilizzati per distribuire javascript (e affini) di mining di criptovaluta, quando caricati come “terza parte” (cioè utilizzati da altri siti web puliti). Ho volutamente scelto di non integrare quei domini in HWS perché si tratta di due scopi ben differenti, e chiunque può aggiungere un’ulteriore sottoscrizione al proprio Adblock Plus (o altro componente aggiuntivo), poiché costa poca fatica.

Con l’occasione, ho dato una svecchiata ai contenuti della home page di progetto, includendo il nuovo blocco per la lista attualmente in fase Beta:

Ti presento NoCoin, l'ultimo arrivato nella famiglia ABP X Files

Ora tocca a te. Scegli come proteggere ulteriormente la tua navigazione, ma fallo quanto prima, per evitare spiacevoli inconvenienti. Nel caso in cui tu non voglia utilizzare il nuovo modulo NoCoin, tu suggerisco di dare un’occhiata a un progetto alternativo anch’esso presente su GitHub e già ben nutrito, curato da Hosh.

L’area commenti qui di seguito è –come sempre– a disposizione per ulteriori informazioni o chiarimenti in merito all’argomento trattato e alle novità introdotte. Per aprire una richiesta di supporto riguardante NoCoin ti rimando invece a uno dei possibili metodi riportati nel sito web ufficiale (ti consiglio comunque GitHub).


Immagine di copertina: techporn.ph

Condividi l'articolo con i tuoi contatti:

Gli utilizzatori di X Files e degli altri due moduli NoFacebookAds (NFA) e Harmful WebSites (HWS) diventano ogni giorno sempre più. Complice (fuori di dubbio) la sempre più forte necessità di non essere assaliti da pubblicità che troppo spesso prendono il posto dei contenuti o interi siti web compromessi che vanno così a mettere a rischio l’incolumità della propria postazione di lavoro, il mio “lavoro” diventa così sempre più delicato, bisogna fare attenzione ad ogni minimo dettaglio e cercare di pensare che qualsiasi modifica non andrà ad impattare solo le mie macchine ma anche quelle di centinaia di altre persone in giro per il globo. Si spiegano così le mie risposte (via mail o ai ticket aperti o ancora nei report segnalati sul sito ufficiale dell’estensione) ad alcune richieste troppo specifiche e troppo poco condivisibili, non ve la prendete!

Vi siete però mai chiesti come nascono davvero X Files e Harmful WebSites? Contrariamente a NoFacebookAds che contiene solo poche righe specifiche per il noto social network sulla quale mi basta quindi mettere mano “a cuore aperto“, entrambe le altre liste vengono rese pubblicamente accessibili tramite gli URL di sottoscrizione che tutti utilizzano solo in un “secondo momento“. I filtri vengono scritti o raccolti, verificati, quindi esportati e poi lavorati da uno script in VBScript. Voglio condividere con voi questo lavoro, non si sa mai, potrebbero spuntare fuori nuove idee, correzioni o miglioramenti :-)

Harmful WebSites

E’ quella più semplice. Harmful WebSites nasce infatti dalla ben più corposa e collaborativa lista messa a disposizione da MalwareDomainList come vi avevo spiegato in un precedente articolo e va solo lavorata in quanto scaricabile ma non compatibile nativamente con Adblock. Parte tutto da questo file: malwaredomainlist.com/hostslist/hosts.txt, nel quale però dovranno sparire i 127.0.0.1 e le informazioni di testa. Questo perché si tratta di una lista da sostituire o integrare al file hosts di Windows, non studiata per un’estensione di un browser, non per il momento almeno ;-)

Ecco quindi che ho fatto intervenire “qualche” riga di codice VBScript che possa fare questo lavoro in completa autonomia (previo doppio clic ovviamente), da qui in poi l’articolo prende una piega più tecnica, forse meno adatta ai semplici curiosi.

Righe di debug sparse un po’ ovunque, sicuramente una marea di errori dovuti alla mia inesperienza e auto-formazione sulla programmazione in VBScript e (quasi certamente) molteplici modi di farlo con la metà delle righe di codice, eppure lo script che vedete qui di sopra si occupa ad oggi di scaricare la lista filtri da MalwareDomainList, rimuovere tutta la prima parte di informazioni, pulire ogni riga dal suo 127.0.0.1 e inserire i dettagli di aggiornamento, scadenza e non solo, quindi caricare nella cartella pubblica del mio Dropbox la nuova versione della lista finalmente compatibile che tutti voi potrete scaricare (o lasciar scaricare a Adblock) senza il minimo sforzo :-)

Giusto per farvi sentire un pelo più sicuri: alla fine del procedimento un “CreateObject(“WScript.Shell”).Run strFile” avvierà Notepad++ sul mio PC per verificare che tutto sia a posto e che non vi stia dando in pasto un file non corretto!

Inutile dire che avendo dichiarato delle cartelle ben precise al suo interno, se voleste riutilizzare questo script per qualche vostro particolare interesse dovrete fare attenzione e andare a modificare quelle righe per evitare di mandarlo in errore e non ottenere alcun risultato ;-)

Per evitare che ogni nuova modifica vada nel dimenticatoio e non venga aggiornata in questo articolo ho voluto pubblicare lo storico delle modifiche sul Wiki: public.gfsolone.com/wiki/doku.php?id=mozilla:abpxfiles:vbs:hwsmaker, dove aggiornerò la pagina con eventuali nuove versioni o note sull’attuale.

X Files

Una parziale modifica e semplificazione dello script sopra mostrato, questo si occupa solo di sostituire il file dei filtri pubblico (che voi tutti scaricate e utilizzate) con quello estratto dalla mia configurazione principale, quindi da una qualsiasi delle mie postazioni Windows con Firefox e Adblock Plus a bordo. Quando viene corretto un errore o aggiunto un filtro particolarmente importante o molto richiesto (spesso ho a che fare con le continue nuove pubblicità nei video Youtube o nei siti web delle testate giornalistiche più conosciute) arriva il momento di “testare, esportare e pubblicare“. Scrivo quindi i filtri necessari (o correggo gli errori), esporto la lista completa dal mio Firefox salvandola come “filtri.txt” sul mio Desktop e lascio fare il lavoro di fino a questo codice:

Lo script si occupa quindi di prendere la lista appena esportata, aggiungere le informazioni di rilascio necessarie e infine sostituire il vecchio file filtri con quello nuovo appena lavorato. Sarà così pronto e raggiungibile per qualsiasi browser tramite aggiornamento automatico o manuale (a voi la scelta). Anche in questo caso ci sono diverse righe di debug lasciate appositamente per le verifiche del caso e magari -ancora una volta- si poteva fare “meglio con meno“.

Anche in questo caso ho voluto pubblicare lo storico delle modifiche (ad oggi c’è solo questa versione) sul Wiki: public.gfsolone.com/wiki/doku.php?id=mozilla:abpxfiles:vbs:stablemaker.

Come sempre vi invito a utilizzare l’area commenti di questo articolo nel caso in cui vogliate segnalare qualche errore o possibile miglioramento di entrambi i lavori o più semplicemente mettervi in contatto con me e ragionare insieme su come far evolvere questi codici :-)

Enjoy!

Condividi l'articolo con i tuoi contatti: