Categorie
Sicurezza delle informazioni nei database
I database sono l'insieme di un ampio patrimonio di informazioni organizzate attorno a uno o più argomenti. Questa tecnologia è la base per la conservazione delle informazioni in tutti gli ambiti dell'attività umana. Per questo motivo, la sicurezza delle informazioni nei database è estremamente importante per le aziende. Esploriamo insieme questo argomento con Anexet.
Definizione di database
Un database (DB) è un sistema di archiviazione organizzata delle informazioni per l'ulteriore elaborazione e gestione di tali dati. Il principio fondamentale nella creazione di un database è garantire un accesso rapido e semplice alle informazioni memorizzate. I database moderni sono utilizzati in quasi tutti gli ambiti della vita — nelle banche e nelle organizzazioni finanziarie, negli istituti di istruzione, nei servizi pubblici e in altre organizzazioni.
L'importanza di organizzare la protezione cresce di pari passo con l'aumento della quantità di dati archiviati nei database, del livello della loro riservatezza e del numero crescente di minacce volte a comprometterli.
Quali tipi di database esistono?
I database sono utilizzati in vari ambiti ed esiste una classificazione ben precisa dei loro tipi in base al metodo di organizzazione delle informazioni.
I database relazionali (SQL) sono il tipo di database più diffuso. Le informazioni sono memorizzate sotto forma di tabelle (modello relazionale), in cui i dati sono strutturati e collegati tra loro. Il principale vantaggio di questo tipo è la sua organizzazione intuitiva e la facilità d'uso. Ogni riga della tabella rappresenta un record identificato da una chiave univoca, mentre le colonne contengono gli attributi necessari. Ciò consente di costruire facilmente relazioni tra i dati.
I database non relazionali (NoSQL) rappresentano un altro modo di organizzare i dati, offrendo elevata scalabilità e flessibilità di struttura. A differenza dei sistemi relazionali tradizionali, i database non relazionali non sono limitati alle tabelle e offrono maggiori possibilità di lavorare con grandi volumi di dati. Questi database sono ideali per lavorare con i Big Data.
I database orientati agli oggetti (OODB) memorizzano le informazioni sotto forma di oggetti, il che li rende particolarmente utili nella programmazione.
I database a grafo costruiscono la struttura delle informazioni sulla base di nodi e delle loro interconnessioni (archi), il che consente di analizzare e visualizzare in modo efficace relazioni complesse tra oggetti. Questo approccio è comodo per elaborare dati con molteplici relazioni tra le informazioni memorizzate.
Perché la sicurezza dei database è importante?
I database contengono informazioni aziendali critiche e sensibili (come dati finanziari, personali, bancari, aziendali, ecc.). Non si tratta semplicemente di un insieme di dati, ma di un vero e proprio complesso di tutti gli asset informativi in possesso di un'azienda, che incidono direttamente sulla sua efficienza, competitività e sopravvivenza. Una violazione della sicurezza dei database può provocare perdite finanziarie e danni alla reputazione dell'azienda.
Le moderne minacce informatiche sono in gran parte rivolte a questo valore e sfruttano ogni possibilità per penetrare nel perimetro di sicurezza dell'azienda.
Compiti dei database e loro dipendenza dalla sicurezza delle informazioni
Quali compiti svolgono i database? Si possono individuare diversi compiti principali:
-
garantire la riservatezza. I database proteggono le informazioni importanti per l'azienda dall'influenza negativa di soggetti ostili;
-
garantire l'integrità delle informazioni. I database, in quanto strumento unico di archiviazione delle informazioni, garantiscono al contempo l'integrità dei dati e delle loro relazioni reciproche, oltre alla conservazione strutturata delle narrazioni;
-
garantire l'accesso tempestivo all'insieme dei dati archiviati. I database sono accessibili agli utenti autorizzati in qualsiasi momento, salvo diversa indicazione nelle condizioni d'uso;
-
garantire la verifica dell'identità dell'utente tramite autenticazione e autorizzazione;
-
garantire la registrazione degli eventi e l'auditing dell'attività degli utenti nel sistema, per individuare e prevenire potenziali minacce.

L'accuratezza e l'affidabilità di questi compiti dipendono direttamente dalla sicurezza del database, motivo per cui è così importante creare condizioni ottimali per l'utilizzo di questo tipo di archiviazione delle informazioni.
Minacce alla sicurezza dei database
Poiché i database hanno un'ampia gamma di applicazioni, anche le principali minacce alla loro sicurezza sono varie e riguardano molti tipi di problemi standard di sicurezza delle informazioni. Analizziamole più da vicino.
-
Attacchi Distributed Denial of Service (DDoS)
Si tratta di tentativi massicci di ottenere accesso e autorizzazione degli utenti nel sistema, volti a costringere i server del database al sovraccarico e a negare il servizio a tutti i client senza eccezioni, compresi quelli autorizzati.
-
Iniezioni SQL
Si tratta di un metodo per violare siti web o programmi basati su database. I malintenzionati inseriscono codice SQL dannoso che esegue comandi predeterminati, come il monitoraggio del traffico o l'intercettazione di dati riservati.
-
Accesso non autorizzato
Una delle principali minacce, che può provenire sia da circuiti di sicurezza interni sia da soggetti esterni. Un aggressore ottiene l'accesso ai dati riservati archiviati nel database catturando le credenziali di autorizzazione e può compiere qualsiasi tipo di azione su queste informazioni.
-
Minacce interne dovute a negligenza
I dipendenti o altri utenti interni possono danneggiare accidentalmente o intenzionalmente le informazioni nel database. Questo tipo di intrusione richiede un monitoraggio costante, poiché non è necessario autorizzare gli utenti o violare il perimetro di sicurezza aziendale.
-
Malware e virus
L'impatto negativo di malware e virus può avere conseguenze significative per un'azienda: cifratura, modifica, blocco dell'accesso, cancellazione o diffusione dei dati archiviati nel database.
Principi generali di gestione della sicurezza dei database
Sulla base dei rischi di sicurezza esistenti, i principi principali da applicare alla gestione della sicurezza dei database sono: ridurre al minimo i diritti di accesso alle informazioni, cifrare i dati, monitorare l'attività web, aggiornare regolarmente il software e creare backup.
Ridurre al minimo i diritti di accesso fornisce il primo livello di sicurezza del database, limitando la cerchia di persone di fiducia e distribuendo i loro ruoli all'interno del database. Si possono individuare diversi ruoli distinti:
-
amministratore del DBMS;
-
amministratore del database;
-
amministratore della sicurezza;
-
utente.

L'amministratore del DBMS è uno specialista che gestisce il software progettato per creare, modificare e gestire le query al database. Le sue principali responsabilità includono l'installazione e la configurazione del DBMS, il monitoraggio del sistema, l'ottimizzazione delle query, il backup e il ripristino dei dati, e altre funzioni. Dispone dei diritti necessari per svolgere questi compiti.
L'amministratore del database può avere una vasta gamma di compiti legati alla gestione dei dati stessi, della loro struttura e del loro utilizzo. È responsabile della progettazione del database, della garanzia della sua integrità, della gestione delle tabelle, dell'indicizzazione e delle chiavi per migliorare le prestazioni. Tra le sue responsabilità rientra anche il supporto alle query e alla reportistica.
L'amministratore della sicurezza informatica è responsabile anche dei database, nell'ambito della sicurezza complessiva dell'azienda. Può implementare livelli aggiuntivi di protezione, come l'autenticazione a due fattori per amministratori e utenti, e monitorare l'attività nel sistema.
L'utente è un normale dipendente dell'azienda che ha accesso al database solo nell'ambito delle proprie mansioni lavorative.
Ogni ruolo associato alla gestione del database ha proprie caratteristiche e limitazioni in termini di livello di accesso e utilizzo dei privilegi.
Cifratura dei dati nei database: il suo ruolo
La cifratura dei dati è un metodo fondamentale per proteggere i database da accessi non autorizzati e attacchi informatici. Consiste nel convertire i dati in una forma cifrata utilizzando algoritmi come AES simmetrico, RSA asimmetrico e l'hashing SHA. Solo chi possiede la chiave appropriata può decifrare i dati e accedervi. La cifratura viene utilizzata sia per l'archiviazione (su server e supporti esterni) sia per il trasferimento di informazioni tra client e server o tra server. A livello applicativo, la cifratura può avvenire anche prima che i dati vengano scritti nel database.
La cifratura comprende anche la gestione delle chiavi crittografiche (ad esempio tramite servizi come HashiCorp Vault, AWS KMS o Azure Key Vault), che garantiscono un'archiviazione sicura e una gestione controllata degli accessi. Nei database, la tecnologia di cifratura è spesso integrata a livello di DBMS e funziona automaticamente, cifrando e decifrando i dati con un impatto minimo sulle prestazioni del sistema. Questo è particolarmente importante per proteggere i dati inattivi, poiché non richiede modifiche significative all'architettura di archiviazione.
Cifrare i backup è una misura di sicurezza obbligatoria. Se i backup finiscono nelle mani sbagliate, gli aggressori possono ottenere l'accesso ai dati. Per questo motivo, gli amministratori di solito cifrano i backup per proteggerli.
Monitoraggio dell'attività degli utenti
Il monitoraggio dell'attività degli utenti prevede il tracciamento continuo delle azioni dei dipendenti e dei processi legati al database, al fine di individuare attività sospette. Ciò può includere il rilevamento di accessi non autorizzati, la condivisione di credenziali o fughe di informazioni dal database.
Garantisce il monitoraggio continuo delle attività svolte nel database da dipendenti, utenti e processi, al fine di individuare attività anomale, che possono manifestarsi come accesso non autorizzato, trasferimento di login e password per l'autorizzazione, o diffusione di informazioni dal database.
Per monitorare l'attività degli utenti, è possibile utilizzare il sistema DLP Anexet. Garantisce la trasparenza delle attività digitali dei dipendenti e blocca la diffusione di dati riservati.
Aggiornamenti software regolari
Garantisce l'eliminazione tempestiva delle vulnerabilità mediante l'installazione degli aggiornamenti forniti dal fornitore del software, che risolvono i problemi di sicurezza individuati. Un amministratore della sicurezza delle informazioni può monitorare manualmente gli aggiornamenti man mano che vengono rilasciate nuove versioni dai fornitori di software, oppure creare un programma specifico e rispettarlo.
Backup
Uno degli strumenti più efficaci per mitigare le conseguenze delle violazioni della sicurezza, in particolare per quanto riguarda la protezione dei database. I backup garantiscono che i dati nel database rimangano intatti in caso di attacco.
Software e servizi per la sicurezza dei database
Esistono vari programmi e servizi specializzati che aiutano a proteggere i database:
-
Funzionalità di sicurezza del DBMS. Prevedono l'installazione di funzionalità di sicurezza integrate, come la cifratura e il controllo degli accessi, offerte dai moderni sistemi di gestione dei database (ad esempio Oracle, Microsoft SQL Server);
-
Sistemi di rilevamento delle intrusioni (IDS/IPS). Analizzano il traffico alla ricerca di attività sospette e prevengono potenziali attacchi;
-
Monitoraggio del database (DAM). Strumenti specializzati che tracciano tutte le azioni nel database per individuare le minacce;
-
Firewall per database. Protegge i database da attacchi di rete non autorizzati;
-
Sistemi DLP per monitorare l'attività degli utenti sul database e prevenire la diffusione di informazioni riservate dai database.
Metodi di autenticazione dei database
L'autenticazione è il processo di verifica dell'identità di un utente prima di concedere l'accesso al database. È particolarmente rilevante nel contesto dei database, poiché garantisce la differenziazione e l'accuratezza nella concessione degli accessi in base ai ruoli stabiliti all'interno dell'azienda. I metodi più diffusi per i database sono:
-
l'uso di password di accesso. Fornisce una protezione di base a livello di accesso iniziale al database, quando vengono inseriti login e password corretti;
-
l'autenticazione a due fattori. Si ottiene aggiungendo un ulteriore passaggio di autenticazione (fattore) tramite la conferma dell'identità di un utente che ha già inserito login e password corretti. I fattori aggiuntivi possono includere una password, un messaggio inviato a un dispositivo mobile o l'identificazione biometrica;
-
l'uso di protocolli per l'autenticazione di utenti e servizi tramite server affidabili. Spesso utilizzato nelle reti aziendali. Agisce come una sorta di router, un gateway sicuro tra Internet e gli utenti;
-
l'autenticazione al database tramite token. Utilizzata per accedere al database tramite token digitali temporanei generati da un server. Questo token è una chiave univoca generata dal sistema e trasmessa a un utente per accedere alle risorse protette. In questo modo, l'utente riceve il token dal servizio o dall'applicazione e può autenticarsi al database senza login e password. Tuttavia, la validità di questo token, a differenza di password e login, è limitata nel tempo.
Come funziona l'autenticazione basata su token:
-
richiesta di autenticazione;
-
inserimento dei dati di accesso (nome utente e password) nel sistema;
-
generazione del token;
-
codifica dei dati dell'utente e loro presentazione sotto forma di token, firmato dal server tramite una chiave crittografica in modo che non possa essere falsificato;
-
utilizzo del token;
-
accesso al database;
-
durata del token;
-
durata limitata per ridurre al minimo il rischio di abuso in caso di compromissione.

Metodi di audit nei database
Perché è necessario condurre audit sui database? Questo processo, come gli audit dei sistemi di sicurezza e dei processi aziendali, è fondamentale per garantire la sicurezza delle informazioni. Consiste nell'analizzare le operazioni sui dati e verificarne l'autorizzazione. Se vengono rilevate discrepanze tra i diritti di accesso e le operazioni effettuate, possono essere applicati il blocco dell'account, il monitoraggio delle azioni intraprese e l'analisi delle cause dell'intrusione.
I principali metodi di audit della sicurezza dei database includono:
-
registrazione delle transazioni. Registrazione di tutte le operazioni relative all'accesso ai dati, che consente di tracciare la cronologia delle modifiche e, in caso di guasto, di ripristinare la versione precedente all'impatto negativo;
-
monitoraggio delle azioni degli utenti e analisi delle attività anomale. Tracciamento dell'attività degli utenti, compresi autorizzazione, modifiche ai dati e tentativi non autorizzati di accedere al database. In questa fase è opportuno utilizzare il sistema DLP;
-
controlli periodici dei sistemi di protezione delle informazioni nei database. Un'analisi regolare dei sistemi di sicurezza, della loro pertinenza e accuratezza garantirà l'individuazione e l'eliminazione tempestiva delle vulnerabilità.
Conclusione
La sicurezza delle informazioni nei database è un processo complesso che richiede un approccio globale. Le minacce alla sicurezza si evolvono insieme alla tecnologia, e le aziende devono adottare misure efficaci per proteggere i propri dati. Dall'autenticazione solida alla cifratura, fino agli audit regolari, ogni misura contribuisce a mantenere un elevato livello di protezione e a prevenire violazioni dei dati che potrebbero causare gravi danni sia agli utenti sia alle aziende.

