Rule body yaml
AnalysisType: rule
Filename: decoy_dynamodb_accessed.py
RuleID: "Decoy.DynamoDB.Accessed"
DisplayName: "Decoy DynamoDB Accessed"
Enabled: false
LogTypes:
- AWS.SecurityFindingFormat
Severity: High
Description: Actor accessed Decoy DynamoDB
DedupPeriodMinutes: 60
Threshold: 1
Reference: https://aws.amazon.com/blogs/security/how-to-detect-suspicious-activity-in-your-aws-account-by-using-private-decoy-resources/
InlineFilters:
- All: []
Tests:
- Name: DynamoDB-Decoy-Accessed
ExpectedResult: true
Log:
Action:
ActionType: AWS_API_CALL
AwsApiCallAction:
Api: Scan
CallerType: remoteIp
DomainDetails: {}
RemoteIpDetails:
City: {}
Country: {}
GeoLocation: {}
IpAddressV4: 11.111.11.111
Organization: {}
ServiceName: dynamodb.amazonaws.com
DnsRequestAction: {}
NetworkConnectionAction:
LocalPortDetails: {}
RemotePortDetails: {}
PortProbeAction: {}
AwsAccountId: "123456789012"
CompanyName: Custom
CreatedAt: "2024-05-24 22:53:24.000000000"
Description: Private decoy DynamoDB table arn:aws:dynamodb:us-east-1:123456789012:table/Panther-DataTable was accessed by arn:aws:iam::123456789012:user/tester. This DynamoDB table has been provisioned to monitor and generate security events when accessed and can be an indicator of unintended or unauthorized access to your AWS Account.
FindingProviderFields:
Severity:
Label: HIGH
Normalized: 70
Types:
- Unusual Behaviors
GeneratorId: dynamodb.amazonaws.com
Id: 1abc2de3-69ea-4e15-91c6-27eb4a07bd21
ProcessedAt: "2024-05-24T22:53:41.884Z"
ProductArn: arn:aws:securityhub:us-east-1:123456789012:product/123456789012/default
ProductFields:
Custom/DecoyDetector/apiResult: SUCCESS
Custom/DecoyDetector/requestID: ab1cd234-1986-4c45-8546-fdb1776e23b0
Custom/DecoyDetector/userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
aws/securityhub/CompanyName: Personal
aws/securityhub/FindingId: arn:aws:securityhub:us-east-1:123456789012:product/123456789012/default/1abc2de3-69ea-4e15-91c6-27eb4a07bd21
aws/securityhub/ProductName: Default
ProductName: DecoyDetector
RecordState: ACTIVE
Region: us-east-1
Resources:
- Id: <id>
Partition: aws
Region: us-east-1
ResourceRole: Target
Type: AwsDynamoDbTable
- Details:
AwsIamAccessKey:
AccessKeyId: ABC9ONWNS3155VIEJC8U
AccountId: "123456789012"
PrincipalId: ABC9ONWNS3155VIEJC8U:john.doe
PrincipalType: AssumedRole
SessionContext:
Attributes:
CreationDate: "2024-05-24T22:32:38Z"
MfaAuthenticated: false
SessionIssuer:
AccountId: "123456789012"
Arn: arn:aws:iam::123456789012:user/tester
PrincipalId: tester
Type: Role
UserName: user/tester
Id: ABC9ONWNS3155VIEJC8U
Partition: aws
Region: us-east-1
ResourceRole: Actor
Type: AwsIamAccessKey
- Id: arn:aws:iam::123456789012:user/tester
Partition: aws
Region: us-east-1
ResourceRole: Actor
Type: AwsIamRole
SchemaVersion: "2018-10-08"
Severity:
Label: HIGH
Normalized: 70
Title: Suspicious activity detected accessing private decoy DynamoDB table arn:aws:dynamodb:us-east-1:123456789012:table/Panther-DataTable
Types:
- Unusual Behaviors
UpdatedAt: "2024-05-24 22:53:24.000000000"
Workflow:
Status: NEW
WorkflowState: NEW
p_any_actor_ids: []
p_any_aws_account_ids: []
p_any_aws_arns: []
p_any_ip_addresses: []
p_any_trace_ids: []
p_any_usernames: []
p_event_time: "2024-05-24 22:53:24.000000000"
p_log_type: AWS.SecurityFindingFormat
p_parse_time: "2024-05-24 22:55:04.312964001"
p_row_id: 8e1c8ebd709fb49e9eb5a1c61ff1a303
p_schema_version: 0
p_source_id: e29fd64f-53d9-43ab-92ca-575a8af289e6
p_source_label: AWS Security Hub
- Name: DynamoDB-Decoy-Not-Accessed
ExpectedResult: false
Log:
Action:
ActionType: AWS_API_CALL
AwsApiCallAction:
Api: DescribeEndpoints
CallerType: remoteIp
DomainDetails: {}
RemoteIpDetails:
City: {}
Country: {}
GeoLocation: {}
IpAddressV4: 11.111.11.111
Organization: {}
ServiceName: dynamodb.amazonaws.com
DnsRequestAction: {}
NetworkConnectionAction:
LocalPortDetails: {}
RemotePortDetails: {}
PortProbeAction: {}
AwsAccountId: "123456789012"
CompanyName: Custom
CreatedAt: "2024-05-24 22:53:24.000000000"
Description: Private decoy DynamoDB table arn:aws:dynamodb:us-east-1:123456789012:table/Panther-DataTable was not accessed by arn:aws:iam::123456789012:user/tester. This DynamoDB table has been provisioned to monitor and generate security events when accessed and can be an indicator of unintended or unauthorized access to your AWS Account.
FindingProviderFields:
Severity:
Label: HIGH
Normalized: 70
Types:
- Unusual Behaviors
GeneratorId: dynamodb.amazonaws.com
Id: 1abc2de3-69ea-4e15-91c6-27eb4a07bd21
ProcessedAt: "2024-05-24T22:53:41.884Z"
ProductArn: arn:aws:securityhub:us-east-1:123456789012:product/123456789012/default
ProductFields:
Custom/DecoyDetector/apiResult: SUCCESS
Custom/DecoyDetector/requestID: ab1cd234-1986-4c45-8546-fdb1776e23b0
Custom/DecoyDetector/userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
aws/securityhub/CompanyName: Personal
aws/securityhub/FindingId: arn:aws:securityhub:us-east-1:123456789012:product/123456789012/default/1abc2de3-69ea-4e15-91c6-27eb4a07bd21
aws/securityhub/ProductName: Default
ProductName: DecoyDetector
RecordState: ACTIVE
Region: us-east-1
Resources:
- Id: <id>
Partition: aws
Region: us-east-1
ResourceRole: Target
Type: AwsDynamoDbTable
- Details:
AwsIamAccessKey:
AccessKeyId: ABC9ONWNS3155VIEJC8U
AccountId: "123456789012"
PrincipalId: ABC9ONWNS3155VIEJC8U:john.doe
PrincipalType: AssumedRole
SessionContext:
Attributes:
CreationDate: "2024-05-24T22:32:38Z"
MfaAuthenticated: false
SessionIssuer:
AccountId: "123456789012"
Arn: arn:aws:iam::123456789012:user/tester
PrincipalId: tester
Type: Role
UserName: user/tester
Id: ABC9ONWNS3155VIEJC8U
Partition: aws
Region: us-east-1
ResourceRole: Actor
Type: AwsIamAccessKey
- Id: arn:aws:iam::123456789012:user/tester
Partition: aws
Region: us-east-1
ResourceRole: Actor
Type: AwsIamRole
SchemaVersion: "2018-10-08"
Severity:
Label: HIGH
Normalized: 70
Title: Non-Suspicious activity detected accessing private decoy DynamoDB table arn:aws:dynamodb:us-east-1:123456789012:table/Panther-DataTable
Types:
- Unusual Behaviors
UpdatedAt: "2024-05-24 22:53:24.000000000"
Workflow:
Status: NEW
WorkflowState: NEW
p_any_actor_ids: []
p_any_aws_account_ids: []
p_any_aws_arns: []
p_any_ip_addresses: []
p_any_trace_ids: []
p_any_usernames: []
p_event_time: "2024-05-24 22:53:24.000000000"
p_log_type: AWS.SecurityFindingFormat
p_parse_time: "2024-05-24 22:55:04.312964001"
p_row_id: 8e1c8ebd709fb49e9eb5a1c61ff1a303
p_schema_version: 0
p_source_id: e29fd64f-53d9-43ab-92ca-575a8af289e6
p_source_label: AWS Security Hub
Detection logic
Condition
GeneratorId eq "dynamodb.amazonaws.com"
Action.AwsApiCallAction.Api in ["BatchExecuteStatement", "BatchGetItem", "BatchWriteItem", "DeleteItem", "ExecuteStatement", "ExecuteTransaction", "GetItem", "PutItem", "Query", "Scan", "TransactGetItems", "TransactWriteItems", "UpdateItem"]
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.
| Field | Kind | Values |
|---|---|---|
Action.AwsApiCallAction.Api | in |
|
GeneratorId | eq |
|