Brevet FR3101978A1 — publié le 20210416

L’invention concerne un procédé et un dispositif de détection d’un algorithme de génération de domaine DGA dans un réseau de communication informatique (106) comprenant au moins un serveur de résolution de requêtes DNS (104) émanant d’au moins un terminal client (102). Le réseau de communication informatique (106) comprend en outre un module de détection (208) couplé au serveur de résolution (104) et configuré pour analyser les requêtes DNS selon les étapes suivantes : - pour chaque requête DNS, associer le nom de domaine demandé et l’identité du terminal client demandeur pour former un tuple ; - combiner en partitions homogènes les tuples congruents selon au moins une technique d’agrégation choisie ; et - en déduire pour chaque partition homogène l’ensemble des terminaux clients exploitant un même DGA. Figure 1 Système et procédé de détection d’un algorithme de génération de domaine DGA DOMAINE DE L’INVENTION La présente invention concerne la détection d’un algorithme de génération de domaine, appelé encore DGA pour « Domain Generation Algorithm ». Elle trouve une application générale dans la détection de logiciel malveillant (malware) exploitant un DGA. CONTEXTE DE L’INVENTION De manière générale, un DGA est une technique permettant de générer en grande quantité des noms de domaines Internet. Les noms de domaines ainsi générés par DGA ne sont pas, pour la grande majorité d’entre eux enregistrés dans les systèmes de noms de domaine (appelés encore DNS pour Domain Name System), c’est-à-dire que les requêtes de résolution DNS aboutissent à NXDOMAIN (non existing domain) comme code de retour négatif à une requête DNS. La technique DGA est généralement utilisée par des logiciels malveillants insidieusement installés sur des terminaux, périphériques ou objets connectés tels que téléphones, ordinateurs, tablettes, caméras, systèmes d’alarme, … Les logiciels malveillants exploitants les DGA peuvent entre autres être de types : adware, spyware, virus, worm, trojan, keylogger, rootkit, phishing, spear phishing, bots, botnets, ransomware. Les logiciels malveillants sont le plus souvent contrôlés et commandés par un serveur complice distant qu’ils localisent par la résolution d’un nom de domaine via le protocole DNS. Ce serveur est appelé C&C pour « server Command & Control » dans le vocabulaire de la cybersécurité. Pour que le serveur complice ne puisse pas être découvert, le logiciel malveillant change régulièrement de nom choisi depuis une liste générée de manière déterministe. Les noms de cette liste sont générés par un algorithme DGA utilisé conjointement par le serveur C&C et le logiciel malveillant. Des logiciels malveillants peuvent se diffuser en se multipliant et se distribuant dans un réseau dans le but de mener une cyberattaque massive distribuée ou pour se cacher dans un grand flux de requêtes. On connaît déjà des systèmes de détection de logiciels malveillants. Généralement ils sont basés sur l’analyse du nom de domaine généré par DGA. Les techniques d’analyses sont généralement lexicales, fréquence de caractères, séquençage de caractères ou tout autre calcul d’entropie. Aujourd’hui, de tels systèmes de détection connus ne sont plus totalement satisfaisants puisqu’ils génèrent de nombreux faux positifs en raison des noms de domaines génériques utilisés par le cloud, par exemples entre autres, pour les machines virtuelles ou les micro services. Ou encore, ces systèmes de détection sont devenus inefficaces car les concepteurs de DGA de dernières générations ont fait évoluer leurs algorithmes pour trouver des parades techniques en imitant des noms communs de l’internet. Certains d’entre eux se basent sur des dictionnaires de mots naturels comme entre autres : suppobox, matsnu, gozi, mynaim2, ou pizd. La présente invention améliore la situation. Elle porte sur un procédé de détection d’algorithme de génération de domaine DGA dans un réseau de communication informatique comprenant au moins un serveur de résolution de requêtes DNS émanant d’au moins un terminal client. Procédé de détection d’un algorithme de génération de domaine DGA dans un réseau de communication informatique (106) comprenant au moins un serveur de résolution de requêtes DNS (104) émanant d’au moins un terminal client (102), caractérisé en ce que le réseau de communication informatique (106) comprend en outre un module de détection (208) couplé au serveur de résolution (104) et configuré pour analyser les requêtes DNS selon les étapes suivantes : - pour chaque requête DNS , associer le nom de domaine demandé et l’identité du terminal client demandeur pour former un tuple ; - combiner en partitions homogènes les tuples congruents selon au moins une technique d’agrégation choisie ; et - en déduire pour chaque partition homogène l’ensemble des terminaux clients exploitant un même DGA. Procédé selon la revendication 1, caractérisée en ce que la technique d’agrégation appartient au groupe formé par statistiques descriptives, algorithmes d’organisation de réseaux complexes, techniques de réorganisation de matrices, et apprentissages automatiques non supervisées. Procédé selon la revendication 2 caractérisé en ce que l’agrégation par statistique descriptive ordonne les tuples suivant des coefficients de corrélations. Procédé selon la revendication 2, caractérisé en ce que la méthode d’agrégation basée sur de l'analyse de réseau de nœuds associe entre eux les domaines de chaque tuple en calculant leur pondération de similitudes basée sur le nombre liaisons de clients DNS communs qu’ils partagent deux à deux. Procédé selon la revendication 2, caractérisé en ce que la méthode d’agrégation par réorganisation de matrices modélise les tuples sous la forme d’une matrice domaines DNS et clients DNS respectivement en lignes et colonnes dans laquelle, sans modifier les associations, les colonnes et les lignes sont permutées afin de mettre en évidence des motifs masqués. Procédé selon la revendication 2, caractérisé en ce que la méthode d’agrégation, par règles d’association (itemsets), extrait les règles d’associations de tuples les plus fréquentes. Procédé selon l’une quelconque des précédentes revendications 1 à 6, caractérisé en ce qu’il comprend en outre une étape de découpe dans laquelle les tuples agrégés sont découpés en partitions homogènes à l’aide de systèmes d’apprentissages automatiques (Machine Learning) non supervisés de clustering pour classifier les tuples en DGA distincts. Système de détection d’un algorithme de génération de domaine DGA, dans un réseau de communication informatique (106) comprenant au moins un serveur de résolution de requêtes DNS (104) émanant d’au moins un terminal client (102), caractérisé en ce que le réseau de communication informatique (106) comprend en outre un module de détection (208) couplé au serveur de résolution (104) et comprenant des moyens de traitement de données configurés, pour chaque requête DNS, à associer le nom de domaine demandé et l’identité du terminal client demandeur pour former un tuple ; à combiner en partitions homogènes les tuples congruents ainsi combinés selon au moins une technique d’agrégation choisie ; et à en déduire pour chaque partition homogène l’ensemble des terminaux clients exploitant un même DGA. Système selon la revendication 8, caractérisé en ce que la technique d’agrégation appartient au groupe formé par statistiques descriptives, algorithmes d’organisation de réseaux complexes, techniques de réorganisation de matrices, et apprentissages automatiques non supervisées. Programme d'ordinateur comprenant des instructions qui conduisent le système de détection selon l’une des revendications 8 à 9, à exécuter les étapes du procédé selon l’une des revendications 1 à 7, lorsque ledit programme d’ordinateur est exécuté sur un ordinateur.