本文档详细介绍了生成式 AI 系统背景下 AI 应用程序的安全注意事项和实践。它涵盖了 AI 应用程序面临的独特安全挑战、常见威胁和攻击向量,以及实施强大安全措施的最佳实践。
重点在于保护使用大型语言模型 (LLM) 的 AI 应用程序的实用方法,例如本课程中涵盖的模型。有关 AI 应用程序生命周期和部署注意事项的信息,请参阅生成式 AI 应用程序生命周期。
AI 应用程序的安全性包括传统的应用程序安全以及特定于 AI 的考虑因素。与传统的软件不同,AI 系统因其学习能力、对外部数据的依赖以及输出的概率性性质而具有独特的漏洞。
来源:13-securing-ai-applications/README.md21-74
保护 AI 应用程序时,必须考虑四个关键维度
来源:13-securing-ai-applications/README.md25-38 13-securing-ai-applications/README.md65-74
AI 系统面临着超出传统网络安全问题的各种威胁。了解这些威胁对于实施有效的安全措施至关重要。
数据投毒目前被认为是 AI 系统最重大的安全威胁。当攻击者故意操纵训练数据以破坏模型性能或引入后门时,就会发生这种情况。
数据投毒的常见形式包括
| 类型 | 描述 | 示例 |
|---|---|---|
| 标签翻转 | 故意更改训练数据中的标签 | 将良性样本标记为恶意 |
| 特征投毒 | 修改特征以引入偏差 | 添加不相关的关键词以操纵推荐 |
| 数据注入 | 将恶意数据插入训练集 | 引入虚假用户评论以扭曲情感分析 |
| 后门攻击 | 将隐藏模式插入训练数据 | 使用后门图像训练面部识别 |
来源:13-securing-ai-applications/README.md36-48
提示注入是一种攻击技术,攻击者通过精心设计的输入来操纵 LLM,使其行为超出其预期参数。此漏洞可能导致未经授权的访问、数据泄露或绕过内容过滤器。
来源:13-securing-ai-applications/README.md58-60
来源:13-securing-ai-applications/README.md60-62
AI 系统的安全测试需要专门的方法来解决这些系统的独特特性。全面的安全测试应包括
来源:13-securing-ai-applications/README.md65-74
数据净化:从训练数据和输入中删除或匿名化敏感信息,以防止数据泄露和维护隐私。
对抗性测试:生成并应用对抗性示例,以评估模型在抵御攻击方面的稳健性。
模型验证:验证模型参数和架构的正确性和完整性,以防止模型被窃取。
输出验证:验证模型输出的质量和安全性,以检测恶意操纵。
来源:13-securing-ai-applications/README.md70-74
为保护 AI 应用程序免受各种威胁,请实施以下缓解策略
实施以下关键防护措施以防范提示注入
来源:13-securing-ai-applications/README.md58-60 13-securing-ai-applications/README.md103-120
来源:13-securing-ai-applications/README.md36-48
AI 应用程序的全面安全架构应包含多层保护
来源:13-securing-ai-applications/README.md80-100
| 安全控制 | 描述 | 实现 |
|---|---|---|
| 输入验证 | 过滤和清理所有用户输入 | 模式匹配、允许列表、上下文验证 |
| 系统提示 | 明确的模型行为约束 | 关于可接受输出和边界的明确说明 |
| 内容过滤 | 有害内容的前/后处理 | 毒性检测、不当内容分类器 |
| 速率限制 | 防止通过过度请求滥用 | API 网关配置、每用户限制 |
| 访问控制 | 根据用户角色限制模型功能 | 基于角色的访问、基于功能的权限 |
| 可观测性 | 监控和分析模型行为 | 日志记录、指标、异常检测 |
来源:13-securing-ai-applications/README.md103-142
来源:13-securing-ai-applications/README.md150-163
安全应贯穿 AI 应用程序的整个开发生命周期
来源:13-securing-ai-applications/README.md175-190
一些组织已经制定了框架来帮助保护 AI 应用程序
MITRE ATLAS:人工智能系统对抗性威胁态势 - 一个关于 AI 系统实际攻击中使用的策略和技术的知识库,模仿 MITRE ATT&CK 框架。
OWASP LLM 十大漏洞:开放式 Web 应用程序安全项目列出的 LLM 应用程序中最关键的漏洞。
必学 AI 安全:一个免费资源,提供有关应对新兴 AI 威胁的广泛指导。
来源:13-securing-ai-applications/README.md50-63
保护 AI 应用程序需要一种多方面的方法,该方法要解决传统的安全问题以及特定于 AI 的漏洞。通过在应用程序堆栈的所有级别实施适当的安全控制,从数据保护到模型安全再到用户交互,您可以构建既强大又安全的 AI 应用程序。
请记住,AI 安全是一个不断发展的领域,及时了解最新的威胁和缓解措施对于维持强大的安全态势至关重要。