VIP impersonation with invoicing request

This rule detects emails attempting to impersonate a VIP, it leverages NLU to determine if there is invoicing verbiage in the current thread, and requires request language.

Sublime rule (View on GitHub)

 1name: "VIP impersonation with invoicing request"
 2description: "This rule detects emails attempting to impersonate a VIP, it leverages NLU to determine if there is invoicing verbiage in the current thread, and requires request language."
 3type: "rule"
 4severity: "high"
 5source: |
 6  type.inbound
 7  and any($org_vips, strings.contains(sender.display_name, .display_name))
 8  and (
 9    (
10      sender.email.domain.domain in $org_domains
11      // X-headers indicate external sender
12      and headers.x_authenticated_sender.email != sender.email.email
13      and headers.x_authenticated_domain.domain not in $org_domains
14    )
15    or sender.email.domain.domain not in $org_domains
16  )
17  
18  // Invoice Language with a request
19  and any(ml.nlu_classifier(body.current_thread.text).tags,
20          .name == "invoice" and .confidence in ("medium", "high")
21  )
22  and any(ml.nlu_classifier(body.current_thread.text).entities,
23          .name == "request"
24  )
25  
26  // and the reply to email address has never been contacted
27  and any(headers.reply_to, .email.email not in $recipient_emails)
28  
29  // negate highly trusted sender domains unless they fail DMARC authentication
30  and (
31    (
32      sender.email.domain.root_domain in $high_trust_sender_root_domains
33      and not headers.auth_summary.dmarc.pass
34    )
35    or sender.email.domain.root_domain not in $high_trust_sender_root_domains
36  )
37    
38attack_types:
39  - "BEC/Fraud"
40tactics_and_techniques:
41  - "Impersonation: VIP"
42detection_methods:
43  - "Content analysis"
44  - "Header analysis"
45  - "Natural Language Understanding"
46
47id: "a60f89a0-6cd0-5c2d-96de-8800380df407"
to-top