Time Will Tell: Timing Side Channels via Output Token Count in Large Language Models

📄 arXiv: 2412.15431v1 📥 PDF

作者: Tianchen Zhang, Gururaj Saileshwar, David Lie

分类: cs.LG, cs.CL, cs.CR

发布日期: 2024-12-19


💡 一句话要点

利用LLM输出token数量的时间侧信道泄露推理输入敏感信息

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 侧信道攻击 大型语言模型 输出token数量 信息泄露 安全漏洞

📋 核心要点

  1. 现有LLM推理过程存在安全漏洞,攻击者可利用输出token数量这一侧信道推断敏感输入信息,威胁用户隐私。
  2. 核心思想是LLM的输出token数量与输入信息的某些属性(如语言、类别)存在关联,通过统计分析可反推出输入信息。
  3. 实验证明,该方法在翻译和分类任务中均能有效泄露信息,精度分别超过75%和70%,对多种模型有效,包括闭源模型。

📝 摘要(中文)

本文揭示了一种新的侧信道攻击,攻击者可以通过大型语言模型(LLM)响应中的输出token数量来提取关于推理输入的敏感信息。我们构建了针对两种常见LLM任务的攻击:恢复机器翻译任务中的目标语言和恢复分类任务中的输出类别。此外,由于LLM的自回归生成机制,攻击者可以使用时间信道可靠地恢复输出token数量,即使是通过网络针对流行的闭源商业LLM。实验表明,攻击者可以在三种不同的模型(Tower、M2M100、MBart50)上以超过75%的精度学习翻译任务中的输出语言。利用这种侧信道,我们还表明,可以从Llama-3.1、Llama-3.2、Gemma2等开源LLM和GPT-4o等生产模型中以超过70%的精度泄露文本分类任务中的输入类别。最后,我们提出了基于tokenizer、系统和prompt的缓解措施来防御输出token数量侧信道。

🔬 方法详解

问题定义:论文旨在解决LLM推理过程中存在的侧信道安全问题,具体而言,是利用LLM输出的token数量来推断输入信息的敏感属性。现有方法通常关注于模型权重、梯度等信息的泄露,而忽略了输出token数量这一看似无害的指标,这使得攻击者可以更容易地利用该侧信道进行攻击。

核心思路:论文的核心思路是利用LLM的自回归生成特性,以及不同输入会导致不同数量的输出token这一现象。通过建立输入属性(如语言、类别)与输出token数量之间的统计关系,攻击者可以根据观察到的输出token数量来推断输入信息。这种方法不需要访问模型的内部参数,只需要观察模型的输出,因此具有很强的隐蔽性和实用性。

技术框架:攻击框架主要包含以下几个阶段:1) 数据收集:构造不同的输入,记录LLM的输出token数量。2) 特征提取:从输出token数量中提取特征,例如平均值、方差等。3) 模型训练:使用收集到的数据训练分类器或回归模型,将输出token数量特征映射到输入属性。4) 攻击:给定一个新的输入,观察LLM的输出token数量,使用训练好的模型预测输入属性。

关键创新:论文的关键创新在于发现了LLM输出token数量这一新的侧信道,并证明了其在多种任务中的有效性。与传统的侧信道攻击方法相比,该方法不需要访问模型的内部参数,只需要观察模型的输出,因此更易于实施。此外,论文还提出了针对该侧信道的缓解措施,包括基于tokenizer、系统和prompt的防御策略。

关键设计:在实验中,论文使用了多种LLM模型,包括开源模型(如Llama-3.1、Llama-3.2、Gemma2)和闭源模型(如GPT-4o)。对于翻译任务,论文使用了Tower、M2M100、MBart50等模型。在数据收集阶段,论文构造了大量的输入样本,并记录了每个样本对应的输出token数量。在模型训练阶段,论文使用了常见的分类器和回归模型,例如逻辑回归、支持向量机等。论文还评估了不同缓解措施的效果,例如使用不同的tokenizer、限制输出token数量等。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,攻击者可以利用输出token数量侧信道在翻译任务中以超过75%的精度恢复目标语言,在分类任务中以超过70%的精度泄露输入类别。该攻击对多种模型有效,包括开源模型(Llama-3.1、Llama-3.2、Gemma2)和闭源模型(GPT-4o)。论文还评估了不同缓解措施的效果,证明了其有效性。

🎯 应用场景

该研究成果可应用于评估和增强LLM的安全性,尤其是在处理敏感数据或执行安全关键任务时。通过了解和防御输出token数量侧信道,可以防止攻击者窃取用户的隐私信息或操纵模型的行为。此外,该研究还可以促进LLM安全性的研究,推动开发更安全的LLM系统。

📄 摘要(原文)

This paper demonstrates a new side-channel that enables an adversary to extract sensitive information about inference inputs in large language models (LLMs) based on the number of output tokens in the LLM response. We construct attacks using this side-channel in two common LLM tasks: recovering the target language in machine translation tasks and recovering the output class in classification tasks. In addition, due to the auto-regressive generation mechanism in LLMs, an adversary can recover the output token count reliably using a timing channel, even over the network against a popular closed-source commercial LLM. Our experiments show that an adversary can learn the output language in translation tasks with more than 75% precision across three different models (Tower, M2M100, MBart50). Using this side-channel, we also show the input class in text classification tasks can be leaked out with more than 70% precision from open-source LLMs like Llama-3.1, Llama-3.2, Gemma2, and production models like GPT-4o. Finally, we propose tokenizer-, system-, and prompt-based mitigations against the output token count side-channel.