Snowflake Data Exfiltration
Description
Detects multi-step Snowflake data exfiltration by identifying temporary stage creation, table data copied to stage, and file downloads. This technique was used in the April 2024 Snowflake breach (UNC5537) targeting accounts without MFA. The correlation of all three steps provides high-confidence evidence of active data theft beyond legitimate ETL operations.
Query
Detection:
- Group:
- ID: SnowflakeTempStageCreated
RuleID: Snowflake.TempStageCreated
- ID: SnowflakeCopyIntoStage
RuleID: Snowflake.CopyIntoStage
- ID: SnowflakeFileDownloaded
RuleID: Snowflake.FileDownloaded
MatchCriteria:
field_name:
- GroupID: SnowflakeTempStageCreated
Match: stage
- GroupID: SnowflakeCopyIntoStage
Match: stage
- GroupID: SnowflakeFileDownloaded
Match: stage
Schedule:
RateMinutes: 1440
TimeoutMinutes: 15
LookbackWindowMinutes: 1800
Rule dependencies
⚠ Higher-order rule. It fires on other rules' alerts, not on raw events, so it cannot fire on its own. Deploy the rules it depends on too.
Depends on
-
correlates · Panther group
Snowflake.CopyIntoStagewithin 1800mNot indexed on this site. -
correlates · Panther group
Snowflake.FileDownloadedwithin 1800mNot indexed on this site. -
correlates · Panther group
Snowflake.TempStageCreatedwithin 1800mNot indexed on this site.
Analyst notes
- Query Snowflake's QUERY_HISTORY and ACCESS_HISTORY views for the stage name to identify the user account, session ID, source IP addresses, client application, and all tables that were copied into the stage
- Review the specific tables copied into the stage to determine data sensitivity (PII, financial records, intellectual property) and estimate the volume of data exfiltrated, then check Snowflake's LOGIN_HISTORY to verify if the user account had MFA enabled
- Analyze the source IP addresses used during the exfiltration sequence against threat intelligence feeds to determine if they are corporate IPs, suspicious cloud providers, or known malicious infrastructure, and check for impossible travel patterns