let threshold = 10;
Snowflake
| where EventType =~ 'LOGIN'
| where LoginIsSuccess =~ 'No'
| summarize count() by TargetUsername, bin(TimeGenerated, 5m)
| where count_ > threshold
| extend AccountCustomEntity = TargetUsername
relevantTechniques:
- T1078
queryFrequency: 1h
description: |
'Detects multiple login failures by user.'
triggerThreshold: 0
id: e05cc333-d499-430f-907c-7f28a9e4d1b5
name: Snowflake - Multiple login failures by user
queryPeriod: 1h
query: |
let threshold = 10;
Snowflake
| where EventType =~ 'LOGIN'
| where LoginIsSuccess =~ 'No'
| summarize count() by TargetUsername, bin(TimeGenerated, 5m)
| where count_ > threshold
| extend AccountCustomEntity = TargetUsername
severity: High
triggerOperator: gt
entityMappings:
- fieldMappings:
- columnName: AccountCustomEntity
identifier: Name
entityType: Account
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Snowflake/Analytic Rules/SnowflakeMultipleLoginFailure.yaml
requiredDataConnectors:
- connectorId: Snowflake
dataTypes:
- Snowflake
status: Available
version: 1.0.2
tactics:
- InitialAccess
kind: Scheduled