Re: [dmarc-ietf] ARC-Seal is meaningless security theatre

Bron Gondwana <brong@fastmailteam.com> Sat, 19 August 2017 07:48 UTC

Return-Path: <brong@fastmailteam.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 24E4113219E for <dmarc@ietfa.amsl.com>; Sat, 19 Aug 2017 00:48:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.719
X-Spam-Level:
X-Spam-Status: No, score=-2.719 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=WAH67gny; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=mcSN4gpI
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wff-VarhvUtr for <dmarc@ietfa.amsl.com>; Sat, 19 Aug 2017 00:48:54 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4DEE713243E for <dmarc@ietf.org>; Sat, 19 Aug 2017 00:48:54 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 79FF32133D for <dmarc@ietf.org>; Sat, 19 Aug 2017 03:48:53 -0400 (EDT)
Received: from web4 ([10.202.2.214]) by compute6.internal (MEProxy); Sat, 19 Aug 2017 03:48:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=content-transfer-encoding:content-type:date :from:in-reply-to:message-id:mime-version:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=mlEdcA3p555bp+PZh A0+LCDbFTMp0RuPcRnGYY36pMI=; b=WAH67gnygzORhsoE5ctUjqWxxymx9EolO WvItTu8svMMiThPHyXux8deuKwNmIlldaF4o1O38/1tB/TAgQ2VTEzFql/knAgf7 F3kOKSaYv5DfL34Y+51skE/VMjAJ/RVq1i1SVWv056SgxxTQzUrax4UP41fwV0fk aUEYBvut7Zkums5X9YxnJl3fPJx8YBSOKXXWGDKL1fX4E6JopNiT72Fv0/0MXvkq yLX85cYuRZKuMKt/kn4zDalPLo1P6gG0Nt0DOHEy5b7NL2aL+f+T85bGGT0o0eHK rsaMnC0xvb8EOwZ9AmY4iZPx1uUbb0JEcdufNxqrB7lj0eNY3Ms4g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=mlEdcA 3p555bp+PZhA0+LCDbFTMp0RuPcRnGYY36pMI=; b=mcSN4gpIfH45SB8tmyYU5o HNiwiu4f9G+QNpivVeUzg/wZT9RGtOItFY3buY1xMBJVtJkp7qOtHAu8szv6gi5/ eyj15LAygkkq2kvyDefg9fN0qUCoByhrtWLqCCMQ37jnU9TTFoQY5/gNju/uXPpi QordBj1KR+3RrpSlAwe+FaZ0AJfDCfOVY5xOJ458fRsHQNyA6YhkM0+KH0Jtu6Nv lJvuORAKZsyuNs/mz7jTfGoYFztltw+KZx/1BleswQqUxGQn+3O98USxByG/2H/6 DljC6CccmyjOttL2Co79DeWMUp4pVKduJJ4jwvbmEIJsxLV3SA8zF+qMGoNjKhrQ ==
X-ME-Sender: <xms:Ze2XWQrm1afV2ZXI8W9AKG7EfEdx-tUoSILfnjIKBOtaYh-j1iIqFw>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 44B71BAB71; Sat, 19 Aug 2017 03:48:53 -0400 (EDT)
Message-Id: <1503128933.2760522.1078309768.4D8C11C9@webmail.messagingengine.com>
From: Bron Gondwana <brong@fastmailteam.com>
To: dmarc@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_150312893327605220"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-21c69044
Date: Sat, 19 Aug 2017 17:48:53 +1000
References: <1502083287.2191248.1065195288.7CDC7FF3@webmail.messagingengine.com> <CABuGu1oTMbuLd4yTwecu5sKFnsmH+HiwT1FG=JpySYHzpMTx_w@mail.gmail.com> <1502200759.3946686.1066841264.607B4D0B@webmail.messagingengine.com> <2720431.u3G7bbkkxK@kitterma-e6430> <1502317564.1935379.1068588344.040173AF@webmail.messagingengine.com> <a08c7590-ded3-1642-4ffc-07848b3c6cd2@gmail.com> <e14f2130-6f00-4ef1-485b-850a4cc1c48c@gmail.com> <1502495646.4099176.1070896040.2B09B1F8@webmail.messagingengine.com> <166070f0-4ba1-70da-1f73-885b4a7f7640@gmail.com> <1502497178.4103451.1070917304.23DD466D@webmail.messagingengine.com> <598F9484.7020700@isdg.net> <CABuGu1p=oLfLRkuoaDHoz3Cv3_FrURdsFPzkac7jNzBpqBmiSg@mail.gmail.com> <599484FB.9050908@isdg.net> <1502929303.4038704.1075868960.5D80A788@webmail.messagingengine.com> <5997DBA6.3080701@isdg.net>
In-Reply-To: <5997DBA6.3080701@isdg.net>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/vazEFDIjxEaEq8RLuv6_nzUNjX0>
Subject: Re: [dmarc-ietf] ARC-Seal is meaningless security theatre
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.22
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: Sat, 19 Aug 2017 07:48:56 -0000

On Sat, 19 Aug 2017, at 16:33, Hector Santos wrote:
> On 8/16/2017 8:21 PM, Bron Gondwana wrote:
>> On Thu, 17 Aug 2017, at 03:46, Hector Santos wrote:
>>> On 8/13/2017 10:28 AM, Kurt Andersen (b) wrote:
>>> 
>>>   On Sat, Aug 12, 2017 at 4:51 PM, Hector Santos wrote:
>>> 
>>>     If we even have a DMARC ARC Policy concept, than that may be
>>>     enough to begin pursuing the high cost of experimentation and
>>>     development here.
>>> 
>>> 
>>>   Beyond the protocol and usage specs, what are you looking for?
>>> 
>>> 
>>> A practical purpose for supporting (implementing) this work.   It
>>> appears ARC wants the network to stamp mail "blindly" as the mail
>>> travels from point to point.  I am trying to grasp how it helps
>>> resolve the main issue with "unauthorized" indirect 3rd party
>>> signatures, in particular when dealing with strong, exclusive DKIM
>>> signature policy models such as DMARC p=reject.
>> 
>> We spent a while thinking about this (Neil and myself from FastMail)>> at IETF99 after learning how ARC works, and came to the conclusion
>> that ARC as specified can't help with DMARC p=reject.
>> 
>> The only way you could even hope (as a mailing list) to avoid
>> rewriting the sender is for every site that currently has DMARC
>> p=reject to change that to a new policy which explicitly means "only>> reject if no ARC chain" - otherwise you can't stop rewriting sender
>> until you know that every receiver on your list is ARC-aware.
> 
> The MLS (Mail List Server) cam also reject submissions from
> restrictive (p=reject) domains because that MAY be the intent of the
> originating author domain.   The MLS can so prohibit new subscriptions> by verifying the user's domain is not restrictive.
> 
> We need more protocol information from what extracted from DMARC.  As> I see it, these are some of the boundary conditions:
> 
>     DMARC p=reject;  arc=none;       ignore ARC, same as no arc= tag
>     DMARC p=reject;  arc=all;        reject if any arc seals is
>     invalid>     DMARC p=reject;  arc=first;      don't reject if first arc seal is> valid
>     DMARC p=reject;  arc=last;       don't reject if last arc seal is> valid
>     DMARC p=reject;  arc=first,last; don't reject if first and last
> arc seals are valid

For what it's worth, the ONLY one of these which my "fake Brandon" email
would have failed to validate for is p=reject, arc=none.  A chain of
valid ARC seals is so easy to fraudulently create that it's not funny.
Everything other than arc=all there is totally pointless - if you can
intercept and modify email, you can easily add ARC headers that maintain
a complete chain is seals.
Now arc=site2.com,site3.com,site4.com - that's valuable.  You could say
"only allow ARC through the following intermediate domains" - and then
you could add those to your allowed list for your domain as you got
reports of validation failures and user requests.  Over time a domain
would build a list of mail flows that its users used.   You could even
use a different selector for each sending user, and publish a different
policy for that selector, so each user got their own allowed mail flows!
But anything that's based on count/position of seals in the chain, that
has no value.
Bron.


--
  Bron Gondwana, CEO, FastMail Pty Ltd
  brong@fastmailteam.com