L’UTILISATION DE L’IA EN CYBERSÉCURITÉ · Prevention System), chiffrement des fichiers et des...
Transcript of L’UTILISATION DE L’IA EN CYBERSÉCURITÉ · Prevention System), chiffrement des fichiers et des...
L’UTILISATION DE L’IA EN CYBERSÉCURITÉ
Semaine du Cyber du 7 au 14 février 2019
COMITÉ : Cyberdéfense – ANAJ-IHEDN
Ce texte n’engage que la responsabilité de son auteure. Les idées ou opinions émises ne peuvent en
aucun cas être considérées comme l’expression d’une position officielle.
La sécurisation des systèmes d’information (SI), également appelée cybersécurité, connaît une
augmentation significative de son importance pour les entreprises. En effet, au cours des dix dernières
années, plusieurs attaques majeures ont démontré la sensibilité et la dépendance de nos institutions aux
Technologies de l’Information et de la Communication (TIC) : l’administration et les médias estoniens
furent bloqués trois semaines en 2007, les installations nucléaires iraniennes ont été stoppées en 2009,
les programmes de TV5monde rendus inaccessibles pendant deux jours en 2015, les ransomwares
NotPetya et Wannacry ont rendu inopérants plusieurs entreprises et services publics en 2017 …
Ainsi, les institutions (tant publiques que privées), comme les individus doivent considérer la
cybersécurité comme un enjeu significatif, d’autant plus que 55% de la population mondiale
(soit 4 milliards de personnes) est connectée à Internet en 20181.
Afin d’atteindre ce but, les outils et méthodes consacrés n’ont cessé d’évoluer afin
d’augmenter le niveau de protection des entités et individus : antivirus, pare-feu, systèmes de
détection (IDS, Intrusion Detection Systems) et de prévention d’intrusion (IPS, Intrusion
Prevention System), chiffrement des fichiers et des communications sont quelques outils de la
palette de protection mise à la disposition des institutions et individus.
Aujourd’hui, ces outils connaissent des évolutions techniques majeures permises par la
rencontre entre l’intelligence artificielle (IA) et la cybersécurité. Cette série d’articles
s’arrêtera tout d’abord sur les mécanismes de l’IA en étudiant les principaux types
d’algorithmes (I), avant de montrer la valeur ajoutée que cette dernière peut apporter à la
cybersécurité (II), ainsi que les risques indus par son utilisation de la part d’acteurs
malveillants (III).
[Les mécanismes d’IA : introduction]
Lorsque l’on aborde l’intelligence artificielle, la plupart des interlocuteurs se réfèrent en réalité au
machine learning (ML) ou au deep learning (DL), qui consistent en la programmation d’une machine
afin qu’elle apprenne par elle-même. Cet apprentissage se fait à partir de données ou de règles en
1 Internet Growth Statistics published on Internet World Stats.
[en ligne] URL : https://www.internetworldstats.com/stats.htm
prenant en compte son environnement pour prendre des décisions. L’IA, en revanche, se définit plutôt
comme la création et l’étude d’agents intelligents, en « une machine qui perçoit son environnement et
entreprend des actions qui maximisent ses chances de parvenir à ses objectifs »2, souvent ayant pour
but de résoudre des problématiques de haute complexité numérique impliquant de grandes quantités
d’énergie, de mémoire et de ressources informatiques pour être résolues.
De nos jours, cette technologie étend son emprise en étant intégrée dans tous nos équipements
électroniques : smartphones, montres connectées, tablettes, ordinateurs, domotique,
automobile … L’IA est utilisée, entre autres, pour les reconnaissances vocale et faciale, pour
les véhicules autonomes, les assistants domestiques ou personnels et l’établissement de
paramètres de préférence d’applications. Alexa et Siri sont par exemple des assistants
personnels basés sur l’IA, tandis que Netflix utilise cette dernière pour recommander des
films et séries en apprenant les préférences de l’utilisateur.
Dans la majorité des cas, l’IA est utilisée pour personnaliser et adapter un service à un
utilisateur donné avec moins de ressources qu’un service classique. Le dénominateur commun
de ces outils est leur utilisation de l’information contextuelle dans leur processus de prise de
décision. Le but de cette série d’articles étant d’étudier l’utilisation de l’IA dans le champ de
la cybersécurité, nous allons nous concentrer sur son sous-domaine le plus utilisé dans ce
contexte, le machine learning.
Le machine learning se réfère surtout à des programmes permettant à des ordinateurs
d’apprendre par eux-mêmes. Il est généralement basé sur de grandes quantités de données et
de scénarios. Il y a quelques années, le terme de big data prenait une certaine importance,
notamment dans les médias. Aujourd’hui, ce sont les éléments provenant de ce big data qui
permettent de construire les agrégats de données utilisés dans l’entraînement des algorithmes
de machine learning. Ces derniers rendent possible à une machine d’observer les éléments de
journalisation (log entries, historique des événements affectant un processus donné) et leurs
dynamiques de façon globale et dans des conditions très proches du temps réel.
LES ALGORITHMES SUPERVISÉS
Les algorithmes supervisés permettent de travailler avec des jeux de données (datasets) ordonnés. Cela
signifie que les données ont été labellisées et regroupées dans des ensembles contenant des
informations similaires. L’objectif pour la machine est d’apprendre à labelliser correctement de
nouvelles données, c’est-à-dire de reproduire le processus qui a permis, à partir de données brutes
(input, jeu de données non labellisées) de produire des données classifiées (output).
Il existe deux grandes catégories d’algorithmes supervisés :
- Les algorithmes de classification : ils permettent d’ordonner des objets en catégories (formes,
couleurs, etc.).
- Les algorithmes de régression : ils permettent d’établir une courbe prédictive et de prévoir le
comportement de données réelles (monnaie, poids, température, etc.).
Une fois que cette mapping function (mise en correspondance des modèles de données) des
données est suffisamment établie, l’algorithme va pouvoir prédire la donnée sortante avec de
nouvelles données en entrée. Ainsi, il apprendra en analysant la façon dont les groupes ont été
formés en premier lieu, recherchant des similitudes et des différences entre les sous-groupes.
2 Poole, Mackworth and Goebel, Computational Intelligence p. 1, 1998. [en ligne], URL :
https://www.cs.ubc.ca/~poole/ci.html – L’IA y est nommée computational intelligence.
Le schéma suivant illustre ce procédé : la donnée brute est soumise (ici, des photographies de
pommes) ; un opérateur donne ensuite des indications quant au résultat souhaité. L’agent
intelligent est par la suite capable, par traitement des données, de reconnaître si l’information
d’entrée correspond à ce qu’il a appris à reconnaître auparavant (ici, s’agit-il d’une pomme ou
non).
Illustration 1 – Processus de machine learning supervisé
L’APPRENTISSAGE PAR RENFORCEMENT
Pour traiter des jeux de données mal étiquetés (comme dans la plupart des cas réels), on peut
utiliser des algorithmes semi-supervisés. En effet, si seulement 10% d’un jeu de données
fournit des données d’entrée et de sortie (étiquetés), il peut devenir trop coûteux de labelliser
chaque donnée et donc d’utiliser un algorithme supervisé.
Deux options sont dès lors disponibles : utiliser un algorithme non supervisé (voir infra.) et
négliger les données de sortie (output) fournies, ou bien utiliser un processus à quatre étapes,
appelé apprentissage par renforcement (voir Illustration 2) :
1. Utiliser un algorithme supervisé pour apprendre la mapping function grâce aux 10% de
données labellisés ;
2. Entraîner sur un jeu de données similaire en taille (10% supplémentaires) ;
3. Vérifier les données en sortie de l’algorithme (output) et corriger ces dernières le cas
échéant
4. Introduire ces données dans l’algorithme en tant que nouveau jeu d’entraînement.
Dans le contexte d’apprentissage par renforcement, l’agent intelligent va réagir à son
environnement (jeu de données et retours effectués par l’opérateur) afin de maximiser les
récompenses attribuées par l’opérateur entraînant l’agent.
Illustration 2 : processus d’apprentissage par renforcement
LES ALGORITHMES NON SUPERVISÉS
Les autres principaux types d’algorithmes de ML sont les algorithmes non supervisés. Ils
prennent en entrée des jeux de données qui n’ont pas été labellisés du tout et laissent la
machine entièrement responsable de la détection de similitudes entre les données, dans la
mesure où cette dernière n’a pas de référence quant à une possible réponse « juste ».
Il est encore possible ici de séparer ce type d’algorithmes en deux catégories : par
classification et par association. Les algorithmes de classification ont pour but de détecter la
structure sous-jacente d’un jeu de données afin de déterminer des sous-groupes cohérents
(comme des clients partageant des comportements d’achats similaires dans un magasin).
D’autre part, les algorithmes d’association vont plutôt chercher à identifier des règles qui
sous-tendent les données afin de comprendre de façon plus large les informations données en
entrée (par exemple, « un client achetant du lait va avoir tendance à acheter des produits pour
nourrissons »). La façon qu’ont ces algorithmes de regrouper les données peut en particulier
être étudiée par la détection de communautés (community detection3).
Ci-dessous l’on peut trouver un exemple d’algorithme de classification : au lieu de pouvoir
prédire si un objet donné est une pomme ou non, l’algorithme peut classifier la donnée
d’entrée comme étant une pomme, une banane ou une mangue.
Illustration 3 : processus de machine learning non supervisé
L’APPRENTISSAGE PROFOND
L’apprentissage profond (deep learning) est une discipline du machine learning plus avancée
techniquement, et qui opère via plusieurs couches dissimulées. Cette technologie est plus
particulièrement utilisée dans des processus de reconnaissance de structures de données
complexes, comme les reconnaissances faciale ou vocale. En effet, son objectif est de
modéliser un haut niveau d’abstraction par des transformations non linéaires via utilisation
des métadonnées4.
3 Champ des mathématiques appliquées lié à la théorie des graphes
4 Les métadonnées fournissent de l’information sur l’origine d’une donnée (auteur, but de la création de
donnée, taille, contenu), sa structure originelle (quels éléments la composent, quelle est son organisation
interne) ainsi que sur l’origine des ressources (droits d’accès)
Comme montré plus bas, après avoir été entraîné, un agent d’apprentissage profond va
décomposer la donnée soumise en entrée afin d’en reconnaître les caractéristiques par lui-
même, ce qui peut lui permettre d’obtenir des résultats plus précis.
Les modèles d’apprentissage profond sont conçus de façon similaire aux réseaux neuronaux
humains, dont les processus de coopération et de division des tâches à accomplir entre les
couches neuronales intermédiaires demeurent partiellement inconnus. De même, le réseau de
neurones profonds d’un algorithme de deep learning est constitué de couches dissimulées qui
collaborent afin de classifier les caractéristiques composant des objets donnés (voir
l’illustration ci-dessous). Il existe plusieurs types de ces couches, qui peuvent appliquer
presque n’importe quelle fonction aux éléments fournis par la couche précédente (il s’agit
généralement de transformation linéaire suivie d’un aplatissement des inégalités constatées).
Par exemple, avec en entrée une image de visage humain, un algorithme d’apprentissage
profond va s’efforcer de reconnaître la personne dont il s’agit, alors qu’un algorithme moins
sophistiqué ne pourrait que reconnaître qu’il s’agit de l’image d’un être humain.
Comme montré ci-dessous, les couches dissimulées d’apprentissage profond traitent
l’information à différentes échelles et se basent en entrée sur un mélange de données de sortie
(outputs) provenant d’une ou plusieurs couches précédentes, en fonction de leur
positionnement dans le réseau. Ici, la première couche identifiera des pixels formant des
contours, la deuxième groupera ces bordures afin d’identifier des formes, et la dernière
recomposera des éléments de visages afin de de permettre la reconnaissance d’une personne
en sortie.
Illustration 4 : processus d’apprentissage profond pour reconnaître un visage
Cette caractéristique est toutefois rapidement devenue problématique, dans la mesure où les
utilisateurs de cette technologie ne sont pas capables de comprendre le processus décisionnel
complet de la machine, ni d’y accéder à chaque étape. Cette situation pourrait soulever des
questions quant à la responsabilité juridique finale, particulièrement dans des situations où
l’intégrité physique des individus est en jeu, comme dans des accidents impliquant des
véhicules autonomes.
En résumé, quatre types d’algorithmes peuvent être appliqués en machine learning. Le
tableau suivant en résume les principales caractéristiques :
Algorithme Caractéristique Données
d’entrée
Données de sortie Objectif Type
d’opérations
Limites
Supervisé Axé sur une tâche Jeu de
données
Jeu de données
entièrement
labellisé
Imiter la
mapping
function liant les
données
d’entrée et de
sortie
Classification
et régression
Besoin d’un jeu de
données
100%labellisé
Besoin
d’instructions assez
détaillées
Non
supervisé
Axé sur les
données
Jeu de
données
Aucun Déterminer la
structure sous-
jacente de
l’entrée
Groupement et
association
Besoin
d’instructions assez
détaillés
Renforce
ment
S’adapte à
l’environnement
Jeu de
données
Retours et
améliorations
Maximiser les
récompenses
positives
Prédiction de
préférences
Besoin de retours de
l’opérateur
Apprentis
sage
profond
Couches
dissimulées
Jeu de
métadonnées
Jeu de données
entièrement
labellisé
Extraire des
caractéristiques
pour modéliser
des objets
complexes
Toutes celles
nommées ci-
dessus
Manque de
compréhension
Problématiques
légales
Besoin de données
entièrement
labellisées
Tableau 1 – Algorithmes de machine learning
Afin de traiter des données à travers le machine learning, nous avons vu qu’il est nécessaire
de rassembler une grande quantité d’informations. L’état des données enregistrées est crucial :
les champs permettant aux modèles de machine learning de tirer du sens des informations
doivent être complétés et fiables. Par exemple, en cas d’absence d’horodatage, la donnée
générée par la prise d’une photographie sera inutile pour quelqu’un (ou une machine)
souhaitant utiliser l’historique d’activité de l’appareil photo.
Dans un prochain article nous verrons que, dans la mesure où la cybersécurité s’appuie sur la
détection de scénarios d’attaques prédéfinis, l’avènement de l’IA pourrait permettre de
distinguer les comportements usuels et malveillants, et ce avec un investissement bien
moindre en ressources (qu’il s’agisse du temps, de la réflexion ou de l’anticipation). Grâce à
l’analyse de signaux faibles, la détection et la prévention pourraient aider les experts en
cybersécurité à se concentrer sur la résolution de crise plutôt que sur la détection.
Toutefois, de par leur utilisation dans ce cadre, les jeux de données et les algorithmes d’IA
deviennent d’autant plus sensibles aux attaques visant à compromettre l’entraînement, et ainsi
les résultats donnés. De plus, de la même façon que l’IA peut être utilisée par les institutions
pour détecter des signaux faibles, elle peut également être employée par les attaquants afin
d’utiliser ces signaux pour s’introduire dans les réseaux informatiques sans être détectés.
Traduit de l’anglais par Pierre FALCONETTI
Membre du Comité Cyberdéfense de l’ANAJ-IHEDN
Mathilde DELFOSSE-LEGAT
Membre du Comité Cyberdéfense de l’ANAJ-IHEDN
104ème Séminaire Jeunes, Dijon, 2017
Retrouvez toutes les publications de l'ANAJ-IHEDN sur :
http://www.anaj-ihedn.org/category/actualites/publications-revues/