Re: [dmarc-ietf] WGLC ARC-16 concern on Section 5.1.2 - cv=fail should sign greedily

Bron Gondwana <brong@fastmailteam.com> Sun, 29 July 2018 22:59 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 33522130DFF for <dmarc@ietfa.amsl.com>; Sun, 29 Jul 2018 15:59:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.72
X-Spam-Level:
X-Spam-Status: No, score=-2.72 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] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=YQw2sSUm; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=rNyaloze
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 VFM84aOBLSU2 for <dmarc@ietfa.amsl.com>; Sun, 29 Jul 2018 15:59:51 -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 5BCEB130DD8 for <dmarc@ietf.org>; Sun, 29 Jul 2018 15:59:51 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id AA9F321ADF for <dmarc@ietf.org>; Sun, 29 Jul 2018 18:59:50 -0400 (EDT)
Received: from web4 ([10.202.2.214]) by compute6.internal (MEProxy); Sun, 29 Jul 2018 18:59:50 -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=fm3; bh=75x98N1pGylhZyYu4 F/FsvU9QBk99rnM8AOJoefkjxM=; b=YQw2sSUmb30QamDZRXMXM9VNx7BM1OuBp Vt0P1R0XdwCyPcylhVJZXvjoHJxCzCOaYFjTopRzKERXq6gL+CKbML/eM37hIjcc KoOKlhmsfMsTWt0QLyfDQYRhQ76xGGlLK9EwoxDV6o+b5u905jfuwMTiYH/BFDns 74FPD6tarU8duYYYWBJxUIH7ma2dmiDHtu+/gsWWq/YVQui1jtUYc9PmWTyLFjrl GGQqFL+TgRmXyD3h4yRPfP+ZHYPNB7SqKfeo+viiGF+nCIvsd/KQVX4HkNWKaNx3 XyXutvfxieRDReFy8Onfrn2+/uPiDcC1HK/2RUxRCXmsMsJuc3x1A==
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=fm3; bh=75x98N 1pGylhZyYu4F/FsvU9QBk99rnM8AOJoefkjxM=; b=rNyaloze+cWjy3Cez+6UTu hwvGNyMduyBbERfzBP/Tt84Q4g9RSe2jFxAchm4dMAbkKETppwHdFqhRXErhbX4o /VwcKKQaa1RBVV76aVeGt0rhGwh6CmqKlqpxhZ8Hlva8SiuRrKqJofDZz1dcZJyR gvzBLFQU8yYCGgWJ55t8Yu5mKgXHmyZN4GXdUH4yim37Dn64xEdBMoD9e0ua8faq deLvje5K+PyISoMVIoKji/KMhYnMz1kSUbwmWfcM4x1dLYingyyn7WFodQeriRNB T+gx4SSW8DwwDjWQJP0AxKuMyofjuqo4uSwHV9jXnvwrOfsX5k29bPRygKIq+JdQ ==
X-ME-Proxy: <xmx:5kZeW--iCxmtqgfgkUjD0a80ewzU3cTUbLv3XiXUJBPPRwdG2sd5pw> <xmx:5kZeWxdm9bxP0Xkq2M5XuMSYAqwm5wMxfDuuzxPW0_vd4Y7yR_9RFA> <xmx:5kZeWw69xZBtT7O5BcMh_CumLhNkSNQtzFrzgqDdCAHIvBamGeh8Eg> <xmx:5kZeW9_D8rWuhXt8gAzaLGxvlke4KoSGutjKUyrQZKViFyLuaU-XqA> <xmx:5kZeW6y1WuGiMiEGhiXDF7i4ODxvbPaoudnqaZAPa6uHIrIaXHbfig> <xmx:5kZeW3fwhFpWMIscU0-H66CBA5KvR1Hbymuq13yinloOYnxEvfbx1g>
X-ME-Sender: <xms:5kZeWyqZMUsjBulClrjw07_5lrWezTI0KTZORXfQlqFecUeHeQmcIw>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id DF37CBA4CF; Sun, 29 Jul 2018 18:59:49 -0400 (EDT)
Message-Id: <1532905189.2879805.1456751232.5F2CDCE4@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="_----------=_153290518928798050"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-0843ff3e
Date: Mon, 30 Jul 2018 08:59:49 +1000
In-Reply-To: <CAD2i3WOHjUwi3J=xsLca5_4DJL=S+jaReGRC1fBQH5wsfWxOVg@mail.gmail.com>
References: <CAD2i3WMMJPaZYonS-qcz8pwOKYmS2Xe+8WBZPuAqjiGoYePzSg@mail.gmail.com> <CAL0qLwapyX3U=0OqQWzx+dDELn3W0v=N_HyzDnSw49oWQ+SE5Q@mail.gmail.com> <CAD2i3WN90JSS8pzgRxrbokuKmhZaLUrimYRWqkZwzVDBxTczng@mail.gmail.com> <CAL0qLwZ_uPh5iPkS7MKzDp3x=dAgn-hmsEunccDc3Hj2bsphpQ@mail.gmail.com> <CAD2i3WM99Yy6Y=BQE4dC=Ffm7J32My160Xdm2oxXC50Au9tXoA@mail.gmail.com> <1532745551.208119.1455489824.75DFC005@webmail.messagingengine.com> <CAD2i3WOHjUwi3J=xsLca5_4DJL=S+jaReGRC1fBQH5wsfWxOVg@mail.gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/bqxe7Q6vZ4Xj9V7VypPSAxSssYY>
Subject: Re: [dmarc-ietf] WGLC ARC-16 concern on Section 5.1.2 - cv=fail should sign greedily
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.27
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: Sun, 29 Jul 2018 22:59:55 -0000

On Sun, Jul 29, 2018, at 11:12, Seth Blank wrote:
> On Fri, Jul 27, 2018 at 7:39 PM, Bron Gondwana
> <brong@fastmailteam.com> wrote:>> __
>> 
>> The only thing your ARC Seal will validate is your own ARC-Authentication-
>> Results header - which isn't nothing (it could contain the IP address
>> that you received this message from) - but if SPF / DKIM and ARC are
>> all fails in your Authentication-Results, any earlier ARC and DKIM
>> headers have no provable causal relationship with the rest of the
>> message you received.>> 
> 
> A structurally valid ARC Chain (all ARC Sets have one each of the ARC
> header fields, the ARC Sets instance numbers are 1..N inclusive, and
> each AS covers all ARC Set header fields on the message 1..its own
> instance number) where all AS's validate says a very specific thing
> about that ARC Chain: that no one has modified *THE ARC HEADER FIELDS*
> that are part of the Chain.> 
> This also means that from the first ARC Set at i=1 through the last
> passing ARC Set, you have a guaranteed list of all domains who have
> modified the message (yes, some may have Sealed without modifying)
> and the corresponding ARC-Authentication-Results each saw, which you
> know have not been modified by someone other than the ADMD which
> added them.
Modified "a message", sure.  You have proof that a message
followed that path
> This does not stop someone from taking an intact and passing ARC Chain
> and adding their own garbage on top. Fundamentally, this is how mail
> work; mail is spooled and replayed all the time by design. This is an
> issue with DKIM, and covered in 6376 sections 5.4.1 and 8.6. Since ARC
> inherits heavily from DKIM, it also inherits these specific replay
> issues. It was determined that fixing the replay issue was out of
> scope, except for providing guidance on how to contain impact.
> Sections 9.4 and 9.5 talk directly to these issues:> 
> https://tools.ietf.org/html/draft-ietf-dmarc-arc-protocol-16#section-9.4> 
> https://tools.ietf.org/html/draft-ietf-dmarc-arc-protocol-16#section-9..5[1]> 
> Frankly, your concern speaks directly to the issue I raised initially.
> If cv=fail only signs itself, then there is absolutely no way to
> localize the issue and determine which Sealer decided to run amok with
> the Chain. If you see a cv=fail, you have to throw out all the data.
> At least when Sealing cv=fail, if you Seal greedily, there is in
> intact chain of Seals which can be used to make important
> determinations as to the veracity of the header field data and may be
> able to use that to determine where things may have fallen apart or
> been replayed.
I'm not sure what you mean by "the veracity of the header field data".
Can you give an example of a cv=fail where there's useful information
still trustworthy in the message, because I don't see it.  To use the
"chain of custody" analogy, if you have a bag of evidence and it's been
unsupervised in the hands of an unknown party, the contents have no
evidentiary value any more.
There's two types of fail - fail on AMS, which could just be a
modification by somebody, and a fail on an AS, which means there's
definitely either buggy software or somebody screwing with the chain.
But even a single AMS fail means that an unknown intermediary could have
changed every single header that's covered by the AMS.  There's no way
to know what they changed.  Ditto the body.  It could be a totally
different message and there's no way to know because the chain of
evidence is broken.
So again - all that you can know when you see a broken AMS is that
somebody got their hands on a message which had followed the
existing chain.
Bron.



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



Links:

  1. https://tools.ietf.org/html/draft-ietf-dmarc-arc-protocol-16#section-9.5