FR3101978A1 - Système et procédé de détection d’un algorithme de génération de domaine DGA - Google Patents

Système et procédé de détection d’un algorithme de génération de domaine DGA Download PDF

Info

Publication number
FR3101978A1
FR3101978A1 FR1911252A FR1911252A FR3101978A1 FR 3101978 A1 FR3101978 A1 FR 3101978A1 FR 1911252 A FR1911252 A FR 1911252A FR 1911252 A FR1911252 A FR 1911252A FR 3101978 A1 FR3101978 A1 FR 3101978A1
Authority
FR
France
Prior art keywords
dns
tuples
dga
aggregation
tuple
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1911252A
Other languages
English (en)
Other versions
FR3101978B1 (fr
Inventor
Jean-Yves BISIAUX
Sylvain GALLIANO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Efficient IP SAS
Original Assignee
Efficient IP SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Efficient IP SAS filed Critical Efficient IP SAS
Priority to FR1911252A priority Critical patent/FR3101978B1/fr
Priority to US17/065,752 priority patent/US11777969B2/en
Priority to FR2010294A priority patent/FR3101977B1/fr
Publication of FR3101978A1 publication Critical patent/FR3101978A1/fr
Application granted granted Critical
Publication of FR3101978B1 publication Critical patent/FR3101978B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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 (108) 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

Description

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.
Selon une définition générale de l’invention, le réseau de communication informatique comprend en outre un module de détection couplé au serveur de résolution de requêtes DNS et configuré pour analyser les requêtes DNS selon les étapes suivantes :
- pour chaque requête DNS collecté par le serveur de résolution, associer le nom de domaine demandé et l’identité du terminal client demandeur pour former un tuple unique;
- 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 ainsi combinée, l’ensemble des terminaux clients exploitant un même DGA.
En pratique, l’analyse est basée sur le comportement des terminaux clients qui utilisent le DGA en comparant lesdits comportements entre eux. L’objectif de la détection est de déceler des similitudes de comportement des terminaux clients en général et plus particulièrement l’ensemble des domaines communs à un DGA requetés par un ensemble de terminaux clients infectés par un logiciel malveillant exploitant ledit DGA.
Le Demandeur a observé que seules les requêtes DNS vers des noms de domaines inconnus sont ici d’intérêt pour la détection du logiciel malveillant.
De façon surprenante, le Demandeur a aussi observé que les terminaux clients infectés d’un même logiciel malveillant font un ensemble de requêtes DNS communes. C’est-à-dire que tous les terminaux clients d’un ensemble limité de terminaux clients ont requetés tous les noms de domaines d’un ensemble limité de domaines. Ainsi la presque totalité des terminaux clients d’un ensemble qui requêteront la presque totalité des domaines d’un ensemble donne ici un niveau de similitude de comportement des terminaux clients DNS élevé.
En pratique, les techniques d’agrégation suivantes sont utilisées indépendamment ou successivement pour agréger/combiner les tuples : les statistiques descriptives, les algorithmes d’organisation de graphes basés sur de l’analyse de complémentarité, les techniques de réorganisation de matrices pour en révéler des régularités de séries, et les apprentissages (Learning) non supervisés pour identifier des règles d’associations ou de clustering.
Selon un premier mode de réalisation non limitatif, l’agrégation par statistique descriptive permet ici d’ordonner les tuples suivant des coefficients de corrélations. Un filtrage par seuil élimine ensuite les tuples dont le comportement n’est pas significatif d’un DGA.
Selon un deuxième mode de réalisation non limitatif, la méthode d’agrégation des tuples est basée sur de l'analyse de réseau de nœuds ou encore appelée spatialisation de données. Les domaines de chaque tuple sont associés entre eux en calculant leur pondération de similitudes basée sur le nombre liaisons de clients DNS communs qu’ils partagent deux à deux.
(X) et (Y) ensembles de clients respectifs à deux domaines requetés, (P) pondération
Le procédé prévoit ensuite de relier entre eux les domaines comme des nœuds par des arêtes pondérées. Chaque nœud ayant un ou plusieurs liens pondérés. Ces réseaux étants des graphes, leurs caractéristiques topologiques sont non triviales.
L’évaluation de similitude de clients entre plus de deux domaines peut être entre autres approximée par différentes méthodes telle que la méthode de calcul de Barnes-Hut. Cette méthode est utilisée en divisant de manière récursive les domaines DNS en partitions (clusters) en les stockant dans un quadri-arbre (quad-tree). Chaque noeud du quad-tree a 4 enfants (dont certains peuvent être vides). Chaque nœud représente une région de l'espace à deux dimensions. L'idée est de regrouper entre eux les domaines ayant une pondération de similitude de clients forte. Si le groupe est suffisamment éloigné, alors sa pondération de complémentarité globale est approximée en utilisant une nouvelle pondération d’ensemble de la partition pour continuer son analyse itérative.
La mesure de la qualité de partitionnement des nœuds du graphe se calcule avec la formule de modularité.
(m) nombre d'arêtes du réseau, (Aij) valeur de la matrice d'adjacence entre les nœuds i et j, (ki) somme des poids des arêtes adjacentes à i, (δ) delta de Kronecke.
La méthode de Louvain est aussi utilisée ici pour optimiser la modularité avec un calcul différent. Sans s’y limiter, d’autres méthodes de calculs de modularité peuvent toutefois être utilisées comme : Clauset-Newman-Moore, Pons-Lapaty ou encore Wakita-Tsurumi.
Selon un troisième mode de réalisation non limitatif, la méthode d’agrégation est de type par réorganisation de matrices.
Dans cette méthode, les tuples sont modélisés sous la forme d’une matrice domaines DNS et clients DNS respectivement en lignes et colonnes. Sans modifier les associations, les colonnes et les lignes sont permutées afin de mettre en évidence des motifs masqués. Les méthodes utilisées ici sont le tri 2D, le tri PQR (Celmar Guimarães da Silva - 2014) ou la réorganisation de Sugiyama
Ces méthodes sont utilisées sur des tuples déjà identifiés comme DGA potentiels car elles sont très sensibles aux bruits et en conséquence devenir inefficaces. Elles vont par contre permettre de dénombrer des DGA différents dans une agrégation globale par exemple successive à une analyse de complémentarité.
Selon un quatrième mode de réalisation non limitatif, la méthode d’agrégation est par règles d’association (itemsets).
Cette méthode permet d’extraire les règles d’associations de tuples les plus fréquentes. Un ensemble de clients font des requêtes de noms de domaines. Pour chaque nom de domaine, une règle d’association des clients est construite. La fréquence de répétitions d’un même motif d’une règle d’association ou d’un de ses sous ensemble donne ici un facteur de similitude fort pour partitionner des tuples.
De nombreux algorithmes de génération de règles d’association existent. Par exemple et de manière non limitative, les algorithmes d'extraction d’association fréquentes sont utilisées comme Apriori, Eclat et FP-Growth.
Une fois les tuples agrégés, le procédé prévoit de les découper 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.
Il est à noter qu’un DGA continue, dans le temps, à générer beaucoup de domaines. Donc, dans un ensemble de domaines identifiés, beaucoup de nouveaux domaines vont remplacer les précédents. Dans un ensemble, les noms de domaines sont volatiles et leur nombre peut varier dans le temps. On peut considérer ici cet ensemble comme un flux quand il est projeté dans le temps. L’association entre l’ensemble des clients et l’ensemble des noms de domaines reste elle avantageusement stable.
Il faut une quantité minimum de tuples pour définir une partition et donc en déduire un DGA. Une fois un cluster défini, en remontant avant sa période de détection, les tuples qui le constituent permettent par leur domaine, ou la fréquence de requêtes de leur client d’en déduire d’autres nouveaux tuples similaires non classifiés.
Il est aussi à noter qu’un logiciel malveillant peut muter, c’est-à-dire qu’il peut télécharger, remplacer son propre code en cours d'exécution et ainsi changer son DGA. En suivant l’ensemble des clients commun requêtant un flux de domaines communs, le procédé conforme à l’invention n’est pas sensible au changement de DGA et peut avantageusement continuer à suivre l’évolution du groupe de clients DNS.
La présente invention a également pour objet un système de détection d’un 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.
Selon un aspect de l’invention, le réseau de communication informatique comprend en outre un module de détection couplé au serveur de résolution 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.
La présente invention a encore pour objet un programme d’ordinateur comprenant des instructions qui conduisent le système de détection de DGA ci-avant, à exécuter les étapes du procédé de détection de DGA, visé ci-avant.
D’autres avantages et caractéristiques de l’invention apparaitront à l’examen de la description et des dessins dans lesquels :
représente schématiquement l’environnement d’un réseau informatique mettant en œuvre l’invention ;
représente schématiquement la structure des composants du serveur de résolution DNS et du module de détection de DGA conformément à l’invention ;
représente schématiquement un exemple de graphe de pondération conforme à l’invention ;
représente schématiquement une matrice d’identifiants de terminaux clients et de noms de domaines conformément à l’invention ;
représente schématiquement la méthode d’agrégation de type par réorganisation de matrices conformément à l’invention ;
représente schématiquement la méthode d’agrégation par règles d’association (itemsets) conformément à l’invention ;
représente schématiquement la distribution de clients exploitant un DGA dans le temps conformément à l’invention ; et
représente schématiquement la notion de tuple.
DESCRIPTION DETAILLEE DES FIGURES
La figure 1 illustre un exemple d’environnement de réseau informatique 100. L'environnement réseau informatique 100 peut être soit un environnement distribué public, soit un environnement réseau fermé privé. L'environnement de réseau informatique 100 peut inclure différents terminaux clients ou dispositifs informatiques 102-1, 102-2, ..., 102-N couplés de manière à communiquer avec un serveur de résolution de requêtes de système de noms de domaine DNS 104 via un réseau de communication informatique 106.
A titre d’exemple, le terminal client 102 peut être un dispositif informatique de serveur d’applications 102-4, d'un dispositif mobile 102-3 (tablette, smartphone, …), d’un objet connecté 102-1, et/ou d'un ordinateur personnel 102-2 à travers lequel un utilisateur peut accéder à une application ou un service informatique en utilisant un nom d’application. Le terminal client 102 est distingué par un identifiant unique qui peut être soit son adresse IP, son adresse physique de réseau MAC, un numéro de mobile IMSI (GSM, UMS, ou LTE), un numéro d’inventaire arbitraire ou tout autre identifiant permettant d’identifier un client DNS. Ce numéro peut être transporté dans l'entête du protocole DNS ou dans l’extension du protocole EDNS. Dans une implémentation, le serveur de résolution DNS 104 peut être un serveur de noms de domaine pour analyser les demandes de nom de domaine et identifier un domaine de premier niveau (TLD) et un domaine de second niveau (SLD) à partir de la demande de nom de domaine et pour traduire la demande de nom de domaine en un protocole Internet correspondant. Le serveur DNS 104 peut également être un serveur Web fournissant un accès au contenu numérique aux dispositifs informatiques 102, un serveur DNS récursif, un serveur DNS de transfert et un serveur DNS de mise en cache.
Le réseau 106 peut être un réseau sans fil ou câblé, ou une combinaison de ceux-ci. Le réseau 106 peut être un ensemble de réseaux individuels, interconnectés les uns avec les autres et fonctionnant comme un seul grand réseau (par exemple, Internet ou un intranet). Des exemples de tels réseaux individuels incluent, sans toutefois s'y limiter, le réseau de téléphonie mobile, le réseau local, le réseau métropolitain le réseau étendu, le réseau satellite. En fonction de la technologie, le réseau 106 comprend diverses entités de réseau, telles que des émetteurs-récepteurs, des passerelles, des pares-feux, et des routeurs ; cependant, ces détails ont été omis pour faciliter la compréhension.
L'environnement de réseau informatique 100 est associé à un serveur de résolution de requêtes DNS 104 qui peut recevoir des requêtes DNS liées provenant des terminaux clients 102 via la liaison 107 et peut fournir une réponse sous la forme d'une adresse IP de serveurs hébergeant l’application ou autre service informatique. Les demandes peuvent être générées lorsqu'un utilisateur peut avoir l'intention d'accéder à une application via le terminal client 102 et d'entrer un nom d’application ou par exemple une URL (Uniform Resource Locator) dans la barre d'adresse d'un explorateur Web. Le serveur DNS 104 peut extraire l'adresse IP du terminal client 102 à partir de la demande reçue, puis utiliser l'adresse IP pour retourner la réponse au terminal client 102. Le serveur DNS 104 peut également stocker l'adresse IP du dispositif informatique 102 afin de répondre aux demandes ultérieures du terminal client 102 avec un temps aller-retour réduit.
Le serveur de résolution de requêtes 104 est couplé via la liaison 109 à un détecteur 208 de DGA, décrit plus en détail en référence à la figure 2.
La figure 2 illustre un exemple des composants du serveur de résolution 104 et du module de détection 208.
Le serveur DNS 104 peut comprendre un ou plusieurs processeurs 120, une ou des interfaces 121 dont l’une est reliée au réseau informatique 106 via la liaison 107 et une mémoire 122. En outre, le serveur DNS 104 peut inclure un cache 123.
Entre autres possibilités, le cache 123 peut servir de référentiel externe pour stocker des informations sur les noms de domaine fréquemment demandés et les adresses IP d'hôte. Dans une mise en œuvre du présent objet, la mémoire cache 123 peut stocker des informations de mappage pour des noms de domaine et leurs adresses IP respectives. Dans un exemple de mise en œuvre, le cache 123 peut être un référentiel interne au sein du serveur DNS 104 pour stocker les informations sur les noms de domaine fréquemment demandés.
Le processeur 120, parmi d'autres capacités, peut être configuré pour extraire et exécuter des instructions lisibles par ordinateur stockées dans la mémoire 122. Le processeur 120 peut être mis en œuvre sous la forme d'un ou de plusieurs microprocesseurs, micro-ordinateurs, microcontrôleurs, processeurs de signaux numériques, unités de traitement centrales, machines d'état, circuits logiques et / ou de tout dispositif manipulant des signaux sur la base d'instructions opérationnelles. Les fonctions des différents éléments représentés sur la figure 2, y compris tous les blocs fonctionnels étiquetés "processeur (s)", peuvent être fournies via l'utilisation d'un matériel dédié ainsi que d'un matériel capable d'exécuter un logiciel en association avec un logiciel approprié. Lorsqu'elles sont fournies par un processeur, les fonctions peuvent être fournies par un seul processeur dédié, par un seul processeur partagé ou par une pluralité de processeurs individuels, dont certains peuvent être partagés. De plus, l'utilisation explicite du terme "processeur" ne doit pas être interprétée comme visant exclusivement le matériel capable d'exécuter un logiciel, et peut implicitement inclure, sans limitation, le matériel du processeur de signal numérique (DSP), le processeur de réseau, le circuit intégré à application spécifique (ASIC) , FPGA (Field Programmable Gate Array), mémoire morte (ROM) pour le stockage du logiciel, mémoire vive (RAM), mémoire non volatile.
D'autres matériels, conventionnels et / ou personnalisés, peuvent également être inclus.
La ou les interfaces 121 peuvent inclure une variété d'interfaces et d'interfaces matérielles lisibles par machine qui permettent au serveur DNS 104 d'interagir avec différentes entités, telles que le processeur 120, le module de cache 123. En outre, la ou les interfaces 123 peuvent permettre aux composants du serveur DNS 104 de communiquer avec d'autres serveurs DNS et des référentiels externes. Les interfaces 121 peuvent faciliter de multiples communications dans une grande variété de réseaux et de types de protocoles, un réseau local, etc.
De son côté, le module de détection de DGA 208 peut comprendre un ou plusieurs processeurs 220, une ou des interfaces 221 dont l’une est reliée au cache 123 via la liaison 109 et une mémoire 222.
La mémoire 222 peut être couplée au processeur 220 et peut, entre autres capacités, fournir des données et des instructions pour générer différentes requêtes. La mémoire 222 peut inclure tout support lisible par ordinateur connu dans la technique, y compris, par exemple, une mémoire volatile, telle qu'une mémoire vive statique (SRAM) et une mémoire vive dynamique (DRAM), et / ou une mémoire non volatile, telle que mémoire morte (ROM), mémoire morte programmable effaçable, mémoires flash, disques durs, disques optiques et bandes magnétiques.
En pratique, le détecteur de DGA 208 comprend un module 200 configuré pour exécuter les méthodes d'agrégation des tuples que l’on décrira plus en détail ci-après.
Les techniques d’agrégation suivantes sont utilisées indépendamment ou successivement pour agréger/combiner les tuples: les statistiques descriptives (module 201), les algorithmes d’organisation de graphes basés sur de l’analyse de complémentarité (module 202), les techniques de réorganisation de matrices pour en révéler des régularités de séries (module 203), et les apprentissages (itemsets machine Learning, module 204) non supervisés pour identifier des règles d’associations ou de clustering (module 205).
En référence à la figure 3, la méthode d’agrégation des tuples est basée sur de l'analyse de réseau de nœuds. Les domaines de chaque tuple sont représentés par un nœud 301. Les nœuds sont associés entre eux par au moins une arête 301. Chaque arête reçoit une pondération 302 calculée sur la base du nombre de clients communs que partagent deux noms domaines demandés.
(X) et (Y) ensembles de clients respectifs à deux domaines requetés, (P) pondération
Le procédé prévoit ensuite d’agréger les domaines en partitions 303-1 et 303-2 par cette pondération de similitude de clients en utilisant des algorithmes de traitement de réseaux complexes, par exemple de type graphe dont les caractéristiques topologiques sont non triviales.
La figure 4 illustre les relations entre les domaines et les clients. Une ligne représente l’identifiant du client 401 et une colonne représente un nom de domaine 402. L’intersection d’une ligne et d’une colonne, appelée ici tuple 403 représente une requête faite par ce client pour ce nom de domaine. On appelle une partition 404-n l’ensemble des tuples pour lesquels à peu près les mêmes clients 401 ont fait des requêtes sur à peu près les mêmes domaines 402. Les tuples dont le domaine correspond à un DGA 403-2 font partie des partitions 404-n. Les tuples dont le domaine ne correspond pas à un DGA 403-1 n’appartiennent pas à une partition 404-n.
En référence à la figure 5, la méthode d’agrégation est calculée par réorganisation de matrices.
Dans cette méthode, les tuples sont modélisés (figure 5) sous la forme d’une matrice de clients DNS et de domaines DNS respectivement en lignes et colonnes. Sans modifier les associations des tuples, le procédé (figure 5) prévoit la permutation des colonnes et des lignes afin de mettre en évidence des motifs masqués. Par exemple, les méthodes utilisées appartiennent au groupe formé par le tri 2D, le tri PQR (Celmar Guimarães da Silva - 2014) ou la réorganisation de Sugiyama.
Ces méthodes sont utilisées sur des tuples déjà identifiés comme DGA potentiels car elles sont très sensibles aux bruits et en conséquence devenir inefficaces. Elles vont par contre permettre de dénombrer des DGA différents dans une agrégation globale par exemple successive à une analyse de complémentarité.
En référence à la figure 6, la méthode d’agrégation est par règles d’association (itemsets).
Cette méthode permet d’extraire les règles d’associations de tuples les plus fréquentes. Un ensemble de clients 601 font des requêtes de noms de domaines 602. Pour chaque nom de domaine, nous construisons la règle d’associations 603 des clients. La fréquence de répétitions d’un même motif d’une règle d’association 604 ou d’un de ses sous ensemble nous donne un facteur de similitude fort pour partitionner des tuples.
Une fois les tuples agrégés, le procédé prévoit de les découper 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.
Le DGA peut être un algorithme simple utilisant une graine, telle qu'une date et / ou une heure actuelle pour générer des noms de domaine alphanumériques. En variante, le DGA peut être un algorithme complexe assez sophistiqué pour générer des noms de domaine de type anglais avec des syllabes bien adaptées ou des combinaisons de mots du dictionnaire anglais.
En référence à la figure 7, on a décrit la distribution de clients exploitant un DGA dans le temps. En abscisse est représenté le temps et en ordonnée les clients susceptibles d’exploiter un DGA. Il faut une quantité minimum de tuples 704 pour définir une partition 703 et donc en déduire un DGA. Une fois un cluster défini, en remontant avant sa période de détection 705, les tuples qui le constituent permettent par leur domaine, ou la fréquence de requêtes de leur client d’en déduire d’autres tuples 701 similaires non classifiés.
La figure 8 décrit un tuple. Le tuple 802 est une relation entre un nom de domaine 803 requêté par un client 801. Le client 801 est distingué par un identifiant unique qui peut être soit son adresse IP, son adresse physique de réseau MAC, un numéro de mobile IMSI (GSM, UMS, ou LTE), un numéro d’inventaire arbitraire ou tout autre identifiant permettant d’identifier un client DNS. Ce numéro peut être transporté dans l’entête du protocole DNS ou dans l’extension du protocole EDNS.
La description qui précède a été dirigée vers des modes de réalisation spécifiques. Il apparaîtra cependant que d'autres variantes et modifications peuvent être apportées aux modes de réalisation décrits, avec l'obtention de tout ou partie de leurs avantages. Par exemple, il est expressément envisagé que les composants et / ou éléments décrits ici puissent être mis en œuvre sous forme de logiciel stocké sur un support lisible par ordinateur tangible (non transitoire) (par exemple, disques / CD / RAM / EEPROM / etc.) ayant instructions de programme exécutées sur un ordinateur, un matériel informatique, un micro-logiciel ou une combinaison de ces éléments. En conséquence, cette description doit être prise uniquement à titre d'exemple et ne doit pas limiter autrement la portée des modes de réalisation décrits ici. Par conséquent, l'objet des revendications annexées est de couvrir toutes les variations et modifications telles qu'elles entrent dans l'esprit et la portée véritables des modes de réalisation décrits ici.

Claims (10)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
FR1911252A 2019-10-10 2019-10-10 Système et procédé de détection d’un algorithme de génération de domaine DGA Active FR3101978B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1911252A FR3101978B1 (fr) 2019-10-10 2019-10-10 Système et procédé de détection d’un algorithme de génération de domaine DGA
US17/065,752 US11777969B2 (en) 2019-10-10 2020-10-08 System and method for detecting a DGA domain generation algorithm
FR2010294A FR3101977B1 (fr) 2019-10-10 2020-10-08 Système et procédé de détection d’un algorithme de génération de domaine DGA

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1911252A FR3101978B1 (fr) 2019-10-10 2019-10-10 Système et procédé de détection d’un algorithme de génération de domaine DGA
FR1911252 2019-10-10

Publications (2)

Publication Number Publication Date
FR3101978A1 true FR3101978A1 (fr) 2021-04-16
FR3101978B1 FR3101978B1 (fr) 2024-02-09

Family

ID=70613818

Family Applications (2)

Application Number Title Priority Date Filing Date
FR1911252A Active FR3101978B1 (fr) 2019-10-10 2019-10-10 Système et procédé de détection d’un algorithme de génération de domaine DGA
FR2010294A Active FR3101977B1 (fr) 2019-10-10 2020-10-08 Système et procédé de détection d’un algorithme de génération de domaine DGA

Family Applications After (1)

Application Number Title Priority Date Filing Date
FR2010294A Active FR3101977B1 (fr) 2019-10-10 2020-10-08 Système et procédé de détection d’un algorithme de génération de domaine DGA

Country Status (2)

Country Link
US (1) US11777969B2 (fr)
FR (2) FR3101978B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12045198B2 (en) * 2022-07-29 2024-07-23 Dell Products L.P. Multi-domain and multi-tier scale-out architecture for clustered file systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260914B1 (en) * 2010-06-22 2012-09-04 Narus, Inc. Detecting DNS fast-flux anomalies
US10198579B2 (en) * 2014-08-22 2019-02-05 Mcafee, Llc System and method to detect domain generation algorithm malware and systems infected by such malware
US10685295B1 (en) * 2016-12-29 2020-06-16 X Development Llc Allocating resources for a machine learning model
JP6912714B2 (ja) * 2017-07-21 2021-08-04 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAN CHUNYU ET AL: "CODDULM: An approach for detecting C&C domains of DGA on passive DNS traffic", 2017 6TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY (ICCSNT), IEEE, 21 October 2017 (2017-10-21), pages 385 - 388, XP033333441, DOI: 10.1109/ICCSNT.2017.8343724 *
LIU ZHICHENG ET AL: "CCGA: Clustering and Capturing Group Activities for DGA-Based Botnets Detection", 2019 18TH IEEE INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS/13TH IEEE INTERNATIONAL CONFERENCE ON BIG DATA SCIENCE AND ENGINEERING (TRUSTCOM/BIGDATASE), IEEE, 5 August 2019 (2019-08-05), pages 136 - 143, XP033653707, DOI: 10.1109/TRUSTCOM/BIGDATASE.2019.00027 *
TRUNG-DUC NGUYEN ET AL: "DGA Botnet detection using Collaborative Filtering and Density-based Clustering", PROCEEDINGS OF THE SIXTH INTERNATIONAL SYMPOSIUM ON INFORMATION AND COMMUNICATION TECHNOLOGY, SOICT 2015, 1 January 2015 (2015-01-01), New York, New York, USA, pages 1 - 7, XP055719996, ISBN: 978-1-4503-3843-1, DOI: 10.1145/2833258.2833310 *

Also Published As

Publication number Publication date
FR3101978B1 (fr) 2024-02-09
US11777969B2 (en) 2023-10-03
FR3101977A1 (fr) 2021-04-16
US20210112084A1 (en) 2021-04-15
FR3101977B1 (fr) 2024-02-16

Similar Documents

Publication Publication Date Title
US10757101B2 (en) Using hash signatures of DOM objects to identify website similarity
US10574681B2 (en) Detection of known and unknown malicious domains
US9386037B1 (en) Using hash signatures of DOM objects to identify website similarity
US10270744B2 (en) Behavior analysis based DNS tunneling detection and classification framework for network security
US9443019B2 (en) Optimized web domains classification based on progressive crawling with clustering
US11042798B2 (en) Regularized iterative collaborative feature learning from web and user behavior data
JP7382350B2 (ja) 効率的なラベル伝搬のためのアンサンブルベースのデータキュレーションパイプライン
Alfazi et al. Ontology-based automatic cloud service categorization for enhancing cloud service discovery
CN103248677B (zh) 互联网行为分析系统及其工作方法
Mehrotra et al. Detection of fake Twitter followers using graph centrality measures
WO2021162925A1 (fr) Systèmes et procédés de détection de logiciels malveillants
Beagum et al. Nonparametric de‐noising filter optimization using structure‐based microscopic image classification
Mengiste et al. Effect of edge pruning on structural controllability and observability of complex networks
CN113271292A (zh) 一种基于词向量的恶意域名集群检测方法及装置
CN105264526B (zh) 基于垂直的查询选择化
Yang et al. Fast3DS: A real-time full-convolutional malicious domain name detection system
US20220360604A1 (en) System and method for social network analysis
Kim et al. Threat classification model for security information event management focusing on model efficiency
FR3101978A1 (fr) Système et procédé de détection d’un algorithme de génération de domaine DGA
CN110929172A (zh) 信息选择方法、装置、电子设备及可读存储介质
Elezaj et al. Criminal network community detection in social media forensics
Jusko et al. Using behavioral similarity for botnet command-and-control discovery
EP1727060A1 (fr) Procédé et dispositif de construction et d'utilisation d'une table de profils réduits de parangons, produit programme d'ordinateur correspondant
JP6669679B2 (ja) 分類装置、分類方法及び分類プログラム
Ayat et al. Entity resolution for distributed probabilistic data

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210416

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5