近期,网络安全领域曝出一起新颖且引人关注的事件。据知名安全资讯平台The Hacker News报道,HuggingFace平台上惊现两个采用非常规技术的恶意机器学习模型,这些模型利用“受损”的pickle文件,巧妙地绕过了常规的安全检测机制。
ReversingLabs的安全研究员Karlo Zanki深入剖析了这两个模型,揭示了其中的奥秘。他指出,从PyTorch存档中提取的pickle文件,在文件头部竟隐藏着恶意的Python代码。这些恶意载荷是典型的平台特定反向shell,旨在连接到预设的硬编码IP地址。
这种创新性的攻击手法被命名为nullifAI,其核心在于刻意规避现有的安全防护措施,以避免被识别为潜在的恶意模型。据悉,受影响的两个Hugging Face模型存储库分别为glockr1/ballr7和who-r-u0000/一串冗长的零。
安全专家普遍认为,这些模型更像是概念验证(PoC)的实例,而非真实的供应链攻击案例。尽管如此,这一事件仍然引发了业界对机器学习模型分发中潜在安全漏洞的高度关注。
pickle序列化格式在机器学习领域的应用颇为广泛,然而,其安全隐患也不容忽视。由于pickle允许在加载和反序列化时执行任意代码,因此一直是安全领域的一个潜在风险点。
此次事件中,被检测出的两个模型采用了PyTorch格式,但实质上却是压缩的pickle文件。值得注意的是,这些模型并未使用PyTorch默认的ZIP格式压缩,而是选择了7z格式。这一不同寻常的压缩方式,使得它们成功避开了Hugging Face的Picklescan工具的恶意检测。
Zanki进一步分析指出,这些pickle文件的一个独特之处在于,对象序列化在恶意载荷执行后会中断,导致无法正确反编译对象。这一设计,无疑增加了安全检测的难度。
然而,后续的安全分析却揭示了一个惊人的事实:尽管存在反序列化错误,这些受损的pickle文件仍然能够被部分反序列化,并成功执行恶意代码。这一发现,无疑为机器学习模型的安全性敲响了警钟。
值得庆幸的是,这一问题已经得到了及时的修复。Picklescan工具也已经更新了版本,以应对此类新型攻击手法。此次事件,再次提醒我们,在机器学习模型的分发和使用过程中,必须时刻保持警惕,加强安全防护措施。