cours conférence inhesj - ia et cybersécurité
TRANSCRIPT
Intelligence Artificielle : Quels usages et quels apports en
matière de cybersécurité ?
Cycle Sécurité numérique – INHESJ
Thierry Berthier - 19 juin 2017 Chaire de Cyberdéfense & Cybersécurité Saint-Cyr
1
Plan1 - L’intelligence Artificielle
Définitions (tentatives)Historique de l’IAFondements de l’IA
2 - Apprentissage & réseaux de neurones artificielsPrincipes et construction d’un RNAApprentissage supervisé et non superviséCapacités, cas d’usage, grands exemples
3 - L’IA comme moteur de la cybersécuritéLes chiffres de la cybersécurité en 2016Les apports de l’IA en cybersécuritéL’UBA - User Behavior Analytics , une tendance lourdeQuelques solutions du marchéPerspectives & prospective
2
1 - L’intelligence artificielle
3
Ce que déclarait Alan Turing en 1950…
“ Instead of trying to produce a program to simulate the adult mind, why not rather try to produce one which simulates the child‘s? If this were then subjected to an appropriate course of education one would obtain the adult brain.
Presumably, the child brain is something like a notebook […]. Rather little mechanism, and lots of blank sheets. […]. Our hope is that there is so little mechanism in the child brain that something like it can be easily programmed. The amount of work in the education we can assume, as a first approximation, to be much the same as for the human child.
Computing machinery and intelligence (Alan Turing, 1950, Mind, philosophy journal).”
4
Des tentatives pour définir l’IA …
L’expression IA apparaît en 1956 durant la conférence de Dartmouth dans une première définition (qui s’avère très insuffisante aujourd’hui) :
Définition de Marvin Minsky (1927 – 2016)« L’intelligence artificielle est la science qui consiste à faire faire à des machines ce que l’homme fait moyennant une certaine intelligence ».
Critique : Cette définition présente une forte récursivité… La « complexité » mentale est-elle comparable à la complexité informatique ?La définition de Minsky exclut des domaines majeurs de l’IA : la perception (vision et parole), la robotique, la compréhension du langage naturel, le sens commun.
5
Des tentatives pour définir l’IA …
L’IA est-elle le contraire de la « bêtise naturelle » ??
Une définition plus opérationnelle : « L’IA est le domaine de l’informatique qui étudie comment faire faire à l’ordinateur des tâches pour lesquelles l’homme est aujourd’hui encore le meilleur. » (Elaine Rich & Knight – Artificial Intelligence)
Les grandes dichotomies de l’IA subsistent :- IA forte vs IA faible,
- Niveau de compétence vs niveau de performance,
- Algorithmique vs non algorithmique,
- Vision analytique vs vision émergente de la résolution de
problèmes,
- Sciences du naturel vs sciences de l’Artificiel. 6
Des tentatives pour définir l’IA …
IA forte : une machine produisant un comportement intelligent , capable d’avoir conscience d’elle-même en éprouvant des « sentiments » et une compréhension de ses propres raisonnements.IA faible : Machine simulant ces comportements sans conscience d’elle-même. Impossibilité liée au support « biologique » de la conscience.
La question centrale : une « conscience » peut-elle émerger de manipulations purement syntaxiques ?
C’est l’expérience de la Chambre chinoise imaginée par John Searle en 1981. C’est aussi l’hypothèse (forte) de la pensée singulariste / transhumaniste.
7
Le Test de Turing (1950)
8
Compétence vs performance :On doit tenir compte de la distinction introduite par NoamChomsky (MIT) : faire « comme » ou faire « aussi bien que ». L’oiseau et l ’avion volent mais pas de la même façon…Jeux d ’échecs : les grands champions réfléchissent différemment de Deep Blue. Jeu de Go : AlphaGo n’a pas la même approche que celle du champion du monde .
Vision analytique vs vision émergente de la résolution de problèmes :D’un côté on procède par décomposition de problèmes en sous-problèmes plus simples à résoudre (analyse procédurale, système experts basés sur la logique des prédicats) et de l’autre, on réalise une distribution des tâches à un ensemble d ’agents qui interagissent (exemple : Ant Algorithm).
9
L’histoire de l’IA est très récente… (60 ans)
Acte de naissance : 1956, Darmouth College (New Hampshire,USA)John McCarthy (tenant de la logique) et Marvin Minsky (tenantd’une approche par schémas).Genèse autour de la notion de « machines à penser »Comparaison du cerveau avec les premiers ordinateurs
Les grands acteurs de l’IA
Mc Culloch et Pitts : réseaux neuronaux artificiels (approchephysiologique),Wiener : cybernétique,Shannon : théorie de l’information,Von Neumann : architecture d’un calculateur,Alan Turing : théorisation des fonctions calculables par machine,Kurt Gödel : théorème d’incomplétude (1931).
12
La machine de Turing universelle(1936)
13
Les premiers programmes et systèmes de l’IA
Newell, Simon et Shaw proposent un premier programme dedémonstration de théorèmes en logique (1956!). Ils généralisent enproposant le General Problem Solver qui progresse dans larésolution en évaluant la différence entre la situation du solveur etle but à atteindre.
Les programmes capables de jouer aux échecs : les premières idées
apparaissent en 1950 avec Shannon. La première victoire sur unMaître en 1997 Deep Blue bat Kasparov. Jeu de Go: AlphaGo remporte 4 victoires sur 5 au jeu de Go en 2016
Le test « d’intelligence » (Evans 1963) : trouver la suite « logique »(analogique en fait) d’une série de figures.Résolution de problèmes par propagation de contraintes ( Waltz
1975 ).Dialogue en « langage naturel » : Eliza, Weizenbaum en 1965Système SHRDLU Winograd en 1971.
14
L’époque des systèmes experts (1970-1980)
Les systèmes experts apparaissent au début des années 1970 et sedéveloppent jusqu’à la fin des années 1980 :
DENDRAL en chimie, MYCIN en médecine, Hersay II encompréhension de la parole, Prospector en géologie.
Apparaissent également les premiers générateurs de systèmesExperts : NEXPERT System, CLIPS, …
Les langages de programmation pour l’IA
LISP (usa), PROLOG (France - Colmerauer), SmallTalk (langage objet), YAFOOL et KL-ONE (langages de Frame),langages de logique de description.
15
Période 70-80 : Systèmes Experts
• Chainage avant (Rules) ou arrière (Prolog)
• Dendral (1965), Mycin (1974); Prospector(1983)
Base de connaissance (BC)mémoire à long terme
Base de faits (BF)mémoire de travail
Moteur d’inférence (MI)
16
Dès 1970, apparaît le concept de Réseaux sémantiques
17
Les années 1980 : La période des espoirs déçus de l’IA
Recul de l’approche symbolique de l’IA : Après des espoirs déçus : en particulier avec l’échec de lagénéralisation de la théorie des micromondes et le constat dumanque de souplesse des systèmes experts (on parlerait aujourd’huide manque d’agilité). Ils ont pourtant enregistré des succès dans desdomaines bien spécifiques en particulier en informatique de gestion.
Renaissance de l’approche connexionniste :- Systèmes multi-agents, concept de « vie artificielle »,- Hopfield, mémoire autoassociative, 1982 - Rumelhart & McClelland, Parallel Distributed Processes, MIT Press,1985- Réseaux de neurones artficiel (RNA)
18
Les défis actuels de l’IA
- Attente d’une IA généraliste (?), autonome (?), auto-apprenante- Elle doit devenir performante et adaptative sur des situations dynamiques, changeantes, singulières. - Elle doit être capable d’assister l’apprentissage humain.- Elle doit être en mesure de gérer des dialogues entre « agents » très hétérogènes.
Pour cela, il faut traiter la cognition comme une émergence dans l’interaction avec l’environnement.
Ceci implique la conception d’une nouvelle génération de systèmes informatiques qui vont privilégier une cognition située, distribuée, émergente (prolifération d’agents intelligents et auto-apprentissage).
19
L’agent intelligent comme concept fondamental de l’IA
- Le terme « action » est à comprendre au sens large. Cela peutsignifier « fournir un diagnostic ». - La boucle systémique Agent/Environnement n’est pasnécessairement fermée.
?
senseurs
"actionneurs "
AGENT
perception
ENV
IRO
NN
EMEN
T
"action"Source – Mines ParisTech
20
Source – Mines ParisTech
21
Définition de l’apprentissage artificiel :« Capacité d’un système à améliorer ses performancesvia des interactions avec son environnement » .
Spécificité de l’apprentissage :Conception et adaptation de l’agent « intelligent » par analyse automatisée (statistique) de son environnement et de son action dans cet environnement.
Exemple typique d’apprentissage artificiel :L’agent « prédicteur »
22
Historique
Donnéesexternes
PrédictionAGENTPREDICTEUR
Modèle de l’agent prédicteur
Performance espérée : minimiser l’erreur de prédictionMéthode : utiliser des données expérimentales pour déterminer le modèle le plus correct du type :
Prédiction = F ( historique, données externes )
Source – Mines ParisTech
23
Définir précisément le type d’apprentissage recherché
En particulier , il faut choisir le modèle de fonctions mathématiques sous-jacent : splines, arbre de décision, réseau de neurones, arbre d’expression, machine à noyau…
Il faut définir le type d’interactions avec l’environnement :- apprentissage « hors-ligne » v.s. « en-ligne »- apprentissage « supervisé » ou non, « par renforcement »
Il faut définir la mesure de performance du système : fonction de coût, objectif, critère implicite, …Et la façon de l’améliorer : famille d’algorithmes utilisés gradient, résolution exacte, problème quadratique, heuristique.
24
2 - Apprentissage & Réseaux de Neurones Artificiels (RNA)
25
Un système d’apprentissage est en général composé :
- d’un modèle paramétrique,
- d’une façon d’interagir avec l’environnement,
- d’une « fonction de coût » à minimiser,
- d’un algorithme destiné à adapter le modèle, en utilisant les données issues de l’environnement, avec l’objectif d’optimiser la fonction de coût
26
Apprentissage supervisé
Exemples entrée-sortie(x1,y1), (x2,y2), … , (xn, yn)
H famille de modèles mathématiques
Paramètres pourl’algorithme d’apprentissage
ALGORITHME
D’APPRENTISSAGE hH
Source – Mines ParisTech
27
APPRENTISSAGE SUPERVISÉ : régression et classification
Régression Classification(approximation) (yi = « étiquettes »)
?AGENT
Entrée = perception
Sortie adéquate (attendue)
entrée
sort
ie
points = exemples courbe = régression
entrée = position point
sortie désirée = classe ( =-1,+=+1)
Fonction étiquette=f(x)(et frontière de
séparation)
Source – Mines ParisTech28
APPRENTISSAGE NON SUPERVISÉ
Deux situations sont possibles :
Ou bien on ne dispose que d’exemples de type « entrée », et on cherche à
obtenir un agent dont la « sortie » vérifie une certaine propriété (par exemple,
sortie obtenue identique ou « proche » pour des entrées « voisines »).
Ou bien on ne dispose que d’un environnement (réel ou simulé) dans lequel on
peut placer l’agent pour « évaluer » son comportement de façon à l’améliorer.
?AGENT
Entrée = perception
Sortie voulue INCONNUE
ENV
IRO
NN
EMEN
T
Source – Mines ParisTech
29
Apprentissage NON supervisé à partir de données
Base d’exemples de type « entrée seule» :
X= {x1, x2, … , xn}
(xid, souvent avec d « grand »)
H famille de modèles mathématiques
[ chaque hH agent avec comportement y=h(x) ]
Hyper-paramètres pourl’algorithme d’apprentissage
ALGORITHME
D’APPRENTISSAGE
hH telle quecritère J(h,X)soit vérifié ou
optimisé
Source – Mines ParisTech
30
axone
corps cellulaire
dendrite
synapse
Réseaux de neurones artificiels (RNA)
Le modèle du neurone biologique
31
Neurones biologiques
32
Utilisation des RNA
En classification et catégorisation :
Pour répartir en plusieurs classes des objets,
Pour transformer des données quantitatives en informations qualitatives,
Pour la reconnaissance de formes, d’images, de sons, de textes.
En Recherche Opérationnelle :
Pour résoudre des problèmes dont on ne connaît pas la solution,
En apprentissage profond.
En Mémoire Associative :
Pour restituer ou reconstituer une donnée à partir d’informations
incomplètes et/ou bruitées.
33
Bref historique des RNA
James [1890] :L’introduction du concept de mémoire associative
McCulloch & Pitts [1943]A logical calculus of the ideas immanent in nervous activities
Introduction du concept de neurone formel Les ordinateurs à codage binaire (Von Neumann)
L ’intelligence artificielle (calcul symbolique)
Les réseaux de neurones
Hebb [1949]Organisation of behavior
le conditionnement comme propriété des neurones artificiels.
Les premières lois d’apprentissage.
34
Bref historique des RNA
Rosenblatt [1957] :Présentation du perceptron comme premier modèle opérationnel
Capacité de reconnaissance d ’une configuration apprise
Utilisation pour traiter la tolérance aux bruits
Widrow [1960] :Réseau Adaline, adaptive linear element
Minsky & Papert [1969] :Une limite : impossibilité de classer des configurations non
linéairement séparables.
Abandon (financier) des recherches sur les RNA durant presque
une décennie…
35
Bref historique des RNA
[1967 - 1982] : Mise en sommeil des recherches sur les RNA. Elles continuent sous le couvert de domaines divers. Grossberg, Kohonen,
Anderson, ...
Hopfield [1982] :Introduction du modèle des verres de spins
Boltzmann [1983] :première réponse à la limite de Minsky et Papert
[1985] : la rétro-propagation du gradient et le perceptron multicouche
Rumelhart, McClelland, … [1985] : le groupe Parallel Distributed Processing
36
Le modèle mathématique d'un neurone artificiel
Entrées duneurone
Poids duneurone
37
Le modèle mathématique d'un neurone artificiel
Un neurone est constitué d'un intégrateur qui effectue la somme pondérée de ses entrées. Le résultat de cette somme est ensuite transformé par une fonction de transfert f qui produit la sortie a du neurone.
Les R entrées du neurone correspondent au vecteur P noté traditionnellement en ligne. On utilise aussi la transposée.
W représente le vecteur des poids du neurone.
La sortie n de l'intégrateur est alors définie par une égalité écrite sous forme matricielle. b désigne le « biais du neurone », c’est-à-dire un facteur correctif décidé par tâtonnement. La sortie du neurone est donnée par a = f(WtP-b)
38
Sortie n de l’intégrateur :
Sous forme matricielle :
b = biais du neurone
Sortie a du neurone :
Principe de fonctionnement du
neurone
39
Représentation formelle du neurone
40
Les plus courantes
Les plus utilisées
fonction seuil(ou "hard limit")
fonction sigmoïdefonction linéaire
Fonctions de transfert usuelles
41
Fonctions de transfert usuelles
Le modèle de RNA utilise une fonction d'activation a = f(n) qui peut être définie de plusieurs manières (souvent empiriques) en fonction des situations.
Les plus usuelles sont la fonction "seuil" ou "hard limit" en anglais, la fonction "linéaire", et la fonction "sigmoïde".
42
Construction du réseau de neurones
43
Construction du réseau de neurones
Un réseau de neurones est un maillage constitué de plusieurs neurones organisés généralement par couches.
wi,j désigne le poids de la connexion qui relie le neurone i à son entrée j.
L'ensemble est représenté par une matrice des poids de connexion W de dimension SxR et les S neurones sont représentés par un vecteur de neurones.
44
Construction du réseau de neurones
Un réseau de neurones est constitué de plusieurs couches de neurones qui sont connectées entre elles (Perceptron Multi-Couches).
Les réseaux multicouches sont beaucoup plus puissants que les réseaux simples à une seule couche. Les réseaux de neurones exploitent en général deux ou trois couches mais parfois plus (DeepFace de Facebook RN à 9 couches).
En utilisant deux couches et en employant une fonction d'activation sigmoïde sur la couche cachée, il est possible d' "entraîner" un réseau à produire une approximation de la plupart des fonctions, avec une précision arbitraire.
45
Représentation du réseau
46
Le perceptron multi-couches
47
La phase d'apprentissage d'un réseau de neurones se décompose en cinq étapes :
Etape 1 - Présenter au réseau un couple entrée-cible.Etape 2 - Calculer les prévisions du réseau pour les cibles.Etape 3 - Utiliser la fonction d'erreur pour calculer la différence entre les prévisions (sorties) du réseau et les valeurs cible. Reprendre les étapes 1 et 2 jusqu'à ce que tous les couples entrée-cible aient été présentés au réseau. Etape 4 - Utiliser l'algorithme d'apprentissage afin d'ajuster les poids du réseau de telle sorte qu'il produise de meilleures prévisions à chaque couple entrée-cible. Remarque : les étapes 1 à 5 constituent un seul cycle d'apprentissage ou itération. Le nombre de cycles nécessaire pour entraîner un modèle de réseaux de neurones n'est pas connu a priori mais peut être défini dans le cadre du processus d'apprentissage.Etape 5 - Répéter à nouveau les étapes 1 à 5 pendant un certain nombre de cycles d'apprentissage ou d'itérations jusqu'à ce que le réseau commence à produire des résultats suffisamment fiables (c'est-à-dire des sorties qui se trouvent assez proches des cibles compte tenu des valeurs d'entrée). Un processus d'apprentissage type pour les réseaux de neurones est constitué de plusieurs centaines de cycles.
48
Les réseaux de neurones sont performants dans les taches suivantes :
Traitement du signal, Maîtrise des processus,
Robotique,Classification,
Pré-traitement des données Reconnaissance de formes,
Analyse de l'image et synthèse vocale, Diagnostics et suivi médical,
Marché boursier et prévisions, Demande de crédits ou de prêts immobiliers.
49
Deep Learning et Réseaux de Neurones
On enregistre les premiers succès du Deep Learning (apprentissage profond) en 2006. Les réseaux de neurones accompagnent les avancées du Deep Learning .
Ces réseaux sont multicouches. Ils effectuent une série de traitements hiérarchisés dans le but de classer des objets en catégories, sans critères prédéfinis. Il s'agit d'un apprentissage non supervisé.
Google, Facebook, IBM les utilisent partout aujourd’hui…
Donnons quelques exemples :
50
DeepFace de Facebook
Facebook a développé DeepFace, une application de reconnaissance de visages qui atteint des taux de réussite de plus de 97 %.
DeepFace utilise un réseau de neurones à 9 couches.
51
52
Le champion Sud Coréen Lee Sedol affrontant l’IA AlphaGo au jeu de GO en 2016
En 2016, AlphaGo, l’intelligence artificielle développée par Google DeepMind a battu à 4 reprises le champion du monde de jeu de Go, Lee Sedol (5 manches à 0 en janvier contre le champion européen et 4 manches à une en mars contre Lee Sedol).
Avec ses 10 puissance 600 combinaisons possibles, le jeu de Go reste beaucoup plus complexe que le jeu d’échecs.
AlphaGo a utilisé les techniques du Deep Learning pour réaliser cet exploit.
AlphaGo – DeepMind Google
55
AlphaGo – DeepMind Google
56
57
Google Car & Deep Learning
58
Dans les rêves des couches profondes des réseaux de neurones de Google…
59
Dans les rêves des couches profondes des réseaux de neurones de Google…
60
TensorFlow, la bibliothèque « Machine Learning » de Google
https://www.tensorflow.org/
61
Watson – IBM
62
Watson – IBM
63
Les dérives de TAY, l’IA de Microsoft qui apprenait trop bien …
64
Les dérives de TAY, l’IA de Microsoft qui apprenait trop bien …
65
Un exemple issu de la convergence bio-informatique(convergence NBIC)
Le processeur neuromorphique TrueNorth IBM issu du programme DARPA SyNAPSE
En 2016, l’Intelligence Artificielle a surpassé l’homme dans plusieurs domaines.
Ces domaines étaient jusque là réservés à la seule expertise humaine.
Robot chirurgien autonome STAR (Smart Tissue Autonomous Robot)
Pour la première fois, un robot chirurgien a opéré de manière totalement autonome . Il est intervenu pour recoudre deux parties d’un intestin de cochon.
Les chercheurs responsables de ce programme ont publié leurs résultats en mai 2016 dans la revue Translational Medecine.
Le robot autonome a opéré avec plus de précision et d’habileté que les chirurgiens humains et que les robots pilotés manuellement par l’homme sur le même type d’intervention.
Des technologies d’imagerie intelligente et des marqueurs fluorescents ont permis au robot de s’adapter aux tissus mous et de réaliser des sutures et des connexions optimales.
La phase de test va se poursuivre durant deux ans avant une intervention humaine.
Le « nouveau Rembrandt » peint par une Intelligence Artificielle
Le 5 avril 2016, un nouveau Rembrandt a été dévoilé…Ce tableau « à la manière de Rembrandt » a été entièrement réalisé par une IA créée par Microsoft, la banque ING, l’Université de Delft et deux musées néerlandais .
L’IA a d’abord analysé des centaines de tableaux de Rembrandt puis a déterminé les caractéristiques dominantes du Maître. Elle a ensuite piloté une imprimante 3D pour réaliser cette œuvre inédite en respectant parfaitement le style de Rembrandt.
Defense Advanced Research Projects Agency
SeaHunter, navire autonome de 45 mètres, transocéanique, dédié à la lutte anti-sous-marine – En phase de test depuis 2016 -Programme Darpa sur l’autonomie.
La course à l’IA est lancée …
La Course à l’IA
La Course à l’IA
La Course à l’IA Google, IBM, Twitter, Intel, Apple, Yahoo, Salesforce, Samsung, sont en concurrence depuis 2011 pour racheter les startups d’IA les plus innovantes.
Depuis 2011, 140 startups et entreprises travaillant dans le secteur de l’intelligence artificielle avancée ont été rachetées , dont 40 acquisitions en 2016 !
Les leaders de la recherche en Machine Learning
La Chine et les Etats-Unis sont leaders dans la recherche en Machine Learning / Deep Learning.
La Chine vient de prendre la tête du classement des pays en terme de publications de recherche en Machine Learning / Deep Learning et des citations de ces articles.
Barack Obama a fait plusieurs interventions rappelant l’importance stratégique de l’IA dans la future croissance américaine. Plusieurs études prospectives sur l’IA ont été lancées par son gouvernement.
https://www.whitehouse.gov/sites/default/files/whitehouse_files/microsites/ostp/NSTC/national_ai_rd_strategic_plan.pdf
3 - L’IA comme moteur de la cybersécurité
87
Quelques chiffres de cybersécuritéPériode 2016 - 2017
88
89
Cartographie des vulnérabilités et des cyberattaques (2016 – 2017)
90
91
92
93
94
95
Pour détecter les menaces, les mécanismes de sécurité « traditionnels» se basent aujourd’hui sur des signatures ou sur des scénarios de malveillance pré-établis, donc rigides et peu ou pas adaptés aux menaces en évolution permanente.
Les solutions de cybersécurité classiques sont créées autour de règles utilisées pour détecter les vulnérabilités et les activités suspectes. Elles sont en général insensibles aux APT.
Ces systèmes ont atteint leurs limites fonctionnelles !L’IA permet de dépasser ces limites.
96
Security Information and Event Management
97
UBA : User Behavior Analytics
98
99
100
101
Fonctionnement d’une solution UBA
Une solution utilisant l’UBA apprend, sans pré-requis de modèle, à partir de « l’historique de vie » d’un système puis catégorise et sépare les comportements « anormaux » de ceux qui sont conformes aux standards de sécurité.
L’UBA est ainsi en mesure de produire des alertes sur des événements susceptibles de créer un contexte de vulnérabilité.
Le fonctionnement de l’UBA repose sur l’apprentissage statistique. Celui-ci exploite les données massives qui demeuraient jusqu’à présent sous-employées ou seulement partiellement utilisées comme les bases de logs des systèmes connectés.
102
Fonctionnement d’une solution UBA
Les outils UBA exploitent massivement les rapports d’activité, les fichiers de logs et le SIEM (Security Information Management System) en tant que base d’apprentissage.
Ils définissent des motifs typiques correspondant statistiquement à des comportements à risque.
Les solutions UBA contiennent souvent plusieurs moteurs de détection d’anomalies, complémentaires, qui collaborent pour couvrir un large spectre de menaces. On y trouve en général un moteur de détection de signal faible, un moteur de corrélation métier issu de l’expertise d’ingénieurs en cybersécurité complétés par une base de connaissance globale régulièrement mise à jour à partir des retours d’expériences-clients.
103
Fonctionnement d’une solution UBA
Ces moteurs travaillent sur une base (big data) souvent externalisée qui contient les données d’entrées utilisées ensuite lors de la phase d’apprentissage.
Ces données proviennent de sources diverses : SIEM et logs via les connecteurs SIEM, des messages AMQP (Advanced Message Queuing Protocol) et des requêtes JSON (JavaScript Object Notation).
Après analyse, le système UBA renvoie les alertes, les seuils et les sources d’anomalies par logs, Syslogs, AMQP et XML/JSON. Les règles métiers peuvent être implémentées et suivies dans le corrélateur métier (cf; Technologie Reveelium développée par ITrust).
104
Ce que détecte une solution UBA
L’IHM des moteurs UBA permet d’afficher les corrélations, de suivre les déviances et d’instaurer un dialogue entre l’utilisateur et son système de détection. Les anomalies affichées peuvent être des virus connus, des malwares furtifs, des comportements à risque, de la fraude, une fuite de données, une malveillance numérique…
Les solutions UBA offrent un spectre de détection beaucoup plus large qu’un système de supervision classique ou qu’un antivirus.
Elles permettent ,entre autres, l’analyse forensique et l’investigation après une compromission. Elles identifient l’attaque et son cheminement.
Elles sont en mesure de détecter une utilisation frauduleuse du système d’information et notamment l’usurpation de droits.
105
Elles réagissent à la perte et au vol de données et se montrent efficaces face à des attaques de type APT.
Elles peuvent prédire certains crashs entraînant une indisponibilité de la production et sont utiles pour respecter la conformité aux réglementations et aux meilleures pratiques.
Elles détectent les pertes et fraudes financières ainsi que les attaques sur l’image de marque. L’apprentissage statistique permet souvent de diviser par 50 les temps d’analyse des données par les superviseurs !
Pour finir, on notera que lorsque la solution UBA est développée en Europe, sa technologie n’est pas soumise au Patriot Act et les données des clients restent confidentielles, conformément aux réglementations européennes.
106
Ce que l’UBA (2016) aurait pu éviter …
Une solution UBA aurait été en mesure de détecter les agissements de Snowden avant qu’il ne réalise ses vols de données.
Cette solution UBA aurait également été capable de détecter la propagation des virus et APT récents (Target, Sony,…) avant les extractions de données confidentielles des entreprises concernées.
107
Quelques exemples de solutions proposant l’approche User Behavior
Analytics (UBA)
SPLUNK – solution UBAITRUST - solution Reveelium
DARKTRACE SENTRYO – solution ICS Cybervision
THALES – Sonde Cybels SensorCISCO TALOS
BALABIT – BLINDSPOTTERLes succès d’IBM en cybersécurité
108
Splunk – solution UBA Société américaine (San Francisco) développe une solution appelée UBA (User Behavior Analytics) qui se veut « clé en main ». Elle permet de détecter des menaces connues, inconnues et dissimulées via l’apprentissage automatisé.
Avant l’UBA, les solutions travaillaient sur la base de règles et de codification de tous les scénarios qui pouvaient aboutir à une anormalité. Les limites sont atteintes : impossible de tout codifier et un taux extrêmement élevé de faux positifs d’autre part. L’UBA fournit aujourd’hui une approche complémentaire qui permet de détecter les comportements déviants.
Splunk vient de racheter la start-up Caspida spécialisée dans les technologies de machine learning.
109
110
111
112
113
114
115
116
117
Solution Itrust Reveelium
118
119
120
121
Darktrace
Start-up britannique fondée en 2013, valorisée à 100 millions de dollars, utilise des technologies d’UBA issues de recherches menées à l’Université de Cambridge. Les solutions Darktrace construisent un modèle comportemental à partir du flux généré par les machines et les usages des employés. Ce modèle apprend tout au long de la durée de vie du projet. Il fonctionne comme un système immunitaire biologique qui devient performant pour détecter les APT. La solution Darktrace utilise environ 300 paramètres (heures, IP de connexion des utilisateurs,…) pour établir un modèle comportemental dont la première phase d’apprentissage dure environ une semaine. Le réseau est visualisable en 3D, en temps réel. Des solutions existent pour la bureautique et pour les systèmes industriels.
122
123
124
125
126
127
Sentryo ICS Cybervision (startup française)
La start-up lyonnaise Sentryo développe la solution ICS CyberVisiondédiée à la sécurisation « UBA » des sites industriels critiques SCADA. Sentryo rapproche IT et OT. Ses solutions permettent de dépasser le périmètre classique d’un système, avec une approche plus globale de sa cybersécurité.
https://www.sentryo.net/fr/
128
Solution Sentryo surveillant un réseau industriel SCADA
129
Thales –Sonde de détection Cybels Sensor
Le groupe Thales développe sa sonde de détection d’intrusion Cybels Sensor qui intègre l’UBA pour détecter les évènements anormaux en complément des signatures d’attaques classiques.
https://www.thalesgroup.com/sites/default/files/asset/document/cybels_white_paper_uk_08042013.pdf
130
Thales – Cybels Sensor
131
Cisco – Talos
Talos, division sécurité de Cisco développe une solution dédiée aux sites industriels qui embarque des technologies d’UBA.
132
BALABIT – Blindspotter
133
BALABIT – Blindspotter
134
BALABIT – Blindspotter
135
BALABIT – Blindspotter
136
BALABIT – Blindspotter
137
BALABIT – Blindspotter
138
Les succès d’IBM en matière de cybersécurité
IBM QRADAR : la solution SIEM
IBM RESILIENT : la solution de réponse automatisée à incidents et aux
cyberattaques
IBM Watson bientôt au service de la cybersécurité
139
140
141
142
Produits de cybersécurité IBM connexes QRADAR
143
144
145
IBM développe via Watson la cybersécurité cognitive
146
147
148
149
Perspectives & Prospectives
150
Les programmes DARPA en cybersécurité & UBA
http://www.darpa.mil/program/space-time-analysis-for-cybersecurity
http://www.darpa.mil/program/cyber-grand-challenge
Open Catalog : http://opencatalog.darpa.mil/ADAMS.html
151
152
153
154
Eléments de prospective
Eléments de prospective
Organisée par la DARPA (l'Agence pour les projets de recherche avancés de défense supervisée par le département de la Défense des Etats-Unis), la phase finale du Cyber Grand Challenge vient de se dérouler, les 6 et 7 août 2016, à Las Végas. Le CGC a opposé sept systèmes robotisés développés durant trois années par sept équipes finalistes dans la détection automatique de vulnérabilités logicielles et réseaux présentes dans le système adverse et la protection de son propre environnement numérique. Conçu avant tout comme un démonstrateur, le tournoi CGC a prouvé qu'il était désormais possible de concevoir des agents logiciels capables de scanner de façon automatique des codes adaptés puis de détecter certaines de leurs vulnérabilités. La compétition a eu lieu dans un environnement numérique spécifique dans lequel se sont affrontés quinze supercalculateurs détecteurs de vulnérabilités informatiques devant un comité d'arbitrage qui a finalement désigné l'équipe ForAllSecure comme gagnante du Challenge CGC.
Eléments de prospective
La Darpa souhaite désormais développer des agents logiciels "chasseurs de bugs" ouvrant ainsi la voie à une cybersécurité automatisée, industrialisée, exploitant massivement les techniques de l'intelligence artificielle. Les démonstrateurs finalistes du CGC doivent évoluer à très court terme vers la production d'agents "Bug-Hunting Bots" qui seront déployés sur l'ensemble des réseaux sensibles. Ces futurs agents autonomes pourront être utilisés autant en mode défensif qu'en version offensive afin de détecter certaines des vulnérabilités d'un système adverse. Cette évolution vers une cyberdéfense"robotisée" se trouve toutefois limitée par un résultat mathématique lié au problème de l'arrêt (Turing) qui prouve qu' il n'existe pas d'analyseur universel capable de décider sans jamais se tromper, pour tout programme, si ce programme est sûr ou non. Cette limite théorique permet d'affirmer que la cybersécurité absolue n'existe pas... Cela dit, une telle borne n'interdit pas le développement de systèmes de détections dont la performance pourrait atteindre 90 ou 95% de l'ensemble des vulnérabilités.
Eléments de prospective
Eléments de prospective
Eléments de prospective
Eléments de prospective
Eléments de prospective
Lorsque deux IA installent un protocole cryptographique ….
Article (octobre 2016) de Google Brain
https://arxiv.org/pdf/1610.06918v1.pdf
Eléments de prospective
Eléments de prospective
" Alice devait envoyer un message à Bob, qui devait réussir à le déchiffrer sans qu’Eve ne parvienne à écouter le message. L’expérience a dépassé toutes les attentes, : les IA « ne sont en général pas destinées à être bonnes en chiffrement » expliquent les chercheurs de Google. Et les deux I.A. n’avaient appris d’aucun algorithme de chiffrement spécifique. Les deux IA ont mis du temps avant de parler le même langage. Alice a ainsi envoyé plusieurs messages chiffrés de 16 bits à Bob qui devait les déchiffrer (tout comme Eve). Seul Bob détenait la clé de déchiffrement. Il aura fallu pas moins de 10 000 messages avant que Bob ne réussisse à reconstruire le message en clair. Dans le même temps, Eve, qui faisait de moins en moins d’erreurs, a vu son sort se compliquer à mesure que les IA réussissaient à communiquer entre elles. Au bout de 15 000 messages, c’était chose faite et Eve n’était plus en mesure d’écouter la conversation. Reste à comprendre comment l’algorithme de chiffrement s’est constitué. » (journaldugeek.com)
Eléments de prospective
Eléments de prospective
Prouver les futurs programmes et compilateursAvec un assistant de preuve comme COQ
Eléments de prospective
(Article Wikipedia) : Coq est un assistant de preuve utilisant le langage Gallina, développé par l'équipe PI.R2 d'Inria au sein du laboratoire PPS du CNRS et en partenariat avec l'École polytechnique, le CNAM, l'Université Paris Diderot et l'Université Paris-Sud (et antérieurement l'École normale supérieure de Lyon).Le nom du logiciel (initialement CoC) est particulièrement adéquat car : il est français ; il est fondé sur le calcul des constructions (CoC abrégé en anglais) introduit par Thierry Coquand. Dans la même veine, son langage est Gallina et Coq possède un wiki dédié, baptisé Cocorico!. Coq a été récompensé du ACM SIGPLAN Programming LanguagesSoftware 2013 Award. Coq est fondé sur le calcul des constructions, une théorie des types d'ordre supérieur, et son langage de spécification est une forme de lambda-calcul typé. Le calcul des constructions utilisé dans Coq comprend directement les constructions inductives, d'où son nom de calcul des constructions inductives (CIC).
Eléments de prospective
(Article Wikipedia) : Coq a été récemment doté de fonctionnalités d'automatisation croissantes. Citons notamment la tactique Omega qui décide l'arithmétique de Presburger. Plus particulièrement, Coq permet de manipuler des assertions du calcul ; de vérifier mécaniquement des preuves de ces assertions ; d'aider à la recherche de preuves formelles ; de synthétiser des programmes certifiés à partir de preuves constructives de leurs spécifications. C'est un logiciel libre distribué selon les termes de la licence GNU LGPL.Parmi les grands succès de Coq, on peut citer le théorème des quatre couleurs : la démonstration complètement mécanisée a été terminée en 2004 par Georges Gonthier et Benjamin Werner ; le théorème de Feit et Thompson : la preuve du théorème a été terminée par Georges Gonthier et son équipe en septembre 2012 ; le compilateur CompCert C : un compilateur optimisant le C qui est en grande partie programmé et prouvé en Coq.
Formons des Data scientist !
La montée en puissance de l’IA dans les solutions de cybersécurité fait appel à de nouvelles expertises croisant les compétences :Mathématiciens , statisticiens, scientifiques des données…
La pénurie de data scientist sur le marché de l’emploi en Europe est aujourd’hui une réalité …
169
170
Bibliographie - Intelligence Artificielle
Harry Henderson, Artificial Intelligence, Mirrors for the Mind, 2007, Milestonesin Discovery and invention.
Fundamentals of the New Artificial Intelligence , Neural, Evolutionary, Fuzzy and More, Toshinori Munakata, Second Edition, 2008, Springer.
Max Lungarella, Fumiya Iida, Josh Bongard, Rolf Pfeiffer, 50 Years of ArtificialIntelligence.
Da Duan, Paolo F Fantoni, Martine De Cock, Mike Nachtegael Etienne E Kerre, Applied Artificial Intelligence, 2006.
Keith Frankish, William M. Ramsey, The Cambridge Handbook of ArtificialIntelligence.
Hsinchun Chen, Christopher CN Yang, Intelligence and Security Informatics, Studies in Computational Intelligence.
171
Bibliographie - Réseaux de neurones artificiels
Xingui He, Shaohua Xu, Process Neural Networks : Theory and Applications, 2010.Haykin S, Neural Networks, 2ed, 1999.Robert A. Dunne, A statistical approach to neural networks for pattern recognition, 2007.Dreyfus G. , Neural Networks : Methodology and Applications, Springer, 2005.Picton P. , Neural Networks, 2002.Fyfe C. , Artificial Neural Networks and Information Theory, 2000.Bishop, C. (1995). Neural Networks for Pattern Recognition. Oxford: University Press. Carling, A. (1992). Introducing Neural Networks. Wilmslow, UK: Sigma Press.
172
Bibliographie - Réseaux de neurones artificiels
Fausett, L. (1994). Fundamentals of Neural Networks. New York: Prentice Hall. Haykin, S. (1994). Neural Networks: A Comprehensive Foundation. New York: Macmillan Publishing.Kohonen, T. (1982). Self-organized formation of topologically correct feature maps. Biological Cybernetics, 43:59-69.Patterson, D. (1996). Artificial Neural Networks. Singapore: Prentice Hall.Ripley, B.D. (1996). Pattern Recognition and Neural Networks. Cambridge University Press.Rumelhart, D.E., and J.L. McClelland (1986), Parallel Distributed Processing, Volume 1. The MIT Press. Foundations.Tryon, R. C. (1939). Cluster analysis. New York: McGraw-Hill.
173
Bibliographie - Machine Learning & Cybersecurity
Yihong Gong, Wei Xu, Machine Learning for Multimedia Content Analysis(Multimedia Systems and Applications), 2007.
John D. Kelleher , Brian Mac Namee , Aoiff D’Arcy , Fundamentals of Machine Learning for Predictive Data Analytics : Algorithms, Worked Examples, and Cases Studies.
Sumeet Dua, Xian Du, Data Mining and Machine Learning in Cybersecurity, 2011.
Drew Conway, John Miles White, Machine Learning for Email : Spam filtering and Priority Inbox , 2011.
Drew Conway, John Miles White, Machine Learning for Hackers, 2012.
Dehmer Matthias, Subhash C. Basak, Statistical and Machine Learning Approaches for Network Analysis, Wiley, 2012.
174
http://cyberland.centerblog.net/http://echoradar.eu/
http://www.chaire-cyber.fr/175