Re: [DNSOP] Closing out issues in draft-ietf-dnsop-resolver-priming

Shane Kerr <shane@time-travellers.org> Fri, 16 October 2015 20:21 UTC

Return-Path: <shane@time-travellers.org>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 007E81A0026 for <dnsop@ietfa.amsl.com>; Fri, 16 Oct 2015 13:21:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001] autolearn=ham
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 LSJmvXrOQruv for <dnsop@ietfa.amsl.com>; Fri, 16 Oct 2015 13:21:06 -0700 (PDT)
Received: from time-travellers.nl.eu.org (c.time-travellers.nl.eu.org [IPv6:2a02:2770::21a:4aff:fea3:eeaa]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 29E621A006D for <dnsop@ietf.org>; Fri, 16 Oct 2015 13:21:06 -0700 (PDT)
Received: from [2001:960:7b5:3:c68e:8fff:fef5:64bd] (helo=pallas.home.time-travellers.org) by time-travellers.nl.eu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <shane@time-travellers.org>) id 1ZnBUs-00040p-LP; Fri, 16 Oct 2015 20:21:02 +0000
Date: Fri, 16 Oct 2015 22:21:02 +0200
From: Shane Kerr <shane@time-travellers.org>
To: Joe Abley <jabley@hopcount.ca>
Message-ID: <20151016222102.50590900@pallas.home.time-travellers.org>
In-Reply-To: <8D54A560-B4A8-457C-8883-7C2B04394C0F@hopcount.ca>
References: <8149BC4D-F11E-4E4F-BBB8-C38D865A4184@vpnc.org> <20151016161831.58bdf78d@pallas.home.time-travellers.org> <56211942.20206@redbarn.org> <CAJE_bqcxjC=zS8tj6tKGX18UeEFm6GHcyRhjC7AFdh3x9-L=vA@mail.gmail.com> <d2f5212cbf9b4f46a5cae9f3af3f1f50@mxph4chrw.fgremc.it> <A7B11A56-A66F-4E13-9675-56344E25C403@vpnc.org> <BCE894DC-01B6-42C4-9589-1C19CA395250@hopcount.ca> <20151016204202.677f3be3@pallas.home.time-travellers.org> <8D54A560-B4A8-457C-8883-7C2B04394C0F@hopcount.ca>
X-Mailer: Claws Mail 3.12.0 (GTK+ 2.24.28; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dnsop/v3zZyifhQfibHJcqzeC5ZVOq3QI>
Cc: dnsop WG <dnsop@ietf.org>
Subject: Re: [DNSOP] Closing out issues in draft-ietf-dnsop-resolver-priming
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.15
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: Fri, 16 Oct 2015 20:21:08 -0000

Joe,

On Fri, 16 Oct 2015 15:06:50 -0400
"Joe Abley" <jabley@hopcount.ca> wrote:

> On 16 Oct 2015, at 14:42, Shane Kerr wrote:
> 
> > Seems like quite an easy attack at first blush. One could send a
> > constant stream of priming answers to resolvers since they would get
> > made once a day.
> 
> The successful attacks like this that I've seen rely upon being able to 
> trigger a particular query from a resolver so that you can bombard it 
> with responses in the hope of matching a query id. If there's no viable 
> trigger (unless you can exploit a software defect and trigger a restart) 
> the attack seems harder.
> 
> > While the chance of poisoning any one resolver with such a response is
> > low, the impact is catastrophic to a non-validating resolver, as an
> > attacker basically owns your view of the Internet at that point. For
> > resolvers that do validate, the only issue is information leakage that
> > a random party can see all of your root queries (or possibly a DoS).
> 
> Agreed, that the impact could be high if an attack is successful. My 
> questions are principally about the probability of success, I guess.

Yes, that's the question. :)

I think it depends on whether an attacker is interested in attacking a
specific resolver or whether they are content to fish.

You can't trigger the query, but you know for certain the exact query
that will be made 1x per day by almost every recursive resolver on the
Internet. Given that there are reportedly 20 million *open* resolvers on
the Internet, the chance of being able to exploit *some* resolver based
on priming queries seems actually pretty good.
 
> >> We're talking principally about a risk to resolvers that prime but 
> >> don't
> >> validate, right?
> >
> > This draft also says that you MUST NOT set the DO bit on priming
> > queries, so any resolver following this draft isn't validating.
> >
> > While a resolver could validate the NS RRSET, as you know the
> > ROOT-SERVERS.NET domain is not signed, so the A and AAAA records
> > (what you really care about) cannot be validated.
> 
> Right, and I think that's only a big problem for validators if the
> key assets you are relying upon (the answers that end users are using
> the DNS to fetch) are for qnames like L.ROOT-SERVERS.NET, which
> outside operational troubleshooting seems unlikely to be true.
> 
> An end-user looking for answers about ISC.ORG or PAYPAL.COM are going
> to be protected so long as there are signatures all the way down to
> those zones, regardless of what junk they receive from their priming
> query. Protected from junk, that is, not protected from
> unavailability.

Good point. As I mentioned the risk to validating resolvers is just
information leakage (or DoS). But both of those could be avoided by
validating the priming query, so why not?
 
> > I know there is discussion about signing the root servers somehow,
> > so perhaps a resolver that cares could someday validate the priming
> > query... but we should probably remove the MUST NOT text around the
> > DO bit then, perhaps replacing it with a SHOULD recommending
> > validation.
> 
> The last time I did any thinking about this, presupposing widespread 
> DNSSEC deployment by zone maintainers and widespread validation,
> there was no obvious benefit to security to be found in signing the 
> ROOT-SERVERS.NET zone or RRSets returned in a priming response. There 
> was, however, the potential for greatly enlarged priming responses.

I really don't understand the phobia about enlarging priming responses.
It's practically another argument to use TCP for this so we don't have
to worry. ;)

> I appreciate that this draft says you MUST NOT set DO=1 on priming 
> queries, but the reality is that everybody does.

Which makes me think this should be changed.

Cheers,

--
Shane