L’intelligence artificielle au service de la sécurité

9 mai 2023 8 min de lecture
L’intelligence artificielle au service de la sécurité

L’intelligence artificielle est un sujet d’actualité. Le domaine de la cybersécurité n’échappe pas à cette tendance. Mais les retours d’expérience sont encore peu nombreux. Chez Advens nous travaillons sur ce sujet pour le développement de mySOC.

Un peu de théorie…

L’IA, c’est quoi ? On peut la définir comme un ensemble de concepts, de théories et de techniques permettant de résoudre des problèmes à forte complexité logique ou algorithmique. On trouve plusieurs disciplines associées, comme la neurobiologie computationnelle, la logique mathématique ou l’informatique. Tout cela peut sembler complexe mais comme avec toutes les technologies, il faut se reconcentrer sur les besoins et exploiter l’IA à bon escient.

Zoomons sur les possibilités offertes par le machine learning pour la sécurité et la détection des menaces. Il y a eu de nombreux débats sur les différences entre deep et machine learning. Nous n’allons pas apporter notre pierre à l’édifice. Retenons que nous avons fait le choix du machine learning. Cela nous a semblé être une bonne solution pour la résolution de problèmes considérés comme insolubles par des algorithmes classiques.

Le machine learning nous aide à modéliser la normalité. Le modèle mathématique mis au point permet de décrire une situation donnée (le fonctionnement d’un réseau, les accès à un site Web, etc.). L’algorithme va permettre de qualifier une situation donnée et d’en déterminer la distance par rapport à la normalité. Si l’écart est trop important, il faut qualifier cette « anormalité ». Cela peut donner lieu à une alerte (incident de sécurité ou fraude par exemple) ou à un faux positif. L’avantage du machine learning réside dans le traitement des faux positifs : on va apprendre à la machine que c’est un cas « normal » et que le modèle de normalité doit être enrichi pour éviter de faire deux fois l’erreur.

Les ingrédients du machine learning

Le machine learning se fonde sur l’analyse de données préalablement collectées. Sans données, point de salut ! C’est donc en toute évidence un des trois ingrédients clés du machine learning.

  • Des données : L’apprentissage automatique nécessite un jeu de données initiales pour réaliser son apprentissage, le « training ».
  • Une cible : Ce que l’on doit prédire en fonctionnement nominal
  • Une fonction d’erreur.

En effet un algorithme n’est jamais parfait. On doit pouvoir mesurer sa précision (capacité à prédire sur le jeu d’apprentissage) et sa robustesse (capacité à prédire sur des données inconnues).

Quelques-uns des challenges à relever

Le passage de la théorie à la pratique soulève quelques questions. Ces challenges sont la clé pour des usages pratiques des algorithmes. Dans notre cas, il faut passer par là pour bénéficier de la puissance du machine learning dans le contexte du SOC, et en particulier pour la détection des menaces inconnues.

Le premier challenge pour la qualité et l’origine des données d’apprentissage. Les données sont utilisées pour modéliser la « normalité ». Il faut donc des données… numériques ! Ça reste une histoire de mathématiques et in fine de 0 et de 1. Les données doivent donc être dans un format interprétable par la machine. Une fois identifiées un jeu de données, il faut sélectionner celles qui seront utiles. Et surtout les données doivent avoir un lieu de corrélation avec la cible. Prendre en compte la température extérieure ou la vitesse du vent pour analyser les accès à une donnée confidentielle n’est peut-être pas le plus pertinent !

Ensuite il faut choisir le bon algorithme : modèle linéaire, arbre de décision, machine à vecteur de support, forêt aléatoire. Les modèles sont interprétables plus ou moins facilement selon la nature des algorithmes. Une fois encore, une expertise en IA et sur le volet théorique est nécessaire pour réussir la mise en pratique. Et oui, les SOC de demain seront peut-être peuplés de mathématiciens…

Enfin il faut réussir le challenge de la « mise à l’échelle ». Ce qui fonctionne en laboratoire ne fonctionne pas toujours en production. Un des exemples est la capacité de traitement. Lorsqu’on va intégrer un jeu de données conséquent et calculer les modèles mathématiques, il faut disposer d’une puissance de calcul conséquente… qu’on a peut-être négligée ou sous-estimée lors des tests en labo sur une petite quantité de données ! Rassurons-nous : le cloud offre de belles capacités en la matière.

Quels apports pour la sécurité ?

L’objectif est simple : « Détecter l’indétectable. Anticiper l’imprévisible ». Le machine learning va servir à détecter les comportements déviants (i.e. les comportements s’écartant du modèle de normalité qu’on aura défini). On peut citer notamment les contextes suivants :

  • Phase de cartographie préalable à une intrusion : prise d’information, scan de ports, …
  • Comportement suspect sur le réseau : propagation d’un malware, communication vers un C&C, exfiltration de données…
  • Comportement suspect d’un utilisateur : connexion inhabituelle, usage de droit inattendu, consultation inhabituelle de données (zone, horaire, volume)…

On peut se demander si un SIEM n’est pas nécessaire pour répondre à cet objectif. Or, la plupart s’appuient sur des règles, ce qui amène faux positifs et aussi faux négatifs. La règle suppose de savoir ce que l’on recherche. Il faudrait donc attendre la vulnérabilité ou l’attaque avant de pouvoir la détecter…

Retour sur quelques cas d’usage

Au sein de mySOC, nous utilisons des algorithmes de machine learning pour quelques cas d’usage déjà identifiés.

Le premier porte sur l’exfiltration de données. Le réseau peut être l’objet de flux de données non-maitrisés et donc de fuites de données sensibles. Le challenge est d’identifier le flux à risque dans les milliers ou millions de flux en transit sur le réseau. Les approches traditionnelles, à base de SIEM ou d’IDS / IPS, implémentent une règle de détection basée sur un seuil (taille des paquets ICMP ou UDP). Avec le machine learning, on procède à un apprentissage supervisé dans le SI client sur une période de référence. Cela permet de comprendre et de modéliser le trafic. On peut ensuite procéder à des analyses des flux beaucoup plus riches. On bénéficie d’une analyse basée sur N dimensions: taille des paquets, numéros de séquence, nombre de paquets par seconde par IP… et bien d’autres critères sont envisageables.

La même approche permet de détecter les « rogues devices » dans un réseau. On cartographie le réseau et on peut bénéficier d’une analyse en N-dimensions pour rechercher des périphériques aux caractéristiques inattendues.

Avant on utilisait des outils d’inventaire, couplés à des scans plus ou moins complétés par des opérations manuelles. Avec le machine learning, on peut se baser sur des enchaînements de scans du réseau, dont on va collecter toutes les données pour alimenter les moteurs d’analyse. On peut alors détecter une machine suspecte, non pas uniquement par un OS différent du socle, mais aussi par exemple par un temps de réponse anormalement long ou un débit réseau anormalement élevé.

Le troisième et dernier cas d’usage concerne la protection des applications  Web. On alimente l’algorithme avec des logs d’accès légitimes pour détecter par la suite des accès frauduleux. On peut par exemple utiliser des logs d’environnement de recette, traduisant souvent des cas Métier représentatifs d’une véritable activité saine et légitime. Ils vont permettre de définir par différence les usages inattendus, à risque d’un point de vue applicatif et Métier.

Ces quelques exemples illustrent l’apport du machine learning pour l’analyse des évènements de sécurité. On ne se cantonne plus à une analyse relative à une règle donnée. On peut analyser en plusieurs dimensions et se rapprocher ainsi de contextes plus proches de la réalité. L’attaquant « malin » qui temporise les scans lors de son scan de découverte initial pourra malgré tout être détecté. Le fraudeur « malin » qui attend entre chacun de ses tentatives de fraudes ou qui met en place des comportements censés perturber les mécanismes à base de règle pourra également se faire coincer !

Et demain alors ?

L’actualité sera encore riche autour de l’intelligence artificielle et de ses applications dans le domaine de la cybersécurité. Les premiers cas d’usage laissent envisager des avancées très concrètes pour la sécurité opérationnelle. La détection de menaces, avancées ou inconnues, va en bénéficier. Cela va nécessiter le développement de nouvelles compétences au sein des équipes Sécurité, pour comprendre et maîtriser les concepts théoriques et les applications pratiques de l’IA.

A terme on peut envisager aussi des apports pour d’autres facettes de la sécurité. Et si une chatbot boosté à l’intelligence artificielle aidait les utilisateurs au quotidien et les sensibilisait quand il se pose des questions ? Et si les machines nous aidaient à faire des analyses de risques plus précises et plus chiffrées en s’appuyant sur toutes les données d’historique d’incidents ?