Analyse du Comportement des Utilisateurs avec l’Apprentissage Automatique
Introduction
En 2023, le Rapport DBIR a découvert que 86% des violations web sont survenues en raison du vol d’informations de connexion. Comme la prévention des attaques reste un aspect essentiel des mesures de sécurité globales, DataSunrise offre des mécanismes améliorés pour surveiller les comportements suspects des utilisateurs de la base de données.
Les bases de données manifestent souvent des informations d’identification d’utilisateur compromises ou des systèmes infectés par 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 se produit lorsqu’un utilisateur tente d’accéder à la base de données à partir d’une adresse IP inconnue. Ceci indique souvent une activité suspecte, peut-être due à des informations d’identification d’utilisateur compromises.
La tâche de Comportement Suspect de l’Utilisateur de DataSunrise utilise des outils d’apprentissage automatique (ML) pour surveiller le comportement des utilisateurs et gérer 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 autorisées ou des bases de données et schémas autorisés pour des utilisateurs spécifiques. Cela élimine la nécessité de configurer précisément les adresses IP ou les bases de données à la main.
Audit de l’Activité de la Base de Données
Avant de discuter de la surveillance du comportement, nous devrions noter comment nous recueillons les données d’apprentissage ML. DataSunrise a un outil appelé Audit qui enregistre l’activité. Vous pouvez trouver les logs dans Audit → Traces Transactionnelles.
Les logs d’audit de DataSunrise enregistrent les données pour suivre le comportement typique des utilisateurs de la base de données et peuvent également aider à surveiller toutes activités suspectes.
Les données recueillies 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 des informations qu’il fournit.
Pour créer une tâche de Comportement Suspect de l’Utilisateur, vous avez besoin des bonnes données d’entraînement provenant des Traces Transactionnelles. Vous avez également besoin d’exécuter la tâche d’analyse du comportement dans la bonne plage de temps.
Lors de la première exécution, la tâche entraîne le modèle statistique. Les exécutions ultérieures consistent à analyser les Traces Transactionnelles de la fin de la plage d’entraînement jusqu’à la fin des Traces Transactionnelles.
Outils ML pour la Surveillance du Comportement des Utilisateurs : Étude de cas
Le scénario est le suivant : L’entreprise utilise une application web avec une base de données pour gérer les données des clients. L’entreprise vérifiera régulièrement toute activité inhabituelle dans les tables de la base de données, manuellement ou toutes les heures.
Il y a trois étapes principales pour mettre en œuvre 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 ressource. Trouver une plage de temps d’entraînement appropriée basée sur les Traces Transactionnelles des Règles actives. Il s’agit d’une étape préliminaire nécessaire pour fournir l’ensemble de données d’entraînement.
Dans une configuration typique de DataSunrise, il y a plusieurs Règles d’Audit et des logs étendus de Traces Transactionnelles. Ainsi, l’utilisateur peut vérifier que les Traces Transactionnelles pour la période de temps choisie n’affichent que l’activité de l’utilisateur approuvée.
Étape 2 : Créer une Tâche de Comportement de l’Utilisateur avec une plage de temps d’entraînement appropriée. Configurer la Tâche pour qu’elle s’exécute pour la première fois afin d’entraîner le modèle statistique.
Étape 3 : Exécuter des activités inhabituelles à l’aide d’outils tiers comme ‘psql’ ou ‘DBeaver’. Puis exécuter manuellement à nouveau la tâche pour l’analyse. Cela aide à s’assurer que la règle fonctionne correctement.
L’Hôte de Comportement Normal (sur le côté gauche de l’image) contient une application web. Cet hôte sert généralement d’instance de serveur connectée à la base de données par l’intermédiaire de l’Hôte Firewall (au centre). Nous avons installé DataSunrise sur l’Hôte Firewall, et ses Traces Transactionnelles enregistrent les connexions à la base de données à travers le Port Proxy 5432 de DataSunrise.
Étape 1 : Règle d’Audit pour les Actions Régulières
Pour faire une règle d’audit, allez d’abord à l’interface utilisateur basée sur le Web de DataSunrise. Ensuite, cliquez sur Audit, puis Règles. Enfin, cliquez sur +Ajouter une Règle si elle n’est pas déjà là.
Vous devriez activer AuditObject dans Paramètres du Système – Paramètres Supplémentaires. La Règle d’Audit doit uniquement suivre les actions approuvées par l’utilisateur pour l’entraînement. Les utilisateurs peuvent toujours le vérifier plus tard dans les Traces Transactionnelles.
Activez la règle que vous venez de créer. Les requêtes à la base de données devraient apparaître dans les événements de la règle. Pendant cette étape, nous analysons les Traces Transactionnelles et sélectionnons la plage de temps des événements d’activité normale à utiliser pour l’entraînement du Comportement Suspect de l’Utilisateur.
Étape 2 : Tâche de Comportement Suspect de l’Utilisateur
Maintenant que nous avons assuré que les données d’entraînement sont présentes et que nous avons sélectionné la plage d’entraînement, il est temps de créer une tâche de Détection de Comportement Suspect de l’Utilisateur. Pour ce faire, naviguez vers Configuration – Tâ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 réglage requis ici est de définir la plage des événements de l’ensemble de données d’entraînement. De plus, il y a une option de Fréquence de Démarrage pour la tâche, mais dans notre cas, où nous exécutons manuellement la tâche au besoin, nous pouvons laisser la fréquence par défaut (Horaire).
Voici la configuration pour la plage de temps de la nouvelle Tâche de Comportement Suspect de l’Utilisateur.
Nous définissons la plage de temps pendant laquelle se produisent uniquement les activités autorisées sur tous les Proxies de l’Instance de la Base de Données. Ces activités sont celles qui sont autorisées, et nous avons sélectionné les heures du premier et du dernier événement lors de l’analyse de 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. Revenez à la Tâche de Comportement Suspect de l’Utilisateur en cliquant sur son nom dans la liste. Puis, 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.
Ceci conclut l’Étape 2. Nous avons maintenant le réseau entraîné dans la Tâche de Comportement Suspect de l’Utilisateur et nous pouvons procéder à l’enregistrement de la détection du comportement suspect.
Étape 3 : Activité Suspecte et Analyse
Une activité suspecte dans notre cas implique des requêtes provenant d’une adresse IP inattendue (Hôte d’Activité Malware) accédant à tous les champs du ‘pg_catalog.pg_enum’.
Pour se connecter à la base de données arbitraire depuis l’adresse IP suspecte de l’Hôte d’Activité Malware, 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 avertissement de session unique apparaît dans les résultats de la tâche de Comportement Suspect de l’Utilisateur :
Veuillez noter que si l’utilisateur de l’Hôte d’Activité Malware se connecte au proxy en utilisant un logiciel comme DBeaver ou d’autres logiciels de gestion de base de données basés sur l’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 des 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.
Dans ce scénario, des requêtes de base de données ont été faites deux fois par le proxy de DataSunrise depuis l’Hôte de l’Application Web de Comportement Normal. Par la suite, une connexion a été établie à la base de données en utilisant DBeaver depuis une adresse IP de confiance. Cependant, DBeaver a procédé à des requêtes sur des tables et des schémas inhabituels (pg_catalog). Par conséquent, nous avons marqué ces sessions comme suspectes.
La Tâche de Comportement Suspect de l’Utilisateur peut générer des alertes pour tous les proxies de l’Instance de la règle de la base de données, ou pour les Règles et les Instances s’il y en a beaucoup. 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 la base de données défini dans la configuration de l’Instance pour la connexion protégée à la base de données. Ce n’est pas le Port Proxy de cette Instance.
Pour vérifier si tous les Proxies de l’Instance génèrent des alertes de comportement suspect, les utilisateurs doivent effectuer des demandes 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 sur la liste des résultats de la tâche. À mesure que de nouvelles requêtes apparaissent, cliquez sur l’ID de la Session pour trouver le numéro de port du proxy.
Toutes les requêtes et les lignes affectées sont disponibles dans les détails de la Session lorsque vous cliquez dans le tableau de Résultats de la tâche. Veuillez vous référer à la figure ci-dessous pour plus de détails.
Résultats du Cas
Nous pouvons identifier les sessions suspectes en examinant des paramètres de requête inhabituels tels que les adresses IP ou les noms de base de données. Ces paramètres dévient de l’activité typique observée pendant l’entraînement dans la Tâche de Comportement Suspect de l’Utilisateur.
Les principales conclusions de l’étude de cas sont les suivantes :
- Le modèle statistique se concentre sur l’analyse des adresses IP, des tables, des schémas, etc., au sein des requêtes. Il ne tient pas compte du contenu des requêtes elles-mêmes. Par exemple, le modèle statistique formé sur des requêtes SELECT simples ne marquera pas des requêtes SELECT complexes ou des requêtes “SELECT all” à la même table comme suspectes. C’est parce qu’elles proviennent d’adresses IP appropriées et sont dirigées vers des bases de données insolites.
- Les Instances de la Règle d’Audit déterminent les Proxies potentiels pour marquer les sessions entrantes comme suspectes. Il est crucial que l’ensemble de données d’entraînement couvre toutes les sessions régulières raisonnables pour tous les Proxies. Les sessions de Proxies inconnus seront signalées comme suspectes.
- Il n’y a pas de configuration spécifique 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 transaction dans l’ensemble de données d’audit de l’entraînement sont utilisés pour enseigner le réseau. Ces enregistrements aident également à identifier de nouveaux événements et à les envoyer à la Tâche de Comportement Suspect de l’Utilisateur pour une investigation plus poussée.
Dépannage
Ici, il y a quelques points à noter :
- Utilisez JVMChecker pour vérifier si Java fonctionne correctement (situé à /opt/datasunrise/bin).
- Utilisez les logs du Comportement de l’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 de logs pour les messages d’erreur. Vous pouvez le trouver dans les Paramètres du Système sous Logging & Logs, puis Logs Type, 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 de l’Utilisateur s’exécute pour la première fois.
- Comprenez vos données. Le processus d’entraînement nécessite une quantité relativement élevée de données dans les logs 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 des colonnes inhabituelles dans une requête SELECT si elle a été faite vers la bonne base de données, depuis la bonne IP, et par le bon utilisateur et l’application.
- Lors de l’exécution de la Tâche de Comportement de l’Utilisateur pour la première fois, assurez-vous que le Trail d’Audit ne contient que l’activité autorisée. Si nécessaire, l’utilisateur peut facilement recréer la Tâche de Comportement de l’Utilisateur et entraîner à nouveau son modèle statistique.
Conclusion
La tâche basée sur ML de Comportement Suspect de l’Utilisateur aide à surveiller l’accès aux données en établissant automatiquement des règles pour différents utilisateurs. Cela fait gagner du temps et des efforts, en particulier avec de grands ensembles de données. Le pare-feu de base de données de DataSunrise exploite efficacement les outils ML pour surveiller le 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 la configuration des tâches et l’analyse des sessions entrantes.
La Tâche de Comportement Suspect de l’Utilisateur vous permet de balayer les Traces Transactionnelles de DataSunrise pour toute activité inhabituelle des utilisateurs actuels. Cela peut vous aider à identifier les éventuelles violations de sécurité. Vous pouvez effectuer cette analyse régulièrement ou manuellement. Cet outil permet aux utilisateurs de marquer les sessions comme suspectes ou normales et de faire de petits changements pour simplifier l’interface.
Dans cet article, nous avons brièvement discuté de la configuration de la Tâche de Comportement Suspect de l’Utilisateur. N’hésitez pas à visiter notre site web et à demander une démonstration en ligne pour une discussion supplémentaire sur les solutions de sécurité de la base de données de DataSunrise.
Suivant