Codice JavaScript permette di accedere alla rete locale: come può accadere

Un gruppo di ricercatori spiega che utilizzando codice JavaScript è possibile per un aggressore remoto conoscere la struttura della rete locale e la lista dei servizi in esecuzione. In alcuni casi si possono addirittura aprire porte in ingresso e sferrare attacchi usando il browser della vittima come proxy.

I ricercatori di Forcepoint, un’azienda specializzata nella sicurezza informatica che ha tra i suoi partner Raytheon, importante realtà statunitense del settore della difesa, ha lanciato l’allerta circa l’utilizzo sempre più diffuso di una lacuna che accomuna tutti i principali browser web.

Il problema di sicurezza, documentato a questo indirizzo, permette di superare – almeno parzialmente – il concetto di same-origin policy (SOP).
SOP è un approccio utilizzato in tutti i browser web che permette di evitare l’accesso, da parte del codice contenuto in una qualunque pagina web, al contenuto delle altre pagine.
Grazie a SOP, per esempio, il codice caricato in una scheda del browser non può “spiare” i dati gestiti in altre schede o in altri processi del browser.

Gli esperti di Forcepoint hanno spiegato che sta prendendo piede l’utilizzo di una particolare tecnica, peraltro conosciuta da tempo, che permette di aggredire i dispositivi collegati alla rete locale dell’utente usando il suo browser web come proxy.

Tutto sembra essere cominciato con la diffusione di una serie di varianti di questo vecchio script: utilizzando esclusivamente codice JavaScript è possibile forzare il browser dell’utente a effettuare un’attività di port scanning verso gli IP privati dei dispositivi connessi alla rete locale: vedere Nmap, cos’è e come funziona il re dei port scanner.

Il responso ottenuto dall’esecuzione del codice JavaScript sul sistema locale può quindi essere trasferito verso un server remoto. Così facendo, l’aggressore può raccogliere dati preziosi sulla configurazione della rete locale e, sulla base delle porte aperte, stabilire quali componenti server sono in ascolto e quali servizi risultano in uso.

Il codice JavaScript può essere addirittura adattato in modo tale da modificare la configurazione dei dispositivi e, ad esempio, aprire porte in ingresso via UPnP: UPnP, almeno 1,6 milioni di dispositivi espongono il protocollo sulla rete Internet. I rischi.

Da Forcepoint si spiega che d’ora in avanti, per difendersi, sarà importante verificare l’origine del codice JavaScript che richiede l’accesso alle risorse locali. Questo tipo di controllo dovrà essere implementato a livello di browser web.
Deve essere insomma considerato come sospetto ogni tentativo di accedere a un indirizzo IP privato posto in essere da una pagina web pubblicata su un server remoto e accessibile attraverso la rete Internet.
Un buon punto di partenza è sicuramente la disattivazione di WebRTC nel browser in uso così come spiegato nell’articolo Servizi VPN sicuri: come evitare che spifferino l’IP pubblico reale.

Senza disattivare WebRTC, questa pagina mostrerà l’indirizzo IP privato correntemente assegnato al proprio dispositivo nell’ambito della rete locale.
Digitando chrome://webrtc-internals nella barra degli indirizzi di Chrome è possibile sapere quali indirizzi stanno utilizzando la tecnologia WebRTC: è possibile scoprire cose molto interessanti.
Va ricordato che l’eventuale disattivazione di WebRTC potrebbe rendere inutilizzabili applicazioni web che usano tale tecnologia per gestire videoconferenze e chat audio.

Ti consigliamo anche

Link copiato negli appunti