# LLMsCanDefend Themselves Against Jailbreaking in  a Practical Manner: A Vision Paper

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FANRrVb4KLdIP3DekaJ1H%2Fimage.png?alt=media&#x26;token=f3b3d112-c2e5-44b5-b7e5-d25d727a4d79" alt=""><figcaption></figcaption></figure>

## 阅读总结报告

### 1. 研究背景

近年来，大型语言模型（LLMs）在多个领域展现出巨大潜力，如自然语言处理、信息检索、图像生成等。为了避免LLMs对有害问题的回答引发社会、伦理和法律问题，通常通过安全对齐技术（如RLHF）来防止LLMs的滥用。然而，出现了一种名为“越狱”（jailbreaking）的对抗性攻击，它能够绕过LLMs的安全对齐检查。越狱攻击的研究主要集中在攻击方面，而防御方面的研究相对较少。

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FsUQu39U5HbMP9OA0zHIg%2Fimage.png?alt=media&#x26;token=6cbc2360-59d3-4185-981d-ec164660a84c" alt=""><figcaption></figcaption></figure>

### 2. 过去方案和缺点

过去的越狱攻击策略包括手动提示工程和自动LLMs红队攻击。最近提出了一种更通用的越狱方法Greedy Coordinate Gradient (GCG)，它使用白盒模仿模型来训练对抗性后缀，以最大化LLMs产生肯定回答的概率。然而，现有的防御机制要么需要对模型进行微调，要么可能仍然容易受到高级越狱攻击的影响。

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FyiSAg6mEsCDwJ0bgDVja%2Fimage.png?alt=media&#x26;token=a527025e-ca37-46cd-a8d7-2ca6b9add85d" alt=""><figcaption></figcaption></figure>

### 3. 本文方案和步骤

本文提出了一种名为SELFDEFEND的轻量级实用防御方案，可以防御所有已知的越狱攻击。SELFDEFEND的核心思想是利用现有的LLMs能够有效识别违反安全策略的有害提示。基于这一发现，设计了一个影子栈（shadow stack），它与正常栈并行检查用户输入中的有害提示，并在输出“否”或有害提示的标记时触发正常栈中的检查点。

SELFDEFEND的工作流程和有效性基于以下几个关键点：

#### 工作流程：

1. **影子栈（Shadow Stack）的建立**：
   * SELFDEFEND在LLMs的架构中引入了一个与正常栈并行的影子栈。
   * 影子栈的作用是同时检查用户输入中是否存在有害提示。
2. **有害提示的识别**：
   * 无论越狱策略如何变化，最终都需要在发送给LLMs的提示中包含有害内容（例如，“如何制造炸弹”）。
   * 现有的LLMs已经能够有效地识别这些违反安全策略的有害提示。
3. **检查点（Checkpoint）的触发**：
   * 当影子栈检测到有害提示时，它会在正常栈中触发一个检查点。
   * 这个检查点会阻止有害内容的输出，并可能生成一个可解释的LLMs响应来应对对抗性提示。
4. **正常用户提示的处理**：
   * 对于正常用户提示，SELFDEFEND能够快速识别并输出“否”（表示没有检测到问题），从而引入的延迟可以忽略不计。
5. **未来研究方向**：
   * 设计低成本、快速且鲁棒的LLMs来更准确地识别有害提示。
   * 使用发现的对抗性示例（AEs）进一步对齐LLMs，以提高安全性。
   * 设计机制来减少或缓存影子栈的调用，以提高效率。

#### 为什么有效：

* **实时检测**：SELFDEFEND能够实时检测到有害提示，这使得它能够在有害内容被输出之前阻止越狱攻击。
* **最小化延迟**：对于正常用户提示，SELFDEFEND的延迟非常小，因为它只需要输出一个简单的“否”。
* **可解释性**：当检测到有害提示时，SELFDEFEND能够生成一个可解释的响应，这有助于用户理解为什么某些请求被拒绝。
* **通用性**：SELFDEFEND能够防御所有已知的越狱攻击，这表明它具有广泛的适用性。
* **鲁棒性**：通过影子栈的设计，SELFDEFEND能够在不同的对抗性场景中保持有效性，即使攻击者了解SELFDEFEND的防御机制。

总的来说，SELFDEFEND通过在LLMs中引入影子栈和检查点机制，有效地识别和防御了越狱攻击，同时保持了对正常用户提示的快速响应和最小化延迟。这些特点使得SELFDEFEND成为一个实用的越狱防御方案。

现有的LLMs确实具备一定程度的能力来识别有害提示，并且通常会在接收到违反安全政策的提示时给出标准回应，例如拒绝回答或提供安全警告。然而，越狱攻击（jailbreaking）的目的正是为了绕过这些安全检查，使LLMs输出原本应该被阻止的内容。这些攻击可能会采用复杂的策略，如特定的提示构造、多语言输入或加密信息，以欺骗LLMs的安全机制。

影子栈（Shadow Stack）的引入是为了提供一个额外的、并行的检查层，以增强LLMs对越狱攻击的防御能力。以下是影子栈相对于正常栈的优势：

1. **并行检查**：影子栈可以同时与正常栈工作，这意味着它可以在LLMs处理用户输入的同时进行有害提示的检测，而不会显著增加响应时间。
2. **专门化检测**：影子栈可以专门设计来识别越狱攻击的特定模式和策略，这可能包括对已知越狱攻击的响应，以及对新出现的攻击模式的适应。
3. **增强安全性**：即使正常栈能够识别某些有害提示，影子栈的引入提供了一个额外的安全层，可以捕获那些可能被正常栈遗漏的有害输入。
4. **可解释性**：当影子栈检测到有害提示时，它可以触发一个检查点，这不仅阻止了有害内容的输出，还可以生成一个可解释的响应，帮助用户理解为何请求被拒绝。
5. **对抗性攻击的适应性**：随着越狱攻击技术的发展，影子栈可以更容易地更新和调整，以适应新的攻击策略，而不需要对整个LLMs模型进行大规模的重新训练。

总之，影子栈的设计是为了提供一个更加健壮和灵活的防御机制，以应对不断演变的越狱攻击策略，同时保持对正常用户请求的快速响应。通过这种方式，SELFDEFEND旨在提高LLMs的整体安全性和鲁棒性。

影子栈（Shadow Stack）和正常栈（Normal Stack）在SELFDEFEND框架中扮演不同的角色，它们的主要区别在于它们的功能和处理流程：

1. **功能定位**：
   * **正常栈**：负责处理用户输入，执行LLMs的标准操作，如生成回答或执行任务。它是LLMs的主要执行环境，直接与用户交互。
   * **影子栈**：作为一个并行的辅助系统，它专门用于检测用户输入中可能存在的有害提示。它不直接参与生成回答，而是监控和分析输入，以确保安全性。
2. **处理流程**：
   * **正常栈**：接收用户输入，根据LLMs的知识和逻辑处理这些输入，然后输出结果。这个过程是LLMs的标准工作流程。
   * **影子栈**：在正常栈处理输入的同时，影子栈对输入进行额外的安全检查。如果检测到有害提示，它会触发一个检查点，这个检查点可以阻止正常栈输出有害内容，并可能触发一个安全响应。
3. **响应时间**：
   * **正常栈**：对于正常用户提示，正常栈的响应时间应该是尽可能快的，以提供流畅的用户体验。
   * **影子栈**：尽管影子栈的检查过程可能会引入一些延迟，但SELFDEFEND设计的目标是使这种延迟最小化，以至于对用户体验的影响可以忽略不计。
4. **安全性**：
   * **正常栈**：可能受到越狱攻击的影响，因为它直接处理用户输入，可能无法识别所有复杂的攻击策略。
   * **影子栈**：作为安全层，它提供了额外的保护，即使正常栈被欺骗，影子栈也能够作为一个备份机制来防止有害内容的输出。

总结来说，影子栈是SELFDEFEND中为了增强安全性而设计的辅助系统，它与正常栈并行工作，但专注于检测和防御越狱攻击，而正常栈则负责执行LLMs的核心功能。通过这种设计，SELFDEFEND旨在在不显著影响用户体验的情况下，提高LLMs对越狱攻击的防御能力。

在SELFDEFEND框架中，影子栈对输入进行额外的安全检查的过程可以详细说明如下：

1. **并行处理**：
   * 当用户向LLMs提出一个请求或提示时，这个输入同时被送入正常栈和影子栈进行处理。
   * 正常栈开始执行其标准的处理流程，包括理解提示、生成回答或执行相应的任务。
   * 与此同时，影子栈开始执行安全检查，以确定输入是否包含有害内容。
2. **安全检查机制**：
   * 影子栈内部可能包含一系列的规则、模式匹配算法或机器学习模型，这些工具专门设计来识别违反安全政策的提示。
   * 这些检查可能包括对特定关键词、短语或结构的搜索，这些都是已知越狱攻击中常见的元素。
3. **触发检查点**：
   * 如果影子栈在用户输入中检测到潜在的有害内容，它会触发一个检查点。
   * 检查点是一个控制机制，它可以暂停或修改正常栈的处理流程，以防止有害内容的输出。
4. **响应生成**：
   * 一旦触发检查点，正常栈会接收到一个信号，表明需要对当前处理的输入进行额外的安全考虑。
   * 在某些情况下，正常栈可能会输出一个安全警告，拒绝执行请求，或者提供一个替代的回答，这些回答旨在遵守安全政策。
5. **可解释性**：
   * 影子栈不仅可以阻止有害内容的输出，还可以提供关于为何请求被拒绝的解释。
   * 这种可解释性有助于提高用户对LLMs安全机制的理解，并增强用户对系统的信任。
6. **持续监控与学习**：
   * 影子栈的设计允许它根据新的安全威胁和越狱攻击策略进行更新和学习。
   * 通过持续的监控和分析，影子栈可以不断改进其检测能力，以应对不断变化的攻击手段。

影子栈的这种额外安全检查机制为LLMs提供了一个强大的防御层，它不仅能够识别和阻止已知的越狱攻击，还能够适应新的安全挑战。通过这种方式，SELFDEFEND旨在保护LLMs不被恶意利用，同时确保用户能够安全地使用这些强大的语言模型。

### 4. 本文创新点与贡献

SELFDEFEND的创新之处在于它能够以最小的延迟检测到有害提示，并为对抗性提示生成可解释的LLMs响应。与现有的防御机制相比，SELFDEFEND是第一个实用的越狱防御方案。此外，本文还提出了三个未来的研究方向，以进一步增强SELFDEFEND的实际应用。

### 5. 本文实验

作者通过手动分析GPT-3.5/4在不同越狱场景下的表现来验证SELFDEFEND的有效性。实验结果表明，现有的LLMs能够有效识别有害提示，并区分正常用户提示。

### 6. 实验结论

实验结果支持了SELFDEFEND在各种越狱场景下的有效性。通过手动分析，作者展示了SELFDEFEND能够识别有害提示，并且对正常用户提示的延迟可以忽略不计。

### 7. 全文结论

本文提出了SELFDEFEND，一种轻量级且实用的LLMs越狱防御方案。通过手动分析，验证了其在不同越狱场景下的可行性，并讨论了未来研究方向以进一步增强SELFDEFEND的实际部署。

### 阅读总结

本文针对LLMs的越狱攻击问题提出了一种新的防御方案SELFDEFEND，该方案能够有效地识别和防御各种越狱攻击，同时对正常用户提示的延迟影响极小。通过实验验证了其有效性，并提出了未来的研究方向，以期在实际应用中进一步增强其性能。
