Choisir un algorithme optimal pour l'IA dans la cybersécurité

15 août 2018
Sohrob Kazerounian
Chercheur en Intelligence Artificielle
Choisir un algorithme optimal pour l'IA dans la cybersécurité

Dans le dernier billet de blog, nous avons fait allusion aux théorèmes No-Free-Lunch (NFL) pour la recherche et l'optimisation. Alors que les théorèmes NFL sont criminellement mal compris et déformés au service de généralisations grossières destinées à faire valoir un point de vue, j'ai l'intention de déployer une généralisation NFL grossière pour faire valoir justement un tel point de vue.

En gros, les théorèmes NFL stipulent qu'étant donné un univers de problèmes où l'objectif d'un algorithme est d'apprendre une fonction qui associe un ensemble de données d'entrée X à un ensemble d'étiquettes cibles Y, pour tout sous-ensemble de problèmes où l'algorithme A est plus performant que l'algorithme B, il y aura un sous-ensemble de problèmes où B est plus performant que A. En fait, en faisant la moyenne de leurs résultats sur l'espace de tous les problèmes possibles, les performances des algorithmes A et B seront les mêmes.

Avec un peu d'imagination, nous pouvons construire un théorème NFL pour le domaine de la cybersécurité : Sur l'ensemble des vecteurs d'attaque possibles pouvant être utilisés par un pirate, aucun algorithme de détection ne peut être plus performant que tous les autres sur l'ensemble du spectre des attaques.

Choix optimal d'un algorithme pour l'IA dans la cybersécurité

Intelligence artificielle - IA

À ce stade, vous pourriez être tenté de poser la question suivante : si un algorithme donné obtient en moyenne les mêmes résultats que tous les autres dans la détection de l'ensemble des attaques possibles, pourquoi consacrer des efforts à la mise au point d'algorithmes d'apprentissage automatique pour la détection des intrusions ?

La raison en est tout simplement que les théorèmes NFL (pour la recherche et l'optimisation, et maintenant la cybersécurité) ne sont réellement applicables que dans un monde hypothétique avec un a priori uniforme sur l'espace de tous les problèmes possibles. Dans le monde réel, cependant, nous ne nous intéressons qu'à un petit sous-ensemble de ces problèmes, et l'a priori sur ce sous-ensemble de problèmes n'est probablement pas uniforme. Si l'on ajoute que tout algorithme sera soumis à des contraintes d'espace et de temps d'exécution ainsi qu'à d'autres facteurs réels (par exemple, le besoin d'interprétabilité), il devient rapidement évident que les choix entre les algorithmes peuvent facilement être mesurés les uns par rapport aux autres.

Néanmoins, si les applications pratiques des théorèmes de NFL ne résistent pas à la rigueur technique, elles constituent néanmoins une bonne heuristique : aucun algorithme unique ne répondra de manière optimale aux exigences d'une grande variété de types de problèmes pour lesquels il pourrait être déployé. La preuve en est que les techniques de pointe pour des tâches aussi variées que la vision par ordinateur, le traitement du langage naturel et la prédiction financière utilisent toutes des algorithmes différents.

Comment choisir le meilleur algorithme pour la cybersécurité ?

La détection d'un large éventail de comportements d'attaquants nécessite une série d'algorithmes, dont chacun doit être conçu de manière appropriée, avec une compréhension technique approfondie des algorithmes potentiels qui pourraient être déployés et de la manière dont ils se comparent les uns aux autres, ainsi que l'intégration des connaissances spécifiques au domaine nécessaires pour une performance optimale.

Chaque algorithme doit être conçu en tenant compte des questions suivantes :

  • L'algorithme est-il supervisé ou non supervisé ? Régression ou classification ?
  • Existe-t-il un espace naturel dans lequel représenter ou projeter les apports ?
  • Si ce n'est pas le cas, l'algorithme doit-il apprendre les représentations des caractéristiques ou les entrées doivent-elles être utilisées directement ?
  • Les données d'entrée sont-elles mieux représentées sous forme de données statiques ou séquentielles/temporelles ?
  • S'il s'agit d'une tâche séquentielle, s'agit-il d'une tâche de classification ou d'étiquetage ?
  • Existe-t-il des dépendances temporelles sur un grand nombre de pas de temps ? Ou encore, les données sont-elles simplement markoviennes ?
  • Quelle est la quantité de données d'apprentissage par rapport à la dimensionnalité des données d'entrée ? Les données sont-elles (fortement) non linéaires ?

Connaissance du domaine

Les algorithmes nécessitent des connaissances. De nombreuses solutions d'apprentissage automatique prêtes à l'emploi peuvent être déployées une fois que les questions de base sur la nature du problème ont été déterminées. L'obtention de résultats fiables nécessite toutefois une compréhension mathématique relativement approfondie des techniques utilisées, d'autant plus que les modèles deviennent de plus en plus complexes et compliqués.

Prenons par exemple l'énorme intérêt que suscite l'utilisation d'un réseau neuronal de pointe pour traiter les données séquentielles et les séries temporelles, connu sous le nom de modèle de mémoire à long terme (LSTM). Bien que des outils comme TensorFlow, le cadre d'apprentissage profond de Google, tendent à abstraire les mathématiques sous-jacentes nécessaires à la mise en œuvre de la LSTM (dans ce cas, une séquence de dérivées partielles lourde à noter), des connaissances sont toujours nécessaires pour utiliser l'algorithme correctement et pour les bons types de problèmes.

Comme dans ce cas, de nombreux fournisseurs de cybersécurité vantent leur utilisation de l'apprentissage profond et des modèles LSTM en particulier. Pourtant, ils ne décrivent pas correctement le fonctionnement réel de ce réseau neuronal et la manière dont ils l'ont appliqué à la détection des menaces. Outre la connaissance du domaine des algorithmes, une compréhension approfondie du domaine d'entrée peut grandement simplifier la détection des menaces par les algorithmes en aval. À titre d'exemple, considérons une tâche simple de classification à deux classes, où les points qui tombent sur un petit cercle sont considérés comme faisant partie de la classe 0, et les points qui tombent sur un cercle plus grand et environnant sont considérés comme faisant partie de la classe 1.

Si les entrées sont représentées en coordonnées cartésiennes, aucun classificateur linéaire ne pourra apprendre à séparer ces deux classes. Si, au contraire, nous savons que la façon naturelle de représenter les entrées n'est pas en coordonnées cartésiennes mais en coordonnées polaires, le problème peut facilement être appris par un classificateur linéaire. Cela est illustré à la figure 1, où une limite de décision linéaire ne peut être tracée dans le cas cartésien, mais est triviale dans le cas polaire.

Un problème simple de classification à deux classes. Lorsque les entrées sont représentées dans un système de coordonnées cartésiennes, aucun classificateur linéaire ne peut être appris à séparer les deux classes. En revanche, en coordonnées polaires, le problème devient trivial.
Un problème simple de classification à deux classes. Lorsque les entrées sont représentées dans un système de coordonnées cartésiennes, aucun classificateur linéaire ne peut être appris à séparer les deux classes.
En revanche, en coordonnées polaires, le problème devient trivial. Figure extraite de "Deep Learning "Goodfellow et al. (2016)

Détection des anomalies et comportement malveillant

En matière de cybersécurité, la détection d'anomalies n'est pas la même chose que la détection de comportements malveillants.

Même si un modèle statistique apprend avec précision les distributions sous-jacentes des temps de connexion, des ports et d'autres informations qu'un système de détection des menaces est censé suivre, une décision doit être prise sur ce qui constitue un comportement normal et ce qui constitue une valeur aberrante.

Supposons que nous choisissions un seuil où toute entrée qui se produit avec moins de 0,01 % de chances est signalée comme anormale. Indépendamment du modèle statistique choisi, plus le modèle statistique est précis, plus il est probable que 0,01 % de toutes les entrées soient considérées comme aberrantes.

Il est essentiel de ne pas confondre les valeurs aberrantes et les anomalies avec les cyberattaques. Une modélisation appropriée des différents aspects d'une cyberattaque est nécessaire pour déterminer si des données anormales ou aberrantes sont malveillantes.

Le fait de signaler des données anormales ou aberrantes sans tenir compte du type d'attaque peut conduire à négliger une attaque, parce que les caractéristiques d'entrée qui sont suivies ne sont pas anormales. Les attaques peuvent être modifiées pour se produire à des heures normales, sur des ports normaux, à partir de lieux géolocalisés normaux, et elles échapperaient aux modèles de détection d'anomalies ou de valeurs aberrantes.

Apprentissage non supervisé et dimension/manifold

Apprendre à partir de données non supervisées est difficile. Apprendre correctement à partir de données non supervisées est encore plus difficile. En général, l'apprentissage non supervisé est difficile en raison d'un problème appelé la malédiction de la dimensionnalité.

En effet, la dimensionnalité des données d'entrée est souvent suffisamment importante pour que le volume d'espace qu'elles occupent augmente beaucoup plus rapidement que le nombre d'exemples disponibles pour l'algorithme.

C'est le cas des données comportant un grand nombre de dimensions ou un grand nombre de caractéristiques, ainsi que des données de séries temporelles qui sont souvent intrinsèquement à haute dimension. En tant que tels, les algorithmes non supervisés doivent souvent faire des déductions sur les distributions dont les données sont tirées, bien qu'ils ne disposent pas de preuves suffisantes pour les déductions qu'ils font.

Pire encore, même dans les situations où la dimensionnalité de l'entrée est faible, les manifolds spécifiques sur lesquels se trouvent les données peuvent ne pas être propices à des techniques d'apprentissage spécifiques par différents algorithmes.

Imaginons, par exemple, un ensemble de données à deux dimensions. Bien que les grappes semblent évidentes à l'œil humain, divers algorithmes d'apprentissage non supervisé tenteront de modéliser les données de multiples façons. Savoir quels algorithmes sont appropriés pour un problème donné devient de plus en plus pertinent.

La figure ci-dessous montre un ensemble d'algorithmes d'apprentissage non supervisé et leurs différences, même dans les paramètres les plus basiques.

Différents algorithmes d'apprentissage non supervisé sur un certain nombre d'ensembles de données. Le comportement très varié de ces algorithmes, comme le montre la diversité des grappes apprises, montre pourquoi il est si important de comprendre à la fois l'algorithme et les données.
Figure tirée de la documentation de
documentation scikit-learn.

Même au sein d'une même classe d'algorithmes d'apprentissage non supervisé, les résultats peuvent être très différents. La figure suivante montre les différences dans les grappes apprises en fonction du type spécifique d'algorithme de regroupement spectral choisi.

Résultats de différents algorithmes de regroupement spectral sur un certain nombre d'ensembles de données.
Résultats de différents algorithmes de regroupement spectral sur un certain nombre d'ensembles de données.
Figure tirée de "on Spectral Analysis and an Algorithm" [Ng, Jordan et Weiss (2001)].

Nous espérons que les exemples et les descriptions présentés dans cet article ont montré pourquoi il est si important d'avoir une compréhension mathématique approfondie des algorithmes, associée à une compréhension du domaine de la cybersécurité dans lequel l'algorithme doit être appliqué, pour construire un système IDS performant.

Il n'existe pas d'algorithme unique qui soit plus performant que tous les autres, ni de méthode simple pour utiliser des algorithmes "prêts à l'emploi". Il n'y a vraiment pas de repas gratuit.

Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016).Deep learning(Vol. 1). Cambridge : MIT press.
Ng, A. Y., Jordan, M. I. et Weiss, Y. (2002). On spectral clustering : Analysis and an algorithm. InAdvancesin neural information processing systems(pp. 849-856).

Foire aux questions