今天看啥  ›  专栏  ›  赛博禅心

细说实现:大模型是如何被投毒的

赛博禅心  · 公众号  · 互联网安全 科技自媒体  · 2024-10-19 19:44

主要观点总结

本文主要介绍了字节 GPU 投毒事件,包括恶意代码执行、扰乱模型训练和代码隐藏与对抗三个方面的攻击手法,以及如何进行安全防护。通过介绍每种攻击手法的具体实现方式和潜在风险,提醒读者注意这一隐秘的威胁。

关键观点总结

关键观点1: 恶意代码执行

攻击者通过精心设计的模型文件或数据集,利用底层库的漏洞,引发远程代码执行(RCE),从而获得控制权。即便攻击者没有直接的集群 SSH 权限,也可以通过多种方式悄无声息地执行恶意代码。在 transformers 库中,还存在一个较为隐蔽的危险选项:trust_remote_code,这个参数允许从远程服务器加载代码并直接在本地执行,给攻击者提供了可乘之机。

关键观点2: 扰乱模型训练

攻击者通过修改模型层输出、篡改优化器和梯度方向等方式,直接干扰模型的训练过程。这些行为不仅让模型的最终效果变得不可预测,还可能导致模型朝着错误的方向训练,产生严重的商业后果。

关键观点3: 代码隐藏与对抗

攻击者通过篡改 site-packages 目录中的库文件,将恶意代码嵌入其中,达到持久化攻击的目的。此外,攻击者还可以利用 Python 语言的动态特性,通过动态加载的方式,修改模型训练中的关键函数,影响模型的训练过程。为了对抗内部调查,攻击者还会设置特定的触发条件,使恶意代码在大多数情况下处于休眠状态,只有在特定条件满足时才会执行。


文章预览

这两天,字节 GPU 投毒事件沸沸扬扬: 和朋友们细聊了这个事儿,也在这里给大家盘一盘。 根据公开信息,推测一下可能的实现方法,或为三个方面: 恶意代码执行 扰乱模型训练 代码隐藏与对抗 下面介绍每个唯维度可能攻击的手法,以及如何进行安全防护 一、恶意代码执行 攻击者通过精心设计的模型文件或数据集,利用底层库的漏洞,引发远程代码执行(RCE),从而获得控制权。在这种攻击中,即便攻击者没有直接的集群 SSH 权限,也可以通过以下几种方式悄无声息地执行恶意代码。 有关 transformer 以 transformers 库为例,已经发现了多起相关的安全漏洞: CVE-2024-3568:该漏洞影响 transformers 库版本低于 4.38.0,主要利用 TFAutoModel 的反序列化过程触发恶意代码执行。 CVE-2023-7018:影响版本低于 4.36.0 的 transformers 库,tokenizer 解析存在类似的反序列化 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览