Skip to content

Commit 3c8af1f

Browse files
[Test Rules] [PR #4513] added rule: VIP impersonation with urgent request (strict match, untrusted sender)
1 parent 00968ee commit 3c8af1f

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: "VIP impersonation with urgent request (strict match, untrusted sender)"
2+
description: |
3+
Sender is using a display name that matches the display name of someone in your $org_vips list.
4+
5+
Detects potential Business Email Compromise (BEC) attacks by analyzing text within email body from untrusted senders.
6+
type: "rule"
7+
severity: "high"
8+
source: |
9+
type.inbound
10+
and any($org_vips,
11+
.display_name =~ sender.display_name
12+
or strings.concat(.first_name, " ", .last_name) == sender.display_name
13+
or strings.concat(.last_name, ", ", .first_name) == sender.display_name
14+
)
15+
and (
16+
any(ml.nlu_classifier(body.current_thread.text).intents,
17+
.name == "bec" and .confidence in ("medium", "high")
18+
)
19+
or (
20+
any(ml.nlu_classifier(body.current_thread.text).entities,
21+
.name == "urgency"
22+
)
23+
and any(ml.nlu_classifier(body.current_thread.text).entities,
24+
.name == "request"
25+
)
26+
)
27+
)
28+
and (
29+
(
30+
profile.by_sender().prevalence != "common"
31+
and not profile.by_sender().solicited
32+
)
33+
or (
34+
profile.by_sender().any_messages_malicious_or_spam
35+
and not profile.by_sender().any_messages_benign
36+
)
37+
or profile.by_sender().days_since.last_outbound > 365
38+
)
39+
// negate sharepoint notifications originating from within the org
40+
and not (
41+
sender.email.email in ('no-reply@sharepointonline.com')
42+
and length(headers.reply_to) > 0
43+
and all(headers.reply_to, .email.domain.root_domain in $org_domains)
44+
)
45+
// negate highly trusted sender domains unless they fail DMARC authentication
46+
and (
47+
(
48+
sender.email.domain.root_domain in $high_trust_sender_root_domains
49+
and not headers.auth_summary.dmarc.pass
50+
)
51+
or sender.email.domain.root_domain not in $high_trust_sender_root_domains
52+
)
53+
and not profile.by_sender().any_messages_benign
54+
attack_types:
55+
- "BEC/Fraud"
56+
tactics_and_techniques:
57+
- "Impersonation: VIP"
58+
- "Social engineering"
59+
detection_methods:
60+
- "Content analysis"
61+
- "Content analysis"
62+
- "Natural Language Understanding"
63+
- "Sender analysis"
64+
id: "5bb1c65e-b217-59bc-b9a6-4b7e6defc225"
65+
og_id: "0dd1fa60-6e89-5f70-81a1-6b64eef0e428"
66+
testing_pr: 4513
67+
testing_sha: 90a3176084fd25d367a7582d78b2cd7bb9c4b8b5

0 commit comments

Comments
 (0)