WO2023161217A1 - 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
WO2023161217A1
WO2023161217A1 PCT/EP2023/054291 EP2023054291W WO2023161217A1 WO 2023161217 A1 WO2023161217 A1 WO 2023161217A1 EP 2023054291 W EP2023054291 W EP 2023054291W WO 2023161217 A1 WO2023161217 A1 WO 2023161217A1
Authority
WO
WIPO (PCT)
Prior art keywords
domain name
infection
domain
model
infected
Prior art date
Application number
PCT/EP2023/054291
Other languages
English (en)
Inventor
Jawher SOUDANI
Original Assignee
Softathome
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 filed Critical Softathome
Publication of WO2023161217A1 publication Critical patent/WO2023161217A1/fr

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]

Definitions

  • TITLE Process and domestic gateway for detecting infected machines using domain generation algorithms
  • the present invention relates to a method for detecting machines infected by domain generation algorithms. It also relates to a domestic gateway for detecting machines infected by domain generation algorithms.
  • malware Modern botnets and modern malware (also known as “malware”) pose one of the biggest threats to information security due to their rapid growth in size and sophistication.
  • malicious applications use a command and control server (also known as a C&C server) to manage bots and execute commands remotely to perform malicious activities.
  • C&C server also known as a C&C server
  • DGA domain name generation algorithms
  • the object of the present invention is to solve at least one of these drawbacks with a new method for detecting machines infected by domain generation algorithms.
  • the home gateway comprises a database, the database comprising a list of infected domain names, the method comprising the following steps:
  • the method operates at the infected machine level, ie it detects the infected device using a “deep learning” model of DGA detection.
  • the process score calculation tolerates model errors because the detection is done at the machine level and not at the domain name level, which avoids blocking access to non-malicious websites in the event of an error and makes it possible to keep the flexibility of detecting infected devices.
  • DGA models generate too many NXDOMAINs, only a few malicious or infected domain names are considered valid.
  • “Valid” means the fact that the domain name query (DNS) has a valid response, that is to say that said domain name is registered in the requested DNS server. These domain names considered valid are useful for connecting to the attacker's command and control server.
  • the method according to the invention uses the model only when the DNS response is NXDOMAIN or SERVERFAIL, that is to say that the method only processes the NXDOMAINs so as not to overload the home calculation gateway. However, this is still sufficient for calculating the score of the potentially infected connected device.
  • the model is based on recurrent neural networks and more precisely on LSTM (“long short term memory”). This architecture does not require handcrafted features that take a long time to design and are easy to circumvent.
  • the model only takes the domain name as input, which guarantees it a speed of execution allowing it to analyze several DNS queries in a short time, unlike other classic “machine learning” models.
  • Another advantage of such a model is that it is scalable to be trained on a large volume of data allowing it to better detect several DGA families and to generalize to deal with adverse attacks. Attack detection is done without using another model.
  • the maximum weight that is assigned to the selected domain name is equal to one because the selected domain name is certainly considered to be infected, the latter being recorded in the list of infected domain names included in the database.
  • the weight attributed to the selected domain name which is processed by the model is less than one.
  • the automatic processing of the domain name selected by the model can include the following steps: - extraction of at least one characteristic of the name of the selected domain,
  • the model extracts several characteristics from the selected domain name using an embedded layer. It is a matrix that the model learns automatically during its training to highlight the commonalities between malicious and non-malicious domain names.
  • the entry of this matrix is the vectorized domain name (in encrypted mode, each letter is replaced by an integer).
  • the output of this matrix corresponds to a vector which contains weights which characterize the domain name. For example, domain names that look alike will have two very close vectors. This vector then passes through other layers for the calculation of the probability of infection (the weights of these layers are also learned during the training of the model to highlight the linear and non-linear relations which connect the characters of the domain name and whether it is malicious or not).
  • the database may also include:
  • the database can then include the domain names previously identified by the model as infected, their weight and the devices that tried to access them. If the studied device has already accessed this domain name, there is no need to update the final score of said device because the domain name has already been used to update the score of the connected device.
  • the selected domain name may not be included in the database if:
  • the selected domain name is not considered infected in the database, - the domain name does not belong to the list of domain names considered uninfected in the database,
  • the domain name does not belong to the historical list of domain names considered to be infected by the model in the database.
  • a domain name is not considered infected by the model, i.e. the domain name belongs to the list of domain names considered not infected in the database or the model considers after processing that the domain name has a probability of infection lower than the predetermined infection threshold, no weight is attributed to it. In this case, the score of the at least one connected device is not updated.
  • the score of the at least one connected device can be initialized to 50.
  • the selected domain name can be marked as a product of domain generation algorithms if the probability of infection of said selected domain name is greater than a predetermined infection threshold.
  • the predetermined infection threshold is variable according to the needs of each home gateway.
  • the probability of infection is used to define the weight assigned to the domain name processed by the model. For example, if the predetermined infection threshold is equal to 0.7, the weight assigned to the corresponding domain name is equal to the calculated probability of infection which is between 0.7 and 1.
  • the model considers after processing that the domain name has a probability of infection lower than the predetermined infection threshold, no weight is attributed to it. In this case, the score of the at least one connected device is not updated.
  • the predetermined infection threshold is variable according to the needs of each home gateway. If the need is to detect the maximum of domain names generated by DGAs with a precision tolerance (ie some benign domains are considered as DGAs), a low threshold around 0.7 is used for example. If the need is to detect domain names generated by DGAs with high precision (ie with certainty), a higher threshold is used, greater than or equal to 0.9 for example.
  • the selected domain name can be saved in the database as well as its weight when it is marked as a product of domain generation algorithms.
  • the selected domain name is saved in the database with its weight so that it can be used by the other devices connected during the verification steps without calling on the model.
  • a second probability of infection can be calculated during the automatic processing of the domain name selected by a detection model of the domain generation algorithms, the second probability of infection corresponding to the probability of infection by an adversary attack.
  • the selected domain name is marked as an adversary attack
  • the selected domain name is not marked as an adversary attack.
  • the model has an architecture that copes with adversary attacks through multiple output and a custom loss function that is designed for this.
  • An alert can be sent to the user by the home gateway when the at least one connected device is considered infected by a domain generation algorithm.
  • a performance level of the model can be calculated via a monitor component, the model being able to be updated if the performance level is lower than a predetermined performance level.
  • the detection model of the domain generation algorithms can be updated in a remote server to which the home gateway is connected.
  • This approach has the advantage of offering rapid execution and security because the execution of the model is done in the home gateway and the connection with the remote server is only necessary for updating the model.
  • a domestic gateway for detecting machines infected by algorithms of generation of domains, the gateway being equipped with a processing unit to implement the steps of the method according to the invention.
  • a computer program product comprising instructions which, when the program is executed by a computer, lead the latter to implement the steps of the method according to the invention.
  • FIG. 1 illustrates an example of arrangement of devices within a home
  • FIG. 2 graphically illustrates the operation of the embedded DGA model according to the invention
  • FIG. 3 illustrates an on-board detection system according to the invention
  • FIG. 4 illustrates an example of a score calculation function based on the number of detections of domain names generated by DGAs.
  • variants of the invention may in particular be considered comprising only a selection of characteristics described or illustrated below isolated from the other characteristics described or illustrated (even if this selection is isolated within a sentence including these other features), if this selection of features is sufficient to confer a technical advantage or to differentiate the invention from the state of the prior art.
  • This selection includes at least one preferably functional feature without structural details, and/or with only part of the structural details if only this part is sufficient to confer a technical advantage or to differentiate the invention from the state of the art anterior.
  • each home is equipped with a home gateway 1.
  • the home gateway 1 is placed in the user's living room for example.
  • the home gateway 1 is connected to a local network as shown in Figure 1.
  • Different devices 2 are connected to the home gateway 1 via the local network as shown in Figure 1.
  • the connection of the different devices 2 of the house with the gateway Home 1 via LAN is either wired or wireless.
  • the method for detecting machines infected by domain generation algorithms (DGA) according to the invention is integrated into the domestic gateway 1.
  • DGA domain generation algorithms
  • the DGA detection model 5 is implemented in an embedded application 3 of the home gateway 1 which includes an embedded platform 4 for automatic learning inference.
  • the on-board platform 4 executes the model but also implements other functionalities to ensure the proper functioning of the DGA 5 model over time.
  • the first function necessary for executing the DGA 5 detection model on board is the inference part using an adapted execution manager 7 (also called “runtime”).
  • the second function necessary for the execution of the model 5 is the feature engineering part 6 where the data transformation is rewritten in code native to the system environment of the home gateway 1.
  • the result of this feature engineering 6 is a characteristic vector of each domain name which is given as input to the model to send a prediction as output.
  • Runtime manager 7 ensures that the latest version of the DGA 5 model is available, via the built-in template registry 9.
  • the DGA 5 model is not up to date, it is updated in a remote server 13.
  • the DGA model is not an online algorithm and trains in a remote server and not in the gateway domestic, it is necessary to have a means to update the models. This is necessary because performance may be degraded with the appearance of new DGA families and/or new adversary attacks.
  • This update function is independent from the update of the home gateway 1 system because the life cycle of the models is independent of that of the home gateway 1 system.
  • Template Registry 9 is responsible for storing template files in Home Gateway 1 on the file system and it is also responsible for removing obsolete versions of the DGA model that are no longer current without the need to update the firmware of home gateway 1.
  • Database 14 here is part of model registry 9.
  • the template download program 10 downloads the templates from the template register 9 via a communication protocol. Since model updates occur infrequently, and are only static files, this feature is implemented with an HTTP-based protocol. This makes it possible to take advantage of the operators' CDN infrastructure.
  • the execution manager 7 initializes the duration 8. It is only when all these conditions are met, that the execution manager 7 informs the client that the model is ready to be used for detection of malicious domain names.
  • monitoring of the DGA 5 model is the only means of evaluating its performance, and possibly triggering retraining.
  • the DGA 5 model is monitored via an 11 monitor.
  • the monitor 11 corresponds to a probe which sends test metrics to the remote server 12 to update the model if there is a drop in performance. For this, a performance level is calculated and compared to a predetermined performance level.
  • the metrics are based on a few test malicious domain names in the domestic gateways 1.
  • the DGA model is tested regularly and sends the metrics to the remote server 12.
  • the metrics correspond to the following different rates: rate of true positives, rate of true negatives, false negative rate, false positive rate knowing that positive means infected with DGA, and negative means not infected with DGA.
  • the model can have associated parameters.
  • the associated parameters can be modified without the need to change the model or update the firmware of the home gateway 1.
  • the onboard detection system 15 in the home gateway 1 comprises the onboard platform 4, a database 19, a system - io of scores 16 comprising a DGA detection system 17 and a score counting means 18.
  • the DGA detection system 17 in which the method is implemented calls on said DGA model via the on-board platform 4.
  • the method monitors domain name traffic on the local network and in particular the requests whose response is equal to NXDOMAIN or SERVFAIL indicating that the domain is generally produced by a DGA domain generation algorithm.
  • a domain name is selected from domain name traffic by home gateway 1.
  • Database 19 includes:
  • the database 19 also includes the weights assigned to the domain names considered to be infected in the various lists included in the database.
  • the method checks in the database 19 whether the selected domain name is already considered infected or malicious.
  • the method then checks in the database 19 whether the device 2 connected to the home gateway 1 has already tried to access this previously selected domain name or not.
  • the method verifies whether the selected domain name corresponds to a domain name considered to be uninfected.
  • the term “considered as uninfected” means that the domain name was previously identified as not being produced by DGA.
  • the method verifies whether the domain name belongs to the historical list of domain names considered to be infected by the model in the database 19.
  • the method assigns a maximum weight equal to one in the domain name selected. In this case, the score of the connected device 2 is updated and consequently increases.
  • the domestic gateway 1 starts the process again on the same principle with a new domain name which it selects.
  • the connected device is considered infected when its score becomes higher than a score predetermined by the user.
  • the selected domain name belongs to the list of domain names considered infected in the database 19 and the connected device 2 has already accessed this selected domain name, no weight is assigned, this is equivalent to assigned a zero weight.
  • the score of the connected device 2 is not updated, it remains unchanged.
  • the domestic gateway 1 starts the process again on the same principle with a new domain name which it selects.
  • the domain name selected belongs to the list of domain names considered to be uninfected in the database 19, no weight is assigned, this is equivalent to assigning a weight equal to zero.
  • the score of the connected device 2 is not updated, it remains unchanged. This is the case whether the connected device 2 is accessed or not at the selected domain name.
  • the domestic gateway 1 then starts the process again on the same principle with a new domain name that it selects.
  • the method takes account the weight assigned to the selected domain name in the database.
  • the assigned weight corresponds to the probability of infection of the selected domain name.
  • the score of the connected device 2 is updated and increases.
  • the domestic gateway 1 starts the process again on the same principle with a new domain name that it selects.
  • the connected device is considered infected when its score becomes higher than a score predetermined by the user.
  • the selected domain name belongs to the historical list of domain names considered to be infected by the model in the database 19 and the connected device 2 has already accessed this selected domain name, no weight is assigned, this is equivalent to assigning a zero weight.
  • the score of the connected device 2 is not updated, it remains unchanged.
  • the domestic gateway 1 starts the process again on the same principle with a new domain name which it selects. If the domain name selected belongs neither to the lists of domain names considered to be infected or not infected, nor to the historical list of domain names considered to be infected by the model in the database 19, then the method processes automatically the domain name selected via the domain generation algorithms detection model.
  • the method extracts at least one characteristic of the name of the selected domain. Several characteristics of the selected domain name are extracted.
  • Two probabilities of infection of the selected domain name are calculated by the model: a probability of infection that the domain name was generated by a DGA (first probability of infection) and a probability of infection that the domain name has been generated by an adversary attack (second probability of infection).
  • the model calculates the first probability of infection of the selected domain name from the extracted characteristics.
  • the two probabilities are calculated by the model in a way common to the detection models of the domain generation algorithms.
  • a first predetermined infection threshold is therefore defined for detecting the names generated by DGAs and a second predetermined infection threshold for detecting adversary attacks.
  • the decision is made based on the first probability of infection which predicts the probability of generation by a DGA. If this first probability of infection is greater than the first predetermined infection threshold, the domain name is marked as infected, if this first probability of infection is lower than the first predetermined infection threshold, a second comparison of the second probability of infection is carried out with respect to the second predetermined infection threshold. If the second probability is greater than the second predetermined infection threshold, the domain is marked as infected, if the second probability is less than the second predetermined infection threshold, the domain is marked as uninfected.
  • the score of the connected device 2 is calculated in the scoring system 18 according to the weight assigned to the selected domain name.
  • the first probability of infection of the selected domain name corresponds to the weight to be taken into account for the selected domain name when this is greater than the first predetermined infection threshold.
  • This first probability of infection is less than one.
  • the score of the connected device 2 is updated, it increases.
  • the probability of infection is between zero and one but more particularly between the first predetermined infection threshold and one.
  • the domain name is considered to be infected by the model if the probability of infection of said domain name is greater than a predetermined threshold.
  • the weight assigned to the domain name is therefore between the predetermined infection threshold and one.
  • No weight is assigned to the selected domain name if the first probability of infection is less than the first predetermined infection threshold.
  • the method updates the score of the connected device 2 after each new domain name processed by the detection model of the domain generation algorithms and considered as generated by a DGA.
  • the connected device 2 is then considered to be infected by a domain generation algorithm when the score of said connected device 2 is greater than a predetermined score.
  • the selected domain name When the selected domain name is considered to be generated by a DGA by the model, it is recorded in the historical list of domain names considered to be infected by the model in the database as well as the corresponding weight. In addition, the connected device 2 is recorded in the list of devices which have already accessed said selected domain name.
  • weight is the real number between 0 and 1 which represents the weight of each domain name in the score calculation, it takes into account the probability of prediction of each domain name.
  • the graph in Figure 4 illustrates the score calculation function as a function of the number of detections of domain names generated by DGAs for an iteration_decay_factor of 0.83 and weights which vary between 0.7 and 1 for fifty detections. From the sixth detection, the score already exceeds 80.
  • the predetermined score is defined according to the vulnerability and the risks to which each client is exposed:
  • the device 2 If the score becomes higher than the predetermined score, the device 2 is marked as infected and an alert is sent to the user.
  • a second possible approach is to send several alerts according to the predetermined score defined. Indeed, a warning is sent when a first predetermined score is reached, then an alert is sent when a second predetermined score is reached and finally a critical alert is sent to the user when a third predetermined score is reached.
  • each of the means of the device according to the invention described above are technical means.
  • each of the means of the device according to the invention previously described may comprise at least one computer, a central or calculation unit, an analog electronic circuit (preferably dedicated), a digital electronic circuit (preferably dedicated), and/or a microprocessor (preferably dedicated), and/or software means.
  • an analog electronic circuit preferably dedicated
  • a digital electronic circuit preferably dedicated
  • a microprocessor preferably dedicated

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é.

Description

DESCRIPTION
TITRE : Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines
Domaine technique
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.
Exposé de l'invention
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 :
[Fig. 1] illustre un exemple de disposition de dispositifs au sein d'un domicile, [Fig. 2] illustre graphiquement le fonctionnement du modèle DGA en embarqué selon l'invention,
[Fig. 3] illustre un système de détection embarqué selon l'invention,
[Fig. 4] 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 figure 1. Différents dispositifs 2 sont connectés à la passerelle domestique 1 via le réseau local comme présenté à la figure 1. 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 figure 2, 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 figure 3, 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 - io 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 : score = score + 10 x iteration_decay_f actor 1 x weight
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 figure 4 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

REVENDICATIONS
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.
PCT/EP2023/054291 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 WO2023161217A1 (fr)

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
FRFR2201621 2022-02-23

Publications (1)

Publication Number Publication Date
WO2023161217A1 true WO2023161217A1 (fr) 2023-08-31

Family

ID=82100098

Family Applications (1)

Application Number Title Priority Date Filing Date
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

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
FR3132999A1 (fr) 2023-08-25
FR3132999B1 (fr) 2024-02-23

Similar Documents

Publication Publication Date Title
EP2566130B1 (fr) Analyse automatique d'incidents associés à la sécurité dans des réseaux informatiques
CN110730175B (zh) 一种基于威胁情报的僵尸网络检测方法及检测系统
EP3803658A1 (fr) Système et procédé d'atténuation de menace
CN108449342A (zh) 恶意请求检测方法及装置
CN107483488A (zh) 一种恶意Http检测方法及系统
KR102024142B1 (ko) 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템
CN102045220A (zh) 木马监控审计方法及系统
FR2957738A1 (fr) Procede d'identification d'un protocole a l'origine d'un flux de donnees
WO2021152262A1 (fr) Procede de surveillance de donnees echangees sur un reseau et dispositif de detection d'intrusions
WO2021108569A1 (fr) Système et procédé d'atténuation de menace
CA3199700A1 (fr) Systeme et procede d?attenuation de menace
CN112272175A (zh) 一种基于dns的木马病毒检测方法
EP4028918A1 (fr) Système et procédé d'atténuation de menace
RU2481633C2 (ru) Система и способ автоматического расследования инцидентов безопасности
WO2023161217A1 (fr) Procédé et passerelle domestique de détection de machines infectées par des algorithmes de génération de domaines
Alosefer et al. Predicting client-side attacks via behaviour analysis using honeypot data
CN114070899A (zh) 一种报文检测方法、设备及可读存储介质
Pikoulas et al. An agent-based Bayesian forecasting model for enhanced network security
CN110784483B (zh) 一种基于dga异常域名的事件检测系统及方法
CN114124512A (zh) 基于流量行为分析的微信小程序监管方法、系统和设备
CN109714199B (zh) 基于大数据架构的网络流量分析与溯源系统
Barthakur et al. Adoption of a Fuzzy Based Classification Model for P2P Botnet Detection.
FR3105489A3 (fr) Dispositif et procede de detection de fraude
CN111181756A (zh) 一种域名安全性判定方法、装置、设备及介质
FR3105486A1 (fr) Procédé de détection d’un comportement malveillant dans un réseau de communication, dispositif, équipement d’accès audit réseau, procédé de détection d’une attaque distribuée dans ledit réseau, dispositif, équipement nœud et programmes d’ordinateur correspondants

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23707667

Country of ref document: EP

Kind code of ref document: A1