Brand impersonation: Okta
Impersonation of Okta, an identity and access management company.
Sublime rule (View on GitHub)
1name: "Brand impersonation: Okta"
2description: "Impersonation of Okta, an identity and access management company."
3type: "rule"
4severity: "medium"
5source: |
6 type.inbound
7 and (
8 regex.icontains(sender.display_name, '\bOkta\b')
9 or strings.ilike(sender.email.domain.domain, '*Okta*')
10 or strings.ilike(subject.subject, '*Okta*')
11 )
12 and not (length(headers.references) > 0 or headers.in_reply_to is not null)
13 and not (
14 sender.email.domain.root_domain in~ (
15 'oktacdn.com',
16 'okta.com',
17 'okta-emea.com',
18 'okta-gov.com',
19 'oktapreview.com',
20 'polaris.me',
21 'examity.com' // exam service used by okta
22 )
23 and headers.auth_summary.dmarc.pass
24 )
25 and any(ml.logo_detect(file.message_screenshot()).brands,
26 .name == "Okta" and .confidence in ("medium", "high")
27 )
28 and (
29 profile.by_sender().prevalence in ("new", "outlier")
30 or (
31 profile.by_sender().any_messages_malicious_or_spam
32 and not profile.by_sender().any_messages_benign
33 )
34 )
35 // negate okta relay
36 and not any(distinct(headers.domains, .domain is not null),
37 .domain == "mailrelay.okta.com"
38 )
39 // negate highly trusted sender domains unless they fail DMARC authentication
40 and (
41 (
42 sender.email.domain.root_domain in $high_trust_sender_root_domains
43 and not headers.auth_summary.dmarc.pass
44 )
45 or sender.email.domain.root_domain not in $high_trust_sender_root_domains
46 )
47attack_types:
48 - "Credential Phishing"
49tactics_and_techniques:
50 - "Impersonation: Brand"
51 - "Lookalike domain"
52 - "Social engineering"
53detection_methods:
54 - "Computer Vision"
55 - "Content analysis"
56 - "Header analysis"
57 - "Sender analysis"
58id: "b7a2989a-a5ef-5340-b1d0-6b7c51462855"