[DNSOP] Re: [dnsop] New Draft: Handling Unvalidated Data during DNSSEC Troubleshooting (draft-zhang-dnsop-dnssec-unvalidated-data-00)

Philip Homburg <pch-dnsop-6@u-1.phicoh.com> Thu, 08 May 2025 07:30 UTC

Return-Path: <pch-b6CAFA0C7@u-1.phicoh.com>
X-Original-To: dnsop@mail2.ietf.org
Delivered-To: dnsop@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 1C51E263F176 for <dnsop@mail2.ietf.org>; Thu, 8 May 2025 00:30:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WUPIFyAa1uW3 for <dnsop@mail2.ietf.org>; Thu, 8 May 2025 00:30:13 -0700 (PDT)
Received: from stereo.hq.phicoh.net (stereo.hq.phicoh.net [IPv6:2a10:3781:2413:1:2a0:c9ff:fe9f:17a9]) (using TLSv1.2 with cipher ECDHE-ECDSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 63B5A263F171 for <dnsop@ietf.org>; Thu, 8 May 2025 00:30:12 -0700 (PDT)
Received: from stereo.hq.phicoh.net (localhost [::ffff:127.0.0.1]) by stereo.hq.phicoh.net with esmtp (TLS version=TLSv1.2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305) (Smail #158) id m1uCvhr-0000LsC; Thu, 8 May 2025 09:30:11 +0200
Message-Id: <m1uCvhr-0000LsC@stereo.hq.phicoh.net>
To: dnsop@ietf.org
From: Philip Homburg <pch-dnsop-6@u-1.phicoh.com>
Sender: pch-b6CAFA0C7@u-1.phicoh.com
References: <716aa40e.1ddc2.196aac757f4.Coremail.zhangsh22@mails.tsinghua.edu.cn> <695715eb-cb85-2d4d-ec8b-c889bac9bc11@nohats.ca> <E822200B-6F32-4B68-B0D6-3DD7C8EDB2C2@isc.org>
In-reply-to: Your message of "Thu, 8 May 2025 08:23:11 +1000 ." <E822200B-6F32-4B68-B0D6-3DD7C8EDB2C2@isc.org>
Date: Thu, 08 May 2025 09:30:10 +0200
Message-ID-Hash: PUNTB5T6FBMSJ7H4H2R42M7AFPU2RUZN
X-Message-ID-Hash: PUNTB5T6FBMSJ7H4H2R42M7AFPU2RUZN
X-MailFrom: pch-b6CAFA0C7@u-1.phicoh.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnsop.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [DNSOP] Re: [dnsop] New Draft: Handling Unvalidated Data during DNSSEC Troubleshooting (draft-zhang-dnsop-dnssec-unvalidated-data-00)
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/9f2Nh1sl9Grm5AlnpUwOK0pFeS4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Owner: <mailto:dnsop-owner@ietf.org>
List-Post: <mailto:dnsop@ietf.org>
List-Subscribe: <mailto:dnsop-join@ietf.org>
List-Unsubscribe: <mailto:dnsop-leave@ietf.org>

> When all the source are broken your test works.  Try daisy chaining
> servers which always send CD=1 (current advice).  Have 2 sets of
> servers for the zone, some with good answers and some with broken
> answers.  Turn off the good servers.  Prime the daisy chain.  Turn
> on the good servers.  Try to retrieve the answer.  This simulates
> spoofed answers being accepted by the end of the daisy chain.

Section 3.1 of the draft seems to be a bit at odds with Section 3.2.2 of 
RFC-4035.

The draft suggests that a validating resolver, when processing a query
with CD=1 puts RRsets in the cache without validating them and then re-uses
those cached RRsets for queries with CD=0.

My understanding of the model in RFC 4035 is that a validating resolver only
puts validated RRsets in the normal cache and puts RRsets that fail
validation in a BAD cache.

And then in Section 4.2 of the draft it seems to propose what is already in
RFC-4035. Though it adds a more agressive retry strategy to try to fetch good
data. 

One option is to have this draft as informational and describe how caching
and validation should be done in a validating recursor. The draft already does
this to some extent with references to various RFCs that discuss setting
TTLs, EDNS(0), etc.

The question is if a more agressive retry strategy warrants a standards track
document. As part of an attack it seems highly specific and requires the
attacker to be able to spoof packets. With that capacitity it seems very
unlikely that the attacker will try to DoS a DNSSEC signed zone.

More aggressive retrying may also help with configuration errors or other
operational issues. But in that case it would be good to have some data on
how often this will fix a realworld problem. The cost of retrying is that it
may provide more opportunities for other DoS attacks and in general increase
the network load during a failure.