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

tirumal reddy <kondtir@gmail.com> Mon, 12 May 2025 07:09 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 12317276DC6D; Mon, 12 May 2025 00:09:59 -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 NOdmAu7hucLw; Mon, 12 May 2025 00:09:56 -0700 (PDT)
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) (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 40E96276DC5F; Mon, 12 May 2025 00:09:56 -0700 (PDT)
Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-ad257009e81so83846666b.2; Mon, 12 May 2025 00:09:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747033795; x=1747638595; 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=QNjA6t0/XfnUzLDqZsKAC8u6MrJy/LDwtnX16E84yBM=; b=Oq46vAW3mJIRNd6qiO+TAhLYYPw0cFdTgjdFsR+uP9T5P3X/NCBg3TQyUkqbq+sRi1 6kfgqVN018qu4QNj6dDGTrKlkrBzfzd8tsBDkKuEOWnxooa46VtSj+sglmINH7rYRCPC aAcpnIuO4OGjDYAgVa3IbyZ0KI1/zBlcqe2teCqsAz+RnKQr6zP5TQNb92GdAntzpaf+ pAyTJCoPdoF5yYaOX0fxloiNb9s496vurvXb9dmYsKAXBJxyZqxkzJ3r6XdjH9loW/9k FVKdriNYbxePNhvf+8YOCL9FBnZZAltkJ6BVo49L2m7iTLNWUxXuT3q4cbA7UYutPcbB lZ4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747033795; x=1747638595; 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=QNjA6t0/XfnUzLDqZsKAC8u6MrJy/LDwtnX16E84yBM=; b=bxC6iDZN3HAku5Q05idQpCx02L2Gmi6aGnfZtRlNbw277bfmuOqrrxQJUMZx18YkjO XFyFUf/tuGH6bSVU2LYS5gaFzcTMvLzHJksDoDETz1t5rOIrcx+5h6ksGgTbHPvtodLt 5c3FWHM7ixPphip6Ph5Q3xve74sXLtySJ7S0RQFDf5XvlQHU4JEk89o9CR/pXXFd/AXT M51qObvieq5zR2oYSBw9Ywbw39C/708fLIwZBliXKFgU3hBIMdKdyBmVZPgKb61MeOy1 zPmGJly/da6id7mxQWY/uGDTQBkin3w9MRIdGDXmG4xkMYMl3D3NYV/N/hWRHqvpDbdy MlbQ==
X-Forwarded-Encrypted: i=1; AJvYcCVUVNjm02XJcJC6dt4L2pjMlhPQHm0cahmUIUJZsYIRabTTzh9erOYrs5izR87tUCVfyqkNJaxgBiE5@ietf.org, AJvYcCVzK9etyBs6fnsPUDqYo/VEpTgL/tMm15JYoMAyZVrA2HDkjgNvu1Eg142yWB1UXzgiA+q6xQ==@ietf.org
X-Gm-Message-State: AOJu0YzCriuI7WiwqOQkNCPp2g6qi3kuRsQtt1FowgozWSf/7RdDEGBl GDW+y+A2mRl+MJdDbtwHnsDMg+V8OI9h2asXENsSVu9oKOkv35pkQ7zIUCwpUUDc93O4Z/qED44 Ml0Z1+CdLFtCvDTDpghWIXB0jFcWRNmg+Y3s=
X-Gm-Gg: ASbGncv+trcB72SSO6JoSLsyr/n571ppyj8mOYvDHYfV3b0wqsoqX0YqOnF+Fq2k1cq QwRy8TDaZuDR2ABUGJPBBkHeYuSgZkZFdtxGEp8UMZjYMplZ3+2TS/g9KkLvmK1pHVcs0+kLcxL Q2hBSDRjeE9/pCCoYu/5RsMBnifao/PTyOqrlMsFTRrzAkXA==
X-Google-Smtp-Source: AGHT+IG6hJyERoebd54VUx5NGgPronMAyn752yVELLFvnPC5NgNo1cI2a+Dk7/l8NnRXCxsh1m7bXIMBOvKsz3YQ0Nw=
X-Received: by 2002:a17:907:7b08:b0:ad2:2ff9:c912 with SMTP id a640c23a62f3a-ad22ff9dfebmr860883166b.17.1747033794789; Mon, 12 May 2025 00:09:54 -0700 (PDT)
MIME-Version: 1.0
References: <PH0PR11MB49666C9FAA1DC4C04EB7AEDBA98E2@PH0PR11MB4966.namprd11.prod.outlook.com> <aBjCctAUGms4Tqil@nic.fr> <be02a1b9-99f7-a603-c7b7-ce009850f245@nohats.ca> <CAFpG3gfqa4DD5qRGiz-x20AmpqZeHS3bLc5qyh6jf=EMfDvpbA@mail.gmail.com> <a39cdd21-b128-73b3-4445-d03c31bb8096@nohats.ca> <CAFpG3gegutcvCQbz4rWG1X6sXNAAXBu9gBYF79KSRj66VxSbSg@mail.gmail.com> <c7d1487e-fa25-9c0f-0fcf-a40bfd8fc702@nohats.ca>
In-Reply-To: <c7d1487e-fa25-9c0f-0fcf-a40bfd8fc702@nohats.ca>
From: tirumal reddy <kondtir@gmail.com>
Date: Mon, 12 May 2025 12:39:19 +0530
X-Gm-Features: AX0GCFsj0gqThPzK3MvBcnQcxV60jPLTMD_GU1ONbucbwo9Gv1IsYO4dBbFS-LQ
Message-ID: <CAFpG3gcrWH3w-SgNuk9qx6HL2iZkpWJDRTBEtNToSf6J5mG7wQ@mail.gmail.com>
To: Paul Wouters <paul@nohats.ca>
Content-Type: multipart/alternative; boundary="000000000000bfc5b70634eb006f"
Message-ID-Hash: GI7YEXFS4IST6H7I6M2ZW73NVISJM7S7
X-Message-ID-Hash: GI7YEXFS4IST6H7I6M2ZW73NVISJM7S7
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: [Last-Call] Re: 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/a4LZfRk6_eN4m4YTwehzndzknnw>
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 Wed, 7 May 2025 at 19:34, Paul Wouters <paul@nohats.ca> wrote:

> On Wed, 7 May 2025, tirumal reddy wrote:
>
> >       I disagree. An ENUM can be handled by browsers to display text in
> the
> >       locality of the user. This can just fling up a free text English
> >       message, that you expect browsers to validate for potential harm
> >       before displaying to the user. You are subcontracting out the
> >       security risks you are introducing.
> >
> > To clarify, the sub-error attribute, being an ENUM, can be rendered
> without interpretation and is suitable for localization and consistent
> handling across clients.
>
> We do not have a disagreement on this part.
>

I am glad there’s no disagreement on this point :)


>
> > For other fields, specific restrictions are imposed to avoid the risks
> associated with displaying its content.
>
> We have a disagreement here. The bad guys don't follow the Security
> Considerations.
>

We seem to have a disagreement here, possibly due to differing
assumptions. It's
true that attackers won’t follow the Security Considerations. The threat model
assumed in the draft treats resolvers as potentially legitimate or malicious,
while clients are considered trusted and legitimate. The Security
Considerations
section is specifically designed to mitigate risks posed by malicious
resolvers.

If you could elaborate further on the nature of your concern, it would help us
understand the disagreement and address it more effectively.


>
> >       Ease of use for which users? Please tell me which of these users
> will
> >       use this contact information:
> >
> >       1) Paul using a mobile phone, maybe connected to wifi or LTE.
> >       2) Paul using a mobile phone, at home using a default CP from his
> ISP
> >       3) Paul using a mobile phone, at home using his own stuff - he is
> a geek
> >       4) Paul using a mobile phone, at starbucks, mall or airplane
> >       5) Paul using a mobile phone, as BYOD at work
> >       6) Paul using a mobile phone, in his hotel room
> >       7) Paul using a Desktop at home
> >       8) Paul using a Desktop at work
> >
> > You are questioning a long-standing practice of providing contact
> details in HTTP(S) block pages to assist users. This isn’t new or
> experimentan, it’s a
> > well-established and widely deployed pattern. Resolvers that present
> block pages include contact information by default. In fact, I’m not aware
> of any major
> > resolver offering block pages that does not include such details.
>
> It seems you are mixing up DNS blocking and spoof page presentations.
>
> eg google states on
> https://developers.google.com/speed/public-dns/blocking
> that they return REFUSED, so I don't understand how an enduser could end
> up on a block page. Perhaps your claim above is not correct?
>

Yes, I was referring specifically to spoof pages.


>
> > For instance, see real-world examples like OpenDNS block page and
> Quad9’s collaboration where
> > users are directed for support or further action.
>
> I tried seeing the opendns page, but I can't because both firefox and
> chrome no longer allows an override to visit spoof pages, which is
> the problem you are trying to address with this draft. I'm not sure
> what kind of details they give out. Regardless, there is a difference
> of seeing a page from Google DNS, OpenDNS, Quad9, Cloudflare DNS that
> can be reasonably trusted, or seeing a page from any random network
> you joined. Whether it is untrusted hotel/coffeeshop or perhaps a
> CP device taken over my an attacker to reconfigure DNS to trick
> people to go somewhere malicious.
>

Your concern about untrusted networks is valid and we have no disagreement.

The draft explicitly recognizes this risk and includes guidance to mitigate it.
Specifically, as discussed in the Security Considerations section:

*“A client might choose to display the information in the 'c' field to the
end-user if and only if the encrypted resolver has sufficient reputation,
according to some local policy (e.g., user configuration, administrative
configuration, or a built-in list of respectable resolvers)...”*

This is intended to prevent clients from blindly displaying contact
information, such as those found on potential attacker-controlled networks. The
goal is to preserve user safety by ensuring that only trusted
resolvers can supply
user-facing details. Additionally, if the client chooses not to
display the full
content of the EXTRA-TEXT field, it can still log the information for
diagnostics.

>
> >  Structured DNS error reporting simply standardizes this practice, with
> clear restrictions on when the "c" field
> > should be displayed to the end-user.
>
> Yes, it standardizes presenting potentially harmful information from a
> few usually trusted DNS resolvers to any (potentially hostile) network
> in the world. That is the core of the problem, and non-technical
> endusers are going to become the victims.
>

The draft requires clients to display the "c" field only if the
resolver is trusted,
specifically to prevent exposing users to harmful information from untrusted
networks. Further, the draft does not require clients to display the "c" field,
even for trusted resolvers; it is entirely up to the client's local policy.

>
> > For elderly users, it’s unlikely they would contact anyone directly, but
> family members or caregivers assisting will benefit from the structured
> information to
> > report the problem or educate the elderly not to visit the blocked
> domain as it is bad.
>
> Having just spent two days reinstalling a windows machine with custom
> malware running in C:\Users\User\Download, and a chrome browser that
> pops up screens with "Your antivirus is disabled, CLICK HERE TO ENABLE"
> and the person telling me they did click and renew they anti-virus but
> the popup didn't go away, I really really really REALLY differ of
> opinion with you my future 90 year old Paul will not click on these
> things or make phone calls.
>

It highlights exactly why the draft leaves it entirely up to the client whether
to display user-facing information like the "c" field.


>
> >       I am fine with more enum's helping categorize why an answer is
> withheld.
> >       I am having a problem with the EXTRA-TXT.
> >
> >       If an IT admin cannot find out who is responsible for a DNS
> filter, they
> >       should probably switch DNS filter vendors. Worse, if their DNS
> service
> >       providing this is compromised, they can't even trust it anyway.
> They
> >       need to use their own resources and documentation, and not the
> network
> >       provided one. I think claiming this is useful for non-endusers is
> just
> >       not realistic. Which leaves us with endusers which means anything
> >       displayed can and will be abused by attackers to manipulate
> vulnerable
> >       endusers.
> >
> >       I see the main concern from an ISP being "It looks like we are
> broken
> >       but we are merely following instructions (from government or the
> >       commercial serivce opted in by the enduser) to filter/block a DNS
> >       request".
> >
> >
> > IT admins typically know their resolver’s support contact details. The
> "j" field helps them identify the exact reason a domain was blocked without
> needing to
> > contact the resolver’s helpdesk. For example, if a domain is blocked
> because it is unclassified or misclassified, and the IT team sees multiple
> users accessing it
> > for legitimate reasons, they can create an explicit allow rule and raise
> a ticket with the resolver’s helpdesk.
>
> ENUMs should be enough as a "reason" to be able to figure out if a block
> was done in error ("without contacting the helpdesk"). IT admins can get
> statistics on QNAMEs that got blocked for their internal investigations
> without users calling them. Regardless, how you run your company and
> helpdesk is out of scope for this document. Your users already know how
> to contact their ISP or Enterprise admins.
>

It's not practical to capture all possible reasons for blocking using ENUMs.
For example, OpenDNS defines numerous domain categories (see list
<https://community.opendns.com/domaintagging/categories>), and new
ones continue
to be added over time. During WG discussions, there was no consensus
to standardize
categories beyond security-related ones, as others may involve censorship or
policy-sensitive filtering. The "j" field provides necessary
flexibility to convey
resolver-specific reasons in a structured way but only to the IT admin.


> >
> >       So for that, ENUMs are enough and save to convey. And browsers can
> >       translate enums for the user. Eg:
> >
> >       FILTERED_BY_DEVICE_REGULATORY
> >       FILTERED_BY_DEVICE_USER_OPTIN_ADULT
> >       FILTERED_BY_DEVICE_USER_OPTIN_ADBLOCKER
> >       FILTERED_BY_ISP_REGULATORY
> >       FILTERED_BY_ISP_USER_OPTIN_MALWARE
> >
> >
> > The draft has already added a registry to update the enum in future
> specifications.
>
> We don't disagree about adding enums. We disagree about this draft doing
> MORE than adding enums. In those more parts, I have security concerns
> that you have not addressed and that I feel are not addressable.
>

I agree that we’re aligned on the threat model. The difference seems to be in
our assessment of whether the proposed mitigations are sufficient to address
the associated risks.

Cheers,
-Tiru


>
> I would really like to hear from the browser vendors on whether they
> would support displaying custom error strings in DNS replies to their
> endusers, and how they would handle the potential security issues with
> this.
>
> Paul
>