Detection rules › Sigma

AWS New Lambda Layer Attached

Status
test
Severity
low
Log source
product aws, service cloudtrail
Author
Austin Songer
Source
github.com/SigmaHQ/sigma

Detects when a user attached a Lambda layer to an existing Lambda function. A malicious Lambda layer could execute arbitrary code in the context of the function's IAM role. This would give an adversary access to resources that the function has access to.

MITRE ATT&CK coverage

TacticTechniques
Privilege EscalationNo specific technique

Event coverage

ProviderEventTitle
AWS-lambda_catch_allAWS-lambda (catch-all)

Rules detecting the same action

Other rules on this platform that filter on the same API call or operation.

Rule body yaml

title: AWS New Lambda Layer Attached
id: 97fbabf8-8e1b-47a2-b7d5-a418d2b95e3d
status: test
description: |
  Detects when a user attached a Lambda layer to an existing Lambda function.
  A malicious Lambda layer could execute arbitrary code in the context of the function's IAM role.
  This would give an adversary access to resources that the function has access to.
references:
    - https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionConfiguration.html
    - https://github.com/clearvector/lambda-spy
author: Austin Songer
date: 2021-09-23
modified: 2025-03-17
tags:
    - attack.privilege-escalation
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventSource: lambda.amazonaws.com
        eventName|startswith: 'UpdateFunctionConfiguration'
        requestParameters.layers|contains: '*'
    condition: selection
falsepositives:
    - Lambda Layer being attached may be performed by a system administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment.
    - Lambda Layer being attached from unfamiliar users should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventSource: lambda.amazonaws.com
    eventName|startswith: 'UpdateFunctionConfiguration'
    requestParameters.layers|contains: '*'

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
eventNamestarts_with
  • UpdateFunctionConfiguration
eventSourceeq
  • lambda.amazonaws.com
requestParameters.layersmatch
  • *