Re: [secdir] Review of draft-ietf-marf-dkim-reporting-11

Tero Kivinen <kivinen@iki.fi> Thu, 08 March 2012 13:59 UTC

Return-Path: <kivinen@iki.fi>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0E66821F867E; Thu, 8 Mar 2012 05:59:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.573
X-Spam-Level:
X-Spam-Status: No, score=-102.573 tagged_above=-999 required=5 tests=[AWL=0.026, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6L4PlBIThjN5; Thu, 8 Mar 2012 05:59:48 -0800 (PST)
Received: from mail.kivinen.iki.fi (fireball.acr.fi [83.145.195.1]) by ietfa.amsl.com (Postfix) with ESMTP id 14F2D21F8674; Thu, 8 Mar 2012 05:59:47 -0800 (PST)
Received: from fireball.kivinen.iki.fi (localhost [127.0.0.1]) by mail.kivinen.iki.fi (8.14.3/8.14.3) with ESMTP id q28DxeD0017540 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 8 Mar 2012 15:59:40 +0200 (EET)
Received: (from kivinen@localhost) by fireball.kivinen.iki.fi (8.14.3/8.12.11) id q28DxdlY028724; Thu, 8 Mar 2012 15:59:39 +0200 (EET)
X-Authentication-Warning: fireball.kivinen.iki.fi: kivinen set sender to kivinen@iki.fi using -f
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Message-ID: <20312.47947.44384.921886@fireball.kivinen.iki.fi>
Date: Thu, 08 Mar 2012 15:59:39 +0200
From: Tero Kivinen <kivinen@iki.fi>
To: "Murray S. Kucherawy" <msk@cloudmark.com>
In-Reply-To: <9452079D1A51524AA5749AD23E00392807D2D5@exch-mbx901.corp.cloudmark.com>
References: <20310.13509.461991.185885@fireball.kivinen.iki.fi> <9452079D1A51524AA5749AD23E00392807D2D5@exch-mbx901.corp.cloudmark.com>
X-Mailer: VM 7.19 under Emacs 21.4.1
X-Edit-Time: 11 min
X-Total-Time: 11 min
Cc: "draft-ietf-marf-dkim-reporting.all@tools.ietf.org" <draft-ietf-marf-dkim-reporting.all@tools.ietf.org>, "iesg@ietf.org" <iesg@ietf.org>, "secdir@ietf.org" <secdir@ietf.org>
Subject: Re: [secdir] Review of draft-ietf-marf-dkim-reporting-11
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Security Area Directorate <secdir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdir>, <mailto:secdir-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/secdir>
List-Post: <mailto:secdir@ietf.org>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdir>, <mailto:secdir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Mar 2012 13:59:49 -0000

Murray S. Kucherawy writes:
> I've added this paragraph to the end of the current Security
> Considerations "Deliberate Misuse" section (pardon the XML): 
> 
>             <t> The presence of the DNS record that indicates
>                 willingness to accept reports opens the
>                 recipient to abuse by any attacker that generates
>                 or alters signatures bearing the victim's
>                 domain in a DKIM "d=" tag by adding an "r=y" tag.
>                 Positive caching of this DNS reply also means
>                 turning off the flow of reports
>                 by removing the record is not likely to have
>                 immediate effect.  A low time-to-live on the
>                 record needs to be considered. </t>
> 
> Is that sufficient?

It is actually inaccurate, as the "d=" tag is not needed, as attacker
can add (or modify the existing d= tag) it as needed. The attacker can
even add DKIM-Signature headers to completely unrelated emails with
"d=" matching the intended victim.

I.e spambot system could add DKIM signature header to all spams it is
sending out and put d=victim.example.com and r=y to the headers and
cause all spam recipient seeing this kind of email to attack the
victim.

The comment about the positive caching and low TTL is actually very
good, and I missed those when reading the document myself.

> > On the other hand, even when signer requests reports to verify nobody
> > is messing up its DKIM-Signatures the attacker can remove the "r=y"
> > tag from the email (or the whole DKIM-Signature) and in that case the
> > verifier do not send report to the signer (unless the Author Domain
> > Signing Practices (ADSP) is in use, but I didn't really check whether
> > those records are checked if no DKIM fields are found in the email).
> > 
> > Attacker who wants to modify the emails do not want to advertise this,
> > thus it will of course remove the "r=y", so it can fly under the
> > radar...
> 
> We cover that already in the "DKIM Reporting Algorithm", final
> paragraph.

Partially yes, but I think it should also be mentioned in the Security
Considerations section from the attackers point of view. The text in
the DKIM Reporting Algorithm section is mostly from the Signers and
Verifiers point of view. 

> > ----------------------------------------------------------------------
> > In section 4:
> > 
> >       only.  To construct the actual address to which the report is
> >       sent, the Verifier simply appends to this value an "@" followed by
> >       the domain whose policy was queried in order to evaluate the
> >       sender's ADSP, i.e., the one taken from the RFC5322.From domain of
> > 							^^^
> >       the message under evaluation.  Therefore, a signer making use of
> >       this extension tag MUST ensure that an email address thus
> >       constructed can receive reports generated as described in
> >       Section 6.  ABNF:
> > 
> > 
> > It seems there is extra . between the "RFC5322" and "From".
> 
> Actually it's correct to strike "one taken from the", so I've done
> that.  The RFC5322.From notation is introduced by one of the
> normative references, namely RFC5598, so I believe it's correct.

It would be useful to put some kind of quotes around it, i.e. either
<RFC5322.From> or "RFC5322.From" or similar so reader will understand
it is one token, not just mistake. Also I searched that form from
RFC5322, as that was where I expected to find it, so adding reference
to [RFC5598] at this point would help a lot too. 
-- 
kivinen@iki.fi