D013F2
Compute
🖥️ Honey Lambda/Function
Decoy serverless functions that report callers.
What it is
A serverless function with an attractive name, such as a key-rotation or admin task, whose execution role grants nothing. Attackers enumerate functions to read their code and configuration for secrets, or invoke them to see what they do. Reading or invoking the decoy function is logged and names it directly.
Implementation requirements
- AWS: a Lambda function with an attractive name (for example, one that sounds like a key-rotation or admin task). Azure: a Function App function. GCP: a Cloud Run function. The execution role or identity grants nothing
- Monitoring, invocation: Lambda
Invokeis a CloudTrail data event; enable it for the decoy function's ARN. For HTTP-triggered functions, also log every request in the function itself - Monitoring, inspection: reading the code or configuration (
GetFunction,GetFunctionConfiguration) is a read-only management event and names the function - The function can report each call it receives to your collector, with source IP and headers. Keep that path simple and rate-limited
- Safety: no environment variables holding real secrets; any secret in it is a honeytoken (D006). OPSEC: runtime, memory size and last-modified date like real functions
- Rollback: Delete the function and its execution role. Remove the data-event selector for its ARN.
- Upkeep: Keep the runtime version current, because deprecated runtimes stand out. Monthly proof-of-life invocation.
Technologies
AWSAzureGCP
ATT&CK coverage 6
| Technique | Tactic | Status | Confidence | Tier |
|---|---|---|---|---|
| T1526 Cloud Service Discovery |
Discovery | theoretical | moderate | T1 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (3 sources)
Moderate: discovering that a service exists does not necessarily touch a decoy resource in it. | ||||
| T1059.006 Python |
Execution | theoretical | moderate | T2 |
| ↳ Detection point: seen once the attacker is working inside a high-fidelity decoy | ||||
↳ Evidence (2 sources)
| ||||
| T1648 Serverless Execution |
Execution | theoretical | moderate | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Lambda Invoke is a data event: the decoy only fires if data-event logging is on for it. | ||||
| T1489 Service Stop |
Impact | theoretical | moderate | T4 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Moderate: the service canary is a published prototype, not yet tested against live ransomware. | ||||
| T1496 Resource Hijacking |
Impact | confirmed | strong | T3 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (4 sources)
| ||||
| T1546 Event Triggered Execution |
Persistence | theoretical | moderate | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Direct only when the attacker modifies an existing decoy rule; creating a new rule touches no decoy. | ||||
Evidence
- Decoy Environment (D3-DE) — MITRE D3FEND standard
- MITRE ATT&CK Enterprise v20.0 — MITRE 2026 standard
- MITRE Engage — adversary engagement matrix and ATT&CK mapping — MITRE 2022 standard
- Logging data events — AWS CloudTrail User Guide — Amazon Web Services industry