DataSunrise Consegue la Certificazione AWS DevOps Competency per AWS DevSecOps e Monitoraggio, Logging e Performance

Analisi del Comportamento degli Utenti con il Machine Learning

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 AuditTransactional 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.

Figura 1 – Configurazione del caso di studio. Sia l’host del Comportamento Normale sia l’host dell’Attività di Malware si connettono all’host di DataSunrise (Firewall).

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 SettingsAdditional 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 ConfigurationPeriodic 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.

Figura 2 – Configurazione del compito di Comportamento Sospetto degli Utenti (troncata).

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.

Figura 3 – Prima esecuzione del compito di Comportamento Sospetto degli Utenti. Lo stato “Compito completato con successo” è importante per ulteriori analisi dell’attività

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:

Figura 4 – DataSunrise segnala la prima attività sospetta. L’immagine mostra l’avviso risultante dalla seconda esecuzione del compito di Comportamento Sospetto degli Utenti. La sessione è già stata segnalata come ‘Sospetta’ dall’utente.

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.

Figura 5 – I risultati del compito di Comportamento Sospetto degli Utenti per la connessione DBeaver dall’host.

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.

Figura 6 – Strumenti ML per il Monitoraggio del Comportamento degli Utenti: Sessione sospetta generata da DBeaver. Si noti che elenchiamo tutte le query e indichiamo l’IP e il numero di porta proxy come 0.0.0.0:5433.

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

Informazioni sulla Struttura del Tuo Database e sull’Uso delle Relazioni tra Tabelle

Informazioni sulla Struttura del Tuo Database e sull’Uso delle Relazioni tra Tabelle

Scopri di più

Ha bisogno del nostro team di supporto?

I nostri esperti saranno lieti di rispondere alle Sue domande.

Countryx
United States
United Kingdom
France
Germany
Australia
Afghanistan
Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua and Barbuda
Argentina
Armenia
Aruba
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Bouvet
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos (Keeling) Islands
Colombia
Comoros
Congo, Republic of the
Congo, The Democratic Republic of the
Cook Islands
Costa Rica
Cote D'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands (Malvinas)
Faroe Islands
Fiji
Finland
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard Island and Mcdonald Islands
Holy See (Vatican City State)
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran, Islamic Republic Of
Iraq
Ireland
Isle of Man
Israel
Italy
Jamaica
Japan
Jersey
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Republic of
Korea, Republic of
Kuwait
Kyrgyzstan
Lao People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macao
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia, Federated States of
Moldova, Republic of
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
North Macedonia, Republic of
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory, Occupied
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Helena
Saint Kitts and Nevis
Saint Lucia
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia and Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia and the South Sandwich Islands
Spain
Sri Lanka
Sudan
Suriname
Svalbard and Jan Mayen
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan, Province of China
Tajikistan
Tanzania, United Republic of
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
Venezuela
Viet Nam
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Yemen
Zambia
Zimbabwe
Choose a topicx
Informazioni generali
Vendite
Servizio clienti e supporto tecnico
Richieste di collaborazione e alleanza
Informazioni generali:
info@datasunrise.com
Servizio clienti e supporto tecnico:
support.datasunrise.com
Richieste di collaborazione e alleanza:
partner@datasunrise.com