Tutto sul mining in-browser: Coinhive e WebAssembly 2023: cos'è il mining del browser?

Divulgazione di affiliazione: In piena trasparenza - alcuni dei link sul nostro sito web sono link di affiliazione, se li utilizzi per effettuare un acquisto guadagneremo una commissione senza costi aggiuntivi per te (nessuna!).

Questo articolo discuterà di All About In-Browser Mining: Coinhive e WebAssembly

Dopo alcuni salti evolutivi tramite i circuiti integrati specifici dell'applicazione (ASIC), gli algoritmi di mining sembrano essere tornati alle loro origini: il personal computer "umile".

L'adeguatezza di algoritmi come CryptoNight (che è alla base della valuta Monero) ha portato alla conversione del codice sorgente in JavaScript e a una rottura dalla pratica più tradizionale di utilizzare eseguibili standalone per il mining a favore dell'esecuzione del codice all'interno dei processi del browser. Questo blog esamina la storia e lo stato attuale del mining in-browser.

Dopo alcuni passaggi evolutivi tramite ASIC (Application Specific Integrated Circuits), gli algoritmi di mining sono tornati alle loro origini: il personal computer "umile".

L'adeguatezza di algoritmi come CryptoNight (che è alla base della valuta Monero) ha portato alla conversione del codice sorgente in JavaScript e a una rottura dalla pratica più tradizionale di utilizzare eseguibili standalone per il mining a favore dell'esecuzione del codice all'interno dei processi del browser.

L'inizio dell'In-Browser Mining

Questo nuovo metodo consentiva di utilizzare qualsiasi browser che supportava JavaScript estrazione di valutae i servizi sono apparsi rapidamente monetizzare le pagine web usando il metodo. Non era più necessario che gli hacker distribuissero e mantenessero binari persistenti; tutto ciò che era richiesto era una semplice iniezione di codice su una pagina web.

All About In-Browser Mining: Coinhive and WebAssembly

Image credit: pexels

JavaScript è indipendente dalla piattaforma, ma opera in un browser sandbox, lontano dal bare metal e, quindi, da prestazioni ottimali. A differenza delle vecchie soluzioni basate su PC e IoT, che potrebbero essere eseguite indefinitamente (o almeno fino a quando qualcuno non ha scoperto e terminato il relativo processo), la tecnica basata su browser può funzionare solo finché la pagina contenente il miner rimane aperta.

D'altra parte, il metodo basato sul web consente ulteriore libertà agli attori malintenzionati: non è necessario archiviare nulla sulla stessa pagina. Funzionalità e componenti possono essere suddivisi tra numerosi domini e server precedentemente noleggiati o compromessi possono essere riutilizzati.

Coinhive et al.

A metà del 2017, Coinhive è emerso come un credibile minatore Monero (XMR) basato su JavaScript. Una volta installato su un sito Web, utilizza la potenza della CPU del visitatore per il mining, offrendo un flusso di denaro alternativo alle pubblicità tradizionali. Entro la fine del 2017, più di mille siti Web includevano il suo codice, il che può essere almeno in parte dovuto al supporto iniziale di The Pirate Bay.

Ben presto, le dita iniziarono a puntare contro i progettisti, in parte perché i siti non erano sempre preparati a fornire un'opt-out dall'esecuzione di script sui computer dei visitatori. Molti non hanno nemmeno tentato di informare i loro visitatori su questo uso dei loro computer.

In risposta, Coinhive ha sviluppato una nuova versione che sarebbe diventata attiva solo se fosse stata concessa un'autorizzazione esplicita. Sfortunatamente, questo non garantiva che gli utenti di Coinhive avrebbero adottato la versione aggiornata, in particolare quelli con intenzioni malevole.

La popolarità di Coinhive ha portato allo sviluppo di servizi concorrenti alla fine del 2017 e all'inizio del 2018, oltre a una serie di semplici attività minerarie plugins per maggiore piattaforme web come WordPress.

WebAssembly

WebAssembly (abbreviato Wasm) è fondamentale per la maggior parte dei minatori di valuta nel browser. È un nuovo formato di istruzione binaria che utilizza una macchina virtuale basata su stack, progettata come destinazione portatile per linguaggi di programmazione di alto livello come C/C++.

I suoi obiettivi di progettazione principali includono l'efficienza del tempo di caricamento e prestazioni di esecuzione simili a quelle native in un ambiente sandbox sicuro per la memoria, ad esempio il sandbox JavaScript nel browser. Responsabile dello standard aperto è il WebAssembly Community Group.

La prima versione "Minimum Viable Product" (MVP) di WebAssembly è avvenuta a marzo 2017 e lo standard è attualmente supportato da tutti i principali browser, inclusi Mozilla Firefox, Google Chrome, Apple Safari e Microsoft Edge.

I documenti di progettazione di WebAssembly descrivono molteplici casi d'uso della tecnologia, ed è facile capire perché gli sviluppatori di coin miner sarebbero interessati a questa tecnologia: l'enfasi di WebAssembly sulla velocità aiuta a colmare il divario di prestazioni tra il mining interno al browser e il mining nativo.

È un malware?

Anche il settore della sicurezza ha opinioni contrastanti sul fatto che il mining all'interno del browser sia o meno fondamentalmente dannoso.

L'esecuzione di un algoritmo di hashing sul computer di qualcun altro a sua insaputa è una condotta dannosa, poiché alla fine costituisce l'uso non autorizzato delle sue risorse.

Malware

Image credit: pexels

Anche se non dovrebbe causare alcun danno ai dati o all'integrità della macchina, si tradurrà in un PC con una risposta più lenta e una bolletta dell'elettricità più alta, soprattutto se non viene rilevato per un lungo periodo di tempo.

D'altra parte, l'hashing con il permesso di un utente non è dannoso; almeno alcune persone potrebbero essere desiderose di eseguire questi script se ciò significa assenza di pubblicità su un sito Web. Il sito web del Salon ha sperimentato questo metodo all'inizio del 2018.

Tieni presente che da questo momento in poi, quando ci riferiamo a Coinhive, ci riferiamo rigorosamente all'uso non autorizzato del codice e del servizio Coinhive per scopi di mining.

Quando i cani buoni fanno cose cattive

Diversi modi sono stati immediatamente escogitati da utenti malintenzionati per inserire minatori all'interno dei browser degli utenti. Poiché il minatore veniva eseguito ogni volta che il browser era aperto, le estensioni di Chrome contenenti il ​​codice Coinhive sono state sviluppate rapidamente e hanno fornito un ritorno di gran lunga superiore alle semplici pagine Web. Allo stesso tempo, una varietà di estensioni Coinhive blocker è stata creata nel tentativo di prevenire il mining non autorizzato di siti Web.

Inizialmente, la politica del Web Store di Google sulle estensioni di mining era permissiva: l'estensione poteva utilizzare il mining come unico scopo purché l'utente fosse pienamente informato e l'estensione non avesse altro scopo. Tuttavia, molte estensioni non erano conformi a questi standard, quindi Google ha recentemente vietato le estensioni di mining dal Chrome Web Store.

Ciò ha lasciato i cattivi con la tecnica collaudata di iniettare codice nei siti Web.

Come funziona tutto questo in natura?

I minatori vengono iniettati nel codice di siti Web inconsapevoli sfruttando le loro vulnerabilità. Come accade da anni, ciò è spesso ottenuto da software automatizzato che esegue la scansione delle vulnerabilità note; una volta identificato un sito Web vulnerabile, viene sfruttato e viene inserito codice JavaScript dannoso.

A causa della prevalenza di minatori basati su browser tra i criminali informatici, un sito Web vulnerabile può essere infiltrato da più attori: ad esempio, il sito Web illustrato di seguito è stato compromesso da tre distinti hacker, ciascuno dei quali utilizza un browser miner unico. Notare l'assenza di segni evidenti dei minatori sul sito reale.

Infezione attiva n. 1: minatore "di base".

Il primo minatore attivo è uno strumento browser miner ampiamente accessibile (denominato negli schemi "Miner di base").

È meno sofisticato e più facile da bloccare con un gateway di sicurezza Web rispetto al secondo miner attivo perché inoltra il traffico di mining ai pool di mining utilizzando server proxy basati su WebSocket, utilizzando domini statici e offuscamento minimo.

Al caricamento, inizialmente carica il binario CryptoNight WASM e quindi avvia il mining utilizzando i proxy WebSocket coinhive.com noti al pubblico.

Infezione attiva n. 2: minatore "avanzato".

Molti minatori "grigi/neri" accessibili pubblicamente hanno anche versioni private per gli abbonati che sono in genere progettate per essere molto più difficili da scoprire.

Il "miner di base" recupera lo script di mining da un servizio di accorciamento degli URL e utilizza alcune tecniche di offuscamento avanzate; tuttavia, va notato che è ancora una tecnica di offuscamento molto semplice rispetto agli exploit kit, ad esempio.

Una caratteristica interessante di questo minatore è che utilizza un server proxy DNS dinamico per trasportare i dati di mining tramite connessioni WebSocket, rendendo il rilevamento e il blocco significativamente più difficili.

Mitigazione

1. Prese Web

I miner interni al browser si distinguono per la loro dipendenza dai WebSocket per la comunicazione. Poiché i processi che operano in una sandbox del browser non possono accedere ai socket di sistema, i WebSocket sono stati creati per consentire interazioni full-duplex e asincrone tra il codice in esecuzione su una pagina Web e i server, ad esempio, i servizi di chat come Slack utilizzano pesantemente WebSocket.

Poiché lo standard per WebSocket richiede che le sessioni vengano stabilite come HTTP e quindi "aggiornate" a un WebSocket (vedi l'esempio seguente), ciò preclude la connessione diretta con la stragrande maggioranza dei "pool" di mining di valuta che utilizzano il protocollo Stratum.

Gli operatori delle operazioni di mining all'interno del browser devono quindi configurare i server WebSocket per ascoltare le connessioni dai loro miner ed elaborare le informazioni internamente o esternamente, a seconda che gestiscano il proprio pool di mining.

Sebbene uno script di mining di monete possa apparire su dozzine o addirittura centinaia di siti Web, è probabile che ci siano un numero significativamente inferiore di server WebSocket coinvolti in qualsiasi distribuzione, il che semplifica notevolmente il blocco tramite proxy Web: l'impossibilità di comunicare con il pool di mining comporta in genere l'eliminazione dell'attività mineraria.

2. Disabilitazione di WebAssembly e/o JavaScript

Ad aprile 2018, solo Firefox e Chrome supportano l'opzione nucleare di disabilitazione di Wasm. Per ottenere ciò, segui i passaggi seguenti. Prima di procedere, valutare la probabilità che questa tecnica impedisca il normale funzionamento di un numero crescente di sedi man mano che la tecnologia si diffonde.

Passare a about: config in Firefox e modificare javascript.options.wasm in false.

Modifica il valore di chrome:/flags/#enable-webassembly su disabilitato in Chrome.

Se la disattivazione di Wasm è l'opzione nucleare, la disattivazione completa di JavaScript è l'alternativa termonucleare. A tal fine, i consigli sulla sicurezza includono in genere raccomandazioni per plugincome NoScript. Anche in questo caso, ciò avrà un impatto sulla funzionalità dei siti Web, quindi dovresti valutare se è adatto alla tua organizzazione e alle pratiche di navigazione.

Link veloci:

Conclusioni: All About In-Browser Mining: Coinhive e WebAssembly 2023

Il continuo interesse per il mining di monete non sorprende, data la crescente popolarità delle criptovalute (nonostante il valore volatile di Bitcoin nel 2018) e nonostante la volatilità del prezzo di Bitcoin. Il settore della sicurezza deve rispondere alla domanda di cui sopra: è un malware?

Il processo di mining non è altro che istruzioni matematiche eseguite per risolvere un pezzo di puzzle predefinito. Questo non è necessariamente malevolo di per sé.

La domanda essenziale è se questa attività avvenga con la conoscenza e il consenso dell'utente. Pertanto, disabilitare tutti gli script di mining senza comprenderne il contesto potrebbe non essere la strategia ideale.

Forcepoint utilizza un approccio combinatorio alla scoperta e al blocco dei minatori di valuta associati a siti Web compromessi, bloccando non solo le istanze degli script che scopriamo, ma anche i server di comando/inoltro WebSocket su cui si basano intere campagne.

Jenny Corte

Con una lunga carriera nel copywriting e nei blog, Jenny Corte è diventata famosa per la sua esperienza. Il suo background in finanza, tecnologia e qualifiche nel settore della tecnologia dell'informazione le danno un vantaggio quando si tratta di esplorare siti che forniscono suggerimenti di progettazione essenziali o consigli su come creare siti web. Inoltre, è ricercata come relatrice e autrice internazionale per quanto riguarda i progressi nel mondo della blockchain e delle criptovalute. In qualità di uno dei tanti stimati collaboratori di Bloggersideas con anni investiti nella ricerca nel settore delle criptovalute, Jenny fornisce contenuti affidabili assicurandosi che tutti i lettori beneficino di risorse accurate disponibili a portata di mano!

Lascia un tuo commento