[DNSOP] Re: Comments from IETF Last Call about draft-ietf-dnsop-structured-dns-error

tirumal reddy <kondtir@gmail.com> Tue, 06 May 2025 10:49 UTC

Return-Path: <kondtir@gmail.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 17F48254BDD6; Tue, 6 May 2025 03:49:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 qNH8sycEsQJ7; Tue, 6 May 2025 03:49:27 -0700 (PDT)
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 0F9A2254BDC6; Tue, 6 May 2025 03:49:27 -0700 (PDT)
Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-acbb85ce788so26868666b.3; Tue, 06 May 2025 03:49:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746528566; x=1747133366; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=w2K76tuCd5gA2Il7JTfKeMCNKGUud7Xrb+tTTIEZ+L8=; b=TBPu44psdLXs+SAXeOTjECEPeDiiCxvDjI7/+crFsBHozXiwewFh/tGiQK/cTi200s XBRDwrZFaLJd/eMw0+jNq1vA6SIqe/BjvH2XGf3HRDq/n5P2/8M4lmX40l7Vrry4MtOB Lz6fnoEF+j/yAgZ24KvQTwHeJioFnd/iXzgwxJrF9dYus7xNlhtQdjCy29hEWVZkSBRZ IJYB1WstX4bJVLJ3woPDtMkrGTerB+tb0F2dF7rn32gUFJpgsdNS1Yux8AQGmHozTicR RlkJg35pAZJsPmmUxgQnOCY9NAEq86e2zBXsm5x40w/Z4ky8qt1NlC/i533smRundHl1 wT7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746528566; x=1747133366; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=w2K76tuCd5gA2Il7JTfKeMCNKGUud7Xrb+tTTIEZ+L8=; b=sM9yMVLKO0MkyOXP+FK0pCUPH4ajrDvt6vh1vPNzWKl/iiQ/yVizNvgfNCItmNDWzR aS3jz/+eXKpfLOHxJm1y3lGeK//PI6RGe4U8krT99kJ38J6QIe6h0M6o3Mfy9tsr4Wq/ /GKXeFBZScD0A3ifCXbQ4UbWgWNucAf2CfUyAH3ULBydOBtjGp+zuR718cyHR1ejb9Of JxiwN8O0frDEpFcnC8WE7CcTd9+OzLsmGQQAOqtkW9R/hsQaUDmx4A01+d23WXNHM84+ 51E+8FonFKNb0l+vPUb/Kc/hbcp1/pulqJzEo7ltut7/yfEyY0oEDpaoziwgSY+beRx1 YEgw==
X-Forwarded-Encrypted: i=1; AJvYcCWLy+ypafNnvQhcM77LRX9BbtlYqweKlVV5vDVecq4wRozblKC3+PTDNWV6IQpZ4pXitoBLCQ==@ietf.org, AJvYcCXwpubZP5FaPCjE+hJG5GtPbuchYdeA+9AIjVzuUSO1hK2WQoNpJxviZi1H8kah5DSDRvcHrdu6379g@ietf.org
X-Gm-Message-State: AOJu0YwYlFyQFTyVap7qOvDjs7mppg5E+qD0n1tOdfui0QkKJT9OmEuc T9q8gCKTdIdOr62QdxJIu/ACfd7vNh693NUSuo47JLWpphmJqugsMl3wnNMvstRUTgY2WCnyFWi sRKNbVLZWF/XpNG1P077AfoIGPlUS6KkYb50=
X-Gm-Gg: ASbGncsSz7H9VVyoOG406M1uMAhll0piIUFRbFAPmblVqcsPexQhvR4s+eDID8JPvom /Z4wXw7TImkl1PT8g3O3ixM2Cr1yX+F2HWwa3ZJ1MUDd4r9M8UPTuxfv+cUEmmB03xdtdvPM4IW gDIVC6pBVNsFZ6o+0wdtAqJv6f
X-Google-Smtp-Source: AGHT+IHXT0L9cIAZr0Yb3B6cSGInvixIW7xk+a1kEXdGjc3O4J98lQzLQEjXd6bAK4+yniqsVmtKn/EkSX45pQn340k=
X-Received: by 2002:a17:907:d087:b0:acb:b0d7:15d8 with SMTP id a640c23a62f3a-ad1d46dd5b2mr206072366b.51.1746528565656; Tue, 06 May 2025 03:49:25 -0700 (PDT)
MIME-Version: 1.0
References: <PH0PR11MB49666C9FAA1DC4C04EB7AEDBA98E2@PH0PR11MB4966.namprd11.prod.outlook.com> <aBjCctAUGms4Tqil@nic.fr> <be02a1b9-99f7-a603-c7b7-ce009850f245@nohats.ca>
In-Reply-To: <be02a1b9-99f7-a603-c7b7-ce009850f245@nohats.ca>
From: tirumal reddy <kondtir@gmail.com>
Date: Tue, 06 May 2025 16:18:47 +0530
X-Gm-Features: ATxdqUE-o8QB0ffwRLTVz5Ui_CDKje6YF-vH0xTdMyX6M_-4T82u399pGgScpvc
Message-ID: <CAFpG3gfqa4DD5qRGiz-x20AmpqZeHS3bLc5qyh6jf=EMfDvpbA@mail.gmail.com>
To: Paul Wouters <paul@nohats.ca>
Content-Type: multipart/alternative; boundary="000000000000bf02120634755ecc"
Message-ID-Hash: OHAJV76IOIUTPWN6OKFK6CCDQRTOBCTE
X-Message-ID-Hash: OHAJV76IOIUTPWN6OKFK6CCDQRTOBCTE
X-MailFrom: kondtir@gmail.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
CC: Stephane Bortzmeyer <bortzmeyer=40nic.fr@dmarc.ietf.org>, "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/SxJkLTVrvnI1ojLsnYIkmYBEFR4>
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>

Hi Paul,

Please see inline

On Mon, 5 May 2025 at 21:56, Paul Wouters <paul@nohats.ca> wrote:

> 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 ?
>

It is designed for clients to interpret and render meaningful,
user-friendly messages. This approach has already seen adoption, such
as in AdGuard’s
DNS SDE extension <https://github.com/AdguardTeam/dns-sde-extension>, which
shows how structured DNS error reporting can enhance end-user
communication.



>
> 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 risks associated with displaying attacker-provided contact details
are already
addressed in the draft (see
https://www.ietf.org/archive/id/draft-ietf-dnsop-structured-dns-error-15.html#section-10.2)
The draft explicitly states that displaying the "c" field is not mandatory and
outlines conditions under which it may be shown. While a home admin or
IT department
may already know the resolver’s contact details, other users on the
network often
do not. Providing contact information in structured form improves ease-of-
use, allowing users to report filtering errors without having to independently
search for their ISP’s or administrator’s support details.


> 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.
>

Relying solely on the EXTRA-TEXT field to carry "j" would prevent
carrying other
structured fields intended for both IT admins and end-users. This is precisely
why separating structured information into dedicated fields is
necessary to allow
selective display to end-users and logging for IT admins.


>
> 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.
>

please elaborate how it is harmful to end-users.

Cheers,
-Tiru


>
>
> 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 mailing list -- dnsop@ietf.org
> To unsubscribe send an email to dnsop-leave@ietf.org
>