Les éditeurs de solution de sécurité, Sophos inclus, continuent de promouvoir les avantages de l’analyse des malwares basée sur un apprentissage automatique. Mais, comme nous l’avons écrit ces dernières semaines, cette dernière doit être gérée correctement pour être efficace. La technologie peut être abusée par des cybercriminels et altérée par une saisie des données erronées.
Les data scientists de Sophos ont longuement parlé des défis et des solutions lors du Black Hat USA 2017 et du BSidesLV, et continue d’ailleurs de le faire. Le dernier exemple est un article d’Hillary Sanders, data scientist, sur l’importance d’un étiquetage approprié.
A lire également : 5 questions to ask about machine learning
Parfois, dit Sanders, les étiquettes que les entreprises injectent dans leurs modèles sont fausses.
Mauvaises étiquettes, mauvais résultats !
Comme elle l’a déclaré, un apprentissage automatique supervisé fonctionne ainsi :
- Les chercheurs donnent à un modèle (une fonction) certaines données (comme des fichiers HTML), associées à une série d’étiquettes de sortie souhaitée (comme 0 et 1 pour séparer l’inoffensif du malveillant).
- Le modèle examine les fichiers HTML, examine les étiquettes disponibles 0 et 1, puis essaie de s’adapter aux données, afin de pouvoir deviner correctement les étiquettes de sortie (0,1) en regardant uniquement les données d’entrée (à savoir les fichiers HTML).
- Les chercheurs définissent la réalité du terrain, pour le modèle en question, en lui disant qu’il s’agit de “l’état parfait et précis de la réalité, et qu’il doit donc l’utiliser dès maintenant pour pouvoir deviner avec précision des étiquettes à partir des nouvelles données”.
Le problème, dit-elle, est que les chercheurs fournissent des étiquettes incorrectes à leurs modèles :
Peut-être qu’il s’agit d’un nouveau type de malwares, que nos systèmes n’ont jamais vu auparavant et qui n’a pas été signalé correctement dans nos données d’entrainement. Ou bien il s’agit d’un fichier que l’ensemble de la communauté cybersécurité a mal étiqueté de manière récurrente, en recopiant les classifications des uns et des autres via une sorte de réaction en chaîne. Le problème est que notre modèle va s’adapter à ces données, légèrement mal étiquetées, et nous obtiendrons au final un modèle qui prédira des étiquettes incorrectes.
Pour compléter, elle ajoute que les chercheurs ne seront pas en mesure d’estimer correctement leurs erreurs parce qu’ils évalueront leur modèle avec des étiquettes incorrectes. La réalité de cette problématique repose sur plusieurs facteurs :
- La quantité d’étiquettes incorrectes dans un ensemble de données.
- La complexité du modèle.
- Si les étiquettes incorrectes sont réparties de manière aléatoire au niveau des données, ou plutôt fortement regroupées.
Dans l’article, Sanders utilise des graphiques pour illustrer les cas où les choses se déroulent mal. Ces graphiques se situent dans la section “problème avec les étiquettes”.
Faire les bons choix :
Après avoir guidé les lecteurs grâce à des exemples illustrant quand les événements se passent mal, Sanders décrit ce que son équipe met en œuvre pour faire les bons choix. Pour minimiser la quantité et l’impact des mauvaises étiquettes au niveau des données, l’équipe …
- Utilise uniquement des échantillons de malwares qui ont été vérifiés comme intrinsèquement malveillants grâce à une analyse sandbox et confirmés par plusieurs éditeurs.
- S’efforce d’éviter le surentraînement, et donc de surcharger leurs modèles. “L’objectif est de pouvoir détecter des échantillons de malwares jamais rencontrés auparavant, en observant les similitudes entre les nouveaux fichiers et les anciens, plutôt que de simplement reprendre les listes existantes de malwares connus”, dit-elle.
- Essaie d’améliorer leurs étiquettes en analysant les faux-positifs et les faux-négatifs détectés lors des tests de leurs modèles. En d’autres termes, elle explique : “nous examinons les fichiers que nous pensons mal classifiés par notre modèle (comme le fichier entouré en rouge dans le graph ci-dessous) et nous nous assurons qu’il les a effectivement mal classés”.
Elle ajoute :
Ce qui est vraiment bien, c’est que très souvent, nos étiquettes étaient incorrectes et le modèle avait raison. Ainsi, nos modèles peuvent effectivement agir comme un outil de nettoyage des données.
L’équipe data scientist continuera d’écrire sur les défis d’un apprentissage automatique : nous savons ce qui peut mal se passer et nous avons des procédures pour utiliser efficacement cet apprentissage automatique.
Billet inspiré de Machine learning for malware: what could possibly go wrong ?, sur Sophos nakedsecurity.