INTELLIGENCE ARTIFICIELLE

HL-AI Binaries selon les versions

8 min

Description

HL-AI-Binaries est un module de détection de fichiers malveillants fondé sur du Machine Learning et du Deep Learning. Il fonctionne sur les fichiers exécutables (PE sous Windows et ELF sous Linux) et, pour chaque fichier, il donne un "score de malveillance".

Ce module à l’état de l’art de détection de fichiers malveillants est inclus dans l’EDR d’HarfangLab. Il est présent dans les agents et tourne directement sur la machine locale pour bloquer les menaces identifiées. Nous avons évalué l’évolution de la performance d’HL-AI-Binaries au cours de l’année passée sur différentes versions de l’agent HarfangLab. Nous présentons ici les résultats de cette étude.

Évolution de la performance

Actuellement, HL-AI-Binaries peut être utilisé avec deux niveaux d’alerte, "Critique" et "Élevé". Le niveau "Critique" ne remonte que les alertes concernant des fichiers très susceptibles d’être malveillants : le nombre de faux positifs est ici très faible. Le niveau "Élevé" remonte des alertes concernant l’ensemble des fichiers susceptibles d’être malveillants et présente donc plus de faux positifs.

Voici les performances d’HL-AI-Binaries sous Windows et Linux pour ces deux niveaux d’alerte.

Sous Windows

Tous les tests ont été menés sur 14 000 fichiers malveillants "dangereux" et 6 500 fichiers "bénins" encore jamais vus par HL-AI-Binaries.

Niveau Critique

Le graphique suivant montre l’amélioration des performances d’HL-AI-Binaries dans le traitement des fichiers exécutables sous Windows. L’axe horizontal indique la version de l’agent utilisé. Dans les premier et second graphiques, l’axe vertical indique, respectivement, le pourcentage de faux positifs et le pourcentage de faux négatifs de l’agent.

Pourcentage de faux positifs pour le niveau Critique sur différentes versions de l’agent Windows
Pourcentage de faux négatifs pour le niveau Critique sur différentes versions de l’agent Windows

Il est clair qu’HL-AI-Binaries a toujours montré de bonnes performances en matière de détection de fichiers malveillants dangereux sous Windows (environ 200 non détectés sur 14 000 fichiers en moyenne). Ce niveau de détection s’est maintenu alors que le nombre de fausses alertes a drastiquement été réduit : 35 fois moins de fausses alertes en seulement un an !

Niveau Élevé

Dans l’EDR d’HarfangLab, il est possible de définir le niveau d’alerte d’HL-AI-Binaries à Élevé. Ce niveau permet d’émettre des alertes sur des fichiers complexes à détecter, mais il augmente le taux de fausses alertes.

Pourcentage de faux positifs pour le niveau Élevé sur différentes versions de l’agent Windows
Pourcentage de faux négatifs pour le niveau Élevé sur différentes versions de l’agent Windows

Comme prévu, les graphiques indiquent que la proportion de faux positifs est plus élevée quelle que soit la version et que la proportion de faux négatifs est moindre. Là encore, l’an passé, le niveau de détection s’est maintenu, alors que le nombre de fausses alertes a chuté.

À partir de la version 2.18, nous tentons une approche plus polarisée, créant un écart manifeste sur les deux graphiques par rapport à la version 2.17.

Sous Linux

Tous les tests ont été menés sur 450 fichiers malveillants et 6 250 fichiers bénins encore jamais vus par HL-AI-Binaries.

Le graphique ci-dessous illustre les résultats pour les faux positifs concernant des exécutables sous Linux :

Pourcentage de faux positifs pour le niveau Critique sur différentes versions de l’agent Linux

Toutes les versions d’HL-AI-Binaries ont correctement détecté tous les malwares de niveau Critique. Aussi, nous ne développerons pas l’évolution des faux négatifs, et n’étudierons pas le niveau Élevé sous Linux. Ceci est principalement dû au fait que le nombre de fichiers malveillants en environnement Linux est bien moins important que celui en environnement Windows.

Là encore, le nombre de fausses alertes a considérablement diminué cette année. Dans la version 2.10, HL-AI-Binaries présentait 41 fausses alertes contre une seule dans la version 2.18 !

Performance de la détection sur les familles récentes de malwares

Nous avons ensuite analysé les résultats d’HL-AI-Binaries sur des familles récentes de fichiers malveillants telles que DarkSide et Hades : 240 fichiers malveillants de 13 familles ont été sélectionnés pour cette évaluation.

Pourcentage de détection par HL-AI-Binaries de différentes familles de fichiers malveillants sous Windows, pour le niveau Critique
Pourcentage de détection par HL-AI-Binaries de différentes familles de fichiers malveillants sous Windows, pour le niveau Élevé

Nous constatons que, pour le niveau Élevé, tous les fichiers malveillants sont détectés par la version 2.18 d’HL-AI-Binaries !

Les performances de détection sur ces nouveaux fichiers sont très bonnes pour les modèles les plus anciens, même ceux conçus il y a plus d’un an. Les modèles les plus récents sont aussi pertinents sur ces fichiers et sont légèrement plus performants que les modèles plus anciens.

Améliorations apportées

Comment de telles améliorations ?

Nous avons travaillé sur trois sujets principaux pour l’amélioration d’HL-AI-Binaries : augmenter la qualité de nos données, améliorer l’ingénierie des caractéristiques de nos modèles de Machine Learning et déployer un nouveau modèle de Deep Learning (DL). Ci-dessous, la chronologie de ces améliorations dans les différentes versions de l’agent.

Améliorations apportées pour les différentes versions d’HL-AI-Binaries

Qualification des données

Comme le décrit l’expression anglophone "garbage in, garbage out" (littéralement, "des déchets entrent, des déchets sortent"). Autrement dit, on ne peut pas s’attendre à de bonnes performances de la part des modèles si on leur donne des données peu qualifiées, ou si on ne leur donne pas de données du tout.

Toujours plus de données

La première étape évidente consiste dans l’acquisition de davantage de données, ce que nous avons fait sans discontinuer trois ans durant. HarfangLab a constitué un ensemble de données propriétaires de plus de 50 millions de fichiers pouvant aisément être utilisé pour de multiples applications différentes (en particulier en détection de fichiers malveillants). Chaque mois, des millions de fichiers sont ajoutés à cette base. Et toutes ces nouvelles données nous incitent à entrainer les modèles régulièrement pour augmenter leurs performances face aux nouvelles menaces.

Plus d’informations sur les données

La seconde étape consiste dans l’amélioration des informations disponibles sur les fichiers et à affiner l’identification des fichiers utilisés par les modèles pour accroitre leurs performances.

À cette fin, nous avons amélioré la catégorisation des fichiers exécutables, en tant que malveillant ou bénin dès la version 2.14. Catégoriser ainsi un malware n’est en vérité pas une tâche aisée. Il existe plusieurs façons d’y parvenir : analyse manuelle, antivirus, exécution dans un environnement contrôlé (détonation), etc. Nous nous sommes concentrés sur l’amélioration de nos critères d’identification des fichiers malveillants.

Optimisation des features (Feature engineering)

Sous windows

Les premières versions pour notre modèle sous Windows utilisaient environ 160 features. Dans la version 2.13, nous avons ajouté 80 features, couvrant de nouveaux aspects de la structure des fichiers PE (champs des métadonnées de la version, statistiques sur les ressources, etc.). Ces ajouts nous ont permis de diviser par deux le taux de faux positifs.

Sous Linux

Sous Linux, le modèle utilisait 83 features jusqu’à la version 2.12. Comme dans le cas de Windows, nous avons ajouté 35 nouvelles features en collaboration avec notre équipe de Threat Intelligence. Les résultats se sont avérés encore meilleurs, le nombre de faux positifs a été divisé par cinq, tout en maintenant le taux de rappel (recall).

Deep Learning

De vastes efforts ont été déployés l’an passé pour concevoir, mettre en œuvre et déployer un nouvel algorithme de Deep Learning à l’état de l’art. Cet algorithme est présent dans la version 2.18 d’HL-AI-Binaries.

Ce modèle vient en complément des modèles de Machine Learning déjà présent dans HL-AI-Binaries. Il analyse la structure globale des fichiers exécutables alors que les autres modules HL-AI-Binaries scrutent le contenu de ces fichiers au prisme des features définies précédemment. Ce modèle de Deep Learning apporte à HL-AI-Binaries une perspective complètement nouvelle sur les fichiers exécutables et permet une amélioration considérable des performances dans la version 2.18.

Conclusion

L’an dernier, nous avons travaillé sur divers aspects de l’IA pour optimiser notre détection de fichiers malveillants : nous avons peaufiné nos bases de données, nous avons amélioré nos modèles existants et avons ajouté des modules de modélisation à l’état de l’art. Ces efforts ont contribué à la diminution drastique du nombre de faux positifs sans nuire à nos capacités de détection.