Ignorer le contenu principal
TECHNOLOGIE

Le machine learning dans la cybersécurité

Arbres décisionnels, hachage sensible à la localité, modèles comportementaux ou mise en cluster de flux entrants sont autant de techniques de Machine Learning (ML) que nous employons pour relever les défis de sécurité dans le monde réel : faible taux de faux positifs, facilité d'interprétation et robustesse face à un adversaire potentiel.


Arthur Samuel, précurseur de l'intelligence artificielle, décrivait le Machine Learning comme un ensemble de méthodes et de technologies qui « donnent aux ordinateurs la faculté d'apprendre sans être explicitement programmés ». Dans un cas particulier d'apprentissage superviséconcernant la protection contre les programmes malveillants, on pourrait formuler la tâche à effectuer comme suit : étant donné un ensemble de caractéristiques d'objet X et de libellés d'objet correspondants Y en entrée, créez un modèle qui produira les bons libellés Y' pour des objets test X' qui n'ont pas été vus précédemment. X peut correspondre à des caractéristiques représentant du contenu ou le comportement d'un fichier (des statistiques de fichiers, une liste de fonctions API utilisée, etc.) et les libellés Y peuvent être tout simplement « malveillant » ou « inoffensif » (dans des cas plus complexes, on pourra affiner le classement des éléments, p. ex., Virus, Trojan-Downloader, Adware, etc.). En cas d'apprentissage non supervisé, on s'attache davantage à révéler la structure cachée des données, p. ex., trouver des groupes d'objets similaires ou des caractéristiques étroitement corrélées.

La protection multi-niveaux de nouvelle génération offerte par Kaspersky exploite de manière intensive les méthodes de machine learning à toutes les étapes du processus de détection : mise en cluster évolutive pour le pré-traitement des flux de fichiers entrants au sein de l'infrastructure, modèles de réseaux neuronaux approfondis, robustes et compacts pour la détection comportementale, utilisés directement sur les machines des utilisateurs. Ces technologies sont conçues de manière à satisfaire à diverses exigences importantes des modèles de Machine Learning dans des applications de sécurité des informations du monde réel : très faible taux de faux positifs, facilité d'interprétation des modèles et robustesse face à un adversaire potentiel.

Penchons-nous sur les principales technologies de Machine Learning qui équipent les solutions de protection des terminaux Kaspersky.

Arbre décisionnel

Dans cette approche, le modèle prédictif prend la forme d'un ensemble d'arbres décisionnels (p. ex, forêt d'arbres décisionnels ou arbres avec stimulation de gradient). Chaque nœud non terminal contient des questions concernant les caractéristiques d'un fichier, alors que les nœuds terminaux contiennent la décision finale de l'arbre concernant l'objet. En phase de test, le modèle traverse l'arbre en répondant à des questions dans les nœuds avec les caractéristiques correspondantes de l'objet examiné. En phase finale, les décisions de plusieurs arbres font l'objet d'une moyenne à l'aide d'un algorithme spécifique pour rendre une décision finale de l'arbre concernant l'objet.

Le modèle bénéficie d'une protection proactive au stade de pré-exécution côté terminal. L'une de nos applications de cette technologie est Cloud ML for Android utilisée pour la détection des menaces mobiles.



Hachage de similarité (hachage sensible à la localité)

Autrefois, le hachage servant à créer des « empreintes » de programmes malveillants était sensible à la moindre modification dans un fichier. Les auteurs de programmes malveillants exploitaient cette faiblesse en usant de techniques dites d'« obfuscation », telles que le polymorphisme des programmes malveillants côté serveur : les petites modifications dans les programmes malveillants échappaient aux radars. Le hachage de similarité (ou hachage sensible à la localité) est une méthode qui permet de détecter des fichiers malveillants similaires. Pour ce faire, le fichier extrait des caractéristiques de fichiers et s'appuie sur l'apprentissage par projection orthogonale pour choisir les caractéristiques principales. Ensuite, une compression basée sur le ML est appliquée de manière que des vecteurs de valeur de caractéristiques similaires se transforment en schémas semblables ou identiques. Cette méthode offre une bonne généralisation et réduit sensiblement la taille de la base de données de détection, puisqu'une donnée peut désormais détecter toute la famille de programmes malveillants polymorphes. Le modèle bénéficie d'une protection proactive au stade de pré-exécution côté terminal. Elle est appliquée dans notre Système de détection avec hachage de similarité.



Modèle comportemental

Un composant de surveillance fournit un journal de comportements : la séquence d'événements système survenus pendant l'exécution du processus accompagnée des arguments correspondants. Afin de détecter l'activité malveillante dans les données de journal observées, notre modèle compresse la séquence d'événements obtenue dans un ensemble de vecteurs binaires et entraîne le réseau neuronal profond à faire la différence entre les journaux propres et les journaux malveillants. La classification des objets effectuée par le modèle comportemental est utilisée par les modules de détection statique et dynamique dans les produits Kaspersky côté terminal.



Le Machine Learning jour un rôle tout aussi primordial s'agissant de la mise au point d'une infrastructure interne de traitement des programmes malveillants. Nous l'utilisons dans le cadre de l'infrastructure à cet effet :

Mise en cluster de flux entrants

Les algorithmes de mise en cluster basés sur le ML nous permettent de répartir efficacement les volumes importants de fichiers inconnus arrivant sur notre infrastructure dans un nombre raisonnable de clusters, dont certains peuvent être traités automatiquement selon la présence d'un objet déjà annoté à l'intérieur.



Modèles de classification à grande échelle

Parmi les modèles de classification les plus performants, certains (tels qu'une immense forêt d'arbres décisionnels) nécessitent énormément de ressources (temps processeur, mémoire) ainsi que d'onéreux extracteurs de caractéristiques (p. ex., un traitement via une sandbox peut être requis pour obtenir des journaux de comportements détaillés). Par conséquent, il est plus efficace de conserver et d'exécuter le modèle en interne, avant de diffuser les connaissances acquises par ces modèles en entraînant un modèle de classification léger sur les décisions en matière de sortie du grand modèle.

Sécurité du machine learning

Une fois qu'ils ont franchi les murs internes pour être introduits dans le monde extérieur, les algorithmes de ML risquent d'être vulnérables à différentes formes d'attaques conçues pour forcer les systèmes ML à commettre délibérément des erreurs. Un cybercriminel peut infecter un ensemble de données d'entraînement ou faire l'ingénierie inverse du code du modèle. En outre, les pirates peuvent mener des attaques par force brute contre les modèles ML par le biais d'« IA adversaire » spécialement développée pour générer automatiquement de nombreux échantillons d'attaque jusqu'à déceler un point faible du modèle. L'impact de telles attaques sur les systèmes de protection contre les programmes malveillants peut être dévastateur : un cheval de Troie qui n'est pas bien identifié est synonyme de millions d'appareils infectés et de pertes financières qui se comptent en millions d'euros.

C'est pourquoi il convient de prendre en considération un certain nombre d'éléments fondamentaux en ce qui concerne l'usage du ML dans les systèmes de sécurité :

  • L'éditeur de solutions de sécurité doit comprendre et aborder avec sérieux les exigences indispensables au bon fonctionnement du ML dans le monde réel, qui s'avère parfois hostile. Des exigences qui incluent la robustesse face aux adversaires potentiels. Les audits de sécurité spéciaux ML/IA et la « red team » doivent être intégrés comme composante clé de tout développement ML/IA.
  • Dans le cadre de l'évaluation d'une solution ML, on doit se demander dans quelle mesure la solution dépend de données et d'architectures tierces. En effet, un très grand nombre d'attaques se basent sur l'intervention de tiers (nous faisons référence aux flux de Threat Intelligence, aux ensembles de données publics et aux modèles ML pré-entraînés et externalisés).
  • Les techniques de ML ne doivent pas être considérées comme une « arme de défense absolue ». Elles doivent s'inscrire dans une approche de sécurité multi-niveaux, au sein de laquelle des technologies de protection complémentaires et l'expertise humaine opèrent ensemble pour se couvrir mutuellement.

Pour une présentation détaillée des attaques courantes contre les algorithmes de Machine Learning ainsi que des moyens de protection contre ces menaces, consultez notre livre blanc « AI under Attack: How to Secure Machine Learning in Security System » (L'IA attaquée ou comment sécuriser le Machine Learning dans le système de sécurité).

Produits associés

Whitepaper

Machine Learning for Malware Detection


Whitepaper

Machine learning and Human Expertise

Whitepaper

AI under Attack: How to Secure Machine Learning in Security System

Résultats de l'analyse comparative

Technologies associées