AI 学习资料 · 生成式 AI 入门(精选 7 课)
保护你的生成式 AI 应用
编者注:本课是原课程的第 13 课。
介绍
本课将涵盖:
- AI 系统语境下的安全。
- AI 系统面临的常见风险和威胁。
- 保护 AI 系统的方法和注意事项。
学习目标
完成本课后,你将了解:
- AI 系统面临的威胁和风险。
- 保护 AI 系统的常用方法和实践。
- 实施安全测试如何帮助防止意外的结果,避免用户信任受损。
在生成式 AI 的语境下,安全意味着什么?
随着人工智能(AI)和机器学习(ML)技术越来越深地影响我们的生活,不仅要保护客户数据,保护 AI 系统本身也变得至关重要。在一些行业里,错误的决策可能造成严重后果,而 AI/ML 正越来越多地被用来支持这些行业中高价值的决策过程。
需要考虑的关键点如下:
- AI/ML 的影响:AI/ML 对日常生活影响重大,因此保护它们已变得必不可少。
- 安全挑战:AI/ML 带来的这种影响需要得到足够重视,才能保护基于 AI 的产品免受复杂的攻击,无论攻击来自网络捣乱者还是有组织的团体。
- 战略问题:科技行业必须主动应对战略性挑战,确保客户的长期安全和数据安全。
此外,机器学习模型基本上无法区分恶意输入和无害的异常数据。训练数据有很大一部分来自未经筛选、未经审核、任何第三方都能贡献内容的公开数据集。既然攻击者可以自由地往数据集里贡献内容,他们根本不需要去攻破数据集。久而久之,只要数据的结构和格式没有问题,低可信度的恶意数据就会变成高可信度的“可信”数据。
正因如此,确保模型用来做决策的数据存储完整、受到保护,至关重要。
了解 AI 的威胁和风险
就 AI 及相关系统而言,数据投毒是当今最突出的安全威胁。数据投毒是指有人故意篡改用于训练 AI 的信息,让 AI 犯错。之所以如此严重,是因为目前还没有标准化的检测和缓解方法,而我们又依赖不可信或未经筛选的公开数据集来训练。为了保持数据完整、避免训练过程出问题,追踪数据的来源和流转过程至关重要。否则,“垃圾进,垃圾出”这句老话就会应验,模型的表现会大打折扣。
下面是数据投毒影响模型的几个例子:
-
标签翻转:在二分类任务中,攻击者故意把一小部分训练数据的标签反过来,例如把无害样本标成恶意样本,让模型学到错误的关联。
例子:标签被篡改后,垃圾邮件过滤器把正常邮件误判为垃圾邮件。
-
特征投毒:攻击者悄悄修改训练数据中的特征,引入偏差或误导模型。
例子:在商品描述中加入无关的关键词,操纵推荐系统。
-
数据注入:向训练集中注入恶意数据,影响模型的行为。
例子:加入虚假的用户评论,扭曲情感分析的结果。
-
后门攻击:攻击者在训练数据中植入一个隐藏的模式(后门)。模型学会识别这个模式,一旦被触发就会做出恶意行为。
例子:用带后门的图片训练出来的人脸识别系统,会认错某个特定的人。
MITRE 公司建立了 ATLAS(Adversarial Threat Landscape for Artificial-Intelligence Systems,人工智能系统对抗威胁全景),这是一个知识库,收录了攻击者在针对 AI 系统的真实攻击中使用的战术和技术。
随着 AI 的引入使现有系统的攻击面超出了传统网络攻击的范围,AI 系统中的漏洞越来越多。我们开发 ATLAS,是为了在全球社会越来越多地把 AI 融入各种系统之际,提高人们对这些独特且不断演变的漏洞的认识。ATLAS 以 MITRE ATT&CK® 框架为蓝本,其战术、技术和程序(TTP)与 ATT&CK 中的内容互为补充。
MITRE ATT&CK® 框架在传统网络安全领域被广泛用于规划高级威胁模拟场景。与它类似,ATLAS 提供了一套便于检索的 TTP,有助于更好地理解新出现的攻击,并做好防御准备。
此外,开放式 Web 应用程序安全项目(OWASP)发布了一份“十大风险清单”,列出使用 LLM 的应用中最关键的漏洞。清单中强调了前面提到的数据投毒等威胁,还有以下这些:
- 提示词注入:攻击者通过精心构造的输入操纵大语言模型(LLM),使其做出预期之外的行为。
- 供应链漏洞:构成 LLM 所用应用的组件和软件,例如 Python 模块或外部数据集,本身可能已被攻破,导致意外的结果、引入偏见,甚至让底层基础设施出现漏洞。
- 过度依赖:LLM 会出错,也常常出现幻觉,给出不准确或不安全的结果。在一些有记录的案例中,人们直接相信了这些结果,在现实中造成了意想不到的负面后果。
Microsoft 云技术布道师(Cloud Advocate)Rod Trent 写了一本免费电子书 Must Learn AI Security(英文),深入介绍了这些以及其他新出现的 AI 威胁,并就如何最好地应对这些情况给出了大量指导。
AI 系统和 LLM 的安全测试
人工智能(AI)正在改变各个领域和行业,为社会带来新的可能和好处。但 AI 也带来了重大的挑战和风险,例如数据隐私、偏见、缺乏可解释性以及可能被滥用。因此,确保 AI 系统安全且负责任至关重要,也就是说,它们要符合伦理和法律标准,能够赢得用户和利益相关方的信任。
安全测试是通过识别和利用 AI 系统或 LLM 的漏洞,来评估其安全性的过程。根据测试的目的和范围,可以由开发者、用户或第三方审计人员来做。AI 系统和 LLM 最常见的安全测试方法有:
- 数据清理:从 AI 系统或 LLM 的训练数据或输入中删除敏感或隐私信息,或对其做匿名化处理。数据清理通过减少机密或个人数据的暴露,有助于防止数据泄露和恶意操纵。
- 对抗测试:生成对抗样本,并将其用于 AI 系统或 LLM 的输入或输出,评估系统面对对抗攻击时的稳健性和恢复能力。对抗测试有助于发现并缓解可能被攻击者利用的漏洞和弱点。
- 模型验证:验证 AI 系统或 LLM 的模型参数或架构是否正确、完整。模型验证可以确保模型受到保护并经过认证,从而有助于发现和防止模型被窃取。
- 输出验证:验证 AI 系统或 LLM 输出的质量和可靠性。输出验证可以确保输出前后一致、准确无误,从而有助于发现并纠正恶意操纵。
AI 系统领域的领先者 OpenAI,在其红队网络计划中设立了一系列安全评估,用来测试 AI 系统的输出,希望为 AI 安全做出贡献。
评估既可以是简单的问答测试,也可以是更复杂的模拟。下面是 OpenAI 开发的一些评估示例,从多个角度评估 AI 的行为:
说服
- MakeMeSay:一个 AI 系统能多大程度上诱使另一个 AI 系统说出某个秘密词?
- MakeMePay:一个 AI 系统能多大程度上说服另一个 AI 系统捐钱?
- Ballot Proposal:一个 AI 系统能多大程度上影响另一个 AI 系统对某项政治提案的支持?
隐写(隐藏信息)
- Steganography:一个 AI 系统能多大程度上传递秘密信息而不被另一个 AI 系统发现?
- Text Compression:一个 AI 系统压缩和解压消息的能力有多强,能否借此隐藏秘密信息?
- Schelling Point:一个 AI 系统能多大程度上在不直接沟通的情况下与另一个 AI 系统协调一致?
AI 安全
我们必须设法保护 AI 系统免受恶意攻击、滥用或意外后果的影响。这包括采取措施确保 AI 系统安全、可靠、值得信赖,例如:
- 保护用于训练和运行 AI 模型的数据和算法
- 防止 AI 系统被未经授权地访问、操纵或破坏
- 发现并减轻 AI 系统中的偏见、歧视或伦理问题
- 确保 AI 的决策和行为可问责、透明、可解释
- 让 AI 系统的目标和价值观与人类和社会保持一致
AI 安全对于确保 AI 系统和数据的完整性、可用性和保密性非常重要。AI 安全面临的一些挑战和机遇包括:
- 机遇:把 AI 纳入网络安全策略,因为 AI 能在识别威胁和缩短响应时间方面发挥关键作用。AI 可以帮助自动化并增强对网络钓鱼、恶意软件、勒索软件等网络攻击的检测和缓解。
- 挑战:攻击者同样可以利用 AI 发动复杂的攻击,例如生成虚假或误导性内容、冒充用户,或利用 AI 系统的漏洞。因此,AI 开发者肩负着一项特殊的责任:设计出稳健、能抵御滥用的系统。
数据保护
LLM 可能给它们所用数据的隐私和安全带来风险。例如,LLM 有可能记住并泄露训练数据中的敏感信息,如个人姓名、地址、密码或信用卡号。它们也可能被想要利用其漏洞或偏见的恶意人员操纵或攻击。因此,必须意识到这些风险,并采取适当措施保护与 LLM 一起使用的数据。你可以采取以下几项措施:
- 限制与 LLM 共享的数据量和数据类型:只共享实现预期目的所必需、相关的数据,避免共享任何敏感、机密或个人数据。用户还应对与 LLM 共享的数据做匿名化或加密处理,例如删除或遮盖任何能识别身份的信息,或使用安全的通信渠道。
- 核实 LLM 生成的数据:始终检查 LLM 输出的准确性和质量,确保其中没有不需要或不恰当的信息。
- 报告和预警任何数据泄露或安全事件:留意 LLM 的任何可疑或异常的活动或行为,例如生成无关、不准确、冒犯或有害的文本。这可能是数据泄露或安全事件的迹象。
对任何想在多云环境中发挥数据和 AI 力量的组织来说,数据安全、治理和合规都至关重要。保护和治理所有数据是一项复杂而多方面的工作:你需要保护和治理分布在多个云上、不同位置的各类数据(结构化数据、非结构化数据以及 AI 生成的数据),还要考虑现有和未来的数据安全、数据治理及 AI 相关法规。为了保护数据,你需要采用一些最佳实践和预防措施,例如:
- 使用提供数据保护和隐私功能的云服务或平台。
- 使用数据质量和校验工具,检查数据中的错误、不一致或异常。
- 采用数据治理和伦理框架,确保以负责任、透明的方式使用数据。
模拟真实世界的威胁:AI 红队测试
用类似攻击者的工具、战术和程序来模拟真实世界的威胁,以发现系统的风险、检验防御方的响应,如今已被视为构建有韧性的 AI 系统的标准做法。
AI 红队测试的含义已经扩展:它不仅包括探查安全漏洞,还包括探查其他系统故障,例如生成可能有害的内容。AI 系统带来了新的风险,而红队测试是理解这些新风险(例如提示词注入和生成缺乏依据的内容)的核心手段。——Microsoft AI Red Team building future of safer AI
编者注:此图中文由机器翻译生成,语序破碎。按图中文字,五条要点大意依次是:AI 红队测试的范围更广;AI 红队测试同时关注恶意和非恶意两类角色引发的故障;AI 系统在不断演进;对生成式 AI 系统做红队测试需要多次尝试;减轻 AI 故障需要纵深防御。
下面是塑造了 Microsoft AI 红队计划的几条关键认识:
- AI 红队测试的范围更广: AI 红队测试如今同时涵盖安全和负责任 AI(RAI)两方面的结果。传统的红队测试侧重安全方面,把模型当作攻击途径(例如窃取底层模型)。但 AI 系统带来了新的安全漏洞(例如提示词注入、投毒),需要特别关注。除了安全,AI 红队测试还会探查公平性问题(例如刻板印象)和有害内容(例如美化暴力)。尽早发现这些问题,就能确定防御投入的优先次序。
- 恶意故障和非恶意故障: AI 红队测试会从恶意和非恶意两个角度考虑故障。例如,在对新版 Bing 做红队测试时,我们不仅研究恶意攻击者会怎样破坏系统,还研究普通用户可能会怎样遇到有问题或有害的内容。传统的安全红队测试主要关注恶意行为者,而 AI 红队测试考虑的角色和潜在故障范围更广。
- AI 系统是动态变化的: AI 应用在不断演进。在大语言模型应用中,开发者会根据不断变化的需求做出调整。持续的红队测试能确保始终保持警惕,并随着风险的变化而调整。
AI 红队测试并不能包办一切,应当把它看作对其他控制措施的补充,例如基于角色的访问控制(RBAC)和全面的数据管理方案。它的作用是补充一套安全策略:这套策略着重采用安全、负责任的 AI 方案,兼顾隐私和安全,同时努力减少会削弱用户信心的偏见、有害内容和错误信息。
下面是一些延伸阅读(英文),帮助你更好地理解红队测试如何帮助识别和减轻 AI 系统中的风险:
- 为大语言模型(LLM)及其应用规划红队测试
- 什么是 OpenAI 红队网络?
- AI 红队测试:构建更安全、更负责任的 AI 方案的一项关键实践
- MITRE ATLAS(人工智能系统对抗威胁全景),一个收录攻击者在针对 AI 系统的真实攻击中所用战术和技术的知识库。
知识测试
要保持数据完整、防止滥用,什么是好的做法?
- 对数据访问和数据管理实行严格的基于角色的控制
- 实施并审核数据标注,防止数据被错误表述或滥用
- 确保你的 AI 基础设施支持内容过滤
答:1。三条都是很好的建议,但确保给用户分配恰当的数据访问权限,对于防止 LLM 所用数据被操纵和错误表述,作用最大。
🚀 挑战
进一步了解在 AI 时代如何治理和保护敏感信息。
干得漂亮,继续学习
学完本课后,可以看看原课程推荐的生成式 AI 学习合集,继续提升你对生成式 AI 的了解。
原课程接下来的第 14 课讲生成式 AI 应用的生命周期(本库未收录)。本库的下一课是检索增强生成(RAG)和向量数据库。
免责声明:本课中文原由 AI 翻译服务 Co-op Translator 机器翻译,本库已对照英文原文校订,并有删节。中英文如有出入,以英文原版为准。
