菜单

LLM 安全

相关源文件

目的与范围

本文档概述了与大型语言模型 (LLM) 安全相关的资源和研究。它涵盖了常见的安全漏洞、攻击向量、防御策略以及评估 LLM 安全性的工具。随着 LLM 越来越多地集成到关键应用中,理解和减轻安全风险对于负责任的开发和部署至关重要。

有关评估 LLM 在特定任务上的性能信息,请参阅 LLM 评估与基准测试。有关特定应用的实现细节,请参阅 文档问答系统

LLM 安全资源

funNLP 存储库引用了几个关键的 LLM 安全资源

资源描述
LLM 模型安全研究LLM 漏洞和红队演练方法的全面文档
聊天机器人注入与利用示例集合,展示了各种攻击向量,包括命令注入、字符编码利用、社会工程技术以及与表情符号和 Unicode 相关的漏洞
GPTSecurity社区存储库,整合了 GPT/AIGC/LLM 安全方面的学术研究和实践经验;包括研究论文、博客文章、工具和安全提示

来源:README.md300-307

LLM 威胁形势

来源:README.md300-307

常见攻击向量

提示词注入

提示注入攻击是指恶意输入操纵模型,绕过内置限制或执行非预期操作。这些攻击的目标是系统指令和用户输入之间的边界。

提示注入的类型

  1. 直接提示注入:明确尝试覆盖系统指令
  2. 间接提示注入:操纵稍后将被 LLM 处理的内容
  3. 上下文操纵:利用有限的上下文窗口来混淆模型

越狱

越狱是指绕过 LLM 中的内容过滤器和安全机制的技术。与针对指令边界的提示注入不同,越狱侧重于绕过内容审核。

常见的越狱方法

  • 角色扮演场景,使有害内容看起来是假设性的
  • 字符编码技巧,用于伪装受禁止的内容
  • 使用模糊的语言来逃避检测
  • 构建会给模型带来道德困境的场景

数据提取攻击

这些攻击旨在从模型的参数或响应中提取敏感信息

  • 训练数据提取:提取用于训练模型的数据
  • 成员推理:确定特定数据是否在训练数据集中
  • 模型反演:通过仔细查询来重构私有训练数据

来源:README.md300-307

LLM 安全防御架构

来源:README.md300-307

防御策略

防御性提示工程

防御性提示工程涉及创建对操纵具有弹性的系统提示

  • 明确的边界强制执行:在系统指令和用户输入之间建立强大的分隔
  • 指令强化:定期重申关键安全指令
  • 护栏:包含对潜在问题输入的明确处理

部署前安全措施

措施描述
红队测试模拟对抗性攻击,以在部署前识别漏洞
对抗性训练使用对抗性示例训练模型以提高鲁棒性
安全微调专注于拒绝有害请求的附加训练
模型评估针对已知攻击向量和安全基准进行全面测试

运行时保护

  • 输入验证:在潜在的恶意输入到达模型之前对其进行过滤
  • 输出过滤:扫描模型的输出,查找有害、不正确或敏感内容
  • 速率限制:通过查询量限制防止滥用
  • 上下文分析:分析交互模式以检测攻击尝试

持续安全监控

  • 使用分析:监控使用模式以检测潜在的滥用
  • 反馈收集:收集用户关于问题输出的报告
  • 模型行为跟踪:识别模型行为的意外变化
  • 漏洞扫描:针对已知和新兴攻击向量进行定期测试

来源:README.md300-307

安全评估框架

红队演练

红队演练涉及安全专家系统地尝试绕过模型保护措施以识别漏洞。该过程通常包括

  1. 威胁建模:识别潜在的攻击向量和安全问题
  2. 攻击模拟:针对模型执行各种攻击策略
  3. 漏洞文档:记录成功的攻击及其方法
  4. 缓解措施开发:为已识别的漏洞创建对策

基准测试

已开发了多个基准来评估 LLM 安全性

  • 越狱抵抗测试:评估模型对已知越狱技术的抵抗能力
  • 提示注入基准:测试对各种注入攻击的敏感性
  • 隐私泄露评估:评估模型泄露敏感信息的倾向
  • 幻觉检测:衡量模型产生虚假信息的倾向

多模态 LLM 的特殊注意事项

处理图像、音频或其他数据类型的多模态 LLM 会带来额外的安全挑战

  • 跨模态攻击:使用一种模态触发另一种模态的漏洞
  • 隐藏信息:在图像或音频中嵌入不可见提示
  • 模态混淆:利用不同模态处理方式的不一致性

有关多模态 LLM 的更多信息,请参阅 多模态 LLM

结论

LLM 安全是一个快速发展的领域,新的漏洞和防御措施不断涌现。随着这些模型的能力越来越强、部署范围越来越广,健壮的安全实践变得越来越关键。funNLP 存储库中提供的资源为理解和解决 LLM 安全问题提供了起点,但跟上最新的研究和最佳实践对于维护安全的 LLM 应用至关重要。

要实现考虑安全影响的特定 LLM 应用,请参阅 文档问答系统行业应用