Re: [dmarc-ietf] Additions to draft - Security Considerations

Scott Kitterman <sklist@kitterman.com> Wed, 27 April 2022 04:09 UTC

Return-Path: <sklist@kitterman.com>
X-Original-To: dmarc@ietfa.amsl.com
Delivered-To: dmarc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5C9E0C20CC0B for <dmarc@ietfa.amsl.com>; Tue, 26 Apr 2022 21:09:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=kitterman.com header.b=1vznWDFA; dkim=pass (2048-bit key) header.d=kitterman.com header.b=QYrtOHvO
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tes6EERBgPdX for <dmarc@ietfa.amsl.com>; Tue, 26 Apr 2022 21:09:35 -0700 (PDT)
Received: from interserver.kitterman.com (interserver.kitterman.com [64.20.48.66]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A30EDC20AF53 for <dmarc@ietf.org>; Tue, 26 Apr 2022 21:09:35 -0700 (PDT)
Received: from interserver.kitterman.com (interserver.kitterman.com [64.20.48.66]) by interserver.kitterman.com (Postfix) with ESMTPS id C19B6F8027E; Wed, 27 Apr 2022 00:09:31 -0400 (EDT)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903e; t=1651032571; h=date : from : to : subject : in-reply-to : references : message-id : mime-version : content-type : content-transfer-encoding : from; bh=c/5Ou3hSH1X8Dv9T2J0jmwHnQOzKQmRO/3fEhg3fmJg=; b=1vznWDFAi3rjBDkMr6xe4pzPMWTmQaMbOhPTrQPb45DY/zBYP2V0OOc5zv2Rc8sHwgx/D GHVWB3iJCTumiqkCw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903r; t=1651032571; h=date : from : to : subject : in-reply-to : references : message-id : mime-version : content-type : content-transfer-encoding : from; bh=c/5Ou3hSH1X8Dv9T2J0jmwHnQOzKQmRO/3fEhg3fmJg=; b=QYrtOHvOSUzPjBtILGwJv9ZlgyNEbB70JKJHTehN6AOl3l786lDE/FVKMpIrD6ehBeTpu THTUIna6yQdY+D4N+TzBe6I1l4/Okn2SqQYbyAy/9X29zDwKe2hs/HW30OOLJUAXvyLTkEa kpaiD+iv8mT+WeUncD2CKIImQfp5URmN5XUQ7hpUaYaOuBV9ioC+BDhk1QdP8M54/fnnrRZ 3OQA5suWCWObbFX9kkeowUwW6DqlGHnTgFaA5WTCc7ZionsTy6l4JjD7uewnVmrNz5D/R2x lh1mogKmXySa/ULeneeFOi25a05RKwj+jEbA6JzwLFu2oYMWvQsl6rQs3Weg==
Received: from [127.0.0.1] (static-72-81-252-22.bltmmd.fios.verizon.net [72.81.252.22]) by interserver.kitterman.com (Postfix) with ESMTPSA id 84945F801C8; Wed, 27 Apr 2022 00:09:31 -0400 (EDT)
Date: Wed, 27 Apr 2022 04:09:30 +0000
From: Scott Kitterman <sklist@kitterman.com>
To: dmarc@ietf.org
In-Reply-To: <CAH48Zfwmp_HqNvHZ7TL3sNVDXiSXxYtPEQkKswsYS00AyZeh7g@mail.gmail.com>
References: <CAH48Zfz5MWDuQa1DJQE_YK9gAUL4P-se4CeGAGYCf+c6D0ysaA@mail.gmail.com> <2934216.d6BrxOLGqM@zini-1880> <83b5228b-adca-3a5d-3056-3ec5befa634b@tana.it> <FC08B97A-500B-4341-AF45-B9D93F432786@kitterman.com> <f56d41a4-86e0-e195-dd0c-32189fca61c8@tana.it> <CAH48Zfwmp_HqNvHZ7TL3sNVDXiSXxYtPEQkKswsYS00AyZeh7g@mail.gmail.com>
Message-ID: <3CB280A4-D4B7-4E74-842E-2D7E60057631@kitterman.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/jXQS6yGkYkPm4DmkWnTVn3u8JwE>
Subject: Re: [dmarc-ietf] Additions to draft - Security Considerations
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <dmarc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmarc>, <mailto:dmarc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmarc/>
List-Post: <mailto:dmarc@ietf.org>
List-Help: <mailto:dmarc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmarc>, <mailto:dmarc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Apr 2022 04:09:40 -0000

I only want to get the documentation correct.  No campaign of any kind.

Since use of psd=n is under the control of the domain owner, I think it's as verified as anything else the domain owner might add.

Let's please focus on getting the security consideration to wording settled before rehashing only tangentially related points.

Unless Ale or someone else has an example where this is a problem for strict alignment, I think the text I proposed is close enough to complete to go ahead and add it to the next revision.

Scott K

On April 27, 2022 12:41:51 AM UTC, Douglas Foster <dougfoster.emailstandards@gmail.com> wrote:
>Alessandro has figured me out.   I am trying to be very clear about the
>advantages of strict alignment and same-domain policies.    I would stop
>short of calling it a campaign, because I have no intent of trying to
>deprecate the other options.
>
>Security considerations are about ensuring that the evaluator understands
>risks.   These need to be in the document because this forum helps us think
>about things that may not be obvious to the reader without our help.
>Similarly, the mitigations are advice to the message senders:   if you want
>to minimize distrust by the evaluator of your message, here are things to
>do and things to avoid.
>
>We have four levels of trust related to organizational alignment, for
>lowest to highest trust:
>- Organization boundary unknown (no DMARC policy)
>- Organization boundary selected but not verified (the tree walk)
>- Organization boundary selected and verified (needs discussion)
>- Organization boundary not needed (strict alignment and exact match
>domains)
>
>A message sender who wants to maximize trust can do so by making
>organization ambiguity irrelevant to the approval decision.
>
>
>Organization boundary verification:
>
>We have established that the organization boundary should be verified when
>the domain path includes a private registration.  This is because the tree
>walk might select the registrar domain instead of the client
>domain, allowing a private registration client to impersonate the parent or
>the sibling domains.    Since we don't know which domain paths contain
>private registries, we need to verify all organizational domain selections.
>
>Note that it is not enough to handle this problem with psd=n, because the
>evaluator needs to know that the psd=n which he found is the correct one
>for his DNS path.   Although the RFC 7489 (PSL) method does not have a
>verification method, it could be used as a verification method for the tree
>walk.   However, this approach would not do enough to solve the existing
>PSL problems.  Instead, we need a DNS-based method of doing this.   My
>OrgBelow token proposal accomplishes that purpose, by providing explicit
>information about boundaries from the perspective of both the From domain
>and the selected Organizational domain.    When they agree, we have the
>desired evidence of common administrative control.   When they do not
>explicitly agree, we have ambiguity.   In most cases, the evaluator will
>choose to accept the ambiguity, but we should provide a mechanism for the
>message sender and evaluator to operate with minimal ambiguity and minimal
>fear.  So we need a token like OrgsBelow.
>
>Doug
>
>
>
>On Tue, Apr 26, 2022 at 12:57 PM Alessandro Vesely <vesely@tana.it> wrote:
>
>> On Tue 26/Apr/2022 14:53:27 +0200 Scott Kitterman wrote:
>> > On April 26, 2022 8:06:50 AM UTC, Alessandro Vesely <vesely@tana.it>
>> wrote:
>> >>On Mon 25/Apr/2022 05:56:46 +0200 Scott Kitterman wrote:
>> >>>
>> >>> How about something like this:
>> >>>
>> >>> 9.7 Determination of the Organizational Domain For Relaxed Alignment
>> >>>
>> >>> DMARC evaluation for relaxed alignment is highly sensitive to errors
>> in the
>> >>> determination of the organizational domain if the RFC5322.From domain
>> does not
>> >>> have a published policy.  If an incorrectly selected organizational
>> domain is
>> >>> a parent of the correct organizational domain, then relaxed alignment
>> could
>> >>> potentially allow a malicious sender to obtain DMARC PASS.  This
>> potential
>> >>> exists for both the legacy [RFC 7489] and current [Section 4.8]
>> methods for
>> >>> determining the organizational domain.
>> >>
>> >>
>> >>I object that this text undermines the robustness of the protocol and
>> may sound like a campaign for strict alignment.  Relaxed alignment is safer
>> from a flexibility POV, as it accounts for occasional @
>> hostname.example.com.  It has played a relevant role in DMARC success,
>> and it's not by chance the default.
>> >>
>> >>Here's an alternative text:
>> >>
>> >>    DMARC evaluation for relaxed alignment is sensitive to errors in the
>> >>    determination of the organizational domain due to erroneous DNS
>> settings by
>> >>    either the organizational domain or its PSD parent.  If the PSD
>> parent is
>> >>    incorrectly selected as organizational domain, then relaxed
>> alignment can
>> >>    potentially allow a malicious sender to obtain DMARC PASS while
>> >>    impersonating the relevant organization.  This potential exists for
>> both
>> >>    the legacy [RFC 7489] and current [Section 4.8] methods for
>> determining the
>> >>    organizational domain.
>> >>
>> >>
>> >>> This issue is completely avoided by use of strict alignment and
>> publishing
>> >>> DMARC records for all domains/sub-domains used as RFC5322.From domain
>> in an
>> >>> organization's email.
>> >>
>> >>
>> >>   or by publishing psd=n.
>> >>
>> >>
>> >>> For cases where strict alignment is not appropriate, this issue can be
>> >>> mitigated by periodically checking the DMARC records, if any, of PSDs
>> above
>> >>> the organization's domains in the DNS tree and (for legacy [RFC 7489]
>> checking
>> >>> that appropriate PSL entries remain present).  If a PSD domain
>> publishes a
>> >>> DMARC record without the appropriate psd=y tag, organizational domain
>> owners
>> >>> can add psd=n to their organizational domain's DMARC record so that
>> the PSD
>> >>> record will not be incorrectly evaluated to be the organizational
>> domain.
>> >>
>> >>
>> >>The latter alternative is obviously easier than monitoring the DNS
>> settings of the PSD parent, and has to be carried out anyway in case.
>> >
>> > What specifically do you object to?
>>
>>
>> A quick skim through your text seems to be summarizable as "DMARC has a
>> defect
>> but you can overcome it by using strict alignment".  I know that's not
>> what you
>> meant, but it sounds quite like that.
>>
>>
>> > Do you think it's inaccurate that this concern is limited to relaxed
>> alignment?
>>
>>
>> No, I think it's wrong to blame relaxed alignment.
>>
>>
>> > The specific suggestion you added (or by publishing psd=n) is already in
>> the text later on, so I'm not understanding what you think the problem is
>> or what you want to do about it?
>>
>>
>> The alternative text above differs slightly from the first paragraph of
>> the
>> text you proposed, in an attempt at watering down that meaning.
>>
>>
>> Best
>> Ale
>> --
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> dmarc mailing list
>> dmarc@ietf.org
>> https://www.ietf.org/mailman/listinfo/dmarc
>>