Weissblick - Fotolia
Apprentissage machine : l’Anssi y croît et veut aider les RSSI à y croire
Au Sstic, Anaël Bonneton et Antoine Husson ont présenté le fruit de travaux menés à l’agence pour aider à la validation de modèles produits par des algorithmes de machine learning. Une façon d’aider à son adoption dans la détection de menaces.
Boîte noire incompréhensible, taux de faux positifs trop élevés pour une véritable exploitation opérationnelle…. Ce sont les deux motifs les plus fréquemment avancés pour justifier de ne pas passer à l’intelligence artificielle, et plus précisément à l’apprentissage automatique, pour les systèmes de détection d’incidents de sécurité. Et cela alors même que, depuis deux ans, de nombreux acteurs de l’industrie misent sur cette technologie pour leurs outils dotés de capacités d’analyse comportementale.
Mais entre des volumes d’alertes de plus en plus élevés et la menace croissante des incidents non détectés, peut-on encore se permettre de faire l’impasse sur cette nouvelle aide ? Non, semble-t-on penser à l’Agence pour la sécurité des systèmes d’information (Anssi).
De fait, ce n’est probablement pas sans raison qu’Anaël Bonneton et Antoine Husson ont présenté, la semaine dernière, lors du Sstic à Rennes, leurs travaux réalisés au sein de l’agence et visant à montrer la capacité de l’apprentissage automatique à répondre aux contraintes opérationnelles de la détection d’incidents de sécurité.
Et pour eux, la mise en œuvre du machine learning dans ce contexte passe d’abord par le choix d’attributs effectivement discriminants sur les fichiers ou événements observés : « c’est là qu’intervient l’expert pour dire quels attributs peuvent être utiles ou non », explique Antoine Husson.
Mais il convient aussi, à l’heure actuelle, de s’appuyer sur des modèles dits linéaires, aisément interprétables par l’humain, afin d’éviter justement l’effet « boîte noire ». Là, le poids de chaque attribut retenu peut être facilement représenté. Mais pas question de le faire définir par un expert : c’est à l’algorithme d’apprentissage automatique de le déterminer lui-même, à partir des données labélisées fournies pour son entraînement. Quitte à l’amener à faire évoluer son modèle dans le temps, en réinjectant d’éventuels faux positifs et faux négatifs.
Mais une précaution tout particulière doit être accordée au choix du jeu de données d’apprentissage, sous peine d’introduire un biais pénalisant les capacités réelles du modèle obtenu.
Fortes de ces considérations, les équipes de l’Anssi ont développé en Python un outil qui vise à aider à l’entraînement des algorithmes d’apprentissage automatique, doté d’une interface graphique permettant de visualiser les résultats et d’interagir avec les modèles : SecuML. Libre et accessible à tous sur GitHub, cet outil se veut générique, fonctionnant sur les fichiers PDF, les exécutables, les documents bureautiques, mais aussi les données de flux réseau PCAP et Netflow, ou encore les codes JavaScript, etc. : « à partir de moment où vous transformer vos données en vecteurs d’attributs, vous pouvez utiliser SecuML ».
Et l’interface de l’outil permet justement d’éviter clairement l’effet « boîte noire », en permettant à l’expert d’étudier dans en profondeur le modèle élaboré par l’algorithme. Mais aussi de d’ajuster le seuil de détection, ou encore d’examiner les faux positifs et faux négatifs afin d’aider au diagnostic de ces instances. Une étape clé du processus itératif de préparation du modèle.