LLM 安全
相关源文件
目的与范围
本文档概述了与大型语言模型 (LLM) 安全相关的资源和研究。它涵盖了常见的安全漏洞、攻击向量、防御策略以及评估 LLM 安全性的工具。随着 LLM 越来越多地集成到关键应用中,理解和减轻安全风险对于负责任的开发和部署至关重要。
有关评估 LLM 在特定任务上的性能信息,请参阅 LLM 评估与基准测试。有关特定应用的实现细节,请参阅 文档问答系统。
LLM 安全资源
funNLP 存储库引用了几个关键的 LLM 安全资源
| 资源 | 描述 |
|---|
| LLM 模型安全研究 | LLM 漏洞和红队演练方法的全面文档 |
| 聊天机器人注入与利用 | 示例集合,展示了各种攻击向量,包括命令注入、字符编码利用、社会工程技术以及与表情符号和 Unicode 相关的漏洞 |
| GPTSecurity | 社区存储库,整合了 GPT/AIGC/LLM 安全方面的学术研究和实践经验;包括研究论文、博客文章、工具和安全提示 |
来源:README.md300-307
LLM 威胁形势
来源:README.md300-307
常见攻击向量
提示词注入
提示注入攻击是指恶意输入操纵模型,绕过内置限制或执行非预期操作。这些攻击的目标是系统指令和用户输入之间的边界。
提示注入的类型
- 直接提示注入:明确尝试覆盖系统指令
- 间接提示注入:操纵稍后将被 LLM 处理的内容
- 上下文操纵:利用有限的上下文窗口来混淆模型
越狱
越狱是指绕过 LLM 中的内容过滤器和安全机制的技术。与针对指令边界的提示注入不同,越狱侧重于绕过内容审核。
常见的越狱方法
- 角色扮演场景,使有害内容看起来是假设性的
- 字符编码技巧,用于伪装受禁止的内容
- 使用模糊的语言来逃避检测
- 构建会给模型带来道德困境的场景
这些攻击旨在从模型的参数或响应中提取敏感信息
- 训练数据提取:提取用于训练模型的数据
- 成员推理:确定特定数据是否在训练数据集中
- 模型反演:通过仔细查询来重构私有训练数据
来源:README.md300-307
LLM 安全防御架构
来源:README.md300-307
防御策略
防御性提示工程
防御性提示工程涉及创建对操纵具有弹性的系统提示
- 明确的边界强制执行:在系统指令和用户输入之间建立强大的分隔
- 指令强化:定期重申关键安全指令
- 护栏:包含对潜在问题输入的明确处理
部署前安全措施
| 措施 | 描述 |
|---|
| 红队测试 | 模拟对抗性攻击,以在部署前识别漏洞 |
| 对抗性训练 | 使用对抗性示例训练模型以提高鲁棒性 |
| 安全微调 | 专注于拒绝有害请求的附加训练 |
| 模型评估 | 针对已知攻击向量和安全基准进行全面测试 |
运行时保护
- 输入验证:在潜在的恶意输入到达模型之前对其进行过滤
- 输出过滤:扫描模型的输出,查找有害、不正确或敏感内容
- 速率限制:通过查询量限制防止滥用
- 上下文分析:分析交互模式以检测攻击尝试
持续安全监控
- 使用分析:监控使用模式以检测潜在的滥用
- 反馈收集:收集用户关于问题输出的报告
- 模型行为跟踪:识别模型行为的意外变化
- 漏洞扫描:针对已知和新兴攻击向量进行定期测试
来源:README.md300-307
安全评估框架
红队演练
红队演练涉及安全专家系统地尝试绕过模型保护措施以识别漏洞。该过程通常包括
- 威胁建模:识别潜在的攻击向量和安全问题
- 攻击模拟:针对模型执行各种攻击策略
- 漏洞文档:记录成功的攻击及其方法
- 缓解措施开发:为已识别的漏洞创建对策
基准测试
已开发了多个基准来评估 LLM 安全性
- 越狱抵抗测试:评估模型对已知越狱技术的抵抗能力
- 提示注入基准:测试对各种注入攻击的敏感性
- 隐私泄露评估:评估模型泄露敏感信息的倾向
- 幻觉检测:衡量模型产生虚假信息的倾向
多模态 LLM 的特殊注意事项
处理图像、音频或其他数据类型的多模态 LLM 会带来额外的安全挑战
- 跨模态攻击:使用一种模态触发另一种模态的漏洞
- 隐藏信息:在图像或音频中嵌入不可见提示
- 模态混淆:利用不同模态处理方式的不一致性
有关多模态 LLM 的更多信息,请参阅 多模态 LLM。
结论
LLM 安全是一个快速发展的领域,新的漏洞和防御措施不断涌现。随着这些模型的能力越来越强、部署范围越来越广,健壮的安全实践变得越来越关键。funNLP 存储库中提供的资源为理解和解决 LLM 安全问题提供了起点,但跟上最新的研究和最佳实践对于维护安全的 LLM 应用至关重要。
要实现考虑安全影响的特定 LLM 应用,请参阅 文档问答系统 和 行业应用。