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.
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.
È 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.
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.
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:
- Blockchain & Bitcoin Conference Praga: perché dovresti partecipare?'
- L'impatto che le criptovalute hanno sull'ambiente: La criptovaluta fa bene all'ambiente?
- CryptoBlockCon- Il miglior evento Blockchain per promuovere la tecnologia Blockchain
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.