Catégories
conférences

C&ESAR 2018 – J1

Apports de l’IA à l’analyse de risque

Bon, l’analyse de risque, c’est pas simple, source d’erreurs, et parfois fastidieux. Alors mettre une IA pour automatiser ces analyses, pourquoi pas. Lorsqu’on effectue une analyse de risque, on cherche à prendre des decisions qui réduisent l’impact et la vraissemblance des attaques. L’analyse de risque migre de la gestion du risque à la gestion du cycle de vie de la sécurité. Ces processus de sécurité tels que définis par l’iso 15288 sont autant de points ou l’intelligence artificielle peut s’appliquer.

On peu aussi envisager l’IA comme une source de risques, permettant la mise en place d’attaques jusqu’alors complexes à réaliser (comme la génération d’empreintes digitales pour tromper les scanners biométriques: https://arxiv.org/pdf/1705.07386.pdf ).

Retour d’expérience sur le Machine Learning appliqué à la sécurité

(suite(s) du sujet déjà présenté à SSTIC l’an dernier)
Les étapes à envisager pour pouvoir mettre en oeuvre du machine learning sont les suivantes: l’annotation des donnés, l’extraction d’attributs sur lesquels le machine learning va s’appuyer pour l’apprentissage. Le modèle d’aprentissage qui influe grandement sur les performances, et en fin la validation du modèle de détection.

Les jeux de donnés sont très cruciaux pour la mise en oeuvre du machine learning. Ce travail d’annotation peut s’avérer très couteux et sensible dans le domaine de la sécurité informatique. Afin de réduire le coût de ces annotations, l’oratrice à mis au point une interface dédiée à la création de ces annotations.

Autre enjeux, comprendre sur la base de quels éléments le modèle à pris la décision de signaler tel élément. Supprimer cet effet boite noire peut passer par l’emploi de modèles d’aprentissages plus simples que les réseaux convolutifs profonds. Les arbres de décisions ou les réseaux bayésiens sont un exemple d’algorithmes de machine learning « simples » et compréhensibles par un expert en sécurité.

Attaques sur le Machine Learning

Le machine learning peut être attaqué de diverses façons. Côté accessibilité, on peut mettre en déni de service le modèle ou l’empêcher de décider. Côté confidentialité, on peut extraire des informations de ces modèles (en extrayant les poids du réseau de neurone par exemple). On peut aussi attaquer la disponibilité en le trompant avec des donnés conçues spécifiquement pour. 
La question du moment ou l’attaquant va mener son attaque est importante, car s’il interviens tôt dans le cycle de mise en oeuvre d’une IA, il peut par exemple empoisonner le jeu de donnés. Un empoisonnement des donnés peut avoir un impact fort sur les performances du modèle, quel que soit ce dernier. 

Lorqu’on travaille sur un modèle existant, on peut extraire des informations de ce dernier, soit des donnés « moyennes » soit carrément des donnés complètes telles quelles sont au sein du modèle. Autre type d’attaque; altérer une donnée existante pour qu’elle match autre chose que ce qu’elle est. Le problème, c’est qu’une donnée « offensive » généré pour tromper un modèle, peut aussi avec une forte probatilité être transféré sur un autre modèle, autrement dit, le camouflage fonctionne pour divers modèles spécialisés pour reconnaître ces donnés.

Si l’attaquant met la main sur une instance physique de votre IA, il peut mener des attaques physiques types SCA pour identifier les fonctions d’activations employés dans le modèle, d’en extraire des image, voir d’en réaliser une inversion de modèle complète.

Skeptic: détection de comportement anormaux par machine learning

La fraude en ligne est grandissante, et le nombre d’attaques sur les applications web est toujours aussi important. Les fraudeurs s’appuient souvent sur de la ré-utilisation d’identifiants fuités sur internet pour échapper aux modèles de détection « classiques ». UBEA: User & Entity Behavior Analytic consiste à créer une « baseline » de comportement(s) normaux, afin de détecter les comportement annormaux qui dévieraient de cette ligne rouge apprise par le modèle.

Skeptic se base sur des logs applicatifs issu du monitoring des applications à sécuriser, et des modules d’action qui permettent de verrouiller ou de « challenger » un utilisateur dont le comportement semblerais suspect. Les logs sont collectés sans avoir à modifier l’application, et l’apprentissage est non-supervisé. L’analyse des logs se fait au travers de multiples extracteurs de propritétés associés à des algorithmes de Machine Learning adaptés, et les scores issus de ces algo font l’objet d’une analyse multi-critères à la façon d’un système expert. Cette approche permet de « tuner » le score issu de l’analyse, et d’adapter le poids de telle ou tellle analyse sur le score final.

La solution à été développée sur Spark avec une file de message Kafka,  et un ELK pour l’indexation et la visualisation des donnés pour la supervision et l’investigation.

Retour d’expérience sur la détection d’un comportement hostile dans un réseau. 

L’UEBA est une stratégie de détection comportementale qui peut générer son lot de faux positifs, et qui lorsqu’elle est mise en oeuvre avec des donnés d’entrainement potentiellement « teintés » d’une attaque peut avoir des résultats biaisés. Premier Poc sur la base d’un algorithme de forêts isolés non-supervisés pour détecter un scénario de spear-phishing sur un réseau d’entreprise. L’autre sur des auto-encodeurs pour détecter l’exécution d’un script bash malveillant sur un système linux.

Robustesse des IA face à l’évasion de modèle

Le modèle choisi pour « classifier » les donnés dépend de la richesse des donnés et de la complexité du modèle. Souvent, le modèle est complexe, et on préfère des réseaux convolutifs à la place de modèles linéaires simples. La formation de ces modèles dépend de la qualité des donnés d’apprentissage. Une attaque classique consiste par exemple à introduire une attaque dans le jeu de donnés d’aprentissage, ou d’habituer le système au comportement déviant s’il s’agit d’un modèle à aprentissage continu.  Autre attaque, l’évasion de modèle: il s’agit là de modifier la forme de l’attaque pour échapper aux critères de classification. C’est le cas typique du SPAM, ou l’attaquant essaye de faire passer son e-mail pour légitime en diluant les caractères sur lesquels l’algorithme prends ses décisions.  Autre exemple la génération d’une image altérés pour tromper la classification. Une bonne attaque par évasion de modèle consiste à limiter la perturbation apporté à l’information pour qu’elle échappe à la classification mais aussi à l’oeil humain.

La transférabilité d’une attaque consiste à  la probabilité qu’une attaque réussie sur un modèle A fonctionne sur un autre modèle. L’orateur à travaillé sur des pdfs malveillants & sains et à généré des attaques pour des algo SVM & Random Forest.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *