近期,网络安全领域曝光了一起针对HuggingFace平台的恶意机器学习模型事件。据The Hacker News报道,安全研究人员在该平台上发现了两个利用非常规手段规避安全检测的恶意模型。
ReversingLabs的研究员Karlo Zanki详细介绍了这些模型的运作机制。他指出,从PyTorch存档中提取的pickle文件,在文件头部隐藏着恶意的Python代码。这些恶意载荷实际上是平台特定的反向shell,旨在连接到预设的硬编码IP地址。
这种攻击手段被命名为nullifAI,其核心目的是绕过现有的安全防护措施,以避免被识别为恶意模型。涉及的两个相关模型存储库分别是glockr1/ballr7和who-r-u0000/0000000000000000000000000000000000000。
据分析,这些模型更多被视为概念验证(PoC),而非真实的供应链攻击案例。然而,它们所揭示的安全隐患不容忽视。Pickle序列化格式在机器学习模型分发中广泛应用,但因其允许在加载和反序列化时执行任意代码,一直被视为潜在的安全风险。
此次检测出的恶意模型采用了PyTorch格式,但实质上是压缩的pickle文件。值得注意的是,虽然PyTorch默认使用ZIP格式压缩,但这两个模型却使用了7z格式。这种不同的压缩方式使它们成功规避了Hugging Face的Picklescan工具的恶意检测。
Zanki进一步强调,这些pickle文件的一个独特之处在于,对象序列化在恶意载荷执行后会中断,导致无法正确反编译对象。这意味着,即使存在反序列化错误,损坏的pickle文件仍然能够部分反序列化并执行恶意代码。
幸运的是,该问题已被及时修复,Picklescan工具也已更新版本以应对此类攻击。这一事件再次提醒了机器学习社区,关于pickle文件的安全使用需保持高度警惕。
安全研究人员还呼吁开发者在分发机器学习模型时,采用更安全的方法来处理pickle文件,以避免潜在的安全风险。同时,平台方也应加强安全防护措施,提升对恶意模型的检测能力。
尽管此次事件未造成大规模损害,但它无疑为机器学习社区敲响了警钟。未来,随着机器学习技术的不断发展,安全问题将愈发凸显。因此,加强安全防护、提升安全意识将是永恒的主题。
同时,此次事件也揭示了网络安全领域的复杂性和多样性。攻击者总是不断寻找新的漏洞和攻击手段,而防御方则需时刻保持警惕,不断更新和完善安全防护体系。