Aujourd’hui, JFrog a publié le deuxième volet de sa dernière série de recherches, détaillant les vulnérabilités logicielles uniques côté client et de modèle « sûr » dans 22 projets ML. En guise de rappel, vous pouvez trouver la partie 1 ici.
Tribune – Ces vulnérabilités permettent aux attaquants de détourner des clients ML de l’organisation, comme ceux qu’utilisent les data scientists et les pipelines MLOps, et de provoquer l’exécution de code au chargement de données non approuvées. De plus, associée à des techniques de post-exploitation, même une seule infection de client peut engendrer un vaste mouvement latéral au sein de l’organisation.
Ce deuxième article de la série analyse les vulnérabilités découvertes et divulguées par l’équipe de recherche en sécurité JFrog, comme :
-
Faille XSS de recette MLflow à l’exécution de code
-
Exécution de code H2O via une désérialisation de modèle malveillant
-
Écrasement de fichier arbitraire par traversée de chemin weights_only dans PyTorch
Vous pouvez consulter l’article complet ici.
Cette section présente les vulnérabilités de clients ML(Machine Learning), comme les outils qu’utilisent les data scientists ou les pipelines CI/CD ML (MLOps), pouvant entraîner l’exécution de code au chargement de données non fiables. Alors que la menace s’avère évidente lorsqu’on charge un modèle ML malveillant d’un type dangereuxconnu (par exemple, le chargement d’un modèle basé surPickle), nous allons montrer certaines vulnérabilités affectant des clients ML lorsqu’on charge d’autres types de données.
MLflow Recipe XSS vers l’exécution de code -CVE-2024-27132MLflowest une plateforme Open Source destinée à rationaliser le développement de l’apprentissage automatique, y compris le suivi des expériences, l’empaquetage du code dans des exécutions reproductibles, ainsi que le partage et le déploiement de modèles. MLflow permet de charger un recipevia un fichier YAML de configuration spécifique pour MLflow (recipe.yaml). Il contient une suite ordonnée d’étapes visant à résoudre un problème d’apprentissage automatique ou exécuter une tâche MLOps, comme le développement d’un modèle de régression ou l’évaluation d’un modèle par lots sur des données de production.
JFrog a découvert et divulgué une vulnérabilité qui permet d’exécuter du code JS arbitraire côté client (XSS) sur un client qui charge un recipe malveillant. Dans les cas où le client est JupyterLab, le XSS peut être élevé à une exécution complète de code arbitraire.
Commentaires de Shachar Menashe, Senior Director of Security Research, JFrog :
« Ces vulnérabilités côté client et modèles « sûrs » prouvent l’impératif d’adopter un état d’esprit axé sur la sécurité alors que le monde des logiciels d’apprentissage automatique continue d’évoluer. Les outils AI/ML recèlent un immense potentiel d’innovation, mais peuvent aussi ouvrir la voie à des attaques engendrant de sérieux dommages. Pour prévenir de telles menaces, je recommande d’aviser tout utilisateur concerné de l’organisation de ne jamais charger des modèles ML non approuvés. Bien que cela puisse sembler un format sûr, il est crucial de toujours vérifier avant de prendre une autre mesure. »





