Le machine learning a-t-il oublié sa sécurité ?
L'intelligence artificielle est une notion à la mode. Scientifiques, industriels, politiques, tout le monde se penche sur cette prochaine révolution à des degrés divers, techniques, juridiques ou éthiques. Au sein de cette IA, on distingue différentes méthodes dont le machine learning. L'apprentissage automatique permet à travers d'algorithmes d'analyser des grandes quantités de données et apporter une réponse à un problème.
Si aujourd'hui, beaucoup de monde travaille sur l'élaboration des algorithmes et leur amélioration, bien peu se penche sur la question de la sécurité de ces techniques. Un groupe de chercheurs de l'Université du Maryland a découvert plusieurs failles dans le machine learning. Dans un article intitulé « Invocation des démons : A la poursuite des bugs exploitables dans le machine learning », les experts considèrent les systèmes d'apprentissage automatique, comme des boîtes noires, en analysant les données entrées pour livrer des informations en sortie en les traitant avec un algorithme. Mais il est difficile de savoir exactement ce qu'il se passe et comment la machine arrive à donner une réponse. Cette absence de transparence ou de compréhension fait que les vulnérabilités sont difficilement détectables.
Altérer les données d'entrée et modifier l'analyse
Les données d'entrée peuvent être corrompues et entraîner de faux résultats en sortie. « Comme tous les logiciels, les implémentations d'algorithme de machine learning ont des bugs et certains affectent les travaux d'apprentissage. Ainsi, des attaques peuvent être élaborées avec des entrées malveillantes adaptées aux implémentations de machine learning vulnérables », souligne les scientifiques.
Et les conséquences de la manipulation des algorithmes ne sont pas anodines. Il serait techniquement possible d'augmenter les prix des primes d'assurance ou des criminels pourraient échapper à la reconnaissance faciale via des caméras de surveillance (en partant du principe qu'ils connaissent le code source du programme et contrôlent les données d'entrée). Une menace pas si surréaliste quand on sait qu'une majorité des solutions de machine learning sont disponibles en Open Source.
« Une fois que vous commencez à chercher des failles, vous en trouvez de plus en plus. Et nous n'avons pas eu besoin de regarder très loin », explique Tudor Dumitras, un des co-auteurs de l'article et professeur à l'Université du Maryland à nos confrères de The Register. Il ajoute : « La communauté de développeurs n'est pas vraiment consciente du problème, elle ne considère pas cela comme une priorité élevée. »
Dans ses travaux, l'équipe de chercheurs a utilisé des techniques de « fuzzing » (test de données aléatoires) semi-automatisée pour dénicher les bugs dans les logiciels de machine learning. Un premier test a consisté pour changer les entrées et corrompre le système. Pour cela, les scientifiques ont utilisé OpenCV une solution de vision artificielle reposant sur une librairie d'apprentissage automatique. Ils ont débuté par une image contenant un visage humain. Après un « fuzzing » modifiant l'image, elle est ressortie tronquée (cf image ci-dessus).
Quelques failles découvertes
Un autre test dit « American Fuzzy Lop », a permis d'envoyer des entrées fantaisistes pour faire crasher le système et voir où l'algorithme a été modifié. L'équipe a effectué des tests sur 3 programmes : OpenCV (cité précédemment), Malheur, une bibliothèque pour analyser et regrouper les comportements des malwares, et scikit-learn, catalogue d'outils de data mining et d'analyses de données. Les chercheurs ont découvert 7 failles exploitables dont 3 ont été classées dans le référentiel CVE (Common Vulnerabilities and Exposures). Ces vulnérabilités peuvent provoquer l'exécution de code arbitraire ou des attaques par déni de service. Sur les 4 autres brèches découvertes, une a fait l'objet d'un patch disponible sur GitHub. Les autres entraînent un manque de précision dans les résultats et n'ont pas été corrigées.
Avec leurs travaux, les experts veulent sensibiliser les développeurs sur la nécessité d'assurer l'intégrité et la sécurité des algorithmes. « Le machine learning est un domaine relativement nouveau. Si des gens trouvent des bugs, il n'existe pas encore d'analyse systématique des implémentations de machine learning », conclut Tudor Dimotras.
A lire aussi :
Machine Learning : Apple se lance dans la publication scientifique
Pour améliorer son Machine Learning, Evernote se fait indiscret
Photo credit: fallsroad via Visualhunt / CC BY-NC-ND
Sur le même thème
Voir tous les articles Data & IA