Tutti i principali browser web hanno abbracciato o comunque sta facendo proprio lo standard WebAssembly che, come abbiamo spiegato nell’articolo Cos’è WebAssembly e perché è stato abbracciato da tutti i browser web che permette e facilita il caricamento e l’esecuzione di script lato client, non solo JavaScript ma anche codice realizzato ricorrendo a linguaggi come C, C++ e Rust.
John Bergbom, ricercatore di Forcepoint, sostiene che WebAssembly potrebbe essere utilizzato, da parte di malintenzionati, per far leva da browser sulle vulnerabilità Meltdown e Spectre: Verificare se il processore in uso è vulnerabile a Meltdown e Spectre.
WebAssembly consente infatti di eseguire codice nativo che verrà poi direttamente eseguito a livello di CPU. Una vera e propria manna dal cielo per gli sviluppatori delle applicazioni web più “ricche” che possono così realizzare codice performante e vederlo gestito da browser.
Come osserva Bergbom, però, le implicazioni a livello di sicurezza sono molteplici e tutt’altro che banali: di fatto il supporto di WebAssembly da parte di Chrome, Firefox, Edge e Safari ha offerto un nuovo appiglio per i malware-writer e, in particolare, per coloro che sono dediti a diffondere script per il cryptojacking.
Come spiega in questa sua analisi, il ricercatore sostiene che WebAssembly può rendere vane alcuni degli interventi apportati a livello di browser per arginare i bug sfruttati da Meltdown e Spectre.
Bergbom si riferisce in particolare ai cosiddetti timing attack sfruttabili da un aggressore per risalire al contenuto di blocchi di dati cifrati partendo dalla loro registrazione e dall’analisi del tempo impiegato per l’esecuzione degli algoritmi di cifratura.