I am much discouraged  by the recent discussion about false DMARC PASS
based on false SPF PASS or malicious mDKIM replay.   When combined with the
discussion about false DMARC FAIL for mailing lists, it seems like we have
a very unimpressive standards proposal.

We have proposed defending against false SPF PASS by providing a DMARC
option for “DKIM-only”.  This will provide a solution to the domain owner’s
problem, at least for those evaluators who understand and enforce the
DKIM-only parameter.   But it does not come close to solving the
Evaluator’s problem, because the Evaluator is at risk of deception from
impersonation of any hosting service’s client domain.

Consider the close similarity between these two scenarios:

Legitimate Client via Legitimate Domain

·         MailFrom = user@GoodDomain, From=user@GoodDomain, Rcpt
To=user@TargetDomain

·         Received #1:  From clientdevce.tld by inbound.hostingservice.tld
with SMTP (Authenticated)

·         (Normal routing)

·         MailFrom = user@GoodDomain, Rcpt To=user@TargetDomain

·         Received #2: From outbound.hostingservice.tld by
inbound.TargetDomain with SMTP (Unauthenticated)

·         Result: SPF PASS and DKIM PASS based on SPF Strict Alignment

Attacking client via Co-Conspirator domain

·         MailFrom = user@GoodDomain, From=user@GoodDomain, Rcpt
To=user@ConspiratorDomain

·         Received #1: From maliciousserver by inbound.hostingservice.tld
with SMTP (Unauthenticated0

·         (SPF Failure intentionally ignored.   Forwarding without any
change to MailFrom)

·         MailFrom = user@GoodDomain, Rcpt To=user@TargetDomain

·         Received #2: From outbound.hostingservice.tld by
inbound.TargetDomain with SMTP (unauthenticated)

·         Result: SPF PASS and DKIM PASS based on SPF Strict Alignment

Note that these two scenarios are nearly identical to the evaluator at
TargetDomain.     To distinguish between the two scenarios, the evaluator
needs to reliably know either:

·         that the legitimate client used authenticated SMTP, which seems
infeasible, or

·         that the Rcpt To address was altered in transit.

Authentication result headers are only useful if the Evaluator knows that
the results apply to an unauthenticated connection, which in these examples
is uncertain in respect to the Received #1 header.   Additionally,
authentication result headers do not document the SMTP Rcpt To address.

We have only one tool for downstream communication of the Rcpt To address:
the “For” clause of the Received header.   Some servers also document the
current value of the Mail From address by including a Received comment of
(envelope-from <emailaddress>).  Our solution needs to take advantage of
this capability.  If hosting services will add these clauses to inbound and
outbound Received headers, downstream evaluators could parse the headers to
distinguish between the malicious message and the legitimate one.   Even
better, the hosting service itself could use the inbound and outbound Mail
>From data to detect the malicious impersonation and block the message.
The Received header information will have added credibility if both inbound
and outbound Received headers are included in a DKIM signature provided by
the hosting service.

One problem with the “For” clause is that it is only used for a single
address.  As a result, it is typically omitted if the message has multiple
recipients.   To work around this limitation, the following is proposed:

·         Inbound processing splits inbound traffic by domain, either by
deferring Rcpt To address requests involving  a secondary domain, or by
splitting the message by domain after initial reception.

·         When a message has multiple recipients in a single domain, the
For address is interpreted as a proxy for all destination addresses in a
domain.   This could be accomplished using the first address from the
recipient list, using a placeholder for local-part such as
“_null@RcptToDomain”, or omitting the local-part completely
“@RcptToDomain”.

I am not clear whether we create a layer violation by defining this
enhancement to the Received header, since this proposal does not create an
incompatibility.  The Email Core WG seems intent on discussing the Received
header in the future, but is not ready to do so at this moment.   More
importantly, Email Core seems adverse to considering anything involving
authentication, so it seems to be our problem to solve.  I don’t think we
can be ready for publication unless the problem and its recommended
solution are documented,

Doug Foster
_______________________________________________
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to