高令牌计数和大型响应大小造成的潜在资源滥用

编辑

高令牌计数和大型响应大小造成的潜在资源滥用

编辑

通过监控持续生成高输入令牌计数、提交大量请求并接收大型响应的用户,检测潜在的资源耗尽或数据泄露尝试。此行为可能表明试图使系统过载或提取异常大量数据,这可能会泄露敏感信息或导致服务中断。

规则类型: esql

规则索引: 无

严重性: 中等

风险评分: 47

每隔: 10 分钟运行

搜索索引自: now-60m (日期数学格式,另请参见 额外回溯时间)

每次执行的最大告警数: 100

参考资料:

标签:

  • 领域:LLM
  • 数据源:AWS Bedrock
  • 数据源:Amazon Web Services
  • 数据源:AWS S3
  • 用例:潜在过载
  • 用例:资源耗尽
  • Mitre Atlas:LLM04

版本: 3

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 Amazon Bedrock 模型的高令牌计数和大型响应大小。

Amazon Bedrock 是 AWS 的托管服务,使开发人员能够使用来自顶级提供商的大型基础模型 (FM) 来构建和扩展生成式 AI 应用程序。

Bedrock 提供来自亚马逊(例如 Titan 系列)的各种预训练模型,以及来自 Anthropic、Meta、Cohere 和 AI21 Labs 等提供商的模型。

可能的调查步骤

  • 确定使用高提示令牌计数的用户帐户,以及该帐户是否应该执行此类操作。
  • 调查用户帐户生成的大型响应大小和请求数量。
  • 调查过去 48 小时内与该用户帐户关联的其他告警。
  • 考虑一天中的时间。如果用户是人(而不是程序或脚本),活动是否发生在一天中的正常时间?
  • 检查过去 24 小时内帐户的提示和响应。
  • 如果您怀疑帐户已被泄露,请通过跟踪 Amazon Bedrock 模型访问、生成的提示以及过去 24 小时内帐户对提示的响应来确定可能受损的资产。

误报分析

  • 验证使用高提示和大型响应大小的用户帐户是否有业务理由来大量使用系统。

响应和补救

  • 根据分类结果启动事件响应流程。
  • 在调查和响应期间禁用或限制帐户。
  • 确定事件的可能影响并相应地进行优先级排序;以下操作可以帮助您获得上下文
  • 确定帐户在云环境中的角色。
  • 确定攻击者是否正在横向移动并泄露其他 Amazon Bedrock 服务。
  • 确定与此活动相关的任何监管或法律后果。
  • 确定潜在的资源耗尽和对账单的影响。
  • 审查分配给这些请求背后的相关用户组或角色的权限,以确保它们已获授权并预期可以访问 Bedrock,并确保遵循最小权限原则。
  • 确定攻击者滥用的初始载体,并采取措施防止通过相同的载体再次感染。
  • 使用事件响应数据,更新日志记录和审计策略以提高平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

设置

编辑

设置

此规则要求在 AWS Bedrock 中配置护栏。有关更多信息,请参阅 AWS Bedrock 文档

https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-create.html

规则查询

编辑
from logs-aws_bedrock.invocation-*
| keep user.id, gen_ai.usage.prompt_tokens, gen_ai.usage.completion_tokens
| stats max_tokens = max(gen_ai.usage.prompt_tokens),
         total_requests = count(*),
         avg_response_size = avg(gen_ai.usage.completion_tokens)
  by user.id
// tokens count depends on specific LLM, as is related to how embeddings are generated.
| where max_tokens > 5000 and total_requests > 10 and avg_response_size > 500
| eval risk_factor = (max_tokens / 1000) * total_requests * (avg_response_size / 500)
| where risk_factor > 10
| sort risk_factor desc