就在前几天,我还在尝试基于对话的LLM越狱,多次成功破解了 GPT-4 和 GPT-4o,引发了一系列混乱而幽默的回应。但当你的系统被黑、数据泄露,并面临难以想象的法律和财务后果时,这些乐趣和游戏就戛然而止了。
随着LLMs的发展,尤其是能够访问和管理数据的代理式 RAG 系统,我们必须确保其安全性,以防出现任何破坏性后果。
在本文中,我将向你介绍LLM安全的支柱、涉及的不同风险与漏洞,以及保护这些模型及你系统安全的最佳实践。
什么是LLM安全?
LLM安全涉及识别并缓解大型语言模型中的漏洞,如其传播错误信息或生成有害内容的倾向。潜在漏洞范围广泛,各公司根据自身需求对其优先级排序各异。
举例来说,金融机构可能侧重于防止数据泄露和减少过度代理的脆弱性,而聊天机器人公司则可能优先解决偏见和有害行为问题。
未能解决这些漏洞可能导致灾难性后果。例如,由于数据和模型不安全导致的虚假信息传播,会造成信任丧失、法律后果及对公司声誉的长期损害。
LLM安全的四大支柱
LLM 安全通常涵盖四个关键领域:数据安全、模型安全、基础设施安全和伦理考量。解决这些问题需要结合传统的网络安全技术和针对LLMs的特定保护措施。
LLM安全的四大支柱
数据安全
LLMs 需要大量的训练数据集,这些数据集暴露了众多数据漏洞。其中包括可能延续偏见、传播虚假信息或泄露机密数据(如个人身份信息 PII)的风险。
更高级的LLM应用,如 RAG 和代理系统,能够访问并操作数据库,若未妥善防护,可能造成严重破坏。因此,精心筛选训练数据集并防止数据篡改与污染至关重要。
模型安全
模型安全涉及保护LLM的结构和功能免受未经授权的更改。此类改动可能损害模型的有效性、可靠性和安全性,导致偏见、漏洞利用或性能下降。
LLM可能易受不同类型的对抗性攻击影响。
由于LLMs可能面临来自多角度的攻击,确保模型保持完整并按预期运行而不受损害至关重要。
基础设施安全
托管LLMs的环境必须全面防护各类威胁,包括部署防火墙、入侵检测系统及严格的物理安全措施。硬件保护、加密协议以及安全的托管环境同样不可或缺,以构建抵御潜在攻击的全面防线。
伦理考量
LLM安全中的伦理考量对于防止伤害和确保负责任的使用至关重要。主要漏洞包括生成有害内容,如错误信息、仇恨言论及助长刻板印象与歧视的偏见性输出。
有点困惑?别担心——LLM安全是个复杂的课题。随着你深入探究影响LLM系统的漏洞与攻击手段,你会逐渐更清晰地理解LLM安全的四大支柱如何相互关联并发挥作用。
LLM 漏洞
许多LLM漏洞并非由单一原因导致。这意味着未能坚守安全的四大支柱中的任何一项都可能引发重大风险。例如,忽视伦理考量和数据安全可能导致偏见性回应,而模型安全和数据安全的缺失则会造成数据泄露。
这些漏洞可归类为多个方面,包括潜在危害、与个人身份信息(PII)相关的风险、对品牌声誉的威胁以及技术性弱点。
危害漏洞
可能通过多种方式无意中造成重大伤害:
- 错误信息与虚假信息:传播有害谎言或宣传。
- 偏见与歧视:基于种族、性别或其他特征延续刻板印象或不公平对待个体。
- 毒性:生成有害、冒犯性或侮辱性的内容。
有害性示例
个人身份信息(PII)漏洞
PII漏洞使用户面临因个人数据处理不当或泄露带来的风险:
- API 与数据库访问:通过 API 未经授权访问敏感数据库。
- 直接 PII 披露:直接泄露个人身份信息。
- 会话 PII 泄露:因会话管理缺陷导致个人身份信息无意暴露。
- 社会工程学 PII 泄露:通过操纵性社会工程学手段获取的 PII。
个人身份信息泄露示例
品牌漏洞
品牌漏洞使组织面临损害其声誉和法律地位的风险:
- 合同:与法律文件或协议处理不当相关的风险。
- 过度代理:当LLM的行为超出其预期范围时,可能导致意外后果。
- 政治声明:涉及政治敏感或争议性话题的内容生成。
- 模仿:未经授权模仿个人或组织的风险LLMs。
品牌漏洞示例
技术漏洞
技术漏洞涉及与底层技术和基础设施相关的风险:
- 调试访问:通过调试工具进行的未授权访问,可能暴露敏感数据。
- 基于角色的访问控制(RBAC):在实施适当访问控制方面的弱点。
- Shell 注入:在托管LLM的服务器上执行未经授权的命令。
- SQL 注入:利用LLM交互的数据库中的漏洞。
- DOS 攻击:通过拒绝服务攻击破坏LLM服务的可用性。
技术漏洞示例
面对如此多种类的漏洞需要考虑,确保LLMs的全面安全可能会让人感到力不从心。但请放心——在接下来的章节中,我将逐步指导你如何检测这些漏洞并有效保护你的系统。
LLM 漏洞检测
检测LLM漏洞主要归结为两种方法:使用LLM基准测试和通过模拟攻击进行红队演练。
标准化LLM基准测试
基准测试对于评测常见漏洞类别的风险至关重要。
TruthfulQA的示例问题(Suzgun 等人)
例如,TruthfulQA 和 FEVER 评测LLM避免错误信息的能力,而 HaluEval 等工具专门测试幻觉风险。
现有大量已发布的LLM基准测试专注于特定漏洞。虽然这些基准提供了坚实的基础,但可能无法涵盖所有潜在问题,且对于针对特定漏洞的定制LLMs而言可能已过时。这正是红队演练变得至关重要的原因。
LLM 通过模拟攻击进行红队演练
红队演练通过模拟真实攻击场景来发现基准测试可能忽略的漏洞。它通常包括生成针对特定漏洞的定向提示,并将这些提示演化为更有效的对抗性攻击,以引发易受攻击的响应。
一些有效的红队演练方法包括:
-
直接搜索(人工红队测试):该方法通过系统性地用不同输入探测LLM以发现漏洞,手动设计提示来引发非预期行为或未授权操作。由于需要人工投入,此方法有效但难以规模化。
-
令牌操纵:通过操纵文本令牌,例如用同义词替换单词,攻击者可触发错误的模型预测。TextFooler 和 BERT-Attack 等技术遵循此方法,识别并替换关键易受攻击的单词以改变模型输出。
使用 TextFooler的令牌操作示例(Jin 等人)
- 基于梯度的攻击:这类攻击利用模型的损失梯度生成导致失败的输入。例如,AutoPrompt 采用此策略寻找有效的提示模板,而 Zou 等人则通过在恶意提示后附加后缀标记来探索对抗性触发器(然而,基于梯度的攻击仅适用于允许访问模型参数的白盒LLMs)。
Autoprompt 将每个输入插入到带有[MASK]标记的提示中,并使用触发标记来引导模型的预测(Shin 等人)
- 算法越狱:这包括诸如 Base64 编码、字符转换(如 ROT13)或提示级混淆等技术,以绕过限制。这些方法能巧妙地伪装恶意输入,欺骗LLM。
ROT13 算法
- 基于模型的越狱:这种方法通过自动化生成对抗性攻击来扩大越狱规模。它始于简单的合成红队输入,随后迭代演变为更复杂的攻击形式,如提示注入、探测和灰盒攻击。
为了更好地理解这种合成数据生成与数据进化过程,我推荐阅读关于使用LLMs进行合成数据生成的文章。简而言之,每一次进化都提升了复杂度,从而能够发现那些可能被不够精细的方法所遗漏的漏洞。这一策略之所以高效,在于它无需持续的人工输入即可生成富有创意且针对性强的攻击,因此非常适用于大规模漏洞检测。
6.基于对话的越狱(强化学习):基于对话的越狱是最有效的越狱技术,需要两个模型:目标LLM和一个通过强化学习训练的红队模型,用于利用目标的漏洞。
基于对话的越狱示例来自 PAIR(Chao 等人)
红队成员生成对抗性提示,并根据目标LLM响应的危害性接收反馈。这一反馈循环使红队能够优化其策略,从而发起越来越有效的攻击。通过持续从目标输出中学习,该方法能发现深层复杂的漏洞,为如何利用和修复这些漏洞提供宝贵见解。例如,基于对话的越狱技术 Prompt Automatic Iterative Refinement(PAIR)已被证明仅需不到二十次查询即可生成越狱指令,其效率远超现有算法。
然而,自行实施红队操作既容易出错又耗时。幸运的是,现在你无需从零开始构建一切,转而可以使用 DeepTeam 。DeepTeam 是专为LLMs设计的开源红队框架,它让任何人都能通过几行代码轻松进行红队测试并发现LLM漏洞:
pip install deepteam
from deepteam import red_team
from deepteam.vulnerabilities import Bias
from deepteam.attacks.single_turn import PromptInjection
def model_callback(input: str) -> str:
# Replace this with your LLM application
return f"I'm sorry but I can't answer this: {input}"
bias = Bias(types=["race"])
prompt_injection = PromptInjection()
red_team(model_callback=model_callback, vulnerabilities=[bias], attacks=[prompt_injection])
DeepEval 的 RedTeamer 扫描超过 40 种漏洞,并运用 10 多种对抗技术,包括基于强化学习的越狱攻击。
OWASP 2025 年十大安全风险 LLM
OWASP Top 10 LLM安全风险由来自不同领域的 500 名专家和 126 位贡献者共同制定,概述了LLMs中的关键风险。这些风险包括我们之前讨论过的漏洞和攻击。
LLM漏洞与风险回顾
以下是十大风险的快速概览:
- 提示词注入:攻击者通过精心设计的提示操纵LLMs以执行未授权操作。预防措施包括访问限制、基于角色的权限管理和严格的内容过滤。
- 不安全的输出处理:风险源自对LLM输出处理不当,如未经验证的 SQL 查询。采用零信任原则和安全输出处理标准以降低风险。
- 训练数据投毒:恶意篡改的训练数据会导致LLM输出产生偏差。确保数据来源可靠,验证数据真实性,并对输出结果进行校验。
- 模型拒绝服务(DoS):通过过量输入或复杂查询使LLM过载,从而影响其功能。需监控资源使用情况,限制输入量,并对 API 请求设置上限。
- 供应链漏洞:受损数据或过时组件影响模型预测。进行全面的供应商评测,监控模型异常行为,并定期应用补丁。
- 敏感信息泄露:在LLM交互过程中暴露敏感数据。实施数据清理措施,并对员工进行数据处理最佳实践的培训。
- 不安全插件设计:存在安全漏洞的插件可能导致未授权操作。应采用最小权限访问、验证插件安全性并使用认证协议。
- 过度赋权:权限过大的LLMs可能执行非预期操作。需验证功能有效性,并采用人在环监管措施保持监督。
- 过度依赖:缺乏适当控制地过度依赖LLMs会引发错误。应定期监控LLM输出结果,并建立强健的验证机制。
- 模型窃取:未经授权访问LLMs可能导致数据提取或功能复制。需加强访问控制、监控使用日志并防范旁路攻击。
LLM漏洞缓解的安全最佳实践
一旦检测到LLM漏洞,由于其多因素特性,正如前文所述,精确定位确切原因可能颇具挑战。为解决这一问题,关键是要监控 OWASP 十大漏洞,考虑LLM安全的四大支柱,并遵循下文我将概述的最佳实践。
- 增强模型韧性: 构建稳健的LLMs,需专注于对抗训练和融入差分隐私机制。对抗训练通过在模型开发阶段引入对抗样本,提升其抵御攻击的能力。差分隐私则在数据或模型输出中引入随机性,防止个体数据点被识别,在保护用户隐私的同时,支持从聚合数据中广泛学习。
- 实施强健控制措施: 通过全面的输入验证机制和严格的访问控制强化安全。输入验证确保仅处理合法数据,防范恶意输入和即时注入攻击。访问控制通过认证、授权和审计手段,限制LLM仅允许授权用户和应用程序交互,防止未授权访问及数据泄露。
- 保障执行环境安全: 建立安全的执行环境以隔离LLMs免受潜在威胁。容器化和可信执行环境(TEEs)等技术保护模型运行时及操作完整性。采用联邦学习还能通过允许模型在多个服务器上训练而不集中敏感数据来增强安全性。
- 人工介入与追踪:在LLM流程中融入人工监督,捕捉自动化系统可能遗漏的错误或恶意行为。实施追踪机制以记录LLM内部数据流和决策过程,提升透明度和问责制。
- 生产环境监控: 最后,有效的监控对于维护LLM生产安全至关重要。定期审查访问控制、数据使用及系统日志,以检测并处理异常或未授权活动。实施事件响应计划对于迅速应对安全漏洞和中断极为重要。
Confident AI 为多种应用场景提供漏洞生产监控,包括LLM聊天机器人和文本转 SQL。它提供实时安全护栏以检测安全问题,可自动适配任何自定义用例和指标。此外,Confident AI 支持融入人工参与流程与追踪,确保全面的安全与监管。
结论
今日,我们深入探讨了LLM安全的基础要素,涵盖了数据、模型、基础设施及伦理考量等关键领域。我们讨论了包括错误信息、偏见以及 SQL 注入、个人身份信息泄露等技术风险在内的多种漏洞。
我们还通过基准测试和红队方法(包括基于对话的越狱和合成数据生成等先进技术)探讨了检测这些漏洞的重要性,以及 DeepTeam 如何将这一过程简化为几行代码。此外,我们强调了在生产环境中使用如 Confident AI 这样的平台进行有效监控,如何提供实时漏洞评测以保护你的系统免受新兴威胁。这种全面的方法不仅确保了模型的稳健性,还保障了其安全且符合伦理的部署。