Loading...

案例中心

生成性人工智能工作负载的事件响应方法论 安全博客

生成式AI工作负载的事件响应方法论

关键要点

本文探讨了如何通过AWS客户事件响应团队CIRT提出的方法论有效应对与生成式AI相关的安全事件。文章详细介绍了生成式AI工作负载的组成部分、并提供了事件响应的准备建议与实际应用示例。这一方法论强调了访问、基础设施变化、AI变化、数据存储变化、调用行为、私密数据以及代理功能等七个关键要素。

AWS 客户事件响应团队CIRT 开发了一套方法论,用以调查涉及生成式AI应用的安全事件。对于与生成式AI工作负载相关的安全事件响应,您仍需遵循 AWS安全事件响应指南 中的指导和原则。然而,生成式AI工作负载需要考虑一些额外因素,本文对此进行了详细说明。

文章首先描述了生成式AI工作负载的常见组成部分,并讨论了如何为可能发生的事件做好准备。接下来,我们介绍了生成式AI工作负载事件响应方法论,该方法论包含七个要素,您应该在对生成式AI工作负载的安全事件进行分级和响应时加以考虑。最后,我们分享了一个示例事件,帮助您在实际场景中探索这一方法论。

生成性人工智能工作负载的事件响应方法论 安全博客

生成式AI工作负载的组成部分

如图1所示,生成式AI应用包括以下五个组成部分:

组成部分描述组织负责基础设施、生成式AI应用及其私人数据的机构。基础设施与生成式AI应用本身不直接相关的组织内部资源,如数据库、后端服务器和网站。生成式AI应用包括以下内容: 基础模型:参数众多并在大量多样化数据上训练的AI模型。 定制模型:针对特定数据和用例进行微调或训练的模型,满足独特的需求。 安全边界:确保生成式AI应用在预期范围内操作的机制或约束,如内容过滤、安全约束或伦理指导原则。 代理:使生成式AI应用能在公司系统和数据源间执行多步骤任务的工作流。 知识库:生成式AI应用可以访问和使用的领域特定知识、规则或数据的存储库。 训练数据:用于训练、微调或增强生成式AI模型的数据,包括诸如检索增强生成RAG等技术需要的数据。 插件:附加的软件组件或扩展,集成到生成式AI应用中,以提供专门功能或访问外部服务或数据源的能力。私密数据客户私密存储的机密数据,生成式AI资源或应用在正常操作中不应与之交互。用户能够与生成式AI应用交互或访问的身份,可能是人类或非人类如机器。

准备应对生成式AI工作负载的事件响应

您应当在三个领域内为安全事件做好准备:人员、流程和技术。有关准备的总结,请参见 准备事项。另外,针对与生成式AI工作负载相关的安全事件,您的准备工作应包括以下内容:

人员:对事件响应和安全运营团队进行生成式AI培训 确保您的团队熟悉生成式AI概念以及在组织内使用的AI/ML服务。可以在AWS Skill Builder上找到这些主题的免费和付费课程。

流程:开发新的操作手册 针对与生成式AI工作负载相关的安全事件,您应开发新的操作手册。有关如何开发这些手册的更多信息,请参阅以下样本操作手册:

响应Amazon Bedrock安全事件响应SageMaker安全事件响应Amazon Q安全事件

您可以将这些操作手册作为起点,并根据自己的组织和对这些服务的使用进行修改。

技术:记录生成式AI应用的提示和调用 除了基础日志如在 AWS CloudTrail 中可用的日志,您还应考虑记录Amazon Bedrock模型调用日志,以便分析传入应用的提示和输出。有关更多信息,请参见 Amazon Bedrock模型调用日志。CloudTrail的数据事件日志也适用于Amazon Bedrock、Amazon Q和Amazon SageMaker。有关一般指导,请参见 安全事件响应的日志记录策略。

重要提示:日志可能包含敏感信息。为保护这些信息,您应对这些日志设置最小权限访问。如同其他安全日志一样,您也应使用数据掩码来保护敏感日志数据。在 Amazon CloudWatch 中,您可以通过日志组数据保护策略实现数据的本地掩码。

生成式AI工作负载的事件响应方法论

完成准备事项后,您可以利用生成式AI工作负载事件响应方法论进行主动响应,帮助您快速对涉及生成式AI应用的安全事件进行分级。

该方法论有七个要素,以下部分将对此进行详细阐述。每个要素描述了组件之间交互的方法,或组件可以被修改的方法。考虑这些要素将帮助指导您在安全事件的操作阶段的行动,包括检测、分析、遏制、根除和恢复各个阶段。

访问 确定托管生成式AI应用组件的组织的设计或预期访问模式,并查找与这些模式的偏离或异常。考虑应用程序是外部访问还是内部访问,因为这将影响您的分析。

为帮助您识别异常和潜在的未授权访问AWS环境,您可以使用Amazon GuardDuty。如果您的应用程序可以在外部访问,攻击者可能无法直接访问您的AWS环境,因此GuardDuty将无法检测到。这种设置您应用程序认证的方式将影响您检测和分析未授权访问的方式。

如果存在对您的AWS账户或相关基础设施的未授权访问证据,请确定未授权访问的范围,例如相关的特权和时间范围。如果未授权访问涉及服务凭证例如,Amazon Elastic Compute Cloud (Amazon EC2)实例凭证则需要检查该服务的漏洞。

基础设施变化 检查支持基础设施如服务器、数据库、无服务器计算实例以及内部或外部网站,以确定其是否已被访问或更改。您可以通过分析CloudTrail日志,查看是否修改了范围内的资源,或分析其他操作系统日志或数据库访问日志来调查基础设施的变化。

AI变化 调查用户是否访问了生成式AI应用的组件,并查看是否对这些组件进行了更改。寻找未授权活动的迹象,例如创建或删除定制模型、修改模型可用性、篡改或删除生成式AI日志功能、篡改应用程序代码以及删除或修改生成式AI的安全边界。

数据存储变化 确定设计或预期的数据访问模式,用户是否访问了生成式AI应用的数据存储,并查看是否对这些数据存储进行了更改。您还应关注向生成式AI应用中新增或修改代理。

调用行为 分析生成式AI模型的调用,包括字符串和文件输入,以发现潜在威胁,例如提示注入或恶意软件。您可以使用 OWASP LLM前10名 作为了解调用相关威胁的起点,使用调用日志来分析提示中的可疑模式、关键字或可能指示提示注入尝试的结构。日志还捕获模型的输出和响应,进行行为分析以帮助识别典型或不安全的模型行为,这可能表明出现了提示注入。您还可以利用日志中的时间戳进行时间分析,帮助检测在一段时间内协调进行的提示注入尝试,并收集有关发起模型调用的用户或系统的信息,以帮助识别潜在的利用来源。

私密数据 确定范围内的生成式AI应用是否设计为了访问私密或机密数据。然后,查找对这些数据的未授权访问或篡改。

代理功能 代理功能是指应用程序对组织资源进行更改或代表用户采取行动的能力。例如,生成式AI应用可能被配置为生成内容,然后用以发送电子邮件,调用其他资源或功能。您应确定生成式AI应用程序是否有能力调用其他功能。接着,调查是否进行了未授权更改,或生成式AI应用程序是否调用了未授权功能。

以下表格列出了一些问题,帮助您解决方法论的七个要素。根据您的回答指导您的响应。

主题应解决的问题访问您仍然可以访问计算环境吗?是否仍有未授权访问您组织的证据?基础设施变化支持基础设施资源是否被访问或更改?AI变化您的AI模型、代码或资源是否被访问或更改?数据存储变化您的数据存储、知识库、代理、插件或训练数据是否被访问或篡改?调用行为向模型发送了哪些数据、字符串或文件作为输入?发送了哪些提示?生成了哪些响应?私密数据生成式AI资源能够访问哪些私密或机密数据?私密数据是否被改变或篡改?代理功能生成式AI应用资源能否用于启动组织中的计算服务,或是否具有对资源的更改权力?是否进行了未授权更改?

示例事件

为了说明如何使用方法论进行调查和响应,我们将通过一个示例安全事件进行介绍:一名未授权用户通过在公共代码库中暴露的凭证入侵了托管在AWS上的生成式AI应用。我们的目标是确定哪些资源被访问、修改、创建或删除。

在调查AWS上的生成式AI安全事件时,您应审查以下主要日志来源:

CloudTrailCloudWatchVPC流量日志Amazon Simple Storage Service (Amazon S3)数据事件用于证据获取,确定组织的S3存储是否被访问如果应用使用此服务,则查看Amazon Bedrock 模型调用日志

访问

对生成式AI应用的访问分析与标准的三层Web应用相似。首先,确定组织是否还能访问其AWS账户。如果AWS账户的根用户密码丢失或已更改,您应该重置密码。然后,我们强烈建议您为根用户立即启用multifactor authentication (MFA)设备 这应该可以阻止威胁行为者访问根用户。

接下来,确定账户的未授权访问是否仍然存在。为了帮助识别由 AWS Identity and Access Management (IAM) 和 AWS Security Token Service (Amazon STS) 记录的突变行为,请查看 Compromised IAM Credentials操作手册中的分析部分。最后,确保访问密钥没有存储在公共仓库或您的应用代码中;有关替代方法,请参见 长效访问密钥的替代方法。

基础设施变化

为了分析应用的基础设施变化,您应考虑 控制平面和数据平面。在我们的示例中,假设使用Amazon API Gateway作为生成式AI应用下游组件的身份验证,并且其他辅助资源与您的应用进行交互。尽管可以在CloudTrail中查看这些资源的控制平面变化,但为了查看在资源操作系统上进行的更改,您需要开启其他日志记录。以下是您在CloudTrail中可能看到的一些通用名称的控制平面事件:

ec2RunInstancesec2StartInstancesec2TerminateInstancesecsCreateClustercloudformationCreateStackrdsDeleteDBInstancerdsModifyDBClusterSnapshotAttribute

AI变化

未经授权的更改可能包括,但不限于,系统提示、应用程序代码、安全边界和模型可用性。内部用户访问AWS托管的生成式AI资源的行为会在CloudTrail中记录,并且会以以下事件源之一出现:

bedrockamazonawscomsagemakeramazonawscomqbusinessamazonawscomqamazonawscom

以下是代表生成式AI资源日志篡改的几个CloudTrail事件名称示例:

bedrockPutModelInvocationLoggingConfigurationbedrockDeleteModelInvocationLoggingConfiguration

以下是表示对AI/ML模型服务配置的访问的CloudTrail常见事件名称:

bedrockGetFoundationModelAvailabilitybedrockListProvisionedModelThroughputsbedrockListCustomModelsbedrockListFoundationModelsbedrockListProvisionedModelThroughputbedrockGetGuardrailbedrockDeleteGuardrail

在我们的示例场景中,未授权用户已获得对AWS账户的访问。现在想象一下,受到攻击的用户有一个策略附加在身,给予他们对所有资源的完全访问权限。在这种权限的支持下,未授权用户可以枚举Amazon Bedrock的每个组件,并识别应用中的知识库和安全边界。

然后,该未授权用户请求访问其他基础模型(FM),并删除现有的安全边界。访问其他基础模型可能表明未授权用户打算以自己的目的使用生成式AI应用,而取消安全边界则最小化了模型的过滤或输出检查。AWS建议您通过使用 IAM政策和基于资源的策略 来实施精细化的访问控制,仅限制对生成式AI应用的必要Amazon Bedrock资源、AWS Lambda函数和其他组件的访问。同时,您应强制对具有访问Amazon Bedrock等关键组件的IAM用户、角色和服务账户实施MFA。

一元机场配置文件

数据存储变化

通常,您通过模型调用使用和访问数据存储和知识库,对于Amazon Bedrock,您包括API调用bedrockInvokeModel。

然而,如果未授权用户获得了环境的访问权限,他们可以创建、更改或删除生成式AI应用关联的数据源和知识库。这可能导致数据或模型的外泄或毁坏,以及数据中毒,甚至可能导致模型的服务中断。以下是代表

©  - All Rights Reserved 免费加速器网站 .