[DNSOP] Re: Comments from IETF Last Call about draft-ietf-dnsop-structured-dns-error
Paul Wouters <paul@nohats.ca> Mon, 05 May 2025 16:25 UTC
Return-Path: <paul@nohats.ca>
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 8209324ED699; Mon, 5 May 2025 09:25:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.4
X-Spam-Level:
X-Spam-Status: No, score=-4.4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=nohats.ca
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 LbtD8e5vzdyy; Mon, 5 May 2025 09:25:51 -0700 (PDT)
Received: from mx.nohats.ca (mx.nohats.ca [IPv6:2a03:6000:1004:1::85]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id E92CC24ED691; Mon, 5 May 2025 09:25:50 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by mx.nohats.ca (Postfix) with ESMTP id 4Zrn2P2bZHz55b; Mon, 5 May 2025 18:25:49 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1746462349; bh=bBiEC+hIQxHCTl/h0V9TlMtenvlOE3F5aC5qE98Qke8=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=oQQ9I3DK9YBQd8CSVySArUKYqdgzrYB4M/utkMe12MYYn9r3OCCfnNw9jRvfVAF4l r+kb3dOs/TNGJQS1nUrlvjiaCKL7i52HhzkwWrEchr1330nTS3qEuS11ItCEL/uBFH 3lTAtdARGmCkTuyucjJOQ8xA+5qUa1uNnEGjK3k4=
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 o4KxVFM6_dIm; Mon, 5 May 2025 18:25:47 +0200 (CEST)
Received: from bofh.nohats.ca (bofh.nohats.ca [193.110.157.194]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.nohats.ca (Postfix) with ESMTPS; Mon, 5 May 2025 18:25:47 +0200 (CEST)
Received: by bofh.nohats.ca (Postfix, from userid 1000) id DC4981505813; Mon, 05 May 2025 12:25:46 -0400 (EDT)
Received: from localhost (localhost [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id D74E81505812; Mon, 05 May 2025 12:25:46 -0400 (EDT)
Date: Mon, 05 May 2025 12:25:46 -0400
From: Paul Wouters <paul@nohats.ca>
To: Stephane Bortzmeyer <bortzmeyer=40nic.fr@dmarc.ietf.org>
In-Reply-To: <aBjCctAUGms4Tqil@nic.fr>
Message-ID: <be02a1b9-99f7-a603-c7b7-ce009850f245@nohats.ca>
References: <PH0PR11MB49666C9FAA1DC4C04EB7AEDBA98E2@PH0PR11MB4966.namprd11.prod.outlook.com> <aBjCctAUGms4Tqil@nic.fr>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="US-ASCII"
Message-ID-Hash: P5SKE2XKJP5RGHD3HJAH5BPNWLBTOICF
X-Message-ID-Hash: P5SKE2XKJP5RGHD3HJAH5BPNWLBTOICF
X-MailFrom: paul@nohats.ca
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
CC: "Eric Vyncke (evyncke)" <evyncke=40cisco.com@dmarc.ietf.org>, "dnsop@ietf.org" <dnsop@ietf.org>, last-call@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [DNSOP] Re: Comments from IETF Last Call about draft-ietf-dnsop-structured-dns-error
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/nSQrWxfeoEvD6_Fd8U7HpXvbbH4>
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>
On Mon, 5 May 2025, Stephane Bortzmeyer wrote: > On Mon, May 05, 2025 at 12:49:28PM +0000, > Eric Vyncke (evyncke) <evyncke=40cisco.com@dmarc.ietf.org> wrote > a message of 200 lines which said: > >> * Are full-text explanations better or worse from UX or security >> point of view ? > > Indeed, it was mentioned and I am quite surprised. Because DNS already > has full-text explanations since 2020 (RFC 8914) and nobody > complained. draft-ietf-dnsop-structured-dns-error-15 does not change > that. RFC 8914: This information is intended for human consumption (not automated parsing) draft-ietf-dnsop-structured-dns-error: This document describes a format for computer-parsable data in the EXTRA-TEXT field of [RFC8914]. With the reason qualified as: One of the other benefits of the approach described in this document is to eliminate the need to "spoof" block pages for HTTPS resources. This is achieved since clients implementing this approach would be able to display a meaningful error message, and would not need to connect to such a block page. I am not sure why a JSON object for a browser would produce a more "meaingful error message" than one that is possible with RFC 8914 ? The example given is: { "c": [ "tel:+358-555-1234567", "sips:bob@bobphone.example.com" ], "j": "malware present for 23 days", "s": 1, "o": "example.net Filtering Service" "l": "tzm", } First of all, the contact details are completely untrusted (eg when obtaining a DNS via DHCP) or superfluous (eg when the user configured 8.8.8.8 they already know they can go to dns.google.com for help) On an Enterprise network, there is already a "contact IT" method in place. On a Home network that auto-configured its CP device, you already know to contact your ISP and don't need to get a copy of their phone number, sips: or email address (or website). Note that an attacker being able to give you an email address to use is very dangerous - it will facilitate endusers to receive malicious email responses from an attacker. The text "malware present for 23 days" and "example.net Filtering Service" could have already been placed in the EXTRA-TEXT field as per RFC8914. The draft further states: Whether the information provided in the "j" name is meaningful or considered as garbage data (including empty values) is local to each IT teams. The draft seems the cherry-pick whether the content is meant for endusers ("to eliminate the need to "spoof" block pages for HTTPS resources") or when it is meant for IT teams. I think IT teams can figure out who admins a DNS resolver on a certain IP already. The non-admins are just vulnerable to misinformation. And this: This approach thus avoids the need to install a local root certificate authority on those IT-managed devices. Is clearly targetting endusers. I believe this document is actually harmful to endusers, with no meaningful gains for IT teams. If I was a browser vendor, I would only allow displaying i18n text for EDE enums. Now Mark Nottingham does a fair attempt at trying to contain the problem of display free text for the enduser in draft-nottingham-public-resolver-errors by constraining the EXTRA-TEXT to just two IDs that map to a DNS provider and an incidence number. But that will lead us back to attacker induced spoof pages, eg: The network / attacker does a: - redirecting major IPs port 53 to itself (eg 1.1.1.1, 8.8.8.8, 9.9.9.9) (and block DoT, DoH, DoQ) - issuing DHCP DNS servers to itself. - transparently run all port 53 through its own resolver. then: - Use a globally trusted ID from the DNS Resolver Identifier Registry, eg the one from Google DNS. - Generate a filtered response with Extended DNS Error Code 17 (see [RFC8914]) and an EXTRA-TEXT field containing: { "ro": "GoogleDNS", // or whatever they would have registered at IANAA "inc": "abc123" // or whatever format Google DNS would use } Let's assume Google DNS has registered the template: https://resolver-report.dns.google.com/filtering-incidents/{inc} then additionally: - resolve resolver-report.dns.google.com to itself. - generate some self signed cert for resolver-report.dns.google.com - publish malicious / advertising content on any URL on resolver-report.dns.google.com Since captive portals have already desensitized users into accepting spoofed pages, this will still trick a percentage of users into going to a malicious site (even if one cannot make it clickable, the text can lure people to open a new tab/window and type in the name of the website conveyed in the error msg, eg "visit www.fbi-arrests.io to avoid an arrest warrant for trying to browse illegal content"). Furthermore, the incidents number can be customized for tracking or deanonimising a user (eg one using Private Relay / MASQ). It would be much better from a privacy perspective to only allow the QNAME to be the incident number. Note also that RFC 8914 warns of the dangerous of EXTRA-TEXT causing DNS fragmentation when messages are used that are too long. Mark's draft also causes more centalization of "well known/trusted DNS servers". I would suggest that instead of these solutions, draft-ietf-dnsop-structured-dns-error restricts itself to extend the ENUMs to cover most cases, and leave the user / browsers to try and give more details errors, without the IETF centralizing it using an IANA Registry. I would like it to deprecate EXTRA-TEXT. If some kind of extra text option is _really_ needed, then extend RFC 9606 resinfo with a template field that points to the resolver operators extended error website, that browsers can use by filling in the template URI with only the QNAME as option so it is guaranteed each user trying to go to the same blocked domain gets the same error message and cannot be deanonimized or tracked. Paul
- [DNSOP] Re: Comments from IETF Last Call about dr… Stephane Bortzmeyer
- [DNSOP] Comments from IETF Last Call about draft-… Eric Vyncke (evyncke)
- [DNSOP] Re: Comments from IETF Last Call about dr… Stephane Bortzmeyer
- [DNSOP] Re: Comments from IETF Last Call about dr… Petr Špaček
- [DNSOP] Re: Comments from IETF Last Call about dr… Paul Wouters
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] Re: Comments from IETF Last Call about dr… Peter Thomassen
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] Re: Comments from IETF Last Call about dr… Peter Thomassen
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] Re: Comments from IETF Last Call about dr… Paul Wouters
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] Re: [Last-Call] Re: Re: Comments from IET… Paul Wouters
- [DNSOP] Re: [Last-Call] Re: Re: Comments from IET… Eric Rescorla
- [DNSOP] Re: Comments from IETF Last Call about dr… S Moonesamy
- [DNSOP] Re: Comments from IETF Last Call about dr… S Moonesamy
- [DNSOP] Re: Comments from IETF Last Call about dr… David Adrian
- [DNSOP] Re: [Last-Call] Re: Re: Comments from IET… tirumal reddy
- [DNSOP] Re: [Last-Call] Re: Re: Comments from IET… tirumal reddy
- [DNSOP] Re: [Last-Call] Re: Re: Comments from IET… Paul Wouters
- [DNSOP] Re: Comments from IETF Last Call about dr… Petr Špaček
- [DNSOP] Re: Comments from IETF Last Call about dr… Petr Špaček
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] DNS, censorship, attacks and centralizati… Mark Nottingham
- [DNSOP] Re: Comments from IETF Last Call about dr… Petr Špaček
- [DNSOP] Re: DNS, censorship, attacks and centrali… Bill Woodcock
- [DNSOP] Re: DNS, censorship, attacks and centrali… Jens Finkhäuser
- [DNSOP] Re: DNS, censorship, attacks and centrali… Ben Schwartz
- [DNSOP] Re: DNS, censorship, attacks and centrali… Mark Nottingham
- [DNSOP] Re: Comments from IETF Last Call about dr… tirumal reddy
- [DNSOP] Re: DNS, censorship, attacks and centrali… Mark Nottingham
- [DNSOP] Re: DNS, censorship, attacks and centrali… S Moonesamy