_
Comment Custocy détecte les attaques DGA ?

7 février 2023
Cybermenaces - Cybersécurité

DGA (Domain Generation Algorithm)… un terme de plus dans le dictionnaire cyber. En avez-vous déjà entendu parler ?

Dans un monde où les cyberattaques ne cessent de se multiplier, c’est un sujet qui mérite d’être abordé pour mieux comprendre comment cela fonctionne et surtout comment nous pouvons le détecter.

Nous vous expliquons en quoi consiste cet usage frauduleux et ce que ça change pour la sécurité de votre système IT.

Un DGA en quelques mots

Un DGA est une technique qui consiste à générer un grand nombre de noms de domaine auprès de différents fournisseurs de services, dans différents pays. Ces noms de domaine changent souvent, l’objectif étant d’échapper à la détection des équipes de sécurité.

Imaginons qu’un attaquant cherche à établir un lien avec votre ordinateur afin de le contrôler à distance pour copier de l’information ou pour prendre des copies de votre écran. Pour ce faire, il doit établir une communication entre son ordinateur et le vôtre et démarrer un dialogue. Son ordinateur est situé à une certaine adresse sur Internet, représentée par un nom de domaine (www.evil_attacker.com).

Le DGA, une technique difficile à détecter

L’attaquant a réussi à placer un virus sur votre ordinateur et il va maintenant chercher à prendre le contrôle de votre ordinateur à partir de son nom de domaine www.evil_attacker.com.

Quand un nom de domaine est suspecté de malveillance, il est répertorié et l’on peut facilement reconnaître et neutraliser l’attaque en interdisant tout contact avec ce domaine suspect. Les listes de domaines suspects sont alors partagées entre systèmes de sécurité et www.evil_attacker.com ne pourra plus nuire à personne. C’est ici qu’intervient la technique DGA « Domain Generation Algorithm », un programme qui génère à la volée des milliers de noms de domaines en une fraction de seconde.

L’attaquant utilise un DGA pour générer une multitude de faux noms de domaines et parmi tous ces faux noms, il en existe un bien réel qui héberge son programme malveillant. Malheureusement votre ordinateur infecté connaît aussi le vrai nom de domaine parmi tous les faux et va chercher à se connecter sur le nom de domaine malicieux.

Pour déjouer l’attaque, il est impératif de retrouver l’adresse URL malveillante parmi des milliers de noms de domaines générés aléatoirement. De plus, le domaine malveillant ainsi que tous les faux noms peuvent changer tous les jours. De cette façon, sa détection devient un exercice très difficile. C’est la version moderne du problème ancestral de la recherche d’une aiguille dans une botte de foin…

C’est pourquoi le recours à une solution de détection basée sur de l’IA constitue un atout pour votre entreprise car elle permet de déterminer la validité d’un nom de domaine et de protéger toute votre infrastructure réseau.

Les réseaux de neurones, une solution pour détecter le DGA

Prenons un exemple. Voici un faux nom de domaine généré par un DGA qui s’appelle Tovar : 6fugn11ppz46e1e51xcia3brj0.org

L’œil humain reconnaît bien la différence avec un vrai nom de domaine tel que le nôtre : custocy.com

Alors ne serait-il pas possible d’entraîner une machine à reconnaître les vrais noms de domaines des faux ? Bien sûr ! D’ailleurs ceci a été le sujet de nombreuses recherches sur les dix dernières années. En commençant d’abord par reconnaître des mots tirés du langage commun ou des suites de trois lettres que l’on retrouve communément dans notre langage naturel. C’est au final les réseaux de neurones (what else?) qui prendront le dessus dans la détection de faux noms de domaines et notamment deux architectures de réseaux de neurones que sont les réseaux à mémoire (LSTM) et les réseaux convolutifs (CNN).

Sans trop entrer dans le détail, les réseaux à mémoire sont excellents pour analyser des suites d’éléments comme des lettres ou des mots*; ils savent quelles lettres il faut garder en mémoire pour distinguer le vrai du faux.

Les réseaux convolutifs, quant à eux, nous viennent de l’analyse d’image et sont excellents pour extraire des groupes d’informations utiles, dans notre cas des groupes de plusieurs lettres.

Ces deux types de réseaux de neurones ont radicalement amélioré la reconnaissance de noms de domaines générés par des DGA.

Problème réglé ?

Pas tout à fait. Malheureusement le merveilleux outil qui permet de générer des « fake » vidéos d’Obama ou de rajeunir vos photos est aussi utilisé par les cybercriminels. Cet outil s’appelle le réseau de neurones antagoniste et il peut être utilisé pour contrer nos outils de détection.

Revenons à notre réseau de neurones qui détecte des faux noms de domaines. Ce réseau de neurones est entraîné dans notre laboratoire sur des données étiquetées : des vrais noms de domaines (par exemple : custocy.com) et des faux noms de domaines (6fugn11ppz46e1e51xcia3brj0.org).

Un réseau de neurones ne répond pas simplement Oui ou Non. Il fournit un pourcentage de certitude par rapport à la légitimité de chaque nom de domaine analysé. ll est pénalisé quand il se trompe et il s’ajuste pour faire de meilleures prédictions.

Quand il remonte plusieurs fois des pourcentages mitigés, cela indique une difficulté à classifier les données. Une fois en production, en conditions réelles, le cumul de résultats incertains sur un laps de temps donné nous signale qu’il y a un problème.

Imaginez maintenant que l’on mette en face de notre réseau de neurones, un autre réseau de neurones antagoniste cette fois-ci. Ce réseau de neurones antagoniste va donner des noms de domaines à notre premier réseau et être puni quand notre réseau de neurones réussi à faire la différence entre le vrai et le faux ! Alors nous assistons à une course à l’armement où nous essayons de produire des réseaux de neurones qui s’adaptent plus rapidement que les antagonistes malveillants.

Comment Custocy détecte les DGA

Notre solution Custocy a un atout caché. Nous surveillons en temps réel les échanges de flux dans les réseaux que nous protégeons. Disons que nous regardons de près les conversations entre les ordinateurs. Mais nous surveillons également le changement de comportement du réseau de neurones au cours du temps.

Dans le cas d’une attaque DGA, une conversation malicieuse pourrait échapper à la vigilance de nos réseaux de neurones qui nous indiqueraient alors « je ne sais pas trop mais je ne pense pas que ce nom de domaine soit faux ». Le flux échapperait alors à notre surveillance.

Toutefois, si au bout de quelques milliers d’échanges établis en l’espace d’une poignée de minutes, notre réseau de neurones remonte plusieurs fois d’affilée des scores bas et incertains, notre solution serait suffisamment intelligente pour observer ce changement de comportement. Cette baisse de performance du réseau de neurones est détectée par un autre algorithme, situé à un niveau supérieur de notre solution. Une sorte d’ « algorithme en chef » qui lève immédiatement une alerte dans l’interface.

En bref, nous détectons les attaques grâce à nos algorithmes d’IA mais aussi en observant leurs changements de comportements. Cette double approche nous permet ainsi de filtrer davantage de menaces, sans créer plus d’alertes pour vos équipes, puisque tout ce processus de détection, supervision et correction des résultats se fait au sein même de notre solution.

Mais quoi de mieux que de voir par vous-mêmes ? Réservez votre créneau de démo, c’est 100% gratuit !👉ICI.

*Les réseaux de neurones utilisent des chiffres et non des lettres pour s’entraîner mais on peut facilement convertir les lettres de l’alphabet en valeurs numériques grâce à une technique qui s’appelle « word embedding ».