AWS Lambda 函数策略更新为允许公开调用

编辑

AWS Lambda 函数策略更新为允许公开调用

编辑

识别 AWS Lambda 函数策略何时更新为允许公开调用。此规则专门查找 AddPermission API 调用,其中 Principal 设置为 *,这允许任何 AWS 账户调用 Lambda 函数。攻击者可能会滥用此权限,在 Lambda 函数中创建一个后门,允许他们执行任意代码。

规则类型: 查询

规则索引:

  • filebeat-*
  • logs-aws.cloudtrail-*

严重性: 中等

风险评分: 47

每隔: 10 分钟

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

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

参考资料:

标签:

  • 领域: 云
  • 数据源: AWS
  • 数据源: Amazon Web Services
  • 数据源: AWS Lambda
  • 用例: 威胁检测
  • 策略: 持久性

版本: 1

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 AWS Lambda 函数策略更新为允许公开调用

此规则检测 AWS Lambda 函数策略何时更新为允许公开调用。它专门查找 AddPermission API 调用,其中 Principal 设置为 *,这允许任何 AWS 账户调用 Lambda 函数。攻击者可能会滥用此权限,在 Lambda 函数中创建一个后门,允许他们执行任意代码。了解此类更改的上下文和合法性对于确定操作是良性还是恶意至关重要。

可能的调查步骤

  • 识别行为者: 查看 aws.cloudtrail.user_identity.arnaws.cloudtrail.user_identity.access_key_id 字段以识别谁进行了更改。验证此行为者是否通常执行此类操作以及他们是否具有必要的权限。
  • 查看请求详细信息: 检查 aws.cloudtrail.request_parameters 以了解对 Lambda 函数策略所做的具体更改。查找任何可能表明未授权或恶意修改的异常参数。
  • 分析请求来源: 调研 source.ipsource.geo 字段以确定请求的地理来源。外部或意外位置可能表明凭据泄露或未授权访问。
  • 结合时间戳进行分析: 使用 @timestamp 字段检查更改发生的时间。在非营业时间或常规维护窗口之外的修改可能需要进一步审查。
  • 与其他活动关联: 搜索此更改之前和之后相关的 CloudTrail 事件,查看同一行为者或 IP 地址是否参与了其他可能可疑的活动。

误报分析

  • 合法的管理操作: 确认允许公开调用的更新是否与计划的更新、开发活动或变更管理系统中记录的合法管理任务相符。
  • 一致性检查: 将操作与用户或组织内执行的类似操作的历史数据进行比较。如果操作与过去的合法活动一致,则可能表明误报。
  • 通过结果进行验证: 检查 aws.cloudtrail.response_elementsevent.outcome 以确认更改是否根据策略成功且符合预期。

响应和补救措施

  • 立即审查并在必要时撤销: 如果更改未经授权,请更新 Lambda 函数策略以删除公开调用权限并将其恢复到以前的状态。
  • 增强监控和告警: 调整监控系统以针对类似操作发出告警,尤其涉及敏感功能或权限的操作。
  • 教育和培训: 为具有管理权限的用户提供更多培训,了解有关 Lambda 函数管理和权限使用的安全最佳实践的重要性。
  • 审核 Lambda 函数和策略: 对所有 Lambda 函数和关联策略进行全面审核,以确保它们遵守最小权限原则。
  • 事件响应: 如果有恶意意图或安全漏洞的迹象,请启动事件响应协议以减轻任何损害并防止未来发生。

有关管理 Lambda 函数和保护 AWS 环境的进一步指导,请参阅 AWS Lambda 文档 和 AWS 安全最佳实践。此外,请咨询以下资源以了解有关 Lambda 持久性技术的具体细节:- AWS Lambda 持久性 - AWS Lambda 后门函数 - AWS API AddPermission

更多信息

规则查询

编辑
event.dataset: aws.cloudtrail
    and event.provider: lambda.amazonaws.com
    and event.outcome: success
    and event.action: AddPermission*
    and aws.cloudtrail.request_parameters: (*lambda\:InvokeFunction* and *principal=\**)

框架: MITRE ATT&CKTM