Se non sostituisci le pastiglie dei freni della tua auto perché non hai notato che erano usurate, in breve tempo potresti finire per danneggiare l’auto in modo molto più grave. Più o meno la stessa cosa accade se sei vittima di un tipo di attacco noto come cross-site scripting.
Continua a leggere e scopri cosa sono gli attacchi cross-site scripting (abbreviazione XSS), come funzionano e cosa puoi fare per proteggerti.
Cross-site scripting (XSS): cosa significa
In breve, gli hacker utilizzano il cross-site scripting (XSS) per far sì che i moduli online, le pagine Web e persino i server facciano cose che non dovrebbero fare.
Nella maggior parte dei casi, gli hacker utilizzano i linguaggi di scripting (in particolare JavaScript) poiché sono ampiamente usati dai programmatori (ecco perché si utilizza il termine “scripting” per indicare questo tipo di attacco informatico). “Cross” (ossia la “X” di XSS) indica che questi script dannosi possono funzionare su più siti.
L’attacco XSS è uno dei più comuni su Internet e consente ai criminali informatici di inserire codice dannoso in server o pagine Web in apparenza attendibili e affidabili. Il cross-site scripting può essere utilizzato per manipolare le pagine Web, dirottare i browser, sottrarre dati riservati e rubare interi account utente in un processo noto come furto di identità online.
Purtroppo, nelle pagine o nei server Internet, esistono comunemente lacune della sicurezza che consentono di effettuare con successo attacchi informatici come il cross-site scripting, in cui i dati dell’utente ricevuti vengono verificati in modo inadeguato e successivamente elaborati o addirittura trasmessi.
Pertanto, anche un piccolo varco nella sicurezza di una pagina o di un server Web può consentire l’invio di script dannosi a un server o a un browser Web, che quindi li esegue, con conseguenze potenzialmente gravi.
Come funziona il cross-site scripting?
In generale, la maggior parte delle pagine Web consente di aggiungere contenuti, come commenti, messaggi o persino informazioni di accesso. Ciò significa che in teoria il cross-site scripting è sempre possibile se, ad esempio, esistono lacune della sicurezza nella verifica delle istruzioni (script) per l’inoltro dei contenuti inseriti dall’utente a un server.
Grazie a queste lacune, note anche come varchi XSS, i criminali informatici possono trasferire i loro script dannosi al client, ossia al server Web e al tuo browser o dispositivo. I truffatori online traggono vantaggio dal fatto che la maggior parte delle pagine Web è generata dinamicamente, e che quasi tutti i linguaggi di scripting interpretabili da un browser possono essere accettati e utilizzati per manipolare i parametri di trasferimento.
Ad esempio, per gli hacker è facile modificare gli script sul lato server che definiscono le modalità di elaborazione dei dati provenienti dai moduli di log-in. Tra le varie azioni dannose che commettono, gli hacker possono quindi trasferire i dati dell’utente a un server fraudolento.
Gli attacchi XSS non mirano necessariamente a danneggiare in modo diretto il client colpito (ossia il tuo dispositivo o un server) o a rubare dati personali. Gli script fraudolenti degli aggressori vengono invece utilizzati per sfruttare il client infetto come “mittente” di attacchi di malware e phishing, con risultati potenzialmente devastanti. In questi casi, gli autori degli attacchi informatici rimangono ovviamente anonimi e nascosti.
Esistono tre tipi di attacchi cross-site scripting che ora analizzeremo in dettaglio:
- Cross-site scripting riflesso
- Cross-site scripting memorizzato o persistente
- Cross-site scripting locale o basato su DOM
Cross-site scripting riflesso
Con gli attacchi riflessi, gli hacker riescono a introdurre di nascosto i loro script dannosi in un server.
Se clicchi su una pagina Web apparentemente affidabile creata dagli hacker, viene inviata una richiesta al server su cui si trova la pagina Web nascosta dal link.
Se sul server le impostazioni di sicurezza per la verifica dei parametri di trasferimento sono inadeguate o sono presenti varchi nella sicurezza, anche se una pagina Web generata in modo dinamico viene visualizzata correttamente, si tratta di una pagina che un hacker ha manipolato o integrato con script dannosi. Questo perché tutte le istanze che interagiscono per visualizzare questa pagina Web hanno accettato gli script dell’hacker. Se a questo punto inserisci i tuoi dati di accesso, in molti casi queste informazioni vengono inoltrate direttamente al server dell’hacker.
Il cross-site scripting riflesso è molto comune negli attacchi di phishing. Poiché credi che le pagine Web modificate da XSS basati su server siano autentiche, non hai motivo di sospettare che ci sia qualcosa di strano; quindi, finisci per fornire su un piatto d’argento i tuoi dati di accesso ai criminali informatici, senza nemmeno rendertene conto.
Cross-site scripting memorizzato o persistente
Anche per gli attacchi persistenti il punto di partenza per un possibile attacco XSS è un varco nella sicurezza del server.
Tuttavia, nel caso del cross-site scripting persistente, le modifiche apportate da un hacker agli script del sito Web vengono memorizzate in modo permanente (o persistente) nel database del server Web in questione.
In questo caso non è nemmeno necessario che tu clicchi su un link manipolato. A causa delle modifiche apportate al database del server Web, quando visiti il sito Web originale vengono visualizzate automaticamente le pagine Web contraffatte.
Molto spesso gli hacker utilizzano forum poco protetti come gateway per inviare il loro codice manipolato al server Web che ospita tali forum. In questo caso, un semplice post su un forum contenente uno script dannoso è sufficiente per modificare il database del server Web e accedere così a una grande quantità di dati di log-in degli utenti.
Gli attacchi XSS memorizzati sono più complicati di quelli riflessi. In realtà, per i criminali informatici questi attacchi sono utili solo per siti Web molto popolari, che hanno un numero rilevante di visitatori. Naturalmente, questi siti Web devono avere varchi della sicurezza che consentano agli hacker di introdurre i loro script manipolati.
Ma, una volta portata a termine questa operazione, il numero di possibili vittime aumenta di molte volte perché chiunque acceda a questo sito Web infettato tramite cross-site scripting persistente riceverà gli script fraudolenti nel proprio browser. Ecco perché è quasi impossibile rilevare gli attacchi XSS persistenti o memorizzati fino a quando non è troppo tardi.
Cross-site scripting locale o basato su DOM
Con gli attacchi XSS locali o basati su DOM, i criminali informatici non sfruttano un varco della sicurezza su un server Web. Invece, inviano lo script dannoso tramite un’e-mail creata appositamente. Questo script viene quindi eseguito nel tuo browser senza che tu te ne renda conto. I criminali informatici utilizzano metodi di ingegneria sociale come il phishing o lo spoofing per indurti con l’inganno a visitare il loro sito Web fasullo.
Ti basta cliccare su un link in apparenza affidabile inviato per e-mail e il browser integra lo script dannoso (denominato JavaScript lato client). Il browser accetta questo script infetto perché lo considera erroneamente come parte del codice sorgente della pagina Web, in principio affidabile, e lo esegue, mostrandoti la pagina Web a cui volevi accedere, o meglio mostrandotene una versione manipolata.
Se il browser dispone di diritti speciali anche sul laptop o sul PC, gli hacker possono addirittura spiare e manipolare i dati memorizzati localmente sul dispositivo.
Poiché questi codici non sono visibili e la maggior parte di noi non ha comunque familiarità con linguaggi di programmazione come JavaScript, è praticamente impossibile rilevare un attacco XSS locale.
Come puoi proteggerti dal cross-site scripting?
Molti attacchi di cross-site scripting sono destinati a server che ospitano siti Web aziendali, bancari o governativi. In questi casi, tuttavia, i manager IT hanno la responsabilità di verificare costantemente i meccanismi di sicurezza e di adattare le misure di protezione.
Ma anche tu come utente privato hai a disposizione una serie di opzioni per proteggerti dalle conseguenze di un attacco XSS.
Per evitare gli attacchi XSS è necessario gestire con attenzione i link e le e-mail
Come probabilmente saprai, la vulnerabilità principale che sussiste quando si utilizzano i dispositivi digitali è rappresentata dalle persone. Basta un attimo per cliccare senza pensarci due volte sul link di un messaggio e-mail che sembra inviato da qualcuno che conosci. Veniamo messi in guardia molto spesso dagli attacchi di phishing, in particolare dalle banche di cui utilizziamo i servizi online.
Anche se la tua banca non ti ha inviato informazioni specifiche su un attacco di phishing, puoi individuare le e-mail fraudolente sulla base di alcuni segnali rivelatori:
- L’indirizzo del mittente visualizzato non è necessariamente quello reale. Osservando i dettagli del mittente nell’intestazione dell’e-mail potrai renderti conto facilmente se la persona che l’ha inviata è davvero chi dice di essere. Se vedi un indirizzo e-mail dall’aspetto piuttosto criptico, la cosa migliore da fare è spostare subito l’e-mail nella cartella dello spam del tuo programma di posta elettronica.
- Quando nel messaggio di posta elettronica non c’è un saluto personalizzato, ovvero non ci si rivolge a te con il tuo nome, questo può essere un segnale di un potenziale messaggio fraudolento.
- Grammatica, ortografia e punteggiatura scadenti sono tutti segni che gli hacker vogliono indirizzarti verso una pagina Web fraudolenta.
- Anche una versione leggermente diversa di un sito Web che usi spesso può essere un indizio di manipolazione del sito.
Bloccare JavaScript per ridurre al minimo i danni da cross-site scripting
Puoi migliorare la protezione dagli attacchi XSS locali disattivando il supporto di Java nel browser. In molti casi gli attacchi JavaScript risultano inefficaci se lo scripting attivo viene disattivato.
La disabilitazione di JavaScript, tuttavia, ti aiuta a proteggerti solo dagli attacchi XSS veri e propri, non dagli attacchi HTML o SQL injection. Leggi il post sul nostro blog per saperne di più su cosa si nasconde dietro questa modalità di attacco informatico.
Evita gli attacchi XSS locali con Avira Browser Safety
Se installi un componente aggiuntivo di protezione del browser Web, come Avira Browser Safety, questa estensione può aiutarti a rilevare ed evitare l’hijacking del browser, l’inclusione di app indesiderate nei download e le pagine di phishing, proteggendoti dalle conseguenze di un attacco XSS locale.
La pratica estensione Browser Safety funziona in background sui dispositivi Windows e Mac ed è completamente personalizzabile. Avira Browser Safety è disponibile per Firefox, Chrome, Opera ed Edge (in ciascun caso è inclusa con Avira Safe Shopping).
Un programma antivirus collaudato può aiutarti a evitare gli attacchi di cross-site scripting
Non lo sottolineeremo mai abbastanza: tutti i dispositivi con cui utilizzi le app e con cui navighi online dovrebbero essere protetti da una soluzione antivirus affidabile. Avira Free Antivirus è prodotto da uno dei principali fornitori tedeschi di sicurezza online (Claim ID AVR004) e può aiutarti a migliorare la protezione in tempo reale del dispositivo.
Avira Free Antivirus è un sistema automatico, intelligente e facile da apprendere che rafforza la protezione contro le minacce informatiche nuove e in continua evoluzione. Grazie alla protezione integrata contro le app potenzialmente indesiderate, Avira Free Antivirus può anche contribuire a rilevare queste app nascoste all’interno di software legittimi.