Un semplice JavaScript potrebbe compromettere milioni di dispositivi
Da Alessandro Giacani
- Si legge in 2 minuti - 349 paroleI ricercatori hanno scoperto un difetto in alcuni chip, capace di vanificare le protezioni anti-hacking di milioni di dispositivi, indipendentemente dal Sistema Operativo e irrisolvibile in maniera definitiva.
La vulnerabilità risiede nel modo in cui la MMU ( unità di gestione della memoria ) funziona e porta a bypassare la protezione ASLR ( Address Space Layout Randomization ), ovvero la difesa fondamentale con cui tutti i sistemi operativi moderni proteggono la memoria.
ASLR rende casuale il luogo in cui i programmi vengono eseguiti nella memoria di ogni dispositivo. Cosi facendo si impedisce a programmi dannosi di interferire in maniera sistematica con un programma specifico ( non sapendo dove si trovino i sui dati in esecuzione nella memoria non può alterarli ).
Ora un attacco che utilizza semplice JavaScript è in grado di sfruttare una debolezza presente in almeno 22 processori di tutte le maggiori marche, per identificare gli indirizzi di base nella memoria in cui vengono eseguiti i componenti del sistema e delle applicazioni.
Basta visitare quindi un sito contenente lo script malevolo per scatenare l’attacco, che apre le porte a sua volta ad altri attacchi volti principalmente al furto di informazioni.
La debolezza è nel modo in cui i microprocessori interagiscono con la memoria e vice versa.
MMU mappa gli indirizzi in cui di memoria contenenti i programmi eseguiti e controlla costantemente una directory chiamata PAGE TABLE per tenere traccia di cambiamenti.
I dispositivi normalmente salvano la PAGE TABLE nella cache della CPU per aumentare le performance. Il problema è che la PAGE TABLE condivide alcune informazioni anche con altre applicazioni, browser incluso!
Dunque, un codice javascript malevolo può scrivere nella PAGE TABLE (side channel attack) e permettere ad un attacker di scoprire dove i componenti software come librerie sono salvati nella memoria virtuale.
Con queste informazioni è possibile leggere parti di memoria e sfruttare i potenziali dati raccolti per lanciare un attacco più complesso volto ad ottenere l’accesso all’intero sistema.
Per proteggersi è possibile utilizzare plug-in come NoScript per Firefox o ScriptSafe per Chrome, in grado di bloccare codice JavaScript sospetto in esecuzione sulle pagine dei browser