FR3132999A1 - Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines - Google Patents

Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines Download PDF

Info

Publication number
FR3132999A1
FR3132999A1 FR2201621A FR2201621A FR3132999A1 FR 3132999 A1 FR3132999 A1 FR 3132999A1 FR 2201621 A FR2201621 A FR 2201621A FR 2201621 A FR2201621 A FR 2201621A FR 3132999 A1 FR3132999 A1 FR 3132999A1
Authority
FR
France
Prior art keywords
domain name
infection
model
infected
domain
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
FR2201621A
Other languages
English (en)
Other versions
FR3132999B1 (fr
Inventor
Jawher SOUDANI
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.)
Softathome SA
Original Assignee
Softathome SA
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 Softathome SA filed Critical Softathome SA
Priority to FR2201621A priority Critical patent/FR3132999B1/fr
Priority to PCT/EP2023/054291 priority patent/WO2023161217A1/fr
Publication of FR3132999A1 publication Critical patent/FR3132999A1/fr
Application granted granted Critical
Publication of FR3132999B1 publication Critical patent/FR3132999B1/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/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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • 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/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3015Name registration, generation or assignment
    • H04L61/3025Domain name generation or assignment
    • 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Procédé de détection de machines infectées par des algorithmes de génération de domaines (DGA) à partir d’une passerelle domestique (1) connectée à un réseau local, au moins un dispositif (2) étant connecté à la passerelle domestique via le réseau local, le procédé comprenant les étapes suivantes : - surveillance d’un trafic de noms de domaine, - sélection d’un nom de domaine, - si le nom de domaine sélectionné n’existe pas dans une base de donnée (19) : - attribution d’un poids au nom de domaine sélectionné, - traitement automatique du nom de domaine sélectionné par un modèle de détection DGA définissant un score de l’au moins un dispositif connecté en fonction d’un poids attribué au nom de domaine sélectionné et d’une la probabilité d’infection dudit nom de domaine sélectionné, le dispositif étant considéré comme infecté lorsque le score dudit dispositif connecté est inférieur à un score prédéterminé. Figure pour l’abrégé : Fig. 2

Description

Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines
La présente invention concerne un procédé de détection de machines infectées par des algorithmes de génération de domaines. Elle concerne également une passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines.
Etat de la technique antérieure
Les réseaux de bots informatiques modernes et les maliciels modernes (appelés aussi « malwares ») représentent l'une des principales menaces pour la sécurité de l'information au regard de leur évolution rapide en taille et en sophistication. Ces applications malveillantes se servent d’un serveur de commande et de contrôle (appelé aussi « C&C server ») pour gérer les bots et exécuter des commandes à distance pour effectuer des activités malveillantes.
Face aux mesures classiques de détection des maliciels telles que l’ingénierie inverse ou le « blacklistage statique », ces applications malveillantes ont recours aux algorithmes de génération de noms de domaines (DGA). Cette approche DGA est très robuste face au « blacklistage » et difficile à détecter en utilisant des approches classiques vu le grand nombre de possibilités de noms de domaines générés.
Aujourd’hui, le défi de détecter ces algorithmes fait partie des axes important de défense en cyber sécurité.
Une des solutions qui a été adoptée ces dernières années est l’approche basée sur des modèles de « machine learning ». Il existe plusieurs approches de « machine learning » dans la littérature pour résoudre ce problème, catégorisées en deux groupes selon la rapidité de détection : les approches en temps réel et les approches rétrospectives.
Ces modèles ont montré leur robustesse face aux algorithmes DGA mais le choix manuel des caractéristiques dans les modèles classiques ouvre la porte à plusieurs vulnérabilités comme par exemple les attaques adverses pour contourner la détection (utilisation des mots de dictionnaire dans les noms de domaine malicieux difficile à détecter), ou bien le risque de bloquer des sites non malicieux même par les modèles non classiques (« deep learning »).
De plus, la majorité des modèles publiés dans les recherches se basent sur une approche serveur distant (aussi appelé « cloud ») qui induit une latence lors de la détection. Cette latence est due au délai de transfert entre le serveur DNS et le serveur de déploiement du modèle de détection.
Le but de la présente invention est de résoudre au moins un de ces inconvénients avec un nouveau procédé de détection de machines infectées par des algorithmes de génération de domaines.
Cet objectif est atteint avec un procédé de détection de machines infectées par des algorithmes de génération de domaines (DGA) à partir d’une passerelle domestique connectée à un réseau local, au moins un dispositif étant connecté à la passerelle domestique via le réseau local. Selon l’invention, la passerelle domestique comprend une base de données, la base de données comprenant une liste de noms de domaine infectés, le procédé comprenant les étapes suivantes :
- surveillance d’un trafic de noms de domaine sur le réseau local,
- sélection d’un nom de domaine dans le trafic de noms de domaine,
- si le nom de domaine sélectionné est compris dans ladite liste, la liste étant comprise dans la base de données, attribution d’un poids maximum audit nom de domaine sélectionné,
- si le nom de domaine sélectionné n’est pas compris dans la base de données, traitement automatique du nom de domaine sélectionné par un modèle de détection des algorithmes de génération de domaines :
le modèle attribuant un poids audit nom de domaine sélectionné correspondant à une probabilité d’infection uniquement si le nom de domaine sélectionné est reconnu comme infecté par le modèle,
- calcul d’un score de l’au moins un dispositif connecté en fonction du poids attribué au nom de domaine sélectionné,
- mise à jour du score de l’au moins un dispositif connecté en fonction des noms de domaine traités par le modèle, l’au moins un dispositif étant considéré comme infecté par un algorithme de génération de domaines lorsque le score dudit dispositif connecté est supérieur à un score prédéterminé.
Le procédé fonctionne au niveau machine infectée c’est à dire qu’il détecte le dispositif infecté en se servant d’un modèle de « deep learning » de détection de DGA.
Le calcul de score du procédé tolère les erreurs du modèle car la détection se fait au niveau machine et non pas au niveau du nom de domaine ce qui évite le blocage d'accès aux site web non malicieux en cas d’erreur et permet de conserver la flexibilité de détection des dispositifs infectés.
Les modèles DGA générant trop de NXDOMAIN, seulement quelques noms de domaine malicieux ou infectés sont considérés valides. On entend par « valide », le fait que la requête du nom de domaine (DNS) a une réponse valide, c’est-à-dire que ledit nom de domaine est enregistré dans le serveur DNS requêté. Ces noms de domaine considérés valides sont utiles à la connexion au serveur de commande et de contrôle de l’attaquant. En se basant sur ce fait, le procédé selon l’invention fait appel au modèle uniquement lorsque la réponse DNS est NXDOMAIN ou SERVERFAIL, c’est à dire que le procédé ne traite que les NXDOMAIN pour ne pas surcharger la passerelle domestique de calcul. Cela reste cependant suffisant pour le calcul de score de l’appareil connecté potentiellement infectée.
Le modèle est basé sur des réseaux de neurones récurrents et plus précisément des LSTM (« long short term memory »). Cette architecture ne nécessite pas de fonctionnalités conçues à la main qui prennent beaucoup de temps à concevoir et qui sont faciles à contourner. Le modèle ne prend que le nom de domaine en entrée ce qui lui garantit une rapidité d’exécution permettant d’analyser plusieurs requêtes DNS en peu de temps contrairement aux autres modèles de « machine learnnig » classiques.
Un autre avantage d’un tel modèle est qu’il est scalable pour être entraîné sur un grand volume de données permettant à celui-ci de mieux détecter plusieurs familles DGA et de se généraliser pour faire face aux attaques adverses. La détection des attaques se fait sans utiliser un autre modèle.
Avantageusement, le poids maximum qui est attribué au nom de domaine sélectionné est égal à un car le nom de domaine sélectionné est assurément considéré comme infecté, celui-ci étant enregistré dans la liste de noms de domaine infectés compris dans la base de données.
Avantageusement également, le poids attribué au nom de domaine sélectionné qui est traité par le modèle est inférieur à un.
Le traitement automatique du nom de domaine sélectionné par le modèle peut comprendre les étapes suivantes :
- extraction d’au moins une caractéristique du nom du domaine sélectionné,
- calcul d’une probabilité d’infection du nom de domaine sélectionné à partir de l’au moins une caractéristique extraite.
Avantageusement, le modèle extrait plusieurs caractéristiques depuis le nom de domaine sélectionné en utilisant une couche incorporée. C’est une matrice que le modèle apprend automatiquement lors de son entraînement pour mettre en valeur les aspects communs entre les noms de domaine malicieux et non malicieux. L’entrée de cette matrice est le nom de domaine vectorisé (en mode chiffré, chaque lettre est remplacée par un entier). La sortie de cette matrice correspond à un vecteur qui contient des poids qui caractérisent le nom de domaine. Par exemple, les noms de domaine qui se ressemblent auront deux vecteurs très proches. Ce vecteur passe par la suite par d’autres couches pour le calcul de la probabilité d’infection (les poids de ces couches sont aussi appris lors de l’entrainement du modèle pour mettre en valeur les relations linéaires et non linéaires qui relient les caractères du nom de domaine et le fait qu’il soit malicieux ou non).
Les caractéristiques correspondent à la sortie de la couche incorporée, c’est-à-dire : nom de domaine couche incorporé (matrice) *(vecteur numérique) = caractéristique (un autre vecteur numérique).
La base de données peut également comprendre :
- une liste des dispositifs qui ont déjà accédés audit nom de domaine sélectionné,
- une liste des noms de domaine considérés comme non infectés,
- une liste historique des noms de domaine considérés comme infectés par le modèle.
La base de données peut alors comprendre les noms de domaine identifiés auparavant par le modèle comme infectés, leur poids et les dispositifs qui ont essayés d’y accéder. Si le dispositif étudié a déjà accédé à ce nom de domaine, il n’y a pas besoin de mettre à jour le score final dudit dispositif car le nom de domaine a déjà été utilisé pour mettre à jour le score de l’appareil connecté.
Le nom de domaine sélectionné peut ne pas être compris dans la base de données si :
- le nom de domaine sélectionné n’est pas considéré comme infecté dans la base de données,
- le nom de domaine n’appartient pas à la liste des noms de domaine considérés comme non infectés dans la base de données,
- le nom de domaine n’appartient pas à la liste historique des noms de domaine considérés comme infectés par le modèle dans la base de données.
Si un nom de domaine n’est pas considéré comme infecté par le modèle, c’est-à-dire que le nom de domaine appartient à la liste des noms de domaine considérés comme non infectés dans la base de données ou que le modèle considère après traitement que le nom de domaine a une probabilité d’infection inférieure au seuil prédéterminé d’infection, aucun poids n’est attribué à celui-ci. Dans ce cas-là, le score de l’au moins un dispositif connecté n’est pas mis à jour.
Avantageusement, le score de l’au moins un dispositif connecté peut être initialisé à 50.
Le nom de domaine sélectionné peut être marqué comme produit d’algorithmes de génération de domaines si la probabilité d’infection dudit nom de domaine sélectionné est supérieure à un seuil d’infection prédéterminé. Le seuil d’infection prédéterminé est variable selon les besoins de chaque passerelle domestique. La probabilité d’infection permet de définir le poids attribué au nom de domaine traité par le modèle. Par exemple si le seuil d’infection prédéterminé est égal à 0.7, le poids attribué au nom de domaine correspondant est égal à la probabilité d’infection calculée qui est comprise entre 0.7 et 1.
Si le modèle considère après traitement que le nom de domaine a une probabilité d’infection inférieure au seuil prédéterminé d’infection, aucun poids n’est attribué à celui-ci. Dans ce cas-là, le score de l’au moins un dispositif connecté n’est pas mis à jour.
Le seuil d’infection prédéterminé est variable selon les besoins de chaque passerelle domestique. Si le besoin est de détecter le maximum de nom de domaines générés par des DGA avec une tolérance de précision (c’est à dire quelques domaines bénins sont considérés comme DGA), un seuil bas autour de 0.7 est utilisé par exemple. Si le besoin est de détecter les noms de domaines générés par des DGA avec une précision élevée (c’est à dire avec certitude), un seuil plus élevé est utilisé, supérieur ou égal à 0.9 par exemple.
Le nom de domaine sélectionné peut être enregistré dans la base de données ainsi que son poids lorsque celui-ci est marqué comme produit d’algorithmes de génération de domaines. Le nom de domaine sélectionné est enregistré dans la base de données avec son poids pour que celui-ci puisse être utilisé par les autres dispositifs connectés lors des étapes de vérification sans faire appel au modèle.
Avantageusement, une deuxième probabilité d’infection peut être calculée lors du traitement automatique du nom de domaine sélectionné par un modèle de détection des algorithmes de génération de domaines, la deuxième probabilité d’infection correspondant à la probabilité d’infection par une attaque adversaire.
Si la probabilité d’infection dudit nom de domaine sélectionné est inférieure à un seuil d’infection prédéterminé, comparaison de la deuxième probabilité d’infection à un deuxième seuil d’infection prédéterminé :
- si la deuxième probabilité d’infection est supérieure au deuxième seuil d’infection prédéterminé, le nom de domaine sélectionné est marqué comme une attaque adversaire,
- si la deuxième probabilité d’infection est inférieure au deuxième seuil d’infection prédéterminé, le nom de domaine sélectionné n’est pas marqué comme une attaque adversaire.
Le modèle possède une architecture qui fait face aux attaques adversaires grâce à une sortie multiple et une fonction de perte personnalisée qui est conçue pour ça.
Une alerte peut être envoyée à l’utilisateur par la passerelle domestique lorsque l’au moins un dispositif connecté est considéré comme infecté par un algorithme de génération de domaines.
Avantageusement, un niveau de performance du modèle peut être calculé via un composant moniteur, le modèle pouvant être mis à jour si le niveau de performance est inférieur à un niveau de performance prédéterminé.
Le modèle de détection des algorithmes de génération de domaines peut être mis à jour dans un serveur distant auquel est connecté la passerelle domestique.
Cette approche présente l’avantage de proposer une rapidité d'exécution et de sécurité car l’exécution du modèle se fait dans la passerelle domestique et la connexion avec le serveur distant n’est nécessaire que pour la mise à jour du modèle.
Selon un deuxième aspect de l’invention, il est proposé une passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines, la passerelle étant équipée d’une unité de traitement pour mettre en œuvre les étapes du procédé selon l’invention.
Selon un troisième aspect de l’invention, il est proposé un produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’invention.
Description des figures et modes de réalisation
D’autres avantages et particularités de l’invention apparaîtront à la lecture de la description détaillée de mises en œuvre et de modes de réalisation nullement limitatifs, et des dessins annexés suivants :
illustre un exemple de disposition de dispositifs au sein d’un domicile,
illustre graphiquement le fonctionnement du modèle DGA en embarqué selon l’invention,
illustre un système de détection embarqué selon l’invention,
illustre un exemple de fonction de calcul de score en fonction du nombre de détections de noms de domaines générés par des DGA.
Ces modes de réalisation étant nullement limitatifs, on pourra notamment considérer des variantes de l’invention ne comprenant qu’une sélection de caractéristiques décrites ou illustrées par la suite isolées des autres caractéristiques décrites ou illustrées (même si cette sélection est isolée au sein d’une phrase comprenant ces autres caractéristiques), si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieure. Cette sélection comprend au moins une caractéristique de préférence fonctionnelle sans détails structurels, et/ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou à différencier l’invention par rapport à l’état de la technique antérieure.
De manière générale, chaque domicile est équipé d’une passerelle domestique 1. La passerelle domestique 1 est placée dans le salon de l’utilisateur par exemple. La passerelle domestique 1 est connectée à un réseau local comme présenté à la . Différents dispositifs 2 sont connectés à la passerelle domestique 1 via le réseau local comme présenté à la . La connexion des différents dispositifs 2 de la maison avec la passerelle domestique 1 via le réseau local est soit filaire soit sans fil.
Le procédé de détection de machines infectées par des algorithmes de génération de domaines (DGA) selon l’invention est intégré dans la passerelle domestique 1.
On va maintenant décrire, en référence à la , le fonctionnement du modèle DGA en embarqué selon l’invention. Le modèle de détection DGA 5 est implémenté dans une application embarquée 3 de la passerelle domestique 1 qui comporte une plateforme embarquée 4 pour l’inférence d’apprentissage automatique. La plateforme embarquée 4 exécute le modèle mais implémente également d'autres fonctionnalités pour s'assurer du bon fonctionnement du modèle DGA 5 dans la durée.
La première fonction nécessaire pour exécuter le modèle de détection DGA 5 en embarqué est la partie inférence en utilisant un gestionnaire d'exécution 7 adapté (appelé aussi « runtime »).
La deuxième fonction nécessaire pour l'exécution du modèle 5 est la partie ingénierie des caractéristiques 6 où la transformation des données est réécrite en code natif de l'environnement du système de la passerelle domestique 1. Le résultat de cette ingénierie des caractéristiques 6 est un vecteur caractéristique de chaque nom de domaine qui est donné en entrée au modèle pour envoyer une prédiction en sortie.
Il existe deux manières d'exécuter un modèle, soit à travers un gestionnaire d’exécution 7, soit en générant du code. L'utilisation d'un gestionnaire d’exécution 7 est plus flexible car elle permet d'exécuter plusieurs modèles avec la même durée 8. Le gestionnaire d'exécution 7 s'assure que la dernière version du modèle DGA 5 est disponible, via le registre de modèles incorporés 9.
Si le modèle DGA 5 n’est pas à jour, celui-ci est mis à jour dans un serveur distant 13. Comme le modèle DGA n’est pas un algorithme en ligne et s'entraîne dans un serveur distant et non dans la passerelle domestique, il est nécessaire d’avoir un moyen pour mettre à jour les modèles. Ceci est nécessaire car les performances peuvent subir une dégradation avec l’apparition de nouvelles familles DGA et/ou de nouvelles attaques adversaires. Cette fonction de mise à jour est indépendante de la mise à jour du système de la passerelle domestique 1 car le cycle de vie des modèles est indépendant de celui du système de la passerelle domestique 1.
Le registre de modèles 9 est chargé de stocker les fichiers des modèles dans la passerelle domestique 1 sur le système de fichiers et il est également chargé de supprimer les versions obsolètes du modèle DGA qui ne sont plus à jour sans avoir besoin de mettre à jour le micrologiciel de la passerelle domestique 1. La base de données 14 ici fait partie du registre de modèle 9.
Le programme de téléchargement des modèles 10 télécharge les modèles à partir du registre de modèles 9 via un protocole de communication. Étant donné que les mises à jour de modèles se produisent rarement, et qu'il ne s'agit que de fichiers statiques, cette fonctionnalité est implémentée avec un protocole basé sur HTTP. Cela permet de tirer parti de l'infrastructure CDN des opérateurs.
Une fois le modèle DGA 5 disponible, le gestionnaire d'exécution 7 initialise la durée 8. Ce n'est que lorsque toutes ces conditions sont remplies, que le gestionnaire d'exécution 7 informe le client que le modèle est prêt à être utilisé pour la détection des noms de domaines malicieux.
Une autre fonctionnalité est disponible sur la plateforme embarquée 4 : la surveillance du modèle DGA 5. En effet, surveiller le comportement du modèle DGA 5 est le seul moyen d’évaluer ses performances, et éventuellement de déclencher un réentraînement. Le modèle DGA 5 est surveillé via un moniteur 11.
Le moniteur 11 correspond à une sonde qui envoie des métriques de test vers le serveur distant 12 pour mettre à jour le modèle s’il y a une chute de performances. Pour cela, un niveau de performance est calculé et comparé à un niveau de performance prédéterminé.
Les métriques se basent sur quelques noms de domaines malicieux de test dans la passerelles domestiques 1. Le modèle DGA est testé régulièrement et envoie les métriques vers le serveur distant 12. Les métriques correspondent aux différents taux suivants : taux de vrais positifs, taux de vrais négatifs, taux faux négatifs, taux de faux positifs sachant que positif veut dire infecté par DGA, et négatif veut dire non infecté par DGA.
De plus, le modèle peut avoir des paramètres associés. Dans ce cas, les paramètres associés peuvent être modifiés sans avoir besoin de changer le modèle, ni de mettre à jour le micrologiciel de la passerelle domestique 1.
On va maintenant décrire, en référence à la , un système de détection embarqué selon l’invention.
Le système de détection embarqué 15 dans la passerelle domestique 1 comprend la plateforme embarquée 4, une base de données 19, un système de scores 16 comprenant un système de détection DGA 17 et un moyen de comptabilisation des scores 18.
Lorsque le modèle est prêt à être utilisé, le système de détection DGA 17 dans lequel le procédé est implémenté, fait appel audit modèle DGA via la plateforme embarquée 4.
Le procédé surveille un trafic de noms de domaine sur le réseau local et en particulier les requêtes dont la réponse est égale à NXDOMAIN ou SERVFAIL indiquant que le domaine est en général produit par un algorithme de génération de domaines DGA. Un nom de domaine est sélectionné dans le trafic de noms de domaine par la passerelle domestique 1.
La base de données 19 comprend :
- une liste des noms de domaine considérés comme infectés,
- une liste des dispositifs qui ont déjà accédés audit nom de domaine sélectionné,
- une liste des noms de domaine considérés comme non infectés et déjà vérifiés,
- une liste historique des noms de domaine considérés comme infectés par le modèle.
La base de données 19 comprend également les poids attribués aux noms de domaine considérés comme infectés dans les différentes listes comprises dans la base de données.
Le procédé vérifie dans la base de données 19 si le nom de domaine sélectionné est déjà considéré comme infecté ou malicieux.
Le procédé vérifie ensuite dans la base de données 19 si le dispositif 2 connecté à la passerelle domestique 1 a déjà essayé d’accéder à ce nom de domaine sélectionné auparavant ou non.
Le procédé vérifie si le nom de domaine sélectionné correspond à un nom de domaine considéré comme non infecté. On entend par « considéré comme non infecté », que le nom de domaine a été précédemment identifié comme non produit de DGA. Et enfin, le procédé vérifie si le nom de domaine appartient à la liste historique des noms de domaine considérés comme infectés par le modèle dans la base de données 19.
Si le nom de domaine sélectionné appartient à la liste de noms de domaine considérés comme infectés dans la base de données 19 et que le dispositif connecté 2 n’a jamais accédé à ce nom de domaine sélectionné, alors le procédé attribue un poids maximum égal à un au nom de domaine sélectionné. Dans ce cas, le score du dispositif 2 connecté est mis à jour et par conséquent, augmente. La passerelle domestique 1 recommence sur le même principe le procédé avec un nouveau nom de domaine qu’elle sélectionne. Le dispositif connecté est considéré comme infecté lorsque son score devient supérieur à un score prédéterminé par l’utilisateur.
Si le nom de domaine sélectionné appartient à la liste de noms de domaine considérés comme infectés dans la base de données 19 et que le dispositif connecté 2 a déjà accédé à ce nom de domaine sélectionné, aucun poids n’est attribué, cela équivaut a attribué un poids égal à zéro. Le score du dispositif 2 connecté n’est pas mis à jour, il reste inchangé. La passerelle domestique 1 recommence sur le même principe le procédé avec un nouveau nom de domaine qu’elle sélectionne.
Si le nom de domaine sélectionné appartient à la liste de noms de domaine considérés comme non infectés dans la base de données 19, aucun poids n’est attribué, cela équivaut a attribué un poids égal à zéro. Le score du dispositif 2 connecté n’est pas mis à jour, il reste inchangé. Ceci est le cas que le dispositif connecté 2 est accédé ou non au nom de domaine sélectionné. La passerelle domestique 1 recommence alors le procédé sur le même principe avec un nouveau nom de domaine qu’elle sélectionne.
Si le nom de domaine sélectionné appartient à la liste historique de noms de domaine considéré comme infectés par le modèle dans la base de données 19 et que le dispositif connecté 2 n’a jamais accédé à ce nom de domaine sélectionné, alors le procédé prend en compte le poids attribué au nom de domaine sélectionné dans la base de données. Le poids attribué correspond à la probabilité d’infection du nom de domaine sélectionné. Dans ce cas, le score du dispositif 2 connecté est mis à jour et augmente. La passerelle domestique 1 recommence sur le même principe le procédé avec un nouveau nom de domaine qu’elle sélectionne. Le dispositif connecté est considéré comme infecté lorsque son score devient supérieur à un score prédéterminé par l’utilisateur.
Si le nom de domaine sélectionné appartient à la liste historique de noms de domaine considéré comme infectés par le modèle dans la base de données 19 et que le dispositif connecté 2 a déjà accédé à ce nom de domaine sélectionné, aucun poids n’est attribué, cela équivaut a attribué un poids égal à zéro. Le score du dispositif 2 connecté n’est pas mis à jour, il reste inchangé. La passerelle domestique 1 recommence sur le même principe le procédé avec un nouveau nom de domaine qu’elle sélectionne.
Si le nom de domaine sélectionné n’appartient ni aux listes de noms de domaines considérés comme infectés ou non infectés, ni à la liste historique de noms de domaine considérés comme infectés par le modèle dans la base de données 19, alors, le procédé traite automatiquement le nom de domaine sélectionné via le modèle de détection des algorithmes de génération de domaines.
Dans un premier temps, le procédé extrait au moins une caractéristique du nom du domaine sélectionné. Plusieurs caractéristiques du nom de domaines sélectionné sont extraites.
Deux probabilités d’infection du nom de domaine sélectionné sont calculées par le modèle : une probabilité d’infection que le nom de domaine ait été généré par un DGA (première probabilité d’infection) et une probabilité d’infection que le nom de domaine ait été généré par une attaque adversaire (deuxième probabilité d’infection). Le modèle calcule la première probabilité d’infection du nom de domaine sélectionné à partir des caractéristiques extraites. Les deux probabilités sont calculées par le modèle de manière commune aux modèles de détection des algorithmes de génération de domaines.
Deux seuils d’infection prédéterminés sont alors fixés selon les besoins. En effet, plus le seuil d’infection prédéterminé est élevé, plus la précision est élevée mais le taux de détection bas, et plus le seuil d’infection prédéterminé est bas, plus la précision est basse (plus de faux positifs) mais le taux de détection élevé. On définit donc un premier seuil d’infection prédéterminé pour détecter les noms générés par des DGA et un deuxième seuil d’infection prédéterminé pour détecter les attaques adversaires.
La décision est prise en se basant sur la première probabilité d’infection qui prédit la probabilité de génération par un DGA. Si cette première probabilité d’infection est supérieure au premier seuil d’infection prédéterminé, le nom de domaine est marqué comme infecté, si cette première probabilité d’infection est inférieure au premier seuil d’infection prédéterminé, une deuxième comparaison de la deuxième probabilité d’infection est réalisée par rapport au deuxième seuil d’infection prédéterminé. Si la deuxième probabilité est supérieure au deuxième seuil d’infection prédéterminé, le domaine est marqué comme infecté, si la deuxième probabilité est inférieure au deuxième seuil d’infection prédéterminé, le domaine est marqué comme non infecté.
Le score du dispositif connecté 2 est calculé dans le système de comptabilisation des scores 18 en fonction du poids attribué au nom de domaine sélectionné.
La première probabilité d’infection du nom de domaine sélectionné correspond au poids à prendre en compte pour le nom de domaine sélectionné lorsque celle-ci est supérieure au premier seuil d’infection prédéterminé.
Cette première probabilité d’infection est inférieure à un. Le score du dispositif 2 connecté est mis à jour, il augmente. La probabilité d’infection est comprise entre zéro et un mais plus particulièrement entre le premier seuil prédéterminé d’infection et un. En effet, le nom de domaine est considéré comme infecté par le modèle si la probabilité d’infection dudit nom de domaine est supérieure à un seuil prédéterminé. Le poids attribué au nom de domaine est donc compris entre le seuil prédéterminé d’infection et un.
Aucun poids n’est attribué au nom de domaine sélectionné si la première probabilité d’infection est inférieure au premier seuil d’infection prédéterminé.
Le procédé met à jour le score du dispositif connecté 2 après chaque nouveau nom de domaine traité par le modèle de détection des algorithmes de génération de domaines et considéré comme généré par un DGA.
Le dispositif 2 connecté est alors considéré comme infecté par un algorithme de génération de domaines lorsque le score dudit dispositif connecté 2 est supérieur à un score prédéterminé.
Lorsque le nom de domaine sélectionné est considéré comme généré par un DGA par le modèle, celui-ci est enregistré dans la liste historique des noms de domaine considérés comme infectés par le modèle dans la base de données ainsi que le poids qui lui correspond. De plus, l’appareil connecté 2 est enregistré dans la liste des dispositifs qui ont déjà accédés audit nom de domaine sélectionné.
Nous allons donner plus en détails, le calcul du score d’un dispositif connecté. Le score du dispositif connecté 2 est initialisé à 50 et la formule du calcul du score du dispositif connecté 2 est la suivante :
oû :
● « i » est le nombre de fois où un nom de domaine est marqué comme produit de DGA pour la première fois, il suit une décadence exponentielle pour que le score reste dans des normes interprétables et éviter son explosion si jamais un très grand nombre de nom de domaine DGAs sont détectés,
● « iteration_decay_factor » est un nombre réel entre 0 et 1 qui définit la pente de la décadence exponentielle,
● « weight » est le nombre réel entre 0 et 1 qui représente le poids de chaque nom de domaine dans le calcul de score, il prend en compte la probabilité de prédiction de chaque nom de domaine.
Le graphique de la illustre la fonction de calcul de score en fonction du nombre de détections des noms de domaines générés par des DGA pour un facteur iteration_decay_factor de 0.83 et des poids qui varient entre 0.7 et 1 pour cinquante détections. A partir de la sixième détection, le score dépasse déjà 80.
Le score prédéterminé est défini selon la vulnérabilité et les risques auxquels est exposé chaque client :
● un score prédéterminé de 70 permet de lancer une alerte dès la quatrième détection de noms de domaine générés par DGA,
● un score prédéterminé de 90 permet de lancer une alerte dès la onzième détection de noms de domaine générés par DGA,
● un score prédéterminé de 98 permet de lancer une alerte dès la quarantième détection de noms de domaine générés par DGA.
Si le score devient supérieur au score prédéterminé, le dispositif 2 est marqué comme infecté et une alerte est envoyée à l’utilisateur.
Une deuxième approche possible est l’envoi de plusieurs alertes selon le score prédéterminé défini. En effet, un avertissement est envoyé quand un premier score prédéterminé est atteint, puis une alerte est envoyée lorsqu’un deuxième score prédéterminé est atteint et enfin une alerte critique est envoyée à l’utilisateur lorsqu’un troisième score prédéterminé est atteint.
Typiquement au moins un des moyens du dispositif selon l’invention précédemment décrits, de préférence chacun des moyens du dispositif selon l’invention précédemment décrit sont des moyens techniques.
Typiquement, chacun des moyens du dispositif selon l’invention précédemment décrits peuvent comprendre au moins un ordinateur, une unité centrale ou de calcul, un circuit électronique analogique (de préférence dédié), un circuit électronique numérique (de préférence dédié), et/ou un microprocesseur (de préférence dédié), et/ou des moyens logiciels.
Bien sûr, l’invention n’est pas limitée aux exemples qui viennent d’être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l’invention.
Bien entendu, les différentes caractéristiques, formes, variantes et modes de réalisation de l’invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. En particulier toutes les variantes et modes de réalisation décrits précédemment sont combinables entre eux.

Claims (14)

  1. Procédé de détection de machines infectées par des algorithmes de génération de domaines (DGA) à partir d’une passerelle domestique (1) connectée à un réseau local, au moins un dispositif (2) étant connecté à la passerelle domestique (1) via le réseau local, caractérisé en ce que la passerelle domestique (1) comprend une base de données (19), la base de données (19) comprenant une liste de noms de domaine infectés, le procédé comprenant les étapes suivantes :
    - surveillance d’un trafic de noms de domaine sur le réseau local,
    - sélection d’un nom de domaine dans le trafic de noms de domaine,
    - si le nom de domaine sélectionné est compris dans ladite liste, la liste étant comprise dans la base de données (19), attribution d’un poids maximum audit nom de domaine sélectionné,
    - si le nom de domaine sélectionné n’est pas compris dans la base de donnée (19), traitement automatique du nom de domaine sélectionné par un modèle (5) de détection des algorithmes de génération de domaines :
    le modèle attribuant un poids audit nom de domaine sélectionné correspondant à une probabilité d’infection uniquement si le nom de domaine sélectionné est reconnu comme infecté par le modèle,
    - calcul d’un score de l’au moins un dispositif connecté en fonction du poids attribué au nom de domaine sélectionné,
    - mise à jour du score de l’au moins un dispositif (2) connecté en fonction des noms de domaine traités par le modèle (5), l’au moins un dispositif (2) étant considéré comme infecté par un algorithme de génération de domaines lorsque le score dudit dispositif connecté est supérieur à un score prédéterminé.
  2. Procédé de détection selon la revendication 1, caractérisé en ce que le traitement automatique du nom de domaine sélectionné par le modèle comprend les étapes suivantes :
    - extraction d’au moins une caractéristique du nom du domaine sélectionné,
    - calcul d’une probabilité d’infection du nom de domaine sélectionné à partir de l’au moins une caractéristique extraite.
  3. Procédé de détection selon l’une quelconque des revendications précédentes, caractérisé en ce que la base de données (19) comprend également :
    - une liste des dispositifs qui ont déjà accédés audit nom de domaine sélectionné,
    - une liste des noms de domaine considérés comme non infectés,
    - une liste historique des noms de domaine considérés comme infectés par le modèle.
  4. Procédé de détection selon la revendication 3, caractérisé en ce que le nom de domaine sélectionné n’est pas compris dans la base de données (19) si :
    - le nom de domaine sélectionné n’est pas considéré comme infecté dans la base de données (19),
    - le nom de domaine n’appartient pas à la liste des noms de domaine considérés comme non infectés et déjà vérifiés dans la base de données (19),
    - le nom de domaine n’appartient pas à la liste historique des noms de domaine considérés comme infectés par le modèle dans la base de données (19).
  5. Procédé de détection selon l’une quelconque des revendications précédentes, caractérisé en ce que le score de l’au moins un dispositif connecté est initialisé à 50.
  6. Procédé de détection selon l’une quelconque des revendications précédentes, caractérisé en ce que le nom de domaine sélectionné est marqué comme produit d’algorithmes de génération de domaines si la probabilité d’infection dudit nom de domaine sélectionné est supérieure à un seuil d’infection prédéterminé.
  7. Procédé de détection selon la revendication 6, caractérisé en ce que le nom de domaine sélectionné est enregistré dans la base de données (19) ainsi que son poids lorsque celui-ci est marqué comme produit d’algorithmes de génération de domaines.
  8. Procédé de détection selon l’une quelconque des revendications précédentes, caractérisé en ce qu’une deuxième probabilité d’infection est calculée lors du traitement automatique du nom de domaine sélectionné par un modèle (5) de détection des algorithmes de génération de domaines, la deuxième probabilité d’infection correspondant à la probabilité d’infection par une attaque adversaire.
  9. Procédé de détection selon la revendication 8, caractérisé en ce que si la probabilité d’infection dudit nom de domaine sélectionné est inférieure à un seuil d’infection prédéterminé, comparaison de la deuxième probabilité d’infection à un deuxième seuil d’infection prédéterminé :
    - si la deuxième probabilité d’infection est supérieure au deuxième seuil d’infection prédéterminé, le nom de domaine sélectionné est marqué comme une attaque adversaire,
    - si la deuxième probabilité d’infection est inférieure au deuxième seuil d’infection prédéterminé, le nom de domaine sélectionné n’est pas marqué comme une attaque adversaire.
  10. Procédé de détection selon l’une quelconque des revendications précédentes, caractérisé en ce qu’une alerte est envoyée à l’utilisateur par la passerelle domestique (1) lorsque l’au moins un dispositif (2) connecté est considéré comme infecté par un algorithme de génération de domaines.
  11. Procédé de détection selon l’une quelconque des revendications précédentes, caractérisé en ce qu’un niveau de performance du modèle (5) est calculé via un composant moniteur (11), le modèle (5) étant mis à jour si le niveau de performance est inférieur à un niveau de performance prédéterminé.
  12. Procédé de détection selon l’une quelconque des revendications précédentes, caractérisé en ce que le modèle (5) de détection des algorithmes de génération de domaines est mis à jour dans un serveur distant (12) auquel est connecté la passerelle domestique.
  13. Passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines, la passerelle étant équipée d’une unité de traitement pour mettre en œuvre les étapes du procédé selon les revendications 1 à 12.
  14. Produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 12.
FR2201621A 2022-02-23 2022-02-23 Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines Active FR3132999B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2201621A FR3132999B1 (fr) 2022-02-23 2022-02-23 Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines
PCT/EP2023/054291 WO2023161217A1 (fr) 2022-02-23 2023-02-21 Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2201621A FR3132999B1 (fr) 2022-02-23 2022-02-23 Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines
FR2201621 2022-02-23

Publications (2)

Publication Number Publication Date
FR3132999A1 true FR3132999A1 (fr) 2023-08-25
FR3132999B1 FR3132999B1 (fr) 2024-02-23

Family

ID=82100098

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2201621A Active FR3132999B1 (fr) 2022-02-23 2022-02-23 Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines

Country Status (2)

Country Link
FR (1) FR3132999B1 (fr)
WO (1) WO2023161217A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294332A (zh) * 2020-01-13 2020-06-16 交通银行股份有限公司 一种流量异常检测与dns信道异常检测系统及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294332A (zh) * 2020-01-13 2020-06-16 交通银行股份有限公司 一种流量异常检测与dns信道异常检测系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KHORMALI AMINOLLAH ET AL: "Domain name system security and privacy: A contemporary survey", COMPUTER NETWORKS, ELSEVIER, AMSTERDAM, NL, vol. 185, 2 December 2020 (2020-12-02), XP086441073, ISSN: 1389-1286, [retrieved on 20201202], DOI: 10.1016/J.COMNET.2020.107699 *
YAN FAN ET AL: "A Semi-Supervised Learning Scheme to Detect Unknown DGA Domain Names Based on Graph Analysis", 2020 IEEE 19TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM), IEEE, 29 December 2020 (2020-12-29), pages 1578 - 1583, XP033900650, DOI: 10.1109/TRUSTCOM50675.2020.00218 *

Also Published As

Publication number Publication date
WO2023161217A1 (fr) 2023-08-31
FR3132999B1 (fr) 2024-02-23

Similar Documents

Publication Publication Date Title
US11949692B1 (en) Method and system for efficient cybersecurity analysis of endpoint events
CN110730175B (zh) 一种基于威胁情报的僵尸网络检测方法及检测系统
US20220201042A1 (en) Ai-driven defensive penetration test analysis and recommendation system
US8776241B2 (en) Automatic analysis of security related incidents in computer networks
Al-Janabi et al. Using supervised machine learning algorithms to detect suspicious URLs in online social networks
US10606991B2 (en) Distributed user-centric cyber security for online-services
CN103607385A (zh) 基于浏览器进行安全检测的方法和装置
WO2022078196A1 (fr) Détection de logiciels malveillants par analyse de données de télémesure distribuées
CA3199700A1 (fr) Systeme et procede d?attenuation de menace
FR3106914A1 (fr) Procédé de surveillance de données échangées sur un réseau et dispositif de détection d’intrusions
EP4028918A1 (fr) Système et procédé d'atténuation de menace
He et al. AppFA: a novel approach to detect malicious android applications on the network
CN116134785A (zh) 网络设备属性的低时延识别
RU2481633C2 (ru) Система и способ автоматического расследования инцидентов безопасности
EP3365829B1 (fr) Procédé d'aide a la détection d'infection d'un terminal par un logiciel malveillant
Alosefer et al. Predicting client-side attacks via behaviour analysis using honeypot data
FR3132999A1 (fr) Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines
CN114070899A (zh) 一种报文检测方法、设备及可读存储介质
US10382476B1 (en) Network security system incorporating assessment of alternative mobile application market sites
CN114124512B (zh) 基于流量行为分析的微信小程序监管方法、系统和设备
CN115801366A (zh) 攻击检测的方法、装置、电子设备及计算机可读存储介质
CN111181756B (zh) 一种域名安全性判定方法、装置、设备及介质
CN110784483B (zh) 一种基于dga异常域名的事件检测系统及方法
CN113923007A (zh) 一种安全渗透测试方法、装置、电子设备及存储介质
FR3105489A3 (fr) Dispositif et procede de detection de fraude

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20230825

PLFP Fee payment

Year of fee payment: 3