DataSunrise Obtient le Statut Compétence DevOps AWS dans AWS DevSecOps et Surveillance, Journalisation, Performance

Analyse du comportement des utilisateurs avec l’apprentissage automatique

Analyse du comportement des utilisateurs avec l’apprentissage automatique

Introduction

En 2023, le rapport DBIR a découvert que 86 % des violations Web se produisaient en raison d’informations de connexion volées. Alors que la prévention des attaques reste un aspect vital des mesures de sécurité globales, DataSunrise offre des mécanismes améliorés pour la surveillance des comportements suspects des utilisateurs de bases de données.

Les bases de données manifestent souvent des informations d’identification d’utilisateur compromises ou des systèmes infectés à travers des tentatives d’élévation de privilèges ou d’accès à différentes bases de données ou schémas, tels que ‘pg_catalog’. Une situation courante survient lorsqu’un utilisateur tente d’accéder à la base de données depuis une adresse IP inconnue. Cela indique souvent une activité suspecte, possiblement due à des informations d’identification d’utilisateur compromises.

La tâche de comportement d’utilisateur suspect de DataSunrise utilise des outils d’apprentissage automatique (ML) pour surveiller le comportement des utilisateurs et traiter efficacement les cas suspects. Son approche d’apprentissage automatique facilite une configuration flexible de l’outil sans avoir besoin de configurer manuellement des ensembles d’adresses IP en liste blanche ou des bases de données et schémas autorisés pour des utilisateurs spécifiques. Cela élimine la nécessité de configurer manuellement des adresses IP ou bases de données.

Auditer l’activité de la base de données

Avant de discuter de la surveillance du comportement, nous devons noter comment nous collectons les données d’entraînement ML. DataSunrise dispose d’un outil appelé Audit qui enregistre l’activité. Vous pouvez trouver les journaux dans AuditTrails transactionnels.

Les journaux d’audit de DataSunrise enregistrent les données pour suivre comment les utilisateurs de la base de données se comportent généralement et peuvent également aider à surveiller toute activité suspecte.

Les données collectées sont basées sur du texte et souvent trop volumineuses pour être analysées sans outils spécifiques d’analyse de données. DataSunrise a tout ce dont vous avez besoin pour traiter de grandes quantités de données et tirer des conclusions à partir des insights fournis.

Pour créer une tâche de comportement suspect d’utilisateur, vous avez besoin des bonnes données d’entraînement à partir des Trails transactionnels. Vous devez également exécuter la tâche d’analyse du comportement dans la plage de temps correcte.

Lors de la première exécution, la tâche entraîne le modèle statistique. Les exécutions ultérieures impliquent l’analyse des Trails transactionnels de la fin de la plage d’entraînement à la fin des Trails transactionnels.

Outils ML pour la surveillance du comportement des utilisateurs : étude de cas

Le scénario est le suivant : La société utilise une application web avec une base de données pour gérer les données des clients. La société vérifiera régulièrement toute activité inhabituelle dans les tables de la base de données, soit à la main soit toutes les heures.

Il y a trois étapes principales pour implémenter la tâche d’analyse du comportement des utilisateurs :

Étape 1 : Créer une règle d’audit pour surveiller les requêtes via le port proxy vers la base de données de ressources. Trouver une période de formation appropriée basée sur les Trails transactionnels des règles actives. Il s’agit d’une étape préliminaire nécessaire pour fournir le jeu de données d’entraînement.

Dans une configuration typique de DataSunrise, il y a plusieurs règles d’audit et d’extensives journaux de Trails transactionnels. Ainsi, l’utilisateur peut vérifier que les Trails transactionnels pour la période choisie ne montrent que l’activité approuvée.

Étape 2 : Créer une tâche de comportement d’utilisateur avec une période de formation appropriée. Configurer la tâche pour l’exécuter pour la première fois pour entraîner le modèle statistique.

Étape 3 : Exécuter certaines activités inhabituelles en utilisant des outils tiers comme ‘psql’ ou ‘DBeaver’. Ensuite, exécutez manuellement la tâche à nouveau pour l’analyse. Cela aide à s’assurer que la règle fonctionne correctement.

Figure 1 – Configuration de l’étude de cas. Les hôtes de comportement normal et d’activités malveillantes se connectent à l’hôte DataSunrise (pare-feu).

L’hôte de comportement normal (du côté gauche de l’image) contient une application web. Cet hôte sert généralement d’instance de serveur connecté à la base de données via l’hôte de pare-feu (au centre). Nous avons installé DataSunrise sur l’hôte de pare-feu, et ses Trails transactionnels enregistrent les connexions à la base de données via le port proxy DataSunrise 5432.

Étape 1: Règle d’Audit pour les actions régulières

Pour créer une règle d’audit, allez d’abord à l’interface utilisateur basée sur le Web de DataSunrise. Puis, cliquez sur Audit, ensuite Règles. Enfin, cliquez sur +Ajouter une règle si elle n’est pas déjà là.

Vous devez activer l’AuditObject dans Paramètres systèmeParamètres supplémentaires. La règle d’audit doit suivre uniquement les actions approuvées des utilisateurs pour l’entraînement. Les utilisateurs peuvent toujours le vérifier dans les Trails des transactions plus tard.

Activez la règle que vous venez de créer. Les requêtes vers la base de données devraient apparaître dans les événements de la règle. Au cours de cette étape, nous analysons les Trails transactionnels et sélectionnons la période d’activité normale pour l’entraînement au comportement suspect de l’utilisateur.

Étape 2: Tâche de comportement suspect de l’utilisateur

Maintenant que nous avons vérifié que les données d’entraînement sont présentes et sélectionné la période de formation, il est temps de créer une tâche de détection de comportement suspect de l’utilisateur. Pour ce faire, accédez à ConfigurationTâches périodiques+Nouvelle tâche.

Dans la liste des types de tâches, sélectionnez Détection de comportement suspect de l’utilisateur. Le seul paramètre requis ici est de définir la plage des événements du jeu de données d’entraînement. Par ailleurs, il y a une option de fréquence de démarrage pour la tâche, mais dans notre cas, où nous exécutons la tâche manuellement selon les besoins, nous pouvons laisser la fréquence à la valeur par défaut (horaire).

Ci-dessous, la configuration de la période de la nouvelle tâche de comportement suspect de l’utilisateur.

Figure 2 – Configuration de la tâche de comportement suspect de l’utilisateur (tronquée).

Nous définissons la période pendant laquelle seules les activités autorisées se produisent sur tous les proxys de l’instance de base de données. Ces activités sont celles en liste blanche, et nous avons sélectionné les heures de premier et dernier événement lors de l’analyse à l’Étape 1.

Pour initier l’entraînement du modèle statistique de la tâche, enregistrez les paramètres. Cette action vous redirigera vers la section des tâches périodiques. Naviguez à nouveau vers la tâche de comportement suspect de l’utilisateur en cliquant sur son nom dans la liste. Ensuite, appuyez sur ‘Exécuter‘ pour exécuter la tâche et vérifier son statut.

Il ne devrait y avoir aucune erreur. Lors de la première exécution de la tâche, elle ne détecte aucune activité suspecte car elle se concentre uniquement sur l’entraînement du modèle statistique. Dans le dialogue de la tâche lors de l’exécution de la tâche, l’utilisateur peut observer la progression de l’entraînement dans le message de statut.

Figure 3 – Première exécution de la tâche de comportement suspect de l’utilisateur. Le statut « Tâche complétée avec succès » est important pour une analyse d’activité ultérieure.

Cela conclut l’Étape 2. Nous avons maintenant le réseau entraîné dans la tâche de comportement suspect de l’utilisateur et pouvons procéder à l’enregistrement effectif de la détection de comportements suspects.

Étape 3: Activité suspecte et analyse

Dans notre cas, l’activité suspecte concerne les requêtes d’une adresse IP inattendue (hôte d’activité malveillante) accédant à tous les champs de ‘pg_catalog.pg_enum’.

Pour se connecter à la base de données arbitraire depuis l’adresse IP suspecte de l’hôte d’activité malveillante, la commande ‘psql’ de cet hôte a été utilisée :

/usr/pgsql-13/bin/psql -h 192.168.10.104 -p 5432 -U ubuser01 -d ubdb02
ubdb02=# select * from pg_catalog.pg_enum

En conséquence, un seul avertissement de session apparaît dans les résultats de la tâche de comportement suspect de l’utilisateur :

Figure 4 – DataSunrise signale la première activité suspecte. L’image montre l’alerte résultant de la deuxième exécution de la tâche de comportement suspect de l’utilisateur. La session a déjà été marquée comme ‘suspecte’ par l’utilisateur.

Veuillez noter que si l’utilisateur de l’hôte d’activité malveillante se connecte au proxy en utilisant un logiciel comme DBeaver ou tout autre logiciel de gestion de base de données basé sur une interface utilisateur, cette action déclenchera également des avertissements. DBeaver vérifie automatiquement la structure de la base de données. Il exécute des requêtes sur des tables et schémas qui ne sont pas présents dans les données d’entraînement. Le système peut signaler une activité inattendue en conséquence.

Figure 5 – Résultats de la tâche de comportement suspect de l’utilisateur pour la connexion DBeaver depuis la machine hôte.

Dans ce scénario, des requêtes de base de données ont été effectuées deux fois par proxy DataSunrise depuis l’hôte de l’application Web de comportement normal. Par la suite, une connexion à la base de données a été établie à l’aide de DBeaver depuis une adresse IP de confiance. Cependant, DBeaver a poursuivi les requêtes sur des tables et schémas inhabituels (pg_catalog). Par conséquent, nous avons signalé ces sessions comme suspectes.

La tâche de comportement suspect de l’utilisateur peut générer des alertes pour tous les proxys de l’instance de règle d’audit de la base de données, ou pour les règles et instances s’il y en a plusieurs. Il est important de noter que dans les résultats (figure ci-dessus), le numéro de port de la base de données représente le port du serveur de base de données défini dans la configuration de l’instance pour la connexion à la base de données protégée. Cela n’est pas le port proxy de cette instance.

Pour vérifier si tous les proxys d’instance génèrent des alertes de comportement suspect, les utilisateurs doivent effectuer des requêtes suspectes sur tous les ports proxy, s’assurer qu’ils sont audités, et relancer la tâche de comportement suspect de l’utilisateur. Ensuite, cliquez sur l’icône de mise à jour dans la liste des résultats de la tâche. À mesure que de nouvelles requêtes apparaissent, cliquez sur l’ID de session pour trouver le numéro de port proxy.

Toutes les requêtes et les lignes affectées sont disponibles dans les détails de la session quand on clique sur le tableau des résultats de la tâche. Veuillez vous référer à la figure ci-dessous pour plus de détails.

Figure 6 – Outils ML pour la surveillance du comportement des utilisateurs : session suspecte générée par DBeaver. Veuillez noter que nous listons toutes les requêtes et indiquons l’IP et le numéro de port du proxy comme 0.0.0.0:5433.

Résultats du cas

Nous pouvons identifier des sessions suspectes en examinant des paramètres de requêtes inhabituels tels que les adresses IP ou les noms de bases de données. Ces paramètres s’écartent de l’activité typique observée pendant la formation dans la tâche de comportement suspect de l’utilisateur.

Les principales conclusions du cas sont les suivantes :

  • Le modèle statistique se concentre sur l’analyse des adresses IP, tables, schémas, etc., au sein des requêtes. Il ne prend pas en compte le contenu des requêtes elles-mêmes. Par exemple, le modèle statistique entraîné sur des requêtes SELECT simples ne signalera pas des requêtes SELECT complexes ou des requêtes « SELECT all » sur la même table comme suspectes. Cela parce qu’elles proviennent d’adresses IP appropriées et sont dirigées vers des bases de données inhabituelles.
  • Les instances de la règle d’audit déterminent les proxys potentiels pour marquer les sessions entrantes comme suspectes. Il est crucial que le jeu de données d’entraînement couvre toutes les sessions régulières raisonnables pour tous les proxys. Les sessions de proxy inconnues seront signalées comme suspectes.
  • Aucune configuration spécifique n’est requise pour entraîner la tâche de comportement suspect de l’utilisateur sur une règle d’audit particulière. Tous les enregistrements de transactions dans le jeu de formation d’audit sont utilisés pour enseigner au réseau. Ces enregistrements aident également à identifier de nouveaux événements et de les envoyer à la tâche de comportement suspect de l’utilisateur pour une investigation plus poussée.

Dépannage

Voici quelques points à noter :

  • Utilisez JVMChecker pour vérifier si Java fonctionne correctement (situé dans /opt/datasunrise/bin).
  • Utilisez les journaux de comportement d’utilisateur pour analyser si l’exécution de la tâche a produit des messages d’erreur. La tâche de comportement suspect de l’utilisateur a un fichier journal pour les messages d’erreur. Vous pouvez le trouver dans les paramètres système sous Journalisation & Journaux, puis Type de journaux, et enfin Détection de comportement suspect de l’utilisateur.
  • N’oubliez pas d’activer la propriété avancée ‘Audit Objects’ lorsque la tâche de comportement utilisateur s’exécute pour la première fois.
  • Comprenez vos données. Le processus d’entraînement nécessite une quantité relativement grande de données dans les journaux d’audit. Analyser la partie texte des requêtes SQL est important à noter. Cela signifie qu’il n’y aura pas d’alarme pour des tables ou colonnes inhabituelles dans une requête SELECT s’il est réalisé sur la bonne base de données, depuis la bonne IP, et par le bon utilisateur et application.
  • Lors de la première exécution de la tâche de comportement utilisateur, assurez-vous que le registre d’audit ne contient que de l’activité autorisée. Si nécessaire, l’utilisateur peut facilement recréer la tâche de comportement utilisateur et entraîner son modèle statistique à nouveau.

Conclusion

La tâche de comportement utilisateur suspect basée sur le ML aide à surveiller l’accès aux données en configurant automatiquement des règles pour différents utilisateurs. Cela fait gagner du temps et des efforts, surtout avec de grands jeux de données. Le pare-feu de base de données DataSunrise utilise efficacement des outils de ML pour la surveillance du comportement des utilisateurs. Malgré la complexité sous-jacente des processus impliqués, l’interface utilisateur basée sur le Web offre une interface conviviale pour configurer les tâches et analyser les sessions entrantes.

La tâche de comportement utilisateur suspect permet de scanner les Trails transactionnels DataSunrise pour déceler toute activité inhabituelle des utilisateurs actuels. Cela peut vous aider à identifier des brèches de sécurité potentielles. Vous pouvez effectuer ce scan régulièrement ou manuellement. Cet outil permet aux utilisateurs de marquer des sessions comme suspectes ou normales et d’apporter de petits changements pour simplifier l’interface.

Dans cet article, nous avons brièvement discuté de la configuration de la tâche de comportement utilisateur suspect. N’hésitez pas à visiter notre site Web et à demander une démo en ligne pour une discussion supplémentaire sur les solutions de sécurité des bases de données DataSunrise.

Suivant

À propos de votre structure de base de données et de l’utilisation des relations de table

À propos de votre structure de base de données et de l’utilisation des relations de table

En savoir plus

Besoin de l'aide de notre équipe de support ?

Nos experts seront ravis de répondre à vos questions.

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
Informations générales
Ventes
Service clientèle et support technique
Demandes de partenariat et d'alliance
Informations générales :
info@datasunrise.com
Service clientèle et support technique :
support.datasunrise.com
Demandes de partenariat et d'alliance :
partner@datasunrise.com