Intelligence artificielle et cybersécurité : le rôle du machine learning

Article

Intelligence artificielle et cybersécurité : le rôle du machine learning

Si le terme IA (Intelligence Artificielle) est aujourd’hui largement répandu, son utilisation reste parfois floue ou inexacte. Minsky et McCarthy, pionniers du domaine, décrivaient l’IA comme “toute tâche réalisée par une machine qui demanderait de l’intelligence à un humain s’il devait la réaliser.” Aujourd’hui, l’IA s’est développée et comprend des techniques de machine learning et deep learning. Un domaine complexe, surtout quand on sait que des moteurs de règles ou d’anciennes méthodes statistiques inférentielles (régressions linéaires etc) en font également partie. À l’heure où l’IA est l’une des composantes des solutions de cybersécurité, il est devenu essentiel de comprendre son rôle et ses spécificités. Pour y voir plus clair, nous avons donc sollicité quatre ingénieurs chez Gatewatcher : Philippe, Aubin, Jérôme et Hugo.

L’intégration de l’intelligence artificielle dans la cybersécurité

À quand remonte l’intégration de l’IA dans les solutions de cybersécurité ?

Cela fait environ une dizaine d’années sur des domaines particuliers comme la détection de fraude ou l’identification des spams. Depuis trois à quatre ans, on observe une forte montée en puissance de l’IA sur les solutions de cybersécurité. On peut l’expliquer par le développement du machine learning, du deep learning et de l’ensemble des outils disponibles.

Quels sont les champs d’action de l’IA et leurs différences ?

Le machine learning est la branche de l’IA qui connaît le plus de développement, et c’est également celle qui est la plus confondue avec l’IA elle-même. C’est un champ assez ancien de l’IA, dont les premières avancées techniques datent des années 1950. Depuis une quinzaine d’années, le domaine connaît un fort renouveau grâce à l’augmentation de la puissance de calcul et de la quantité de données disponibles : c’est l’avènement du Big Data. D’un point de vue technique, le machine learning est une technologie basée sur les statistiques permettant à des systèmes d'”apprendre” de manière autonome à partir de données, sans avoir été programmés au préalable pour cet apprentissage. Au lieu de formaliser des règles manuellement, c’est le modèle qui les déduira à partir des données.

Le champ se divise lui-même en plusieurs familles, les principales étant :

  • L’apprentissage supervisé qui utilise des données pré-classées pour l’entraînement afin de prédire la classe de nouvelles données. En cybersécurité, cela consiste à utiliser des “enregistrements” d’attaques passées pour essayer d’identifier de futures attaques similaires. Les avantages de l’apprentissage supervisé sont doubles : cette branche est assez mature et les algorithmes fonctionnent bien dans des temps de calcul raisonnables. Mais ce type d’apprentissage nécessite d’obtenir des jeux de données classés pour l’entraînement, ce qui est souvent long ou coûteux. De plus, il ne permet a priori pas ou peu de détecter des classes non présentes dans le jeu d’entraînement.
  • L’apprentissage non supervisé utilise des données non labellisées et/ou dont les classes ne sont pas connues. Les données sont regroupées en clusters qui sont des groupes homogènes de données selon les attributs disponibles. Cette branche est utilisée par exemple pour de la détection d’anomalies. Cet apprentissage comporte des avantages : il n’y a pas de labellisation des données (ce qui le rend utilisable plus largement) et il permet d’identifier de nouvelles tendances ou classes. Néanmoins, les algorithmes sont souvent coûteux en termes de temps de traitement et les résultats sont souvent compliqués à interpréter. Ils nécessitent une analyse approfondie qui demande une puissance de calcul élevée.
  • L’apprentissage semi-supervisé est utilisé pour des données partiellement labellisées ou pour lesquelles on soupçonne l’apparition prochaine de nouvelles classes. Les méthodes ont pour but de déterminer la distribution sous-jacente des données d’entrainement en détecter les variations à l’arrivée de nouvelles données. Cette classe est particulièrement utile en détection d’anomalies ou pour des diagnostics. Elle est relativement facile à mettre en œuvre et ne nécessite pas une labellisation exhaustive. Néanmoins, elle tolère mal les erreurs dans les labels initiaux et les champs d’application sont restreints.
  • Le deep learning est une famille d’algorithmes de machine learning, couvrant à la fois des cas supervisés ou non supervisés. Il repose sur des réseaux de neurones artificiels profonds qui extraient différents niveaux d’informations des données d’origine et leur donnent un sens en sortie. Ce champ spécifique du machine learning permet de traiter des tâches complexes. Les principaux algorithmes de détection d’image ou de NLP (reconnaissance du langage naturel) reposent dessus mais sont extrêmement coûteux en termes de puissance de calcul et de données nécessaires à l’entraînement. À titre d’exemple, GPT-3, l’algorithme le plus puissant en NLP publié récemment par OpenAI, comporte 175 milliards de paramètres et a été entraîné sur près de 500 milliards de mots, ce qui représente la quasi-totalité d’internet.

Quels sont les cas d’usages spécifiques pour chaque champ d’action de l’IA ?

Des modèles supervisés peuvent être utilisés pour détecter (ou renforcer des systèmes déjà existants de détection) des attaques ou des malwares dont certaines caractéristiques sont déjà connues et référencées.

Des modèles semi-supervisés et non supervisés sont utilisables pour détecter des anomalies, par exemple sur des comportements d’utilisateurs ou sur des flux réseaux.

Des modèles non supervisés peuvent également être utilisés pour identifier de nouvelles menaces et améliorer l’analyse des alertes existantes.

L’intelligence artificielle dans Trackwatch

Quelle est la part d’IA dans la solution Trackwatch ? Comment est-elle complémentaire avec les moteurs ?

Dans Trackwatch, l’IA a un rôle de détection d’anomalies sur les flux réseaux et de détection de malwares.

Le machine learning est appliqué à la détection de DGA (Domain Generation Algorithm) et dans la détection de scripts powershell malveillants.

La présence de noms de domaines crées par DGA est un fort indicateur de compromission. En effet, les attaquants utilisent souvent des requêtes http avec des noms de domaine générés par certains types d’algorithme, pour connecter les logiciels malveillants aux serveurs de commande et de contrôle. Ces noms de domaine ont des propriétés différentes des noms de domaines valides. Les approches classiques de détection (liste noire…) ne sont pas suffisantes, car elles ne se généralisent pas à d’autres souches de malwares. Les noms de domaines présents dans les événements DNS capturés par les GCaps sont analysés par le moteur de machine learning. Celui-ci renvoie une probabilité, pour chaque événement de ce type, que le nom de domaine soit un DGA. Le moteur utilise un modèle pré-entraîné, donc l’architecture est basée sur un réseau de neurones profond de type LSTM (Long Short Term Memory networks). L’apprentissage supervisé est effectué uniquement à partir des noms de domaine : aucune information contextuelle supplémentaire (NXDomain…) n’est utilisée.

Concernant les powershells malveillants, la détection se base sur un modèle de machine learning supervisé, et sur le fait que ces scripts utilisent généralement des techniques d’obfuscation ou qui s’y apparentent (base64, concaténation, conversion de type…)

Quels sont les avantages et inconvénients d’un système de détection avec IA par rapport à un système de détection sans IA ?

Côté avantages : traiter l’énorme masse de données disponibles et de les “comprendre”, identifier des liens entre différentes sources de données pour une meilleure détection, faire gagner du temps aux analystes sur des tâches chronophages, permettre la détection “zero-day” de nouvelles attaques. Côté inconvénients, l’IA est plus lourde à mettre en place sur des cas simples et connus.

Comment fonctionne l’IA dans Trackwatch et que fait-elle ?

Certains comportements (on parle souvent de déviation) sont modélisables et sont très adaptés au machine learning. Ce type d’attaque est souvent complexe car il ressemble beaucoup – ou utilise – des techniques de camouflage qui s’apparentent à du trafic légitime. L’IA de Trackwatch a donc été conçue de manière évolutive pour étudier ces comportements anormaux. De part notre capacité à recueillir beaucoup de données, nos algorithmes sont capables d’apprendre rapidement et d’isoler les menaces.

Quels sont les avantages de l’IA dans Trackwatch ?

Nous avons un avantage majeur grâce au postulat que nous avons adopté dès le départ : au lieu de vouloir tout détecter à base d’IA, notre approche se veut plus pragmatique et réaliste. En effet, nous étudions les catégories d’attaque et vérifions quelles technologies sont adaptées à la menace. Si l’IA est adaptée, nous injectons des algorithmes de détection. Si elle ne l’est pas, nous adaptons nos autres moteurs à la menace. Être Full IA nous semble être une hérésie en soi. L’IA est donc optimisée pour détecter certains types de menaces. Elle évolue et apprend constamment.

Tout savoir sur le système de détection Trackwatch

Table des matières

Partager cet article :
Notre dernier article
Partager cet article :
Notre dernier article