Re: [DNSOP] Comments on draft-wessels-dns-zone-digest-02

Paul Wouters <paul@nohats.ca> Sun, 19 August 2018 19:29 UTC

Return-Path: <paul@nohats.ca>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 507DB130ECF for <dnsop@ietfa.amsl.com>; Sun, 19 Aug 2018 12:29:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nohats.ca
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 bww-i-Vs9oZP for <dnsop@ietfa.amsl.com>; Sun, 19 Aug 2018 12:29:31 -0700 (PDT)
Received: from mx.nohats.ca (mx.nohats.ca [193.110.157.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB357130EE0 for <dnsop@ietf.org>; Sun, 19 Aug 2018 12:29:30 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by mx.nohats.ca (Postfix) with ESMTP id 41tn7X6PHnzD26; Sun, 19 Aug 2018 21:29:28 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1534706968; bh=+lqfPUKbbeG5D+EzekjIsS4R0I2aeR76+WKjtdNpFZQ=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=l0wnSma3UajdB+CHLiy8da7b5YAW583YuWPqK4r59ihQEQNW8PEJferW0aqZPQuvM 3VpkRrIETKbiAaoD5n1U6DOXQZTb9yrkk/82+NoXgv+ZSS5LMrv6CImRMn09rt6KW3 AlGYIwV3iq2iAtN3Bx3jOEKQ3nskv4s7YEGq8+zo=
X-Virus-Scanned: amavisd-new at mx.nohats.ca
Received: from mx.nohats.ca ([IPv6:::1]) by localhost (mx.nohats.ca [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id dez0D7Ovgqru; Sun, 19 Aug 2018 21:29:27 +0200 (CEST)
Received: from bofh.nohats.ca (bofh.nohats.ca [76.10.157.69]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx.nohats.ca (Postfix) with ESMTPS; Sun, 19 Aug 2018 21:29:26 +0200 (CEST)
Received: by bofh.nohats.ca (Postfix, from userid 1000) id 381493797AF; Sun, 19 Aug 2018 15:29:25 -0400 (EDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 bofh.nohats.ca 381493797AF
Received: from localhost (localhost [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id 3078840D6EB6; Sun, 19 Aug 2018 15:29:25 -0400 (EDT)
Date: Sun, 19 Aug 2018 15:29:25 -0400
From: Paul Wouters <paul@nohats.ca>
To: Brian Dickson <brian.peter.dickson@gmail.com>
cc: "dnsop@ietf.org WG" <dnsop@ietf.org>
In-Reply-To: <CAH1iCir=GH0oAkR-RBYqQbPLVvrO1nvx8js7bg7FqGAA7MPKbA@mail.gmail.com>
Message-ID: <alpine.LRH.2.21.1808191520010.21687@bofh.nohats.ca>
References: <CAH1iCir=GH0oAkR-RBYqQbPLVvrO1nvx8js7bg7FqGAA7MPKbA@mail.gmail.com>
User-Agent: Alpine 2.21 (LRH 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/CCLcFVGI8Q5ja8X30h39p4ziDrI>
Subject: Re: [DNSOP] Comments on draft-wessels-dns-zone-digest-02
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 19 Aug 2018 19:29:41 -0000

On Mon, 13 Aug 2018, Brian Dickson wrote:

> Subject: Re: [DNSOP] Comments on draft-wessels-dns-zone-digest-02

> IF (big if, with the how/when/where etc kept as a separate discussion) an attacker manages to modify glue (for example, poisoning a
> resolver's cache for glue info), the attacker has the opportunity to selectively return unmodified glue, or to replace further glue data (and
> continue to be a DNS-MITM) and thus both view queries, and if/when the queries cross to insecure delegations, modify non-glue data. For
> example, if there is a TLD "foo", and the attacker manages to poison the A record for one (or more) names of NS for "foo", the attacker can
> act as a forwarder for most *.foo names, but then selectively modify the A records for the NS for "bar.foo", and then for "blech.bar.foo",
> until there is an insecure delegation, at which point the attacker can spoof any RR type for any name below that zone cut. The attacker also
> has control over TTLs of any/all spoofed records, modulo recursive resolver's TTL ceiling/floor. The attacker can gain further information
> about the ongoing success of attacks by TTL-based meta-monitoring (high TTL on delegation glue, low TTL on sub-delegation glue, observe
> sub-delegation re-queries at the spoofed delegation point.)

I don't think this document should make any decisions based on helping
non-DNSSEC domains be more secure by providing transport security that
depends on some different PKI system than DNSSEC.

The solution against spoofing is DNSSEC, not some kind of out-of-band
zone transfer.

> Even in the case of an all-DNSSEC sub-tree, some attackers may see value in observing ALL the queries (and answers);being a DNS-MITM (via
> modified glue) achieves this, even for an off-path attacker who normally would not have any visibility to the UDP/53 packets.

When using DNSSEC, the resolver should follow the glue and then perform
a query at the child zone to confirm the glue data. In unbound.conf
terms this is called harden-glue: yes

> The above scenario works even on networks you trust, and even with resolvers you know and trust, as long as there is the ability to attack
> the glue. A single successful attack on a single resolver's glue has the potential to result in a persistent long-lived DNS exploit, the
> scope of which is largely limited by the attackers resources and/or intent and/or desire to evade detection. Application of such an exploit
> is an exercise in Kaminsky, i.e. the danger is obvious.

This is a DNS spoofing attack by a attacker that's not on path. I think
compared to on-path MITM's (and unjustly trusted resolvers) being able
to rewrite glue, this issue is a tony fraction of the problem. And again
in my view this document shouldn't attempt to address it.

> The theoretical existence of this sort of attack, should be motivation enough to advocate for greater DNSSEC deployment efforts. It should
> motivate any and all methods of preventing undetected (and undetectable) modification of glue records when copies of zone data are retrieved.

This is where we really disagree. the protection against any DNS spoofing
is DNSSEC, not some bandaid applied later in the transport layer.

> A centralized distribution point without data integrity protection of some kind

We have intergrity protection, see the harden-glue: comment above.

> P.S. Documenting aspects of the more-than-theoretical poisoning attacks are long overdue; when time permits, I will work on this, possibly
> with interested parties. Any/all are welcome to work on this with me, FYI.

I'm not sure I see value in a long document of various DNS spoofing that
as solution has "deploy DNSSEC and confirm glue in the signed child zone".

Paul