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 not (
31    sender.email.domain.root_domain in $high_trust_sender_root_domains
32    and coalesce(headers.auth_summary.dmarc.pass, false)
33  )
34    
35attack_types:
36  - "BEC/Fraud"
37tactics_and_techniques:
38  - "Impersonation: VIP"
39detection_methods:
40  - "Content analysis"
41  - "Header analysis"
42  - "Natural Language Understanding"
43
44id: "a60f89a0-6cd0-5c2d-96de-8800380df407"
to-top