Types d'apprentissage que l'IA en matière de cybersécurité devrait exploiter

18 juillet 2018
Sohrob Kazerounian
Chercheur en Intelligence Artificielle
Types d'apprentissage que l'IA en matière de cybersécurité devrait exploiter

Malgré l'explosion récente de la recherche sur l'apprentissage automatique et l'intelligence artificielle (IA), il n'existe pas de méthode ou d'algorithme unique qui fonctionne le mieux dans tous les cas. En fait, cette notion a été formalisée et démontrée mathématiquement dans un résultat connu sous le nom de théorème No Free Lunch (Wolpert et Macready 1997).

AI Intelligence artificielle - Partie 5

Aucun algorithme ne surpassera tous les autres algorithmes, dans tous les espaces de problèmes possibles, en particulier si l'on tient compte des diverses contraintes du monde réel, telles que la complexité de l'espace et du temps et la disponibilité des données d'apprentissage.

Ainsi, les systèmes d'IA conçus pour détecter les menaces de cybersécurité avancées doivent être adaptés aux problèmes spécifiques pour lesquels ils sont déployés et doivent utiliser les meilleurs outils et algorithmes disponibles pour les types de détections qu'ils sont censés déclencher.

Comme dans d'autres domaines, les systèmes d'IA dans la cybersécurité doivent être validés sur la base des critères suivants :

  1. Le système d'IA peut-il détecter, regrouper, classer et faire des prédictions qui n'auraient pas pu être détectées, regroupées, classées ou prédites par l'homme seul ?
  2. Le système d'IA fait-il des prédictions et des classifications qui réduisent la quantité d'interventions et d'analyses humaines nécessaires ? Fait-il des prédictions et des classifications qui augmentent la quantité d'intervention humaine et d'analyse nécessaire ?

La conception d'un système d'IA capable d'apprendre à atteindre simultanément ces deux objectifs nécessite une compréhension approfondie de l'espace du problème et une connaissance approfondie des algorithmes d'apprentissage automatique en général. Les tentatives d'utilisation de solutions monolithiques qui apprennent uniformément à connaître la myriade de menaces de sécurité et d'intrusions sur les réseaux modernes sont vouées à ne pas atteindre le premier objectif, tout en créant trop de fausses détections pour apporter un quelconque avantage au second.

De même, l'utilisation de plusieurs techniques ou algorithmes pour détecter chaque type de menace indépendamment nécessite une connaissance approfondie du fonctionnement de chaque algorithme et de la manière dont il peut échouer. Une connaissance incomplète de l'algorithme peut conduire à la possibilité très réelle d'une performance médiocre dans la capacité d'un système à détecter une menace et à la quantité de travail créée pour les administrateurs de réseau en raison des faux positifs.

Portée du problème

En raison de l'étendue des menaces actuelles en matière de cybersécurité, de nombreux algorithmes devraient faire partie de l'arsenal de toute équipe qui développe des solutions d'IA permettant d'automatiser la détection des cyberattaques. Il s'agit notamment de techniques d'analyse de séries temporelles, de NLP, de statistiques, de réseaux neuronaux, d'algèbre linéaire et de topologie. Néanmoins, la première décision à prendre concernant un algorithme est de savoir s'il doit apprendre à faire des prédictions de manière supervisée ou non supervisée.

Existe-t-il un ensemble de données étiquetées à partir duquel un algorithme peut apprendre à associer des entrées à des étiquettes ? Ou bien l'algorithme doit-il apprendre quelles entrées sont malveillantes et lesquelles ne le sont pas, de manière non supervisée, sans utiliser d'étiquettes ? S'il existe un ensemble de données étiquetées, est-il suffisamment représentatif de la surface d'attaque pour laquelle l'algorithme est conçu ? Les données proviennent-elles d'une distribution qui couvre l'espace des types de réseaux, d'appareils, d'utilisateurs et de connexions qui seront observés lorsque le système sera mis en production ? Même si ces critères sont valables, y a-t-il des raisons de préférer les méthodes d'apprentissage non supervisé qui ignorent complètement les étiquettes de classe ?

Par exemple, dans le cas des algorithmes de génération de domaines (AGD), dans lesquels un hôte infecté établit des connexions avec des domaines dont les noms ont été générés de manière aléatoire pour éviter que le domaine ne soit simplement mis sur liste noire, plusieurs grands ensembles de données contiennent des exemples de bons domaines connus (étiquetés comme classe 0 dans le tableau ci-dessous) et de domaines AGD connus (classe 1). L'ensemble d'entraînement étiqueté peut être utilisé pour apprendre une correspondance fonctionnelle entre le nom de domaine et la classe (normal vs. DGA, 0 vs 1). Il est également possible d'utiliser des méthodes non supervisées qui peuvent apprendre les statistiques sous-jacentes des domaines normaux, ce qui permettrait d'étiqueter tout ce qui sort de l'ordinaire comme ayant été généré par une DGA.

L'utilisation de l'apprentissage non supervisé pourrait être avantageuse si les ensembles de données en question sont obsolètes ou contiennent des erreurs. Elle pourrait être encore plus dommageable si les attaquants ont une connaissance préalable des ensembles d'entraînement pour adapter leurs DGA afin d'éviter d'être détectés.

Domaine normal (étiquette de classe 0)

Domaine DGA (étiquette de classe 1)

google.com

tmwqfxrmb.ac

soundcloud.com

pkmeprkwtxigpnjshcsddhkgn.in

litetech.eu

nawntgvcbixvwh.net

urban-research.jp

gujtvpqvd.com

Pour ce faire, il faut comprendre l'attaque en question. Il faut également connaître les techniques appropriées pour former, tester et valider les modèles afin de quantifier l'ajustement excessif à un ensemble de données spécifique, tout en permettant la généralisation à des données nouvelles et inédites.