M3AAWG Keynote #2
DMARC.org
LinkedIn Postmaster Team

M3AAWG Data & Identity Co-Chair
Halon.io Co-Founder

Steven JonesAnders Berggren

Topics• DMARC and ARC• DKIM Replay• Statistics and Adoption

2

DMARC and ARC

DMARCbis – Updates to DMARCIETF DMARC Working Group has been working on
revisions for 2 years
Most Significant Changes:• Public Suffix Domain replaces Public Suffix List
• Policy Discovery and DNS Tree Walk
• Policy for non-existent domains
4DMARC and Public Suffix List
PSL can be found at https://publicsuffix.org
Domains under which organizations register domains:• au, com, jp, uk, us• co.jp, gov.uk, national.museum• nsw.edu.au• pvt.k12.ma.us

5DMARC and Policy Discovery
DMARC uses PSL to find Organizational Domain bya right-to-left match:
From: user@a.b.c.d.example.com• a.b.c.d.example.com – no DMARC policy found, lookup OD• com – longest match on PSL (example.com not listed)• Take next element left of com as Organizational Domain

The Organizational Domain is example.com
6

DMARC and Public Suffix ListConcerns with the PSL:

• A volunteer effort• Not designed for email• DMARC mail receivers must update their copy of thePSL regularly

7

DMARCbis and Public Suffixes
Public Suffix Domains and Public Suffix Operators• Incorporates RFC9091• Allow policies for Top Level Domains (TLDs), like.bank and .jp• Allow policies for controlled domains like gov.uk
included in the PSL• Set default policy for non-existent child domains
of TLDs and PSDs
• New np= tag in DMARC record8

DMARCbis and DNS Tree Walk
DNS Tree Walk is a general mechanism to find:• Organizational Domain• Public Suffix Domain

9DMARCbis and DNS Tree Walk
DNS Tree Walk matches left-to-right, “with a skip”
From: user@a.b.c.d.mail.example.com
1. a.b.c.d.mail.example.com – more than 5 labels
2. Shorten to less than 5 labels
3. d.mail.example.com – check at 4-label level, no record
4. mail.example.com – check 3-label level, record foundThe record at _dmarc.mail.example.com is used.
10

PSD and Organizational Domain
Public Suffix Domain (PSD) may include the psd=y tag inthe DMARC DNS record_dmarc.bank v=DMARC1; psd=y; p=reject; …

Organizational Domain (OD) is one label longer than aPSD, and may include the psd=n tag in the DMARC DNSrecord_dmarc.sample.bank v=DMARC1; p=reject; …
_dmarc.example.com v=DMARC1; psd=n; p=reject; …

OD records with psd=n tag are for cases where PSD parent
published DMARC record without psd=y11

DMARCbis and Non-Existent Domains
New np= tag for Organizational Domains and Public Suffix
Domains
Spammers invent non-existent subdomains, especially ofPSDs like gov.uk
np= specifies a policy to use for subdomains that return an

NXDOMAIN for DNS lookups_dmarc.gov.uk

p=none; sp=quarantine; np=reject; …

12

Which Policy To Apply?
• For From: domains that do not return NXDOMAIN:
1. RFC5322.From domain (p= tag)
2. Organizational Domain (sp= tag)
3. Public Suffix Doman (sp= tag)

• For From: domains that do return NXDOMAIN:
1. Organizational Domain (np= tag)
2. Public Suffix Doman (np= tag)_dmarc.gov.uk

p=none; sp=quarantine; np=reject; …

From: user@Y9RE1BU.gov.uk will have np=reject applied13

ARC – Enabling DMARC Adoption• Authenticated Received Chain, RFC8617• Forwarded messages and mailing lists tend to fail
DMARC checks• ARC conveys authentication results acrossparticipating intermediaries (forwarders, listoperators)• ARC results from trusted intermediaries can validate
messages that otherwise fail DMARC• Who to trust is decided by the mail receiver14

Microsoft Using ARC in Office 365• 2019: Microsoft uses ARC internally, “but plan to add
support for third-party ARC sealers in the future.”
Now Office 365 Admins can configure Trusted ARC Sealers• 2022: “Trusted ARC sealers lets admins add a list oftrusted intermediaries into the Microsoft 365 Defender
portal. Trusted ARC sealers allows Microsoft to honor
ARC signatures from these trusted intermediaries.”

15

Microsoft Using ARC in Office 365

16Microsoft Using ARC in Office 365
Several articles published in 2022:• 6月: Using ARC in Defender for Office 365• https://techcommunity.microsoft.com/t5/microsoft-defender-for-office/improving-defense-indepth-with-trusted-arc-sealers-for/ba-p/3440707• 10月: 正当な間接メールフローを信頼する信頼された ARC 送信者の一覧を作成する• https://learn.microsoft.com/ja-jp/microsoft-365/security/office-365-security/use-arcexceptions-to-mark-trusted-arc-senders?view=o365-worldwide• 10月: DMARC を使用してメールを検証する• https://learn.microsoft.com/ja-jp/microsoft-365/security/office-365-security/use-dmarc-tovalidate-email?view=o365-worldwide

18

Future of Mailing Lists?

20

DKIM Replay Attacks

Real World DKIM Usage• DKIM designed to help receivers track reputation ofdomains• DKIM attaches a digital signature to an email message• ESPs and mailing lists may use the same signature for all
messages in a campaign• They may not sign some recommended fields to support this

• ESPs may sign with their domain (d=esp.com), and use
their domain in the From: address

22

What Is DKIM Replay?
• A message sent to one recipient is DKIM signed by adomain with good reputation• This message is extracted and re-sent to many recipients• DKIM signature on these messages is still valid• If DKIM d= domain and From: domain align, DMARC stillpasses• Attacker can add unsigned/missing headers (Cc:)• Good reputation of DKIM signer is sometimes enough tobypass spam filters
23

Why Is This Hard to Detect?
Replay attacks look like legitimate traffic:• Forwarding breaks SPF, leaves DKIM intact (passing)• Mailing lists break SPF but may leave DKIM intact• ESPs and lists may use same DKIM signature on all
messages in the same campaign• ESPs and lists may use their own domain for
RFC5321.MailFrom, but leave From: intact24

Is DKIM Replay a New Attack?
Described in original DKIM spec (RFC 4871) and all updates
8.5 Replay Attacks
In this attack, a spammer sends a message to be spammed to anaccomplice, which results in the message being signed by theoriginating MTA. The accomplice resends the message, including
the original signature, to a large number of recipients, possibly
by sending the message to many compromised machines that act asMTAs. The messages, not having been modified by the accomplice,
have valid signatures.

Some abuses of body length limits (“l=“ tag) also described25

Rise in DKIM Replay Attacks• ProtonMail reported problems due to DKIM Replay
attacks starting in December 2021
• https://proton.me/blog/dkim-replay-attack-breakdown• Other reports emerged through early 2022

• Numerous industry blog posts during 2022

26

Industry Response to DKIM Replay• Data sharing between MBP, ESPs, researchers• Many informal channels• Recent activity at M3AAWG:
2月 Discussed informally at M3AAWG 54
DKIM Replay initiative created
6月 Several sessions at M3AAWG 55
10月 BoF session at M3AAWG 56
Discussion at IETF 115 on Monday (London time)27

DKIM Replay Countermeasures• Limit the time each DKIM key is valid• Regular DKIM key rotation• Use the x= tag (expiration time) in DKIM signatures• Always sign From:, To: and Cc: headers even if empty• Sign as many headers as you reasonably can• Review all header signing – Date:, Reply-To:, Subject:, etc• Content scan messages sent from new/trial accounts• Disallow pre-shortened links in messages• Limit To: addresses for trial accounts

28Four Proposals at M3AAWG BoF• Kucherawy: Include Envelope in DKIM Signature• https://datatracker.ietf.org/doc/draft-kucherawy-dkim-anti-replay/• Chuang: Replay Resistant ARC• https://datatracker.ietf.org/doc/draft-chuang-replay-resistant-arc/• Bradshaw: DKIM Envelope Validation Extension• https://www.ietf.org/id/draft-bradshaw-envelope-validation-extensiondkim-00.html• Gondwana: Mailpath, an Email Chain of Custody• https://datatracker.ietf.org/doc/draft-gondwana-email-mailpath

29

Kucherawy: Sign the Envelope• New tag for DKIM signatures: e=y• Add all envelope recipients (RFC5321.RcptTo) in signature• Signatures no longer valid if any changes made toenvelope recipient address(es)30Kucherawy: Sign the EnvelopePros• Simple implementation• Old signer/verifier works• Can double-sign duringtransition

Cons• Cannot validate postdelivery, need envelope data
• Looks like a failed signature• No more envelope splitting• Does not survive forwarding
or mailing lists

31Chuang: Replay Resistent ARC
Two elements:• Declare All Recipients and Affirm (DARA)• Intermediaries record any RFC5321.RcptTo address changes in
new Forwarding-To: header• Receiver confirms that RFC5321.RcptTo address is in a signed
To:, Cc: or Forwarding-To: header• Sender Receiver Co-Signing (SeRCi)• Extend SMTP transaction to include challenge-response• Includes next hop in each ARC-Signature:

32

Chuang: Replay Resistent ARC
Pros• Replay limited to original
recipients• No changes to DKIMCons• DARA requires changes toARC + widespread adoption• SeRCi requires SMTP
extension• Participants must publish
DARA and SeRCi DNS
records• Mailing lists/forwarders
asked to add new DARA
header (Forwarded-To:)
33

Bradshaw: Envelope Validation• Described as a DKIM extension• New DKIM-EVE: headers created by Sender• Hash of all header and envelope addresses, plus
Message-ID and unique EVE-ID• Sender would include expected intermediaries• DKIM signature would include DKIM-EVE: headers34

Bradshaw: Envelope Validation
Pros• Captures envelope details• Allows envelope splitting• No changes to DKIM
• DKIM still passes forforwarded messages• Receivers can compile
reputation of intermediaryCons• Requires intermediary
reputation system• Headers must never be reordered35

Gondwana: Mailpath• “A chain of custody for email”• Record ingress, modification, and egress from an ADMD
• Ingress• Record Mailpath-Authentication-Results: and Mailpath-Signature:• Signature includes addresses used to check alignment• Modification• Indicate changes to addresses, message content• Egress• See if next hop supports Mailpath• Add Mailpath-Disposition:, indicate if next hop has Mailpath• Add Mailpath-Transit-Signature: that covers all other Mailpath,ARC, and DKIM headers
36

Gondwana: Mailpath
Pros• Records address andcontent changes at eachhop• Includes expected nexthop at each stepCons
• Tries to capture all email
state at each hop• 4-5 headers and threesigning operations per hop• Check for Mailpath support
at next hop is required• New DNS TXT record forevery MX server

37

Statistics andAdoption

DMARC Activity in Japan• Nifty sending aggregate reports (1月)
• NTT Docomo verifying DMARC (8月)

• 50% of Nikkei 225 companies have deployed DMARC

39

About This Data
• Raw data supplied by DomainTools• DNS request/response data captured from sensors widely
deployed across the Internet• Not 100% coverage of Internet, but a stable sensor
network useful for comparisons over time
• DMARC.org thanks DomainTools for their continuing
support40

Active DMARC Records and % Growth by Month5,566,779% Change

Total Records41

Valid DMARC Records Confirmed via DNS

6,000,000

5,566,779

4,974,390
5,000,000

4,000,000

3,461,520

3,000,000

2,704,575
2,221,962
1,892,227

2,000,000

1,084,767
1,000,000
630,000

80,275

134,280

240,1516/2017

12/2017342,367

12/2016

6/2018

12/2018

6/201912/2019

6/202012/2020

6/2021

12/2021

6/202242

DMARC Policies
p=reject , 19.6%

p=quarantine ,12.1%

p=none , 68.2%

43

DMARC Policies Over Time
80.0%

70.0%

60.0%

50.0%

40.0%

30.0%

20.0%

10.0%

0.0%
2019-122020-06

2020-12
p=nonep=quarantine

2021-06

2021-122022-06

p=reject44Active BIMI Records and % Growth By Month14.0%

15,00416,00014,00012.0%

12,00010.0%
10,000

8.0%
8,000

6.0%
6,000

4.0%
4,000

2.0%

2,0000.0%-% Change

Total Records45

BIMI Records
2021 Q3• Total BIMI records observed: 9,860• Including link to a VMC:
1792022 Q2• Total BIMI records observed: 15,004• Including link to VMC:
930

46

New BIMI Records By Month
951

1,000
900

787

800

690

700
600

547

523

500
400
300

254

200
100-47

Thank you