Siti Web, programmi e app sono tutti alimentati da database che archiviano tutti i dati fondamentali per il loro funzionamento. Per recuperare le informazioni da un database, è necessario un linguaggio di query standardizzato. SQL è uno di questi linguaggi, che consente alle app Web di recuperare grandi quantità di informazioni da un database ogni volta che si accede a un sito Web. I criminali informatici utilizzano la cosiddetta SQL injection per ottenere l’accesso non autorizzato ai database. Continua a leggere per scoprire cosa succede durante un attacco SQL injection e come proteggerti. Scopri anche come Avira Free Security può contribuire a migliorare la tua sicurezza e il tuo anonimato online.
Definizione: Che cos’è SQL injection?
SQL è un linguaggio utilizzato per comunicare con i database. È in grado di leggere, recuperare e modificare i dati di un database, consentendoti di visualizzare, cambiare ed eliminare le informazioni archiviate. L’abbreviazione SQL sta per Structured Query Language.
Per gli hacker i database sono un bersaglio molto interessante perché la quantità di informazioni in essi archiviate è enorme. I criminali informatici causano ogni anno danni immensi attraverso il furto mirato di dati o la manipolazione di record di dati. Attraverso SQL injection (SQLi), i criminali informatici possono ottenere l’accesso non autorizzato ai database in modo relativamente semplice. Non servono nemmeno metodi di hacking elaborati: è sufficiente inserire semplici comandi di codice nei campi di input esistenti.
Per chiarire: con SQLi, gli hacker inseriscono codice fraudolento in un campo di input, come una casella di ricerca o un modulo di registrazione. Il sito Web interpreta erroneamente questo comando come una query legittima del database, concede l’accesso a tutti i dati e le informazioni e ne rende possibile la manipolazione.
Come funziona esattamente SQL injection?
L’obiettivo di SQLi è inserire codice dannoso in un sito Web, un’app o un programma. Quando questo comando SQL fraudolento viene immesso in un normale campo di input, il database lo esegue e l’autore dell’attacco ottiene l’accesso non autorizzato.
Un attacco SQL injection è possibile solo se gli script del database SQL e il codice sorgente contengono errori o difetti. Queste vulnerabilità di sicurezza si verificano spesso quando la connessione tra un’applicazione Web e il rispettivo database è configurata in modo errato.
Importante: non tutti i siti Web che utilizzano SQL come linguaggio di database sono per forza un rischio per la sicurezza. Tuttavia, gli hacker sono in grado di individuare le vulnerabilità di sicurezza di app, siti Web e programmi e di sfruttarle.
Come fanno i criminali informatici a sferrare un attacco SQL injection?
Gli attacchi SQL injection sono rivolti principalmente a banche, forze dell’ordine, istituti di ricerca e imprese di medie e grandi dimensioni. Il danno potenziale di un attacco di questo tipo è spesso molto esteso. I database contengono infatti una serie di file sensibili, ad esempio informazioni interne, strategie, piani e documenti aziendali.
Detto questo, gli attacchi SQL injection possono colpire anche i privati. Gli aggressori possono utilizzare in modo improprio i tuoi dati personali (indirizzo e-mail, password, dettagli dell’account e così via) o rivenderli sul dark web. Questo tipo di crimine informatico viene definito furto di identità.
Con Avira Identity Assistant, puoi controllare se i tuoi dati personali sensibili sono già finiti sul dark web.
SQL injection è illegale?
In breve, la risposta è: sì. SQL injection è illegale se consente l’accesso non autorizzato ai dati. Ciò significa che è un reato punibile se accedi ai dati di qualcun altro senza autorizzazione, come stabilito dalla CFAA negli Stati Uniti e dalla sezione 202a del codice penale in Germania. In questo caso il reato si riferisce allo spionaggio di dati.
In particolare, il codice penale tedesco stabilisce che: “Chiunque, senza esserne autorizzato, ottiene l’accesso, aggirando la protezione dell’accesso, per sé o per un altro, a dati che non erano destinati a lui e che erano appositamente protetti contro l’accesso non autorizzato, incorre in una pena detentiva non superiore a tre anni o in una multa.”
Quali tipi di SQL injection esistono?
Gli hacker utilizzano tattiche diverse a seconda di come è configurato un sistema e di come reagisce. In pratica, gli hacker osservano e analizzano il loro obiettivo e poi decidono come agire. I tre tipi più comuni di attacco SQL injection includono input non sanificato, SQL injection alla cieca e injection out-of-band.
Input non sanificato
L’input utente non è filtrato né sanificato, quindi non è neppure convalidato o verificato. Gli hacker immettono il codice nel campo di input e il database lo esegue senza controllarlo. Questo tipo di input non sanificato agevola gli attacchi SQL injection perché il database esegue tutti i comandi immediatamente senza fare domande.
SQL injection alla cieca
Se i database non visualizzano un messaggio di errore quando viene inserito qualcosa di non valido, i criminali informatici ricorrono all’attacco SQL injection alla cieca. Questo metodo si basa su prove ed errori. Gli hacker testano diverse query SQL e analizzano le reazioni indirette del sito web, come il tempo di risposta. Grazie a questa particolare forma di processo di esclusione, riescono a trarre conclusioni sulla struttura di un database e sul suo contenuto.
SQL injection out-of-band
Con questo tipo di SQL injection, gli hacker inviano i dati su altri canali di comunicazione non destinati all’applicazione. Questo metodo è interessante per i criminali quando il database fornisce un feedback diretto. Gli hacker utilizzano quindi richieste Internet speciali per indurre l’applicazione a rivelare le informazioni desiderate.
Qual è l’impatto degli attacchi SQL injection?
Gli attacchi SQLi riusciti hanno spesso gravi conseguenze per aziende e privati. I rischi più comuni includono:
- Superamento dell’autenticazione: gli autori di un attacco possono accedere facilmente a interi sistemi, soprattutto con istruzioni SQL deboli per autenticare le credenziali durante il login
- Furto di dati sensibili: viene effettuato l’accesso senza autorizzazione ai dati, che vengono quindi rubati
- Modifica/eliminazione dei dati: i dati vengono deliberatamente manipolati per causare danni
- Furto dei dati dell’utente: i dati personali, come indirizzi e-mail, numeri di telefono e indirizzi, vengono rubati e usati impropriamente per scopi criminali
- Attacco all’integrità dei dati: gli autori dell’attacco manipolano le informazioni nel sistema o le eliminano in modo permanente
- Accesso con diritti di amministratore: gli autori dell’attacco riescono a ottenere i diritti di amministratore e a modificare le impostazioni critiche del sistema, oltre che a influenzarne il comportamento
Come individuare un attacco SQL injection
Rispetto a molti altri metodi di hacking, SQL injection è difficile da rilevare perché non lascia quasi nessuna traccia. In linea di principio, anche se si tratta di query di database del tutto regolari, il problema è il contenuto della query. Tuttavia, esistono alcuni segnali rivelatori di un attacco SQL injection:
- Messaggi di errore insoliti: l’applicazione restituisce messaggi di errore relativi a SQL
- Manipolazione dei dati tracciabile: i dati spariscono o vengono modificati
- Voci/query insolite: sono presenti voci insolite particolarmente lunghe e complesse
- Analisi dei file di registro: i file di registro vengono analizzati per tracciare tutte le attività del server e del database
Come prevenire gli attacchi SQL injection?
Come privato, difficilmente sarai oggetto di un attacco SQL injection. Di conseguenza, non devi prendere provvedimenti. Detto questo, ci sono alcuni modi per essere ancora più sicuri online e ridurre al minimo i rischi di furto d’identità.
- Utilizza password complesse: scegli sempre password complesse composte da numeri, lettere e caratteri speciali arbitrari. Non riutilizzare mai le password.
- Usa l’autenticazione a due fattori (2FA): configura l’autenticazione a due o più fattori. Le app di autenticazione sono sicure e intuitive e rendono la vita difficile ai criminali.
- Firewall: configura un Web application firewall perché rilevi, segnali e impedisca l’accesso esterno non autorizzato.
- Elimina le dipendenze: cerca di tenere tutti i dati in locale e riduci al minimo la dipendenza da servizi e database esterni. Meno informazioni i siti Web, le app e i servizi conservano su di te, minore sarà la superficie di attacco esposta agli hacker.
Più protezione grazie ad Avira Free Security
Stare allerta e gestire con cura i dati ti aiuterà a navigare in Internet in modo sicuro e a migliorare la tua protezione contro gli attacchi. Per avere ancora più sicurezza, ti consigliamo Avira Free Security.
Questa soluzione completa garantisce un’ulteriore protezione in tempo reale contro il malware e una maggiore sicurezza per i dispositivi e i dati in rete. Puoi anche utilizzare lo strumento VPN (rete privata virtuale) integrato per nascondere le tue attività e la tua posizione su Internet. In questo modo, non solo potrai navigare con più sicurezza sulle reti pubbliche, ma potrai anche accedere a contenuti multimediali specifici per ogni Paese da qualsiasi parte del mondo.