介绍 LLM 应用的关键安全风险(数据隐私、提示注入等)和防护措施。必读的安全指南,程序员构建 LLM 应用时的核心参考。
大型语言模型(LLM)会处理大量敏感信息,同时也带来了严峻的安全挑战。上一篇文章《团队必须了解的关键 LLM 安全风险与最佳实践》分析了 prompt injection、数据投毒和模型窃取等核心漏洞。本文将重点介绍更进阶的最佳实践,并探讨如何通过对抗性测试、定期审计与监控、数据加密等多种措施增强安全性。
通过实施这些策略,你的组织可以缓解新出现的威胁,并构建更具韧性、更可靠的 AI 系统。
恶意攻击者使用的技术正变得越来越复杂。如今,他们会设计复杂的多层攻击,在不同阶段利用 AI 模型的漏洞。已知风险包括:
Prompt injection:黑客通过操纵指令提取或泄露隐私数据。
数据投毒:攻击者植入被污染或带有偏见的数据,从而改变模型行为或降低模型性能。
模型窃取:未经授权的第三方试图复制或窃取模型的独特能力。
LLM 可能被滥用于有害目的。攻击者会使用精心设计的 prompt 对其进行试探,篡改训练数据,并利用不安全的输出管理机制。这些行为可能威胁隐私、知识产权以及应用程序的可靠性——我们将在下文进一步探讨这一点。
此外,恶意攻击者发起的高级攻击也带来了一些新的关注领域,其中包括:
越狱:越狱是指利用模型安全机制中的漏洞,操纵 LLM 生成受限制内容的方法。这可能损害公司的声誉、带来法律风险,或者意外产生有害输出。2023 年,Chris Bakke 利用一家 Chevrolet 经销商由 ChatGPT 驱动的聊天机器人,说服它满足客户提出的任何要求,从而以仅一美元的价格获得了一辆价值七万六千美元的 Chevy Tahoe。随着这次攻击的消息传开,其他人也开始尝试,经销商最终不得不关闭该聊天机器人。
越狱:越狱是指利用模型安全机制中的漏洞,操纵 LLM 生成受限制内容的方法。这可能损害公司的声誉、带来法律风险,或者意外产生有害输出。
2023 年,Chris Bakke 利用一家 Chevrolet 经销商由 ChatGPT 驱动的聊天机器人,说服它满足客户提出的任何要求,从而以仅一美元的价格获得了一辆价值七万六千美元的 Chevy Tahoe。随着这次攻击的消息传开,其他人也开始尝试,经销商最终不得不关闭该聊天机器人。
幻觉:当 AI 系统生成看似准确、实际上却错误的虚假或误导性信息时,就会出现幻觉。例如,如果企业将 AI 聊天机器人视为权威信息来源,它就可能误导企业并带来法律风险。一个广为人知的事件是 Air Canada 的聊天机器人失误:一位客户收到有关丧亲票价的错误信息。该航空公司拒绝按照这条错误信息执行,但不列颠哥伦比亚省民事纠纷解决法庭裁定 Air Canada 败诉,并指出航空公司不能把责任推给聊天机器人。这会导致:
幻觉:当 AI 系统生成看似准确、实际上却错误的虚假或误导性信息时,就会出现幻觉。例如,如果企业将 AI 聊天机器人视为权威信息来源,它就可能误导企业并带来法律风险。
一个广为人知的事件是 Air Canada 的聊天机器人失误:一位客户收到有关丧亲票价的错误信息。该航空公司拒绝按照这条错误信息执行,但不列颠哥伦比亚省民事纠纷解决法庭裁定 Air Canada 败诉,并指出航空公司不能把责任推给聊天机器人。这会导致:
信任与声誉受损:反复出现错误回答会削弱用户对 AI 的信任,损害品牌公信力。
信任与声誉受损:反复出现错误回答会削弱用户对 AI 的信任,损害品牌公信力。
*法律与财务后果:**在关键决策中依赖 AI,可能会因幻觉而使企业面临法律风险或财务损失。
*法律与财务后果:**在关键决策中依赖 AI,可能会因幻觉而使企业面临法律风险或财务损失。
模型偏见:当大型语言模型(LLM)反映其训练数据集中的偏见时,就会出现模型偏见。如果这些数据集包含历史、文化或系统性偏见,模型就可能延续甚至放大这些偏见,产生歧视性或不公正的输出。其中一个关键影响是文化与政治偏见:使用倾斜数据集训练的 LLM 可能会支持特定观点,同时排斥其他观点。
模型偏见:当大型语言模型(LLM)反映其训练数据集中的偏见时,就会出现模型偏见。如果这些数据集包含历史、文化或系统性偏见,模型就可能延续甚至放大这些偏见,产生歧视性或不公正的输出。其中一个关键影响是文化与政治偏见:使用倾斜数据集训练的 LLM 可能会支持特定观点,同时排斥其他观点。
API 滥用:恶意用户可以利用应用程序编程接口(API)访问敏感信息或滥用模型功能,导致服务中断。可能造成的后果包括:
API 滥用:恶意用户可以利用应用程序编程接口(API)访问敏感信息或滥用模型功能,导致服务中断。可能造成的后果包括:
数据提取与模型反演:攻击者可以构造特定输入,诱使模型泄露专有训练数据,进而危及隐私并暴露敏感的业务信息。
数据提取与模型反演:攻击者可以构造特定输入,诱使模型泄露专有训练数据,进而危及隐私并暴露敏感的业务信息。
恶意 prompt injection:攻击者可以通过篡改 API 查询绕过预设的系统控制,从而执行未经授权的操作。
恶意 prompt injection:攻击者可以通过篡改 API 查询绕过预设的系统控制,从而执行未经授权的操作。
拒绝服务(DoS)攻击:网络犯罪分子可以向 API endpoint 发起海量请求,损害系统性能并导致服务不可用。
拒绝服务(DoS)攻击:网络犯罪分子可以向 API endpoint 发起海量请求,损害系统性能并导致服务不可用。
不受控制的内容生成:如果缺少充分的系统检查,API 可能遭到利用,被用来生成虚假信息、冒犯性材料或有害代码。本文将在通用建议的基础上,进一步介绍可与之结合使用的高级措施。
不受控制的内容生成:如果缺少充分的系统检查,API 可能遭到利用,被用来生成虚假信息、冒犯性材料或有害代码。
本文将在通用建议的基础上,进一步介绍可与之结合使用的高级措施。
目前已有多种方法可以保护 LLM 免受新兴威胁,这些措施包括:
基于角色的访问控制(RBAC):在访问限制的基础上实施分级权限体系,为每种角色分配特定权限。运维人员可以调整参数或重新部署模型,而普通用户可能只能执行 inference。该原则能够缩小攻击者的影响范围,因为单个账户遭到入侵并不会危及整个基础设施。
数据加密:加密不能只覆盖存储环节。无论数据处于传输中还是静态存储状态,都应进行加密。密钥应保存在 LLM 基础设施直接运行环境之外。这样一来,即使攻击者突破了一道防线,也无法自动访问明文数据。这有助于防止数据泄露或恶意训练数据渗入系统。
定期审计与监控:建立日志记录机制,追踪变更、访问模式和异常行为。保留模型输入与输出对的日志,以便检测操纵行为或异常情况。一套健全的审计流程能够标记可疑的使用量激增或重复查询模式。将这些日志与安全策略结合起来,可以迅速阻止可疑活动。
防范 prompt injection:上一篇文章介绍了攻击者如何使用欺骗性 prompt 绕过系统防护。要升级防御能力,可以增加自动过滤器,在用户 prompt 传递给模型之前对其进行检查。重点寻找危险信号,例如索取隐藏数据,或者要求覆盖系统设置的指令。还应将过滤机制与隔离工作流结合起来,暂停处理可疑 prompt,直到管理员完成审核。
API 速率限制与身份验证:速率限制经常被忽视,但它是防范拒绝服务攻击的关键措施。对异常的突发请求进行限流,可以拦截垃圾请求发送者或恶意机器人。对 LLM endpoint 的每次调用都应要求使用严格的身份验证 token。如果日志标记出反复失败的身份验证尝试,应锁定系统,直到威胁得到消除。
对抗性测试:针对模型开展红队演练。向模型输入试图泄露隐藏训练数据或覆盖既定规则的内容,观察 LLM 如何响应可疑行为。然后进一步完善过滤器、规章制度和监督机制,降低测试中发现的风险。
上一篇文章讨论了 KitOps 等模型打包平台,以及用于安全存储的 JozuHub。不过,本文将进一步介绍这些工具如何提供高级安全能力。
KitOps 通过一套结构化方法对模型进行打包、追踪模型进展并验证合规性,从而增强 LLM 的安全防护。这种方法包括:
KitOps:ModelKit 格式与 manifest:你可以使用 ModelKit 格式安全地打包模型,将数据集、代码、配置和文档等所有内容组织在一起。不可变 manifest 能够防止未经授权的修改。一旦修改任何内容,系统就会创建一个新的 ModelKit,使每次变更都可追踪、透明可见。
https://www.youtube.com/watch?v=iK9mnU0prRU&&pp=ygUGS2l0T3Bz
SHA digest:打包模型时,KitOps 会为每个文件生成 SHA digest,作为该文件的唯一标识。如果数据集或代码的任何部分遭到修改,hash 就会发生变化,表明可能存在篡改行为。
Kitfile:Kitfile 是一个汇总模型全部详细信息的 YAML 配置文件,也是你的主要参考依据。它可以促进团队协作的一致性,并简化审计流程。定期检查和更新 Kitfile,可以确保模型拥有完善的文档记录和恰当的版本管理。
KitOps 采用结构化方式打包模型,而 Jozu Hub 则通过一个中心化平台提供模型证明与追踪机制。将 Jozu Hub 集成到 AI 安全工作流中,可以落实治理、完整性和验证方面的最佳实践。
Jozu Hub:证明与 AI SBOM:Jozu Hub 是一个兼容 OCI 1.1 的安全 registry,用于存储和管理 ModelKit。将模型上传到这里,可以创建可追踪的版本记录,防止未经授权的变更,同时简化检索流程。
模型证明:证明机制可以确认模型是否在未经许可的情况下遭到修改。如果恶意攻击者试图替换某个文件,证明流程就会识别出不匹配。
AI 软件物料清单(AI SBOM):Jozu Hub 会创建一份 AI Software Bill of Materials(AI SBOM),详细列出模型中的所有依赖项,包括数据集、library 和代码版本。这种透明度有助于你尽早发现潜在的安全风险与许可证问题。
LLM 安全并不止于防范 prompt injection 或进行基础数据加密。它是一项不断演变的挑战,需要持续保持警惕。你必须不断强化 LLM 系统,将此前文章中的基础安全建议与本文介绍的高级方法结合起来。通过多层访问控制、强健的加密机制、自动化监控、严格的 API 安全措施和全面的红队测试来保护整个 pipeline。
然后,借助 KitOps 和 Jozu Hub 完成打包、追踪和证明。两者结合,可以为团队提供统一的平台,存储、审计和版本管理从模型权重到代码文件的所有内容。这种协作方式能够减少开发团队与安全团队之间的摩擦,同时为调查异常、验证加密真实性以及确认合规义务提供一站式平台。保持警觉、持续了解最新动态,并使用正确的工具从各个角度保护模型安全。