Tout le monde entend parler de machine learning, d’intelligence artificielle, de big data, d’analytics... Qu’en est-il de ces concepts, et notamment du machine learning appliqués à la cybersécurité ?
MACHINE LEARNING, KESAKO ?
Le « machine learning » pourrait se définir tel que « le concept d’utiliser les données et des algorithmes pour permettre à une machine d’apprendre d’elle-même ».LA THÉORIE, DES DOMAINES ET DES GRAPHES…
Contrairement à la modélisation statistique qui consiste en la formalisation de règles entre des variables sous la forme d’équations mathématiques, le machine learning désigne le concept d’un algorithme qui peut apprendre à partir des données sans s’appuyer sur des règles préprogrammées. En cela, le machine learning appartient au domaine de l’information et de l’intelligence artificielle.LE MACHINE LEARNING S’APPUIE SUR LES RÉCENTS PROGRÈS TECHNOLOGIQUES
Les 3 principaux piliers du machine learning sont :
- L’exploration de données (data mining), permise et justifiée par la quantité et la diversité des données aujourd’hui produites, potentiellement collectées et disponibles.
- La reconnaissance de motifs (pattern recognition), permettant notamment de tisser des liens entre les données recueillies et de faire ressortir des motifs.
- L’informatique neuronale (neurocomputing), comme moyen supplémentaire d’analyse, inspiré des réseaux neuronaux biologiques, comme le cerveau.
Ces capacités sont permises par les récents progrès technologiques, comme l’illustre le schéma ci-dessous :
Finalement, le machine learning constitue le « cerveau » qui permet d’extraire du sens depuis l’entrepôt de données.
COMMENT CELA FONCTIONNET-T-IL ?
Donner la capacité à une machine d’apprendre ne va pas de soi ! En voici les concepts clés :
Le processus peut se décomposer en plusieurs phases :
- Le prétraitement des données, via la normalisation et l’épuration des données, permet de les rendre accessibles au traitement.
- L’apprentissage, qui peut se baser sur plusieurs types d’algorithmes, parmi lesquels :
- L’apprentissage supervisé crée un modèle en se basant sur des exemples étiquetés obtenus à partir d’expériences passées. Il nécessite des données d’entrainement composées de 2 ensembles : premièrement des éléments/valeurs d’entrée (également appelés « features »), et secondement, une classe (ou «labels»), exemple : site Web de phishing vs. site sain. Le but du modèle créé est de prédire la classe pour des données où seules les features sont disponibles. Concrètement, pour qu’un programme apprenne à reconnaître une voiture, par exemple, il est « nourri » de dizaines de milliers d’images de voitures, étiquetées comme telles. Une fois entraîné, il peut reconnaître des voitures sur de nouvelles images.
- L’apprentissage profond ou non-supervisé vise à laisser le soin (et le travail) à la machine (comprendre l’algorithme) de déterminer les classes en mettant en exergue les motifs communs et différences. Cette méthode se distingue de l’apprentissage supervisé par le fait qu’il n’y a pas de sortie a priori. Cette technique se base sur un « réseau de neurones » dans lequel les résultats de la couche de neurones vont servir d’entrée au calcul des autres couches. En mars 2016 le programme alphaGo ayant appris à jouer au jeu de go par cette méthode a battu le champion du monde Lee Sedol 4 parties à 1.
- L’analyse des erreurs constituant une phase de test du modèle.
Ensuite, afin de valoriser les données classifiées, il s’agit de combiner les classes.
Cette phase est certainement plus délicate. En effet, la corrélation fait intervenir des règles liées aux métiers (à l’utilisation voulue du machine learning), mêlant des règles notamment faites d’expériences et d’exceptions.
DE NOMBREUSES APPLICATIONS POSSIBLES POUR UN MARCHÉ EN PLEIN BOOM
L’intelligence artificielle et plus précisément le machine learning a décidément le vent en poupe ! Des applications historiques telles la prévention de la fraude dans le milieu bancaire ou à la prédiction des maladies et à l’aide à la décision pour les soins associés (cf. Google DeepMind et London Eye Hospital), il existe de nombreux débouchés potentiels (dont cet article n’est pas l’objet).
Tiré par les grands et notamment Google, de nombreuses annonces au sujet du machine learning ont été publiées récemment, avec par exemple :
- Google ayant rendu public courant mai ses puces « TPU » (Tensor Processing Unit) spécialement conçues pour être optimisées pour les opérations de réduction (opération élémentaire du machine learning), utilisable avec sa bibliothèque opensource nommée « TensorFlow ».
- En juin, la société BrainChip (producteur de puces dédiées au machine learning) a racheté la société française « Spikenet Technology » offrant des « technologies multi-applicative de reconnaissance de formes en temps réel » avec par exemple des applications dans la surveillance des aéroports.
LE MACHINE LEARNING APPLIQUÉ À LA CYBERSÉCURITÉ
Intéressons-nous maintenant aux applications du machine learning à la cybersécurité et notamment à la détection d’incidents de sécurité.
Des moteurs de détection en pleine évolution
Avant d’évoquer les applications à proprement parler, dressons un rapide récapitulatif des solutions / moteurs de détections actuels, parmi lesquels :
- Les méthodes historiques (de type « antivirus ») se basant sur des signatures : la solution cherche, notamment dans les fichiers, des traces des signatures connues comme faisant partie de malwares.
- Les solutions plus avancées se basent sur l’émulation (i.e. exécution du malware présumé dans un environnement bac à sable) pour déterminer s’il en résulte un comportement malveillant ou non. Cela passe par une combinaison d’analyse comportementale (ex. il n’est pas « normal » qu’un binaire lise et réécrive un grand nombre de fichiers sur les périphériques de stockage, ce qui peut être le signe d’un ransomware) et de recherche d’indicateurs de compromission – IOC (ex. un fichier faisant des HTTP GET vers des URL / IP connus comme étant répertoriés comme un C&C).
- De nouvelles solutions, d’analyse comportementale à grande échelle ingérant de grandes quantités (plusieurs Gbps) et variétés de données (flux, métadonnées, logs, etc.) à la recherche de déviances pouvant indiquer des actes malveillants.
C’est notamment sur ce dernier type de solutions que le machine learning peut apporter une réelle valeur ajoutée.
Quelques initiatives en matière de Cybersécurité
À noter par exemple l’initiative « AI² » portée conjointement par le MIT et la startup PatternEx, matérialisée par la création d’une plateforme basée sur le machine learning (non supervisé et supervisé) qui permettrait de détecter 85% des menaces (3 fois plus que les précédents essais) en apprenant de plus de 3,6 milliards de lignes de logs.
Parmi les grands éditeurs de solutions de sécurité, RSA (division sécurité d’EMC, en passe d’être racheté par Dell) a annoncé à la RSA conférence (mars 2016) l’intégration à la suite Security Analytics (le SIEM RSA sur la base des logs et des paquets réseaux) d’un moteur d’analyse comportemental temps réel basé sur le machine learning.
Du côté de « Big Blue », l’éditeur fournisseur de la plateforme de SIEM bien connue « Qradar » a annoncé en mai la sortie d’une déclinaison appliquée à la cybersécurité de sa plateforme de machine learning « Watson ».
IBM compte nourrir « Watson for cybersecurity » de son flux de Threat Intelligence « X-force » mais aussi des données moins structurées tels que des messages de SPAM, des malwares ainsi que des rapports de recherche, aidé par le partenariat établi sur ce projet avec 8 universités nord-américaines. L’éditeur prévoit de traiter 15 000 documents par mois.
De taille plus modeste et plus proche de nous, la société DarkTrace, fondée en 2013 et basée en Angleterre, propose une solution de détection, nommée « Enterprise Immune System » qui n’utilise pas d’IOC mais uniquement des algorithmes de machine learning. Une déclinaison au monde des SI industriels est également disponible. L’éditeur indique un temps moyen d’apprentissage (capture des données, contextualisation manuelle, levée d’alerte, tunning de manière itérative, etc.) d’environ 2 semaines.
La solution, outre son moteur de détection différenciant, offre une interface particulièrement visuelle.
Nous avons récemment pu la voir fonctionner (en environnement de démo) et la challenger dans le cadre d’un RFP pour un client du cabinet. La solution semble particulièrement prometteuse. Darktrace a levé 65 millions de dollars début juillet pour continuer son développement.
Ce qui est particulièrement intéressant avec ces solutions est le fait qu’elles ne se concentrent pas seulement sur la détection de l’ « infection initiale » mais aussi et surtout sur la détection des « symptômes » (post infection donc), offrant une visibilité accrue pour détecter les comportements malveillants.
UN MOYEN DE DÉTECTION COMPLÉMENTAIRE PLUTÔT QU’UNE FIN EN SOI
Le machine learning, même s’il n’est pas nouveau, a récemment fait ses preuves et de nombreuses applications (fraude, santé, assurance, etc.) sont envisageables. Cette combinaison rend le machine learning très tendance actuellement et intéressant pour les prochaines années.
Appliqué à la cybersécurité et à la détection d’incidents de sécurité, les grands acteurs du domaine (ex. RSA, IBM) enrichissent leur plateforme par des moteurs de détection basés sur du machine learning, et des sociétés « pure player » (ex. Darktrace) voient le jour et commercialisent des solutions dédiées. Cela dit, le marché semble est encore peu mature.
Aussi, très rares sont aujourd’hui les grands comptes ayant déployé une solution de détection d’incidents de sécurité principalement basée sur le machine learning. En effet, les équipes de sécurité sont souvent dépassées par les alertes des moyens de détection actuels sans qu’il y ait besoin d’en ajouter un. Un réel niveau de maturité SSI semble donc un prérequis avant de s’équiper d’une telle solution.
Dans tous les cas, le machine learning constitue une approche complémentaire car ne visant pas à détecter les mêmes évènements : son apport semble bien plus important sur le volet détection de comportements malveillants suite à compromission que sur la détection de la compromission elle-même.
Finalement, le machine learning appliqué à la cybersécurité apparait comme un moyen complémentaire et non une fin en soi : du côté des solutions, les capacités de visualisation, d’automatisation et de reporting semblent cruciales, côté humain, la disponibilité et la qualité de l’expertise restent plus que jamais nécessaires.
Bref, un sujet à suivre de près !