

针对机器学习模型发动攻击出现新的攻击手法!研究人员公布名为Sleepy Pickle的手法,并指出主要是针对锁定Pickle文件格式而来,使得攻击者有机会直接破坏机器学习模型,从而操作输出的结果
一旦这种恶意Pickle文件加载后,攻击者就有机会进行中间人攻击(MitM)、供应链攻击、网络钓鱼、利用系统特定的弱点。
一般而言,攻击者要直接利用Pickle文件格式的漏洞造成损害并不容易,但研究人员指出,Sleepy Pickle是破坏机器学习模型,使得Pickle文件格式的弱点危害更加显著。
究竟什么是Sleepy Pickle?研究人员利用前述提及的Fickling,将自订函数功能(恶意酬载)注入内含串行化机器学习模型的Pickle文件,接着,他们通过中间人攻击、供应链攻击、社交工程等手法,将恶意Pickle文件发送至受害者的系统,一旦该文件在受害系统进行反串行化,恶意酬载就会启动,在模型植入后门、控制输出的内容,或是在数据回传给用户之前进行窜改。
研究人员指出,攻击者可借由模型参数或是模型代码两种面向,发动Sleepy Pickle攻击,而且,他们可以借此维持存取机器学习模型,还能回避资安团队的侦测。
当黑客的文件在Python处理进程加载时,机器学习模型就会遭到破坏,而且,不会在磁盘留下痕迹;再者,由于这种手法仅依赖单一Pickle文件,因此攻击者无须对系统其他部分进行存取;其次,则是攻击者通过反串行化过程动态修改模型,静态资安分析系统难以察觉模型的变更。
最重要的是,这种攻击手法具备高度弹性。研究人员举例,黑客可设计恶意酬载以Python程序库扫描底层系统,或是检查时区、日期,然后在符合特定条件的环境才会启动。这样做使得相关攻击变得难以侦测,而且攻击者可锁定特定系统及组织犯案。
这种专门锁定Pickle文件的手法,Sleepy Pickle并非首例。先前有针对AI技术与数据共享平台Hugging Face上传恶意模型的攻击手段,但这种手法攻击者必须提供代码给用户下载、运行,并设法引诱目标下载特定模型,而有可能曝露攻击意图,Sleepy Pickle能隐密窜改代码,攻击者甚至可以创建不是机器模型的Pickle文件来犯案。
他们展示了3种型态的Sleepy Pickle攻击手法,从而让生成式AI输出有害内容及散布假消息、窃取用户的数据,或是发动网络钓鱼攻击。研究人员指出,虽然攻击者只需插入恶意链接,但也可以结合更复杂的内容,包含JavaScript代码,或是跨网站脚本(XSS)弱点,从而在回传用户的内容注入恶意脚本。