Safeguard
Application Security•

Detecting Lifecycle Triggered Deletion in Cloud Storage (T1485.001)

A single lifecycle policy can delete every object in a bucket. How adversaries use it, what to log, and how to restrict who can change those rules.

Safeguard Security Team
2 min read

Not all data destruction looks destructive. T1485.001, Lifecycle Triggered Deletion, uses a feature built for housekeeping. It applies to IaaS and falls under impact.

How attackers use it

Cloud storage buckets often let owners set lifecycle policies that migrate, archive or delete objects after a set period. An adversary with enough permission can change those policies to delete every object at once.

MITRE's example is AWS. An adversary with the PutLifecycleConfiguration permission can use the PutBucketLifecycle API call to apply a policy that deletes all objects in an S3 bucket after one day. The motive may be extortion or financial theft. MITRE also notes adversaries may do this to buckets that store cloud logs, as a way of removing indicators.

The deletion runs inside the provider, so there may be no process on your hosts to see. The change to the policy is the event to catch.

How to detect it

MITRE's detection strategy flags an actor with write access changing a bucket's lifecycle rules to schedule rapid deletion across one or more buckets. MITRE does not name log sources, but the API call is named, so cloud audit logging of storage management calls is the place to look. Alert on lifecycle changes that set very short expiration, especially on log buckets or on buckets where no change is expected.

How to reduce the risk

MITRE lists two mitigations.

  1. User account management. Limit permission to modify lifecycle policies to accounts that require it. In AWS, consider service control policies to limit PutBucketLifecycle.
  2. Data backup. Keep backups that are off system and protected from the methods adversaries use to destroy them.

Add versioning on important buckets, and consider a separate account for logs.

Click through it at your own pace, or open it full screen.

Quick check

Which AWS permission lets an adversary change a bucket lifecycle policy?

PutLifecycleConfiguration, used through the PutBucketLifecycle API call.

Sources

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.