AWS Lambda 层添加到现有函数

编辑

识别何时将 Lambda 层添加到现有 Lambda 函数。AWS 层是一种在多个函数之间共享代码和数据的方式。通过将层添加到现有函数,攻击者可以持久化或在函数的上下文中执行代码。

规则类型: 查询

规则索引:

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

严重性: 低

风险评分: 21

运行频率: 10分钟

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

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

参考:

标签:

  • 域:云
  • 数据源:AWS
  • 数据源:Amazon Web Services
  • 数据源:AWS Lambda
  • 用例:威胁检测
  • 策略:执行

版本: 2

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 AWS Lambda 层添加到现有函数

此规则检测何时将 Lambda 层添加到现有 Lambda 函数。AWS Lambda 层是一种在多个函数之间共享代码和数据的机制。通过将层添加到现有函数,攻击者可以持久化或在函数的上下文中执行代码。了解此类更改的上下文和合法性对于确定该操作是良性的还是恶意的至关重要。

可能的调查步骤

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

误报分析

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

响应和补救

  • 立即审查和必要时撤销: 如果更改是未经授权的,请从 Lambda 函数中删除添加的层,以缓解任何意外的代码执行或持久性。
  • 加强监控和警报: 调整监控系统以对类似操作发出警报,尤其是涉及敏感函数或层的操作。
  • 教育和培训: 为具有管理权限的用户提供关于 Lambda 函数管理和使用层的安全最佳实践重要性的额外培训。
  • 审核 Lambda 函数和策略: 对所有 Lambda 函数和相关策略进行全面审核,以确保它们遵守最小权限原则。
  • 事件响应: 如果有恶意意图或安全漏洞的迹象,请启动事件响应协议以减轻任何损害并防止未来发生。

其他信息

有关管理 Lambda 函数和保护 AWS 环境的更多指导,请参阅 AWS Lambda 文档 和 AWS 安全最佳实践。此外,请查阅以下资源,了解有关 Lambda 层和持久化技术的具体详细信息: - AWS Lambda 层持久化 - AWS API PublishLayerVersion - AWS API UpdateFunctionConfiguration

规则查询

编辑
event.dataset: aws.cloudtrail
    and event.provider: lambda.amazonaws.com
    and event.outcome: success
    and event.action: (PublishLayerVersion* or UpdateFunctionConfiguration)

框架: MITRE ATT&CKTM