论文翻译 - Abusing Images and Sounds for Indirect Instruction Injection in Multi-Modal LLMs

论文链接:https://arxiv.org/pdf/2307.10490.pdf
项目代码:https://github.com/ebagdasa/multimodal_injection

Abstract

我们展示了图像和声音如何用于多模态 LLMs 中的间接提示和指令注入。攻击者生成与提示相对应的对抗性扰动,并将其混合到图像或音频记录中。当用户向(未经修改的,良性的)模型询问关于扰动图像或音频时,扰动会引导模型输出攻击者选择的文本和/或使后续对话遵循攻击者定下的指令。我们用几个针对 LLaVA 和 PandaGPT 的概念证明示例来说明这种攻击。

1 Introduction

多模态大型语言模型 (LLM) 是先进的人工智能模型,它将语言处理的能力与分析生成多模态信息(文本、图像和音频)的能力做出结合,传统的 LLMs 只在文本上进行操作。多模态 LLMs 可以产生大量的上下文的组合了多模态的响应。例如,当提供一个图像和一个文本提示时,来自一个多模态的 LLM 的响应可以描述图像的内容,并整合来自文本的相关信息。

多模态 LLMs 在计算机视觉、自然语言理解、对话系统等领域有着广泛的应用。它们可以提高任务的表现,诸如用来增强现实或帮助视障用户的图像字幕,搜索引擎中的视觉问答,以及聊天机器人中的内容生成等任务。最先进的 LLMs,例如 ChatGPT 和 Bard,已经开始支持多模态。

Indirect Prompt injection 间接提示注入。传统的 LLMs 可以与世界交互——例如,执行诸如总结网页或翻译用户的电子邮件等操作——容易受到间接提示注入[7]。攻击者创建一个包含一个 LLM 提示的恶意文本。当 LLM 处理这个文本时,它会响应这个提示,例如,它会执行攻击者发出的指令。

本文的受到两个观察结果的启发。首先,多模态 LLMs 可能容易受到通过图像和声音等所有可用模式进行提示注入的攻击。如果用户在恶意输入中没有看到或听到指令,这些攻击甚至可能比文本攻击更隐蔽。

其次,即使多模态 LLMs 是与外部世界隔绝的,多模态 LLMs 也还是容易受到间接注入的影响,因为攻击者可以利用不知情的人类用户作为一个攻击的介体。例如,攻击者可能会将受害者引诱到有一个有趣图像的网页上,或者发送一封带有一个音频切片的电子邮件。当受害者直接将图像或音频切片输入到一个孤立的 LLM 并询问相关的问题时,模型将被攻击者注入的提示所操纵。

Our contributions 我们的贡献。我们演示了如何使用对抗性扰动将提示和指令混合到图像和音频记录中。然后,我们使用这种能力来开发针对多模态 LLMs 的两类注入攻击的概念证明。

第一种是有目标的输出攻击,当用户要求 一个LLM 描述输入时,这会导致 LLM 返回攻击者选择的任何字符串——参见图1中的示例;相应的音频示例可以链接1种在线获取。第二个攻击是对话中毒。这是一个自回归(自我注入)的攻击,它利用了基于LLM的聊天机器人采用的对话的上下文的形式——参见图2中的示例。我们展示了针对LLAVA[11]和PandaGPT[18]的攻击,这是两个开源的多模态 LLMs。

我们的注入攻击的一个重要特征是,在扰动图像或声音时,它不会明显地改变其语义内容,因此模型仍然能正确回答有关输入的问题(同时执行注入的指令)。此外,注入的方法独立于提示和输入,因此任何提示都可以注入任何图像或音频记录。

2 Background

Large language models 大型语言模型。基于 transformer 的架构[21],现代语言模型通过对大量文本进行训练实现了高性能[3,12]。我们专注于为自回归任务训练的序列到序列模型(例如,LLaMa [20])。模型 θ \theta θ 接受一个输入的token序列 x x x,计算一个嵌入 x e = θ e m b T ( x ) x_{e}=\theta^{T}_{emb}(x) xe=θembT(x) ,并将其喂入解码器层 θ d e c \theta_{dec} θdec 来输出下一个token:

θ ( x ) = θ d e c ( θ e m b T ( x ) ) = y \theta(x)=\theta_{dec}(\theta_{emb}^{T}(x))=y θ(x)=θdec(θembT(x))=y

Dialog systems 对话系统。语言模型擅长生成语言上合理的序列,因此可用于基于对话的应用程序,例如聊天机器人。为了实现高性能 [14, 19],这些模型还在对话形式的数据上进行训练,通常结构为

x = #Human:    query x=\text{\#Human:\ \ \ \ query} x=#Human:    query

y = #Assistant:    response y=\text{\#Assistant:\ \ \ \ response} y=#Assistant:    response

这种方法通过存储先前的查询和响应历史,并将其作为每一轮输入的一部分来支持多轮对话。历史包含用户的查询 x 1 , x 2 , . . . , x n − 1 x_{1},x_{2},...,x_{n-1} x1,x2,...,xn1 和相应的响应 y 1 , y 2 , . . . y n − 1 y_{1},y_{2},...y_{n-1} y1,y2,...yn1。然后将它们连接在一起 h = x 1 ∥ y 1 . . . x n − 1 ∥ y n − 1 h=x_{1}\parallel y_{1}...x_{n-1}\parallel y_{n-1} h=x1y1...xn1yn1 来生成新的相应 θ ( h ∥ x x ) = y n \theta(h\parallel x_{x})=y_{n} θ(hxx)=yn

Multi-modal models 多模态模型。最近的研究 [5, 16] 能够使用视觉transformers [9] 将图像和音频数据有效地编码到与文本相同的嵌入空间中。这些模型对每个输入模态使用不同的编码器 ϕ e n c M \phi_{enc}^{M} ϕencM。它们通过训练,使得对齐模态的嵌入——例如,描述一个凸图像的图像 x I x^{I} xI 和文本 x T x^{T} xT 彼此接近(比如有高余弦相似度)。

最近,LLAVA [11] 和 PandaGPT [18] 等项目中展示了基于指令对话的多模态输入的组合。两种模型都用了LLaMa模型[20]并分别使用了 CLIP ϕ e n c I \phi_{enc}^{I} ϕencI 和 ImageBind θ e m b T \theta_{emb}^{T} θembT 的视觉编码器。多模态对话系统采用一个文本输入 x T x^{T} xT 和一个图像输入 x I x^{I} xI(PandaGPT 还支持音频输入),并通过结合它们的嵌入来计算输出:

θ ( x T , x I ) = θ d e c ( θ e m b T ( x T ) ∥ ϕ e n c I ( x I ) ) \theta(x^{T},x^{I})=\theta_{dec}(\theta_{emb}^{T}(x^{T})\parallel\phi_{enc}^{I}(x^{I})) θ(xT,xI)=θdec(θembT(xT)ϕencI(xI))

为简单起见,我们省略了文本输入中图像的定位,并对图像嵌入进行额外的投影。有关详细信息,请参阅原始实现[11,18]。

Adversarial examples 对抗样本。在这种攻击中,对手对图像 x x x 添加一个小的扰动 δ \delta δ,从而改变一些分类器 θ \theta θ 的输出,也就是原本 θ ( x ) = y \theta(x)=y θ(x)=y,但我们加上扰动后, θ ( x + δ ) = y ∗ \theta(x+\delta)=y* θ(x+δ)=y[6]。对抗样本也被证明用于文本和生成任务 [4, 23]。同时独立于本文,[1,15]演示了图像中的对抗性扰动如何用于“越狱攻击”多模态 LLMs,例如,避过应该防止模型生成有毒输出的护栏。在那个威胁模型中,用户是攻击者。而我们专注于间接提示注入,其中用户是恶意第三方内容的受害者,攻击者的目标是操纵用户和 LLM 之间的对话(同时保留模型对加入扰动的图像或音频输入内容进行对话的能力)。

3 Threat Model

图 3 可视化了我们的威胁模型。攻击者的目标是操纵用户和多模态聊天机器人之间的对话。为此,攻击者将一个提示混合到一个图像或音频切片中,并操纵用户向聊天机器人询问它。一旦聊天机器人处理扰动的输入,它要么输出注入的提示,要么——如果提示包含指令——在接下来的对话种遵循这个指令。被混合的提示不应明显地改变输入的视觉或听觉内容。

我们假设用户是良性的(与模型的越狱攻击场景相比)。我们还假设多模态的聊天机器人是良性的,并且在注入攻击之前没有被攻击者破坏。

Attacker’s capabilities 攻击者的能力。我们假设攻击者可以对目标多模态 LLM 可以进行白盒访问。这是一个现实的假设,因为即使是最先进的 LLM (如LLaMa)也会作为开源发布,甚至由于安全漏洞[22],闭源的 LLMs 的代码也可能被得到。

我们假设用户会向模型查询有关被攻击的输入,但攻击者不能看到或控制在该查询之前或之后的用户交互。

Attack types 攻击类型。我们考虑两种类型的攻击:(1)有目标输出的攻击,这会引导模型生成攻击者选择的输出(例如,告诉用户去访问一个恶意网站),以及(2)对话投毒,旨在根据注入指令引导受害模型未来和用户的交互行为。

Leveraging users as injection vectors 利用用户作为注入攻击的介体。我们扩展了Greshake等人[7]的间接提示注入的威胁模型。即使多模态聊天机器人是独立运行的——也就是没有访问外部内容的能力——用户仍然可以查询来自外部来源的图像和音频切片。攻击者可以利用这一点。例如,攻击者可以通过在电子邮件消息中嵌入图片(例如,在营销活动的伪装下),作为附件(例如,简历中找工作的人的照片),作为 WhatsApp 中的音频消息等。攻击者还可以通过点击劫持、广告横幅等方法将受损的图像或音频切片植入网站来诱导用户。

4 Adversarial Instruction Blending

给定一个图像或音频的输入 x I x^{I} xI 和一个提示 w w w,攻击者的目标是制作一个新的输入 x I , w x^{I,w} xI,w,从而使得模型在将 x I , w x^{I,w} xI,w 用作查询的输入时输出 w w w

4.1 Approaches That Did Not Work for Us

Injecting prompts into inpus 将提示注入到输入中。注入提示的一个显而易见的方法是简单地将它们添加到输入中,例如,在图像中添加一个文本提示(参见 [7] 中的图 28)或在音频添加一个语音提示。这种方法不会隐藏提示,但可能会对经过训练以理解图像中的文本(即 OCR)或理解音频中的语音命令的模型起作用。而在我们对 LLaVA 和 PandaGPT 的实验中,这种方法不起作用。

Injecting prompts into representations 将提示注入到表示中。另一种方法是在输入 x I x^{I} xI 的表示和文本提示 x T , w x^{T,w} xT,w 的嵌入之间创建一个对抗性碰撞[17]。也就是 ϕ e n c I ( x I , w ) = θ e m b T ( x T , w ) \phi^{I}_{enc}(x^{I,w})=\theta_{emb}^{T}(x^{T,w}) ϕencI(xI,w)=θembT(xT,w)。解码器模型将采用嵌入 ϕ e n c I ( x I , w ) \phi_{enc}^{I}(x^{I,w}) ϕencI(xI,w) 但将其“解释”为提示 x T , w x^{T,w} xT,w

由于模态间隙[10],生成碰撞是困难的:嵌入 θ e m b T \theta_{emb}^{T} θembT 和编码器 ϕ e n c I \phi_{enc}^{I} ϕencI 来自不同的模型,它们并没有通过训练来产生相似的表达,也就是没有图像或声音 x I x^{I} xI,能因为 θ e m b T \theta_{emb}^{T} θembT ϕ e n c I \phi_{enc}^{I} ϕencI 产生和文本输入 x T x^{T} xT 相近的嵌入。此外,多模态嵌入 ϕ e n c I ( x I , w ) \phi_{enc}^{I}(x^{I,w}) ϕencI(xI,w) 的维度可能小于提示的嵌入 θ e m b T ( x T , w ) \theta_{emb}^{T}(x^{T,w}) θembT(xT,w)。例如,ImageBind 将整个输入编码成一个向量,这个向量的尺寸和LLaMa编码一个单独的token的大小一样。此外,用攻击者的提示来替换输入不会保留内容,从而防止模型与用户就该输入进行对话。

4.2 Injection via Adversarial Perturbations

我们使用标准的对抗样本技术来搜索对输入 x I x^{I} xI 的改动 δ \delta δ ,来使模型输出任何字符串 y ∗ y^{*} y

min ⁡ δ L ( θ ( θ e m b T ( x T ) ∥ ϕ e n c I ( x I + δ ) ) , y ∗ ) \underset{\delta}{\min} L(\theta(\theta_{emb}^{T}(x^{T})\parallel\phi_{enc}^{I}(x^{I}+\delta)),y^{*}) δminL(θ(θembT(xT)ϕencI(xI+δ)),y)

我们对损失 L L L 使用交叉熵来将模型的输出与目标 y ∗ y^{*} y 进行比较。我们不知道用户的文本输入 x T x^{T} xT,但可以通过来自某个合理集的已知查询来近似估计它。我们使用快速梯度符号方法 (FGSM)[6]来更新输入,也就是 x I ∗ = x I + ϵ ⋅ sign ∇ x ( ℓ ) x^{I^{*}}=x^{I}+\epsilon\cdot \text{sign} \nabla_{x}(\ell) xI=xI+ϵsignx() ,这里的 ϵ \epsilon ϵ 是学习率,并使用余弦退火计划来更新它[13]。文本的生成是自回归的,也就是模型一次只预测一个 token。我们通过将先前的token添加到下一个输入中,从而一个token一个token的对响应 y ∗ y^{*} y 进行迭代,也就是我们利用了教师强制(参见图 4)。

这种方法允许我们制作一个图像或音频输入 x I ∗ x^{I^{*}} xI,来迫使模型输出任何想要的文本 y 1 = y ∗ y_{1}=y^{*} y1=y,作为其第一位的响应。

4.3 Dialog Plisoning

我们利用对话系统是自回归的并会保留对话中先前响应的上下文的这一事实(为简单起见,我们设定此历史记录会连接到所有的用户查询)。我们使用提示注入来强制模型输出攻击者选择的指令 w w w 作为其第一位的响应,即 y 1 = w y_{1}=w y1=w。然后,对于来自用户的下一个文本查询 x 2 T x_{2}^{T} x2T,模型将在包含了攻击者指令的对话历史记录上进行操作,运行:

θ ( h ∥ x 2 T ) = θ ( x 1 ∥ y 1 ∥ x 2 T ) = θ ( x 1 T ∥ x I ∗ ∥ w ∥ x 2 T ) = y 2 \theta(h\parallel x_{2}^{T})=\theta(x_{1}\parallel y_{1}\parallel x_{2}^{T})=\theta(x_{1}^{T}\parallel x^{I^{*}}\parallel w\parallel x_{2}^{T})=y_{2} θ(hx2T)=θ(x1y1x2T)=θ(x1TxIwx2T)=y2

该模型将处理此输入并遵循指令产生 y 2 y_{2} y2。只要中毒的初始响应 y 1 = w y_{1}=w y1=w 是历史记录的一部分,它将影响模型的所有响应——见图 5。攻击的成功受到模型的遵循指令的能力和保留对话上下文的能力的限制(即,不是受到注入方法的限制)。

有两种有效的方法来在模型的第一个响应中放置指令 w w w。首先,攻击者可以简单地打破对话的结构,通过使指令好像是从用户处发出的一样出现,即将 #Human \text{\#Human} #Human 注入到模型的响应中:

y 1 = #Assistant:< generic response > #Human:  w y_{1}=\text{\#Assistant:< generic response > \#Human: }w y1=#Assistant:< generic response > #Human: w

这个响应包含了一个特殊的token #Human \text{\#Human} #Human,它在生成过程中可能会被过滤掉。

另外,我们强制模型生成指令,就好像模型决定自发执行它一样:

y 1 = #Assistant:I will always follow instruction:  w y_{1}=\text{\#Assistant:I will always follow instruction: }w y1=#Assistant:I will always follow instruction: w

在这两种情况下,用户都会看到模型第一次响应中的指令,因此攻击并不隐蔽。它可以根据模型遵循释义指令的能力来通过释义 [8] 变得更隐蔽。

我们的注入方法的一个重要特点是它不会改变输入太多,而损害模型对该输入进行交谈的能力。相反,“传统”对抗样本旨在完全改变模型的行为。在我们的例子中,该模型仍然可以对与对抗样本混合的输入的视觉或声音内容进行操作。

5 Experiments

Setup 我们实验了两个开源多模态 LLMs,LLaVA [11]和PandaGPT[18],将它们在单个NVIDIA Quadro RTX 6000 24GB GPU上运行。

LLaVA [11] 使用了一个简单的矩阵将 CLIP ViT-L/14 [16]的特征投影到 Vicuna [2] 聊天机器人的嵌入空间,该聊天机器人通过微调 LLaMA [20] 进行训练。LLaVA 是在 GPT-4 生成的语言-图像指令-跟随数据上训练的。我们在实验中使用了 LLAAVA-7B 的权重。

PandaGPT [18] 通过将 ImageBind [5] 中的多模态编码器与 Vicuna 连接,可以处理六种模态(包括图像和音频)的指令-跟随数据。我们使用了 pandagpt-7B 的权重。

我们使用相同的优化器(SGD)和调度器(CosineAnnealingLR)为 LLaVA 和 PandaGPT 生成对抗性扰动,但训练细节略有不同。LLaVA [11] 中每个图像/提示的注入对的图像扰动被训练了100个epoch,初始学习率0.01,最小学习率1e-4。PandaGPT [18] 中每个图像或音频扰动被训练了500个epoch,初始学习率0.005,最小学习率1e-5。我们为图像/提示注入对实验了全图像扰动(图 6、图 7 和图 8)和部分图像扰动(图 2 和图 9)。

用户对图像-文本的对话的初始查询是"Can you describe this image?”,对音频-文本的初始查询是“Can you describe this sound?”。我们在两个模型的推理期间设置温度 = 0.7。由于 LLM 的响应是随机的并且取决于温度,因此本节其余部分中呈现的示例的回答可能会产生略有不同的对话。

Targeted-output attacks 这些注入攻击简单地迫使模型输出攻击者选择的任意文本。图 1 显示了一个音频示例,图 6 显示了一个图像示例,都是针对 PandaGPT的。

Dialog poisoning 图7显示了一个对话投毒攻击,它将一个恶意指令混合到臭名昭著的“被诅咒的”哭泣男孩的照片中。我们展示了有和没有注入攻击的对话,以说明指令对模型的影响。

图 2 和图 8 显示了使用图像进行对话投毒攻击的其他示例。

图 9 显示了将一个指令混合到图像中会保留其内容以及模型对该内容进行对话的能力。

图 10 显示了使用音频输入的对话投毒攻击。原始的和修改后的音频样本可在线获取。

6 Discussion

本文提出的例子是概念的初始证明,显示了通过图像和声音进行间接的指令注入攻击的可行性。它们是使用非常有限的计算资源生成的,并在相对简单的开源模型上进行评估(因此,受限于模型遵循指令的能力)。我们希望对更复杂模型的注入攻击可以使用更复杂的指令来操纵它们。

这些示例可能无法完全重现,因为模型对用户的查询和攻击者指令的响应是随机的。在现实世界的部署中,即使是并不总成功的攻击也会给多模态 LLMs 带来不可忽视的风险。

在产生对抗性扰动时,我们没有对扰动的大小施加任何界限,也没有考虑其隐蔽性。即便如此,在某些情况下(例如,图 2),扰动只影响图像相对不重要的部分,看起来像一个图像处理伪影。如何使指令注入扰动不易察觉是未来工作的一个有趣的主题。另一个探索方向是得到一个通用的扰动,无论应用到什么图像(或者音频样例)上都能有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值