黑客在HuggingFace上传恶意AI模型,用“损坏”pickle文件规避监测

IT之家
10 Feb

IT之家 2 月 10 日消息,据 The Hacker News 于 8 日报道,网络安全研究人员发现,在 HuggingFace 平台上,有两个恶意机器学习(ML)模型利用了一种非常规的“损坏”pickle 文件技术来规避安全检测。

ReversingLabs 研究员 Karlo Zanki 表示:“从这些 PyTorch 存档中提取的 pickle 文件,在文件开头揭示了恶意的 Python 内容。两者的恶意载荷都是典型的平台特定反向 shell,连接到硬编码的 IP 地址。”

这种方法被称为 nullifAI,意在通过明确绕过现有的安全防护措施,避免被识别为恶意模型。Hugging Face 上发现的两个相关模型存储库如下:

glockr1/ballr7

who-r-u0000/0000000000000000000000000000000000000

这些模型被认为更像是一个概念验证(PoC),而非真实的供应链攻击案例。

pickle 序列化格式在机器学习模型分发中很常见,但它一直被认为存在安全隐患,因为它允许在加载和反序列化时执行任意代码。

被检测出的这两个模型使用的是 PyTorch 格式,实质上是压缩的 pickle 文件。虽然 PyTorch 默认使用 ZIP 格式压缩,但这些模型使用的是 7z 格式,这种不同的压缩方式让它们能够避开 Hugging Face 的 Picklescan 工具的恶意检测。

Zanki 进一步指出:“这个 pickle 文件的一个有趣之处是,对象序列化(IT之家注:即 pickle 文件的核心功能)在恶意载荷执行后就断裂,导致无法正确反编译对象。”

后续分析表明,尽管存在反序列化错误,损坏的 pickle 文件仍然能够被部分反序列化,从而执行恶意代码。该问题已被修复,Picklescan 工具也更新了版本。

Zanki 解释说:“pickle 文件的反序列化是按顺序进行的,pickle 操作码会在遇到时执行,直到所有操作码执行完毕或遇到损坏的指令。由于恶意载荷插入在 pickle 流的开头,Hugging Face 的安全扫描工具未能检测到模型的执行是有风险的。”

Disclaimer: Investing carries risk. This is not financial advice. The above content should not be regarded as an offer, recommendation, or solicitation on acquiring or disposing of any financial products, any associated discussions, comments, or posts by author or other users should not be considered as such either. It is solely for general information purpose only, which does not consider your own investment objectives, financial situations or needs. TTM assumes no responsibility or warranty for the accuracy and completeness of the information, investors should do their own research and may seek professional advice before investing.

Most Discussed

  1. 1
     
     
     
     
  2. 2
     
     
     
     
  3. 3
     
     
     
     
  4. 4
     
     
     
     
  5. 5
     
     
     
     
  6. 6
     
     
     
     
  7. 7
     
     
     
     
  8. 8
     
     
     
     
  9. 9
     
     
     
     
  10. 10