
Analisi del Comportamento degli Utenti con il Machine Learning
Introduzione
Nel 2023, il Rapporto DBIR ha scoperto che l’86% delle violazioni web è avvenuto a causa di informazioni di login rubate. Poiché prevenire gli attacchi resta un aspetto vitale delle misure di sicurezza complessive, DataSunrise offre meccanismi avanzati per il monitoraggio del comportamento sospetto degli utenti del database.
I database spesso manifestano credenziali di utente compromesse o sistemi infetti tramite tentativi di elevare privilegi o accedere a differenti database o schemi, come ‘pg_catalog’. Una situazione comune si verifica quando un utente tenta di accedere al database da un indirizzo IP sconosciuto. Questo spesso indica attività sospette, possibilmente dovute a credenziali di utente compromesse.
Il compito di monitoraggio del comportamento sospetto degli utenti di DataSunrise utilizza strumenti di machine learning (ML) per monitorare il comportamento degli utenti e affrontare efficacemente i casi sospetti. L’approccio basato sul machine learning facilita una configurazione flessibile dello strumento senza la necessità di configurare manualmente set di IP autorizzati o database e schemi consentiti per utenti specifici. Questo elimina la necessità di configurare manualmente indirizzi IP o database.
Audit dell’Attività del Database
Prima di discutere il monitoraggio del comportamento, dobbiamo fare una nota su come raccogliamo i dati di addestramento del ML. DataSunrise ha uno strumento chiamato Audit che registra l’attività. Può trovare i registri in Audit → Transactional Trails.
I registri di Audit di DataSunrise tracciano il comportamento tipico degli utenti del database e possono anche aiutare a monitorare eventuali attività sospette.
I dati raccolti sono basati su testo e spesso troppo grandi per essere analizzati senza strumenti specifici per l’analisi dei dati. DataSunrise ha tutto ciò di cui si ha bisogno per elaborare grandi quantità di dati e trarre conclusioni dai risultati forniti.
Per creare un Compito di Comportamento Sospetto dell’Utente, si necessita dei dati di addestramento giusti dai Transactional Trails. Deve inoltre eseguire il compito di analisi del comportamento nel corretto intervallo di tempo.
Durante la prima esecuzione, il compito addestra il modello statistico. Le esecuzioni successive coinvolgono l’analisi dei Transactional Trails dall’intervallo di addestramento fino alla fine dei Transactional Trails.
Strumenti ML per il Monitoraggio del Comportamento degli Utenti: Caso di studio
Lo scenario è il seguente: L’azienda utilizza un’applicazione web con un database per la gestione dei dati dei clienti. L’azienda controllerà regolarmente qualsiasi attività insolita nelle tabelle del database, sia manualmente sia ogni ora.
Ci sono tre passaggi principali per implementare il Compito di Analisi del Comportamento degli Utenti:
Passo 1: Creare una Regola di Audit per monitorare le query tramite la Porta del Proxy al database di risorse. Individuare un intervallo di tempo di addestramento appropriato basato sui “Transactional Trails” delle Regole attive. Questo è un passaggio preliminare necessario per fornire il dataset di addestramento.
In una configurazione tipica di DataSunrise, ci sono più Regole di Audit e ampi registri dei “Transactional Trails”. Pertanto, l’utente può verificare che i “Transactional Trails” per il periodo di tempo selezionato mostrano solo attività approvate degli utenti.
Passo 2: Creare un Compito di Comportamento degli Utenti con un intervallo di tempo di addestramento appropriato. Configurare il Compito per eseguirlo per la prima volta per addestrare il modello statistico.
Passo 3: Eseguire alcune attività insolite utilizzando strumenti di terze parti come ‘psql’ o ‘DBeaver’. Quindi eseguire il compito manualmente di nuovo per l’analisi. Questo aiuta a garantire che la regola funzioni correttamente.

L’Host del Comportamento Normale (sul lato sinistro dell’immagine) contiene un’applicazione web. Questo host in genere serve come istanza del server connesso al database tramite l’Host Firewall (al centro). Abbiamo installato DataSunrise sull’Host Firewall e le sue Tracce Transazionali registrano le connessioni al database tramite la Porta Proxy di DataSunrise 5432.
Step 1: Regola di Audit per Azioni Regolari
Per creare una regola di audit, prima andare all’interfaccia web di DataSunrise. Successivamente, fare clic su Audit, quindi su Rules. Infine, fare clic su +Add Rule se non è già presente.
È necessario abilitare AuditObject in System Settings – Additional Parameters. La Regola di Audit dovrebbe tracciare solo azioni di utenti approvati per l’addestramento. Gli utenti possono sempre verificarlo nei Transaction Trails più tardi.
Abilitare la regola appena creata. Le richieste al database dovrebbero apparire negli eventi della regola. Durante questo passaggio, analizziamo le Tracce Transazionali e selezioniamo l’intervallo di tempo degli eventi di attività normale da utilizzare per l’addestramento del Comportamento Sospetto degli Utenti.
Step 2: Compito di Comportamento Sospetto dell’Utente
Ora che abbiamo garantito la presenza dei dati di addestramento e selezionato l’intervallo di tempo per l’addestramento, è il momento di creare un compito di Rilevazione del Comportamento Sospetto degli Utenti. Per fare ciò, navigare a Configuration – Periodic Tasks – +New Task.
Dal menu a tendina Tipo di Compito, selezionare Rilevazione del Comportamento Sospetto degli Utenti. L’unica impostazione richiesta qui è definire l’intervallo degli eventi del dataset di addestramento. Inoltre, c’è l’opzione Frequenza di Avvio del compito, ma nel nostro caso, poiché eseguiamo manualmente il compito quando necessario, possiamo lasciare la frequenza al valore predefinito (Orario).
Di seguito è riportata la configurazione dell’intervallo di tempo del nuovo Compito di Comportamento Sospetto degli Utenti.

Definiamo l’intervallo di tempo durante il quale si verificano solo attività consentite su tutti i Proxy dell’Istance del Database. Queste attività sono quelle whitelistate e abbiamo scelto i tempi del primo e dell’ultimo evento durante l’analisi nel Passo 1.
Per avviare l’addestramento del modello statistico del compito, salvare le impostazioni. Questa azione vi reindirizzerà alla sezione Compiti Periodici. Tornare al Compito di Comportamento Sospetto degli Utenti cliccando sul suo nome nell’elenco. Quindi, premere ‘Esegui‘ per eseguire il compito e verificare il suo stato.
Non dovrebbero esserci errori. Durante la prima esecuzione del compito, non rileva alcuna attività sospetta in quanto si concentra unicamente sull’addestramento del modello statistico. All’interno della finestra di dialogo del compito durante l’esecuzione del compito, l’utente può osservare il progresso dell’addestramento nel messaggio di stato.

Questo conclude il Passo 2. Ora abbiamo la rete addestrata all’interno del compito di Comportamento Sospetto degli Utenti e possiamo procedere effettivamente alla registrazione della rilevazione del comportamento sospetto.
Step 3: Attività Sospette e Analisi
L’attività sospetta nel nostro caso comporta query da un indirizzo IP inaspettato (Host di Attività di Malware) che accede a tutti i campi della ‘pg_catalog.pg_enum’.
Per connettersi al database arbitrario dall’indirizzo IP sospetto dell’Host di Attività di Malware, è stato utilizzato il comando ‘psql’ da quell’host:
/usr/pgsql-13/bin/psql -h 192.168.10.104 -p 5432 -U ubuser01 -d ubdb02 ubdb02=# select * from pg_catalog.pg_enum
Come risultato, appare un singolo avviso di sessione nei risultati del compito di Comportamento Sospetto degli Utenti:

Si noti che se l’utente dell’Host di Attività di Malware si connette al proxy utilizzando software come DBeaver o altre interfacce utente basate su software di gestione del database, anche questa azione genererà avvisi. DBeaver controlla automaticamente la struttura del database. Esegue indagini su tabelle e schemi non presenti nei dati di addestramento. Il sistema può segnalare attività inaspettate come risultato.

In questo scenario, sono state effettuate query del database due volte tramite il proxy di DataSunrise dall’Host dell’Applicazione Web del Comportamento Normale. Successivamente, è stata stabilita una connessione al database utilizzando DBeaver da un indirizzo IP fidato. Tuttavia, DBeaver ha proceduto a eseguire query su tabelle e schemi insoliti (pg_catalog). Pertanto, abbiamo segnalato queste sessioni come sospette.
Il compito di Comportamento Sospetto degli Utenti può generare avvisi per tutti i proxy dell’istanza della regola di audit del database, oa per le Regole e le Istanze se ce ne sono molte. È importante notare che nei Risultati (figura sopra), il numero di Porta del database rappresenta la porta del server del database impostata nell’istanza per la connessione protetta al database. Questa non è la Porta Proxy di quella istanza.
Per verificare se tutti i proxy dell’istanza stanno generando avvisi di comportamenti sospetti, gli utenti dovrebbero eseguire richieste sospette su tutte le porte proxy, assicurarsi che siano auditate e rieseguire il compito di Comportamento Sospetto degli Utenti. Quindi, fare clic sull’icona di aggiornamento nella lista dei risultati del compito. Quando appaiono nuove query, fare clic sull’ID di sessione per trovare il numero di porta proxy.
Tutte le query e le righe interessate sono disponibili nei dettagli della sessione quando si clicca nella tabella dei risultati del compito. Si prega di fare riferimento alla figura sottostante per maggiori dettagli.

Risultati del Caso
Possiamo identificare sessioni sospette esaminando parametri di query insoliti come indirizzi IP o nomi di database. Questi parametri si discostano dall’attività tipica vista durante l’addestramento nel compito di Comportamento Sospetto degli Utenti.
Le principali conclusioni del caso di studio sono le seguenti:
- Il modello statistico si concentra sull’analisi degli indirizzi IP, tabelle, schemi, ecc., all’interno delle query. Non considera il contenuto delle query stesse. Ad esempio, il modello statistico addestrato su semplici query SELECT non segnalerà query SELECT complesse o “SELECT all” sulla stessa tabella come sospette. Questo perché provengono da indirizzi IP appropriati e direzionate a database insoliti.
- Le istanze della regola di audit determinano i potenziali proxy per contrassegnare le sessioni in ingresso come sospette. È cruciale che il dataset di addestramento copra tutte le sessioni regolari ragionevoli per tutti i proxy. Le sessioni di proxy sconosciuti verranno segnalate come sospette.
- Non è necessaria alcuna configurazione specifica per addestrare il compito di Comportamento Sospetto degli Utenti su una determinata regola di audit. Tutti i record delle transazioni nel set di addestramento di audit sono utilizzati per insegnare alla rete. Questi record aiutano anche a identificare nuovi eventi e inviarli al compito di Comportamento Sospetto degli Utenti per ulteriori indagini.
Risoluzione dei Problemi
Qui, ci sono alcuni punti da notare:
- Utilizzare JVMChecker per verificare se Java funziona correttamente (situato in /opt/datasunrise/bin).
- Utilizzare i log del Comportamento degli Utenti per analizzare se l’esecuzione del compito ha prodotto eventuali messaggi di errore. Il compito di Comportamento Sospetto degli Utenti ha un file di log per i messaggi di errore. Può trovarlo in Impostazioni di Sistema sotto Logging & Logs, poi Logs Type, infine Rilevazione del Comportamento Sospetto degli Utenti.
- Ricordarsi di abilitare la proprietà avanzata ‘Audit Objects’ mentre il compito di Comportamento degli Utenti viene eseguito per la prima volta.
- Comprendere i propri dati. Il processo di
Successivo
