AI 智能体安全是指通过系统性防护措施,既防范 AI 智能体使用过程中的潜在风险,又保障自主应用程序免受威胁的实践领域。它涉及保护智能体自身及其交互的系统,确保智能体按预期运行,同时防止其被利用从事有害行为。
智能体是 AI 系统,旨在通过规划、决策和调用外部工具自主运行。关键是要防护外部网络攻击以及智能体可能执行的非预期操作。由于智能体式 AI 是一个快速发展的领域,其威胁环境也在与技术同步实时演变。
AI 智能体的一个显著特征是它们能够执行工具调用,即在需要时连接到 API、数据库、网站或其他工具并使用它。工具调用通常通过 AI 智能体框架和 API 来协调。
从理论上讲,智能体使用工具来增强自己在规划和完成复杂任务方面的功能。例如,客户服务智能体可以与客户互动,然后连接到内部数据库以访问该客户的购物历史记录。
多智能体系统更进一步,通过组合多个智能体,将复杂任务拆分为更小的部分进行分工。中央规划智能体负责管理智能体式工作流,而执行智能体则完成分配给它们的任务部分。
自主的 AI 决策与工具调用相结合,形成了广泛的双重攻击面。黑客可以操纵智能体的行为,使其滥用工具,或通过更传统的攻击矢量(例如 SQL 注入)直接攻击工具本身。AI 智能体安全旨在保护智能体式 AI 系统免受这两类威胁的影响。
与独立的 AI 模型(如大语言模型 (LLM))或传统软件应用相比,智能体式 AI 系统存在更广泛的漏洞。即使没有攻击者的存在,如果智能体本身没有通过明确的安全规范、权限和访问控制进行妥善管理和维护,它们也可能带来安全风险。
AI 智能体威胁环境包括:
扩大的攻击面
高速自主行动
无法预测的推理
透明度缺失
智能体通常被纳入更大的系统,其中包括 API、数据库、云系统甚至其他智能体(多智能体系统)。智能体系统中的每个元素都存在自身的一系列漏洞。攻击者拥有多种工具和利用手段,可用来针对智能体工作流中的潜在薄弱点发动攻击。
智能体式自动化意味着智能体无需接受人类用户的明确指令即可采取行动。智能体可以快速行动,并有可能与同时执行相同行动的其他智能体进行协作。这些智能体的每一次行动和输出都构成一次攻击机会和放大途径,如果攻击者成功攻破某个智能体或整个智能体系统。
智能体威胁环境的多面性带来了各种漏洞,攻击者可以加以利用。
AI 智能体安全漏洞包括:
提示注入
工具和 API 操作
数据中毒
记忆中毒
权限泄露
身份验证和访问控制欺骗
远程代码执行 (RCE) 攻击
级联故障与资源过载
目标操纵和智能体劫持通常是提示注入攻击所期望达到的结果。通过目标操纵,攻击者可以通过改变智能体的目标或思维过程来调整智能体处理任务和做出决策的方式。智能体劫持是一种攻击,攻击者胁迫智能体执行非预期的操作,例如访问敏感数据。
智能体式 AI 以其使用工具和连接 API 的能力而闻名。但这种能力也是一种弱点。攻击者常通过提示注入,诱使智能体滥用其所连接的工具。
工具滥用可能导致数据泄露(智能体将敏感用户数据外泄给攻击者),或 DDoS(分布式拒绝服务)攻击,在此类攻击中智能体会将其外部连接武器化。在这样的攻击中,智能体会协调发起海量连接请求涌向目标网络,令其不堪重负并被迫关闭。
数据中毒是将恶意数据引入智能体的训练数据集或外部数据源。数据决定了智能体如何学习、推理和行为。破坏其训练数据或输入可能会导致意外行为,例如数据泄露。
例如,编码智能体可能会调用外部代码库以供参考。Slopsquatting(“AI slop”和“typo squatting”的合成词)是指有人故意注册与合法代码库名称相似的代码库名称。其目的是使模型无意间从该虚假库中提取部分代码并将其添加到生成的代码中。
除了工具滥用之外,数据中毒也是供应链的组件的一部分:攻击者渗透并破坏人工智能智能体周围的系统。
记忆中毒是指智能体的持久记忆被篡改或破坏,这些记忆记录了智能体最近的操作,使其能够保持对自身活动的认知。记忆中毒攻击旨在通过改变智能体对先前行为的理解来塑造智能体的未来行为。
位于自动化工作流中心的智能体拥有系统权限,使其能够访问完成指定任务所需的数据和工具。如果智能体不受监控,它们可能会保留或被授予超出所需的过多权限。
如果在智能体不再需要这些权限时未将其移除,这些权限虽然不再提供价值,但仍可能成为潜在的攻击入口。攻击者可以利用智能体的权限发送消息、执行交易、为自己授予更多权限、改变系统、读取敏感数据等。
如果攻击者设法窃取了智能体凭据,他们就可以冒充这些智能体,入侵智能体可以访问的系统。伪造智能体的身份会赋予攻击者与该智能体相同的权限,智能体能够执行的任何操作,现在未授权的用户也能执行。
薄弱的身份验证协议与机器学习相结合,会促成快速的水平运动,即攻击者在初次入侵后进一步向网络深处移动。水平运动为数据渗漏、钓鱼攻击、恶意软件分发等打开了大门。攻击者还可以调整智能体的行为方式以改变其未来的行动。
远程代码执行 (RCE) 是一种网络攻击,攻击者从不同位置将恶意代码注入系统。利用智能体,攻击者可以让智能体运行恶意代码,从而使攻击者能够访问代码执行环境。现实世界中一个常见的示例是攻击者从受感染智能体的主机系统中提取用户凭据。
级联故障和资源过载都会导致智能体系统不堪重负。在多智能体系统中,当受损智能体的输出对网络中的下一个智能体产生负面影响直至整个系统崩溃时,就会发生级联故障。
资源过载类似于针对智能体的 DDoS 攻击:攻击者通过发送超过其处理能力的请求使智能体不堪重负,可能会完全干扰其运行。从最终用户的角度来看,智能体驱动的应用程序似乎已关闭。
零信任架构 (ZTA) 是一种网络安全方法,它假设网络上的任何设备默认情况下都不可信。相反,每一个网络访问请求都必须经过验证和授权才能继续。持续监控和多重身份验证 (MFA) 有助于抵御威胁。
把网络想象成一个网站,把访问请求想象成该网站的一个用户。在零信任架构下,登录界面不会提供“下次记住我”的复选框选项。用户每次登录时都必须输入密码,并完成其他多重身份验证步骤。
通过选择“永不信任,始终验证”,ZTA 降低了攻击者的水平运动能力,减少了攻击面并为安全响应争取了更多时间。
最小权限原则指出,网络中的每个设备或智能体都应仅拥有完成其职责所需的最低权限。这相当于对所有人和所有事物都实行严格的“按需知密”原则。基于角色的访问控制 (RBAC) 和基于属性的访问控制 (ABAC) 是维护权限级别、提升数据安全的两种有效方法。
情境感知认证允许智能体仅在用户被允许访问时检索数据。访问权限可根据智能体的角色、权限甚至一天中的时间进行动态调整。
除了通过最小权限原则限制访问外,还可以利用加密技术进一步保护数据免受已失陷智能体的侵害。传输中和静止状态的数据都应使用 AES-256 加密或类似加密方式进行保护。包含敏感信息的数据,例如个人身份信息 (PII),也应进行匿名化处理,以进一步保护员工和客户。
微分段是一种将网络和环境划分为独立单元的设计实践。当智能体可以执行代码时,应在沙盒环境中运行,以防止水平移动。严格的运行时控制进一步加强了环境,以将智能体包含在沙盒中。
提示强化是 AI 安全的一种做法,通过为 LLM 提供严格、有限的指令,使其几乎没有误解的空间。通过将智能体限制在狭窄的操作范围内,机器学习系统设计者可以帮助限制攻击者诱导智能体执行非预期行为的能力。
提示强化技术包括禁止智能体泄露其指令,以及让其自动拒绝任何超出限制范围的请求。
提示验证会在将提示传递给智能体之前,将其与预定义规则进行检查。这种做法也称为提示清理或输入验证,有助于保护智能体免受提示注入攻击。同样,在使用之前应验证输出,以防智能体受到损害。
对抗性训练通过将欺骗性输入混合到训练数据中来教会模型识别潜在的攻击。对抗性训练正在开发中,尚未成为一套标准的训练协议。
构建、部署和管理强大的 AI 助手和智能体,运用生成式 AI 实现工作流和流程自动化。
借助值得信赖的 AI 解决方案,您可以勾勒未来业务发展蓝图。
IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。