Re: [dd] [Ext] Downgrade attack on legacy resolvers and DELEG only delegations
Edward Lewis <edward.lewis@icann.org> Mon, 12 February 2024 17:44 UTC
Return-Path: <edward.lewis@icann.org>
X-Original-To: dd@ietfa.amsl.com
Delivered-To: dd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCAE6C14F5F6 for <dd@ietfa.amsl.com>; Mon, 12 Feb 2024 09:44:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level:
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cINOb7-k8e5i for <dd@ietfa.amsl.com>; Mon, 12 Feb 2024 09:44:37 -0800 (PST)
Received: from ppa2.lax.icann.org (ppa2.lax.icann.org [192.0.33.77]) (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 BAE7FC14F5F1 for <dd@ietf.org>; Mon, 12 Feb 2024 09:44:37 -0800 (PST)
Received: from MBX112-E2-VA-1.pexch112.icann.org (out.mail.icann.org [64.78.48.205]) by ppa2.lax.icann.org (8.17.1.24/8.17.1.24) with ESMTPS id 41CHiZZ4022400 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 12 Feb 2024 17:44:35 GMT
Received: from MBX112-E2-VA-1.pexch112.icann.org (10.217.41.128) by MBX112-E2-VA-2.pexch112.icann.org (10.217.41.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Mon, 12 Feb 2024 12:44:33 -0500
Received: from MBX112-E2-VA-1.pexch112.icann.org ([10.217.41.128]) by MBX112-E2-VA-1.pexch112.icann.org ([10.217.41.128]) with mapi id 15.02.1258.028; Mon, 12 Feb 2024 12:44:33 -0500
From: Edward Lewis <edward.lewis@icann.org>
To: Roy Arends <roy@dnss.ec>, "dd@ietf.org" <dd@ietf.org>
Thread-Topic: [Ext] [dd] Downgrade attack on legacy resolvers and DELEG only delegations
Thread-Index: AQHaXHcpoPf/L+kWkE+5sMvzQYXNXrEG/ViA
Date: Mon, 12 Feb 2024 17:44:33 +0000
Message-ID: <F7C355A2-AEE6-4CF3-9236-76A258607F69@icann.org>
References: <0FBAD068-46A3-4ECC-99BF-A5F6F577FB73@dnss.ec>
In-Reply-To: <0FBAD068-46A3-4ECC-99BF-A5F6F577FB73@dnss.ec>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.65.22091101
x-originating-ip: [192.0.47.234]
x-source-routing-agent: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <B8F543191218B343A577C3BAC08FCADE@pexch112.icann.org>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-12_14,2024-02-12_03,2023-05-22_02
Archived-At: <https://mailarchive.ietf.org/arch/msg/dd/RHcNfQHyVKAupiJr_7lOedZNQfc>
Subject: Re: [dd] [Ext] Downgrade attack on legacy resolvers and DELEG only delegations
X-BeenThere: dd@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: DNS Delegation <dd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dd>, <mailto:dd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dd/>
List-Post: <mailto:dd@ietf.org>
List-Help: <mailto:dd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dd>, <mailto:dd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Feb 2024 17:44:39 -0000
On 2/10/24, 18:16, "dd on behalf of Roy Arends" <dd-bounces@ietf.org on behalf of roy@dnss.ec> wrote: > The following situation requires proper handling: > >In a pathological case, an adversary has the ability to replay an authenticated denial record that exists at a DELEG-only delegation (note that the NS Type Bit in the Type Bit Maps is not set) to a legacy resolver/validator. In this replay, the RCODE is altered from NOERROR to NXDOMAIN. > >It's evident that the delegation is present, as indicated by the DELEG record, but its existence can be falsely negated. > >In the typical case, the legacy resolver lacks understanding of DELEG and cannot pursue the delegation. > >It's important to note that this inability to follow the delegation results in a failure scenario (SERVFAIL) that is distinct from an NXDOMAIN response. The querier sends a request, expecting an answer (data or no), a redirection (CNAME, DNAME) possibly combined with an answer, or a referral with DELEG based on...(what?)...there being a validated DNSKEY resource record with a DELEG flag set. I mention expecting DELEG because then a DELEG-denial "make sense" if it is validated. A querier may not be expecting DELEG If the querier does not have DELEG code paths, or if there are DELEG code paths, other factors indicate there is no DELEG record, like validated absence of DELEG-flagged keys. In this case, a DELEG denial would not be meaningful. (I used to use the word 'germane' when talking about getting DNSKEY resource records for data from a zone expected to be unsigned.) In the question above, what authenticated denial is offered? Saying there is no DS resource record set, no NS resource record set, no DELEG resource record set at a configured name, or that there is no source of data for the name? If the name is a delegation, then you are ruling out "so source of data" (Name Error/NXDOMAIN). And if the question states that the name is a delegation there is either an NS resource record set or a DELEG resource record set configured in the authoritative servers. (Remember caching makes reality fuzzy.) I guess I don't get what it means to have an authenticated denial record at a delegation point showing a DELEG record but no DS or NS record with a response code of NXDOMAIN. Perhaps the "next name" is what is being declared "NXDOMAIN", not the name with DELEG. I don't understand "as indicated by the DELEG record, but its existence can be falsely negated" - unless one has access to private keys, producing valid signatures over data that is misleading is really, really hard. Replay is somewhat thwarted by the use of inception and expiration times - but due to caching, there's always uncertainty when time is close to one of those or if a record was signed with a regrettable (too far in the future) expiration time. (You can't undo that.) If "the legacy resolver lacks understanding of DELEG" then the DELEG resource record set is an unknown type, lacking any NS resource record set, the name is not a delegation point. (Having a DS resource record set and no NS resource record set outside the apex is a protocol violation.) In this case, the response would just not make sense to the querier as the DELEG type would not match the QTYPE (unless the QTYPE was DELEG or T_ANY, come to think of it, or any other possible edge matching cases.) If the querier is unaware of DELEG, then whatever comes back here is going to be taken as an improper protocol response, I would discard it before even applying DNSSEC to it - because the message itself might be a DDoS payload (taking down the querier via making it do a bunch of crypto routines for no benefit). If the querier is aware, then a replay of an otherwise valid record sets - meaning, once validly signed and temporally current despite the authority having changed their data - can only be solved with the passing of time. (DNSSEC never had a good certificate revocation list alternative.) If a querier is a aware and the records are no longer temporally valid, the response ought to be discarded, no attempt to validate (other than to establish the time data), and not result in a SERVFAIL unless a true response never arrives (later on).
- [dd] Downgrade attack on legacy resolvers and DEL… Roy Arends
- Re: [dd] [Ext] Downgrade attack on legacy resolve… Edward Lewis