Les chercheurs en cybersécurité ont découvert deux modèles d’apprentissage automatique malveillant (ML) sur un visage étreint qui a mis à profit une technique inhabituelle de fichiers de cornichons « cassés » pour échapper à la détection.
« Les fichiers de cornichons extraits des archives de Pytorch mentionnés ont révélé le contenu Python malveillant au début du fichier », inversant le chercheur Karlo Zanki dit Dans un rapport partagé avec le Hacker News. « Dans les deux cas, la charge utile malveillante était un shell inversé typique de la plate-forme qui se connecte à une adresse IP à code dur. »
L’approche a été surnommée Nullifai, car elle implique des tentatives de coupe à blanc pour Casquer les sauvegardes existantes Mettez en place pour identifier les modèles malveillants. Les référentiels d’étreinte Face ont été répertoriés ci-dessous –
- Glockr1 / Ballr7
- WHO-R-U0000 / 0000000000000000000000000000000000000
On pense que les modèles sont plus une preuve de concept (POC) qu’un scénario d’attaque de la chaîne d’approvisionnement active.
Le format de sérialisation de cornichon, utilisé commun pour la distribution de modèles ML, s’est avéré à plusieurs reprises comme un risque de sécurité, car il offre des moyens d’exécuter du code arbitraire dès qu’ils sont chargés et désérialisés.
Les deux modèles détectés par la société de cybersécurité sont stockés au format Pytorch, qui n’est rien d’autre qu’un fichier de cornichon compressé. Alors que Pytorch utilise le format Zip pour la compression par défaut, les modèles identifiés se sont révélés compressés à l’aide du format 7Z.
Par conséquent, ce comportement a permis aux modèles de voler sous le radar et d’éviter d’être signalé comme malveillant par Picklescan, un outil utilisé en étreignant le visage pour détecter des fichiers de cornichons suspects.
« Une chose intéressante à propos de ce fichier de cornichon est que la sérialisation des objets – le but du fichier de cornichon – se casse peu de temps après l’exécution de la charge utile malveillante, entraînant l’échec de la décompilation de l’objet », a déclaré Zanki.
Une analyse plus approfondie a révélé que ces fichiers de cornichons cassés peuvent toujours être partiellement désérialisés en raison de l’écart entre Picklescan et du fonctionnement de la désérialisation, provoquant l’exécution du code malveillant malgré l’outil qui lance un message d’erreur. L’utilité open source a depuis été mis à jour pour rectifier ce bogue.
« L’explication de ce comportement est que la désérialisation de l’objet est effectuée sur les fichiers Pickle séquentiellement », a noté Zanki.
« Les opcodes de cornichon sont exécutés lorsqu’ils sont rencontrés, et jusqu’à ce que tous les opcodes soient exécutés ou qu’une instruction cassée soit rencontrée. Dans le cas du modèle découvert, car la charge utile malveillante est insérée au début du flux de cornichon, l’exécution du modèle ne serait pas Ce n’est pas détecté comme dangereux en étreignant les outils de numérisation de sécurité existants de Face. «