Re: [DNSOP] updated to draft-wing-dnsop-structured-dns-error-page-01

Eric Orth <ericorth@google.com> Mon, 15 November 2021 19:59 UTC

Return-Path: <ericorth@google.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E0A683A0856 for <dnsop@ietfa.amsl.com>; Mon, 15 Nov 2021 11:59:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZtBP1Mk58i1a for <dnsop@ietfa.amsl.com>; Mon, 15 Nov 2021 11:59:23 -0800 (PST)
Received: from mail-oo1-xc2f.google.com (mail-oo1-xc2f.google.com [IPv6:2607:f8b0:4864:20::c2f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 98FDA3A0824 for <dnsop@ietf.org>; Mon, 15 Nov 2021 11:59:20 -0800 (PST)
Received: by mail-oo1-xc2f.google.com with SMTP id d1-20020a4a3c01000000b002c2612c8e1eso6303821ooa.6 for <dnsop@ietf.org>; Mon, 15 Nov 2021 11:59:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sqgBRK1WjySwp50GndkUs8cr40qOGEsrY6jxqutGEJ0=; b=BdG2RuySLfogTmsVmXMV5toroETT2keRiKggq8Yk1lLKlRAOODGKtAK7Xfy4itZjbC bW3jKolC1Ok0DzAXpSMi5+d7xhkkHyRtalfJwHzGLqkPbUC/zbPnXvkJv6DPs9UneDME pD3Is29MigjXLc54upVgkYP+J1N8JNKqLXqgyQrYiwIFJ3b/rGWu3YoAH82Hzdc104Qt t7PUYkwc02iKrjyKB0it9MglKkCT7kSUt0QcnnP8C46HoJ7Sgz6729o5QcG0S8EnTs8U neRZfnL36eBZ7HCrA1OakoGF0IR/02n8FytQaZ7u8JRAVQOiFt1AeS08RWif+Hgw2pH4 U85g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sqgBRK1WjySwp50GndkUs8cr40qOGEsrY6jxqutGEJ0=; b=dGWX7rcFnn2HLqb0L5yT1gZ4VA79RdzfbrG5QP7W0QC9Jb4Uqjmknn2afK4GVDiaj/ 09JEt7Frt1j+LDap0xtAyETrcWt7i9hu7Sxt3CF4FqhPUXMa2FLI9PMyIaUj8KY+Lhv/ yF2x2Vj+wL0iYItEWdFVTMjO1HxRvtyKxt3lVUyvk9LIGhNIxkB1tis+/sehBntD+PTA 0Jzbzv0MSwdl7iOA0/BCUAkHm7Ko5T+PhWsbsKylfecq50Ab6gac5oa/5Myq9feWjFp/ +l06IRt85Qa0jXB4EYA+Ol2DUP9q3zSvAgx+UisaKKQR4wolbGyYQgeFakIEWfuTGiXg sEqw==
X-Gm-Message-State: AOAM5309okiE4G65dMeAdxObNxNlm5bMqK82wF5eu0UGwyfCeH3P5aQP 2kvyslaEDu0q7/AZQu6H18ZT4Hf6bouYQm/0Q8W5dS4Toig=
X-Google-Smtp-Source: ABdhPJzIBEJEVYoRGVmy6pGrReq5UtzdZFAEN695Dt91vmmJz2E78BaexW5AzX8AzF/DAHsf/y356yArBjLoBQIyoNw=
X-Received: by 2002:a25:cc4d:: with SMTP id l74mr1782376ybf.335.1637006347599; Mon, 15 Nov 2021 11:59:07 -0800 (PST)
MIME-Version: 1.0
References: <D1CF0779-EAB3-4759-8F50-643E9EC8C490@gmail.com> <d7f55c0d-0746-9c74-2ff1-ebdcec7ad45e@isc.org> <5193d399-859a-ef45-2dff-e1c112adc0e4@isc.org>
In-Reply-To: <5193d399-859a-ef45-2dff-e1c112adc0e4@isc.org>
From: Eric Orth <ericorth@google.com>
Date: Mon, 15 Nov 2021 14:58:56 -0500
Message-ID: <CAMOjQcFS_VRHFT-sOKHGUcKHQMbVFa9auS6C23pN3ybK=F_AzA@mail.gmail.com>
To: Petr Špaček <pspacek@isc.org>
Cc: dnsop@ietf.org, Ben Schwartz <bemasc@google.com>, Eric Rescorla <ekr@rtfm.com>, Daniel Kahn Gillmor <dkg@fifthhorseman.net>, Dan Wing <danwing@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000d8718f05d0d93d4d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/qFW6hxqSlAQCZpH0dwHYiq2tpvA>
Subject: Re: [DNSOP] updated to draft-wing-dnsop-structured-dns-error-page-01
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Nov 2021 19:59:28 -0000

I already gave my thoughts live during the WG session last week, but happy
to summarize and expand on it here.

When it comes to displaying resolver-provided text in a Chrome UI, this is
all very scary.  We have to be extremely careful about anything displaying
content to users that does not come securely from Chrome itself or the
website the user is trying to access to avoid problems like phishing
attacks.  Even when things are limited only to text, you still have to
worry about text like "To access your gmail login page, go to
attacker.example.com!" after a user tries to visit gmail.com.

I'm not going to say the whole concept is completely unworkable, just that,
even with the various mitigations that have been added in the draft, we
can't do anything approaching this functionality without some serious work
with Google security and UX experts to make sure we are extremely clear to
users that that error message is not trustworthy.  But I'm not sure when
priority-wise we would be able to make such conversations happen, so I
don't really have any specific feedback for the WG on how to make the draft
more compatible with our needs.

But from the perspective of adding any of this information to debug
logging, that's all much less controversial.  We already have
not-yet-implemented plans to pull in Extended DNS Errors to our logs, and
this just seems like an extension of that.  Similarly, we recognize that
our error messages after DNS failures are not always the most helpful, and
we are planning on accounting for Extended DNS Errors in informing the
relevant logic when picking (Chrome-provided) error messages.

So this leads back to, if we don't pull the DNS-provided error message into
the UI, what does this new draft give us that EDE doesn't or how should
this work alongside EDE? And does this provide enough value and solve
enough of the problem for resolvers to implement if the clients can't
currently commit to displaying custom error messages in UIs?

On Fri, Nov 12, 2021 at 12:00 PM Petr Špaček <pspacek@isc.org> wrote:

> Hello everyone,
>
> let me try to to restart the discussion about "Structured Data for
> Filtered DNS" draft. See below.
>
> On 14. 10. 21 19:36, Dan Wing wrote:
>  > We recently published -01 of Structured Data for Filtered DNS based
> on WG feedback from IETF 111.  We also incorporated both motivational
> and normative text from draft-reddy-dnsop-error-page.  New version at:
>
> https://datatracker.ietf.org/doc/html/draft-wing-dnsop-structured-dns-error-page-01
>
> On 10. 11. 21 17:17, Petr Špaček wrote:
> > Let's start from the hardest questions:
> >
> > 1. Input from browser vendors
> > -----------------------------
> > I believe we really really _really_ need input from end-client vendors,
> > most importantly Google Chrome and Safari. Is there any indication that
> > they might be interested? If not, why?
> >
> > In my experience browser people have much better idea about UX design
> > and HTTP ecosystem security than we DNS people do, and they might have
> > different requirements on the data we plan to send back to clients, or
> > reasons why the idea cannot be implemented in browsers as is.
>
> I'm CCing known Google and Mozilla people on this e-mail. Please kindly
> ask Safari people if you know any to contribute here as well.
>
>
> So, to really start again, I think we need to make step back and ask
> what browsers are willing to work with.
>
> Currently the user experience with any sort of blocking follows.
>
> This is what user sees if:
> - blocking is done via forged NXDOMAIN
> - the the site has a DNS outage
> - there is a typo in the domain name
>
> Chromium:
> > This site can’t be blockedsite.example’s server IP address could not be
> found.
> > Try:
> > Checking the connection
> > Checking the proxy, firewall, and DNS configuration
> > ERR_NAME_NOT_RESOLVED
>
> Firefox:
> > Hmm. We’re having trouble finding that site.
> >
> > We can’t connect to the server at blockedsite.example.
> >
> > If that address is correct, here are three other things you can try:
> >
> >     Try again later.
> >     Check your network connection.
> >     If you are connected but behind a firewall, check that Firefox has
> permission to access the Web.
>
> Safari:
> > Safari Can't Find the Server
> > Safari can't open the page "blockedsite.example" because Safari can't
> find the server "blockedsite.example".
>
>
> This is what happens if blocking is done with forged A RR answer
> pointing to a web server serving "this is blocked" web page:
>
> Chromium:
> > Your connection is not private
> > Attackers might be trying to steal your information from
> blockedsite.example (for example, passwords, messages, or credit cards).
> Learn more
> > NET::ERR_CERT_COMMON_NAME_INVALID
>
> Firefox:
> > Warning: Potential Security Risk Ahead
> >
> > Firefox detected a potential security threat and did not continue to
> blockedsite.example. If you visit this site, attackers could try to steal
> information like your passwords, emails, or credit card details.
> >
> > What can you do about it?
> >
> > The issue is most likely with the website, and there is nothing you can
> do to resolve it. You can notify the website’s administrator about the
> problem.
>
> Safari:
> > This Connection Is Not Private
> > This website may be impersonating "blockedsite.example" to steal you
> personal or financial information. You should go back to the previous page.
>
>
> Finally, The Question for web browser vendors is:
> Do you have an interest in improving this user experience?
>
> If the answer is yes, what extra information from the resolver you need?
>
> Thank you for your time.
>
> --
> Petr Špaček
>