Les chercheurs en cybersécurité ont découvert qu’il est possible de compromettre le service de conversion Hugging Face Safetensors pour finalement détourner les modèles soumis par les utilisateurs et entraîner des attaques sur la chaîne d’approvisionnement.
« Il est possible d’envoyer des demandes d’extraction malveillantes avec des données contrôlées par des attaquants depuis le service Hugging Face vers n’importe quel référentiel de la plate-forme, ainsi que de détourner tous les modèles soumis via le service de conversion », HiddenLayer dit dans un rapport publié la semaine dernière.
Ceci, à son tour, peut être accompli à l’aide d’un modèle piraté destiné à être converti par le service, permettant ainsi à des acteurs malveillants de demander des modifications à n’importe quel référentiel de la plate-forme en se faisant passer pour le robot de conversion.
Hugging Face est une plate-forme de collaboration populaire qui aide les utilisateurs à héberger des modèles et des ensembles de données d’apprentissage automatique pré-entraînés, ainsi qu’à les créer, les déployer et les former.
Safetensors est un format conçu par l’entreprise pour stocker tenseurs en gardant à l’esprit la sécurité, contrairement aux cornichons, qui ont été probablement militarisé par des acteurs malveillants pour exécuter du code arbitraire et déployer des stagers Cobalt Strike, Mythic et Metasploit.
Il est également livré avec un service de conversion qui permet aux utilisateurs de convertir n’importe quel modèle PyTorch (c’est-à-dire cornichon) vers son équivalent Safetensor via une pull request.
L’analyse de ce module par HiddenLayer a révélé qu’il est hypothétiquement possible pour un attaquant de détourner le service de conversion hébergé à l’aide d’un binaire PyTorch malveillant et de compromettre le système qui l’héberge.
De plus, le jeton associé à SFConvertbot – un robot officiel conçu pour générer la pull request – pourrait être exfiltré pour envoyer une pull request malveillante à n’importe quel référentiel du site, conduisant à un scénario dans lequel un acteur menaçant pourrait falsifier le modèle et implanter des portes dérobées neuronales.
« Un attaquant pourrait exécuter n’importe quel code arbitraire à chaque fois que quelqu’un tentait de convertir son modèle », ont noté les chercheurs Eoin Wickens et Kasimir Schulz. « Sans aucune indication à l’utilisateur lui-même, ses modèles pourraient être détournés lors de la conversion. »
Si un utilisateur tente de convertir son propre référentiel privé, l’attaque pourrait ouvrir la voie au vol de son jeton Hugging Face, accéder à des modèles et ensembles de données autrement internes, et même les empoisonner.
Pour compliquer encore les choses, un adversaire pourrait profiter du fait que n’importe quel utilisateur peut soumettre une demande de conversion pour un référentiel public afin de détourner ou de modifier un modèle largement utilisé, ce qui pourrait entraîner un risque considérable pour la chaîne d’approvisionnement.
« Malgré les meilleures intentions visant à sécuriser les modèles d’apprentissage automatique dans l’écosystème Hugging Face, le service de conversion s’est avéré vulnérable et a pu provoquer une attaque généralisée de la chaîne d’approvisionnement via le service officiel de Hugging Face », ont déclaré les chercheurs.
« Un attaquant pourrait prendre pied dans le conteneur exécutant le service et compromettre tout modèle converti par le service. »
Le développement intervient un peu plus d’un mois après que Trail of Bits a divulgué LeftoverLocals (CVE-2023-4969score CVSS : 6,5), une vulnérabilité qui permet la récupération des données des unités de traitement graphique à usage général (GPGPU) d’Apple, Qualcomm, AMD et Imagination.
Le faille de fuite de mémoirequi découle d’un échec d’isolation adéquate de la mémoire du processus, permet à un attaquant local de lire la mémoire d’autres processus, y compris la session interactive d’un autre utilisateur avec un grand modèle de langage (LLM).
« Cette fuite de données peut avoir de graves conséquences en matière de sécurité, en particulier compte tenu de l’essor des systèmes de ML, dans lesquels la mémoire locale est utilisée pour stocker les entrées, les sorties et les pondérations du modèle », affirment les chercheurs en sécurité Tyler Sorensen et Heidy Khlaaf. dit.