Hugging Face 上的恶意ML模型利用Pickle Format 格式来逃避检测

阅读量46238

发布时间 : 2025-02-10 10:47:45

x
译文声明

本文是翻译文章,文章原作者 Ravie Lakshmanan,文章来源:TheHackersNews

原文地址:https://thehackernews.com/2025/02/malicious-ml-models-found-on-hugging.html

译文仅供参考,具体内容表达以及含义原文为准。

网络安全研究人员在 Hugging Face 上发现了两个恶意机器学习(ML)模型,这些模型利用一种不同寻常的 “损坏” 的 pickle 文件技术来逃避检测。

 

“从上述 PyTorch 存档中提取的 pickle 文件在文件开头就显示出恶意的 Python 内容,”ReversingLabs 研究员卡罗・赞基(Karlo Zanki)在与《黑客新闻》分享的一份报告中说道,“在这两个案例中,恶意负载是一种典型的可感知平台的反向 shell,它会连接到一个硬编码的 IP 地址。”

 

这种方法被称为 nullifAI,因为它明显试图绕过现有的用以识别恶意模型的防护措施。以下是相关的 Hugging Face 代码库:

 

1.glockr1/ballr7

2.who-r-u0000/0000000000000000000000000000000000000

 

据信,这些模型更多是概念验证(PoC),而非实际的供应链攻击场景。

 

pickle 序列化格式常用于分发机器学习模型,但人们反复发现它存在安全风险,因为一旦加载并反序列化,它就提供了执行任意代码的途径。

 

这家网络安全公司检测到的两个模型以 PyTorch 格式存储,其实就是压缩的 pickle 文件。虽然 PyTorch 默认使用 ZIP 格式进行压缩,但已发现被识别的模型是使用 7z 格式压缩的。

 

因此,这种行为使得这些模型能够躲过检测,避免被 Picklescan 标记为恶意文件,Picklescan 是 Hugging Face 用于检测可疑 pickle 文件的工具。

 

赞基说:“关于这个 pickle 文件,有趣的一点是,对象序列化(pickle 文件的目的)在恶意负载执行后不久就中断了,导致对象反编译失败。”

 

进一步分析表明,由于 Picklescan 与反序列化实际工作方式之间的差异,这种损坏的 pickle 文件仍可部分反序列化,尽管该工具会抛出错误消息,但恶意代码仍会被执行。此后,这个开源工具已更新以修复此漏洞。

 

赞基指出:“这种行为的解释是,对象反序列化是按顺序对 pickle 文件执行的。”

 

“pickle 操作码在遇到时就会执行,直到所有操作码执行完毕或遇到损坏的指令。在发现的模型案例中,由于恶意负载被插入到 pickle 流的开头,Hugging Face 现有的安全扫描工具不会将模型的执行检测为不安全。”

 

本文翻译自TheHackersNews 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66