Re: [Add] [EXTERNAL] Re: draft-grover-add-policy-detection-00

Ted Hardie <ted.ietf@gmail.com> Wed, 17 July 2019 20:49 UTC

Return-Path: <ted.ietf@gmail.com>
X-Original-To: add@ietfa.amsl.com
Delivered-To: add@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9B1151200FD for <add@ietfa.amsl.com>; Wed, 17 Jul 2019 13:49:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-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: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 ptfYsI8YyqjR for <add@ietfa.amsl.com>; Wed, 17 Jul 2019 13:49:07 -0700 (PDT)
Received: from mail-io1-xd41.google.com (mail-io1-xd41.google.com [IPv6:2607:f8b0:4864:20::d41]) (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 4ED181200C5 for <add@ietf.org>; Wed, 17 Jul 2019 13:49:07 -0700 (PDT)
Received: by mail-io1-xd41.google.com with SMTP id j5so43774152ioj.8 for <add@ietf.org>; Wed, 17 Jul 2019 13:49:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WkRt+UDTpTbac/lQCF8G/5lLTIPb9sX5ffhz/5iQADc=; b=a4XehZkgtsftz1RN0imEhUvb6WkxZSYPgk/DLaeSDD2nj42aFDX160tI8ouNVMA0pP BJTqNtVvx/k6C69WRKuY8fzi3ToP9Va4Czf8eO/3mkSLW2eUTQdgmvMqibzDSEnZ4qCq skSLIvP+Fe/R0mBp6ekRUDonavGXlTgzBEsCTuhy2cZJ213wY2ID15d9FhFpCeJ/zf+F ulv9x+1aVBH+gJ3FMBYHNHaw1SqKey1cEZWVQ8CFm45djidh1D9vp7m5Su2Q88vOBW8X n+RaLkjMAeMaFfknV47DNemN4+VZKm7ctmpFqA3MGS0BKkXBTZBT6uzivk5Bpg2nuhse f7AQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WkRt+UDTpTbac/lQCF8G/5lLTIPb9sX5ffhz/5iQADc=; b=Fj4BpxFp/jTxS60VKu9cH2K1vuTZPrtomn6t3LUWPj4smpuE3w/iQzcTZIKPLwQfDZ HclHCW5ZJjdRp2sGwjuKmi6uB8lLQkAcgdfHULAn5nK1RToZqiZttk1vUrax5LBHyK/O lSk07kDMXsOVBU06Yr8OVF55WDbBn85/9Mx1P30ncLWQz5Qha+I3bp9jvdYMK8cXOol1 tw5pLshnw8afi5lsGwONtUar1FZm/emeqj38voH7OJWXTb4ekI0nG3zsWkEJ3wcU/IqD ABiFzX5r/szoYZc1ubuhVhNeDWuFE7o2L+eV/l+yzIJEIjk2TAPw5R1MO+fNjUWhIuZB dbZw==
X-Gm-Message-State: APjAAAVjFF9UB/V0hcnR+M43/DRqeN4ozrnzGtbKY0M8QxLjLD6GgveQ fvqX9q0U0EFYL9j0YVJO+1OTXgvhhsswK5X0UWw=
X-Google-Smtp-Source: APXvYqwXsw5msjg9nV/8DOtyqmK9nEDJNMEYFK/x2kJoJHTATNFZlcJmg1kknd4k1bsWmUtpdSH4+Aqxix2no0Pq0jw=
X-Received: by 2002:a02:5ec3:: with SMTP id h186mr46470816jab.110.1563396546351; Wed, 17 Jul 2019 13:49:06 -0700 (PDT)
MIME-Version: 1.0
References: <CAChr6SwEUz9MrdRA0bnv9f-oNi0oUHkfRKjd9-o6jwhuckLXdw@mail.gmail.com> <CAFWeb9LNdT=EYVKTsYDxcBCQKoQFNShKotYtWujt4U9GA-V1mg@mail.gmail.com> <CAFWeb9+eWKSKY9O2JLn9-0+Zq7hrD48F-y+Y4T-iRaaF0vtdOA@mail.gmail.com> <A45F4F74-D6C1-435A-A52F-C2DEA82E2999@sky.uk> <CAFWeb9JVBj+Yehup5q4v9X-7XDY+02frd-04AQGL2HoSLON2qA@mail.gmail.com> <CABcZeBMY9q9vKGse1svzbvXF_dSHA+9q06j4ugDVCZP9VT1koQ@mail.gmail.com> <CAChr6Sz5Rfz=UxOYuPguSvVK2HCX2ZoA1-FytW7+EOUxN8y46Q@mail.gmail.com> <CABcZeBNB7ASu2U3ZMBZ+OOxEhbSnhDXwFN3Lsex1uzVSDv3R=Q@mail.gmail.com> <CAChr6SwEwRRX7BA6ZCeBuC93hFxbfi3d7G_3G3VA7Lm09yuneg@mail.gmail.com> <CABcZeBNa97Vb6Fw-fMhoZnMezGtm3nJODENN4=XXsz7GWxf2Cg@mail.gmail.com> <CAChr6Sxm__NroZ92v4HL_6iCa62fwYgNw9r8ZDAxCdzVwNoDGw@mail.gmail.com> <20190716190219.5DEF4156CDF0@fafnir.remote.dragon.net> <CAChr6SzSkVU5xbh0sZCCEgd7BUdr-dMorNq=5iMkWp66k8PVow@mail.gmail.com> <15205609-8203-4C6F-9DE7-14D492873C51@rfc1035.com> <CAChr6Syf_=3__jcv6D7b1JokGFYpFuy9y9419V0nCAx=MMh24A@mail.gmail.com> <1513817825.9983.1563350802523@appsuite-gw1.open-xchange.com> <CA+9kkMAdGF_U-syxtFVz-MfBfv-GF_CFouvuUhqcSH96-=Hkjg@mail.gmail.com> <ABBFB472-DC7C-48E2-999E-C364BFD3260E@open-xchange.com> <CA+9kkMBO3LAhVmC+PzBoO7V5vzrfeYyrEPdq6s5nRBrYniqaNA@mail.gmail.com> <CAH1iCiqsSWRm7hbwcaoRYUaoLf-DCDXw8cZy7abaYbOAMjJBPw@mail.gmail.com> <CA+9kkMBjL5VqiH+vjxgTFq2d76O0yoyeJdQF6HhKvO_pOdzDgA@mail.gmail.com> <CAH1iCio9ktw2N+tLq9bkGCT3H9SN5AyqHst11hWKY_YwbFxVJw@mail.gmail.com>
In-Reply-To: <CAH1iCio9ktw2N+tLq9bkGCT3H9SN5AyqHst11hWKY_YwbFxVJw@mail.gmail.com>
From: Ted Hardie <ted.ietf@gmail.com>
Date: Wed, 17 Jul 2019 13:48:38 -0700
Message-ID: <CA+9kkMBa67gKSFf04pRPS8KxhCupvRm44gKQE_v4J6SNbj5zxg@mail.gmail.com>
To: Brian Dickson <brian.peter.dickson@gmail.com>
Cc: Neil Cook <neil.cook@open-xchange.com>, Vittorio Bertola <vittorio.bertola@open-xchange.com>, add@ietf.org, Rob Sayre <sayrer@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000c9dcb9058de69f7b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/add/QungeY2wklrof9bng5gwHZnWFlo>
Subject: Re: [Add] [EXTERNAL] Re: draft-grover-add-policy-detection-00
X-BeenThere: add@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Applications Doing DNS <add.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/add>, <mailto:add-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/add/>
List-Post: <mailto:add@ietf.org>
List-Help: <mailto:add-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/add>, <mailto:add-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jul 2019 20:49:11 -0000

Hi Brian,

Some comments in-line.

On Wed, Jul 17, 2019 at 12:46 PM Brian Dickson <
brian.peter.dickson@gmail.com> wrote:

>
>
> On Wed, Jul 17, 2019 at 11:56 AM Ted Hardie <ted.ietf@gmail.com> wrote:
>
>> On Wed, Jul 17, 2019 at 11:40 AM Brian Dickson <
>> brian.peter.dickson@gmail.com> wrote:
>>
>>>
>>> The root of the problem is visible in "if they chose not to". The nature
>>> of DoH, is that the network operator (regardless of who they are) is unable
>>> either detect or prevent guests (or users or BYOD or whoever) from not
>>> complying with your network policy.
>>>
>>>
>> I disagree.  It forces the existence of the network policy to be visible,
>> but it is entirely possible to deny network access to a system which is
>> non-compliant.  It is not as simple as blocking or intercepting all port 53
>> traffic, but that method never addressed the reality that cleartext traffic
>> on that port was available to an observer.  To get both confidentiality and
>> policy enforcement via this means, practice will need to change.  It will
>> need to be visible to the system consuming the DNS (be it a browser, an OS,
>> or some other application), and the enforcement mechanism will have to be
>> better integrated into reachability mechanics.  That is definitely new code
>> for most people, but it is not impossible.
>>
>
> So, I'd like to use a fairly simple existence proof (i.e. demonstrate a
> proof-of-concept model that would scale and work) on re-implementing the
> port-53 model, using DoT.
>
> Client attempts to contact random DoT server. Network monitoring systems
> see new DoT traffic between new pair of hosts (on port 853), alerts if not
> blocked, or perhaps the network already blocks such random connections on
> port 853 (check.)
>

If blocked, the client is dead in the water without an application or host
configuration change.

Client attempts to contact well-known DoT server (e.g. Quad9, CloudFlare,
> Google, or similar). Network policy permits this (check). Or, network
> policy does not permit this (check).
>

If blocked, the client is dead in the water without an application or host
configuration change, as above.


>
> Client attempts to contact local DoT server (e.g. server on IP handed out
> by DHCP or equivalent, or locally configured). Network policy permits this
> (check). Network surveillance of DNS queries performed on local DoT server
> (check).
>

Note that the client is not aware in this scenario of whether the local DOT
server is or is not blocking traffic, observing traffic, or anything else.
Your premise is apparently that by agreeing to use the local resolver they
have agreed to whatever is being done.  In fact, there are existing
scenarios (coffee shop with a portal page being the most prominent) where
the local system will permit specific names to go to the local resolver to
solicit those pages, but will forbid anything else.  So some more subtle
scenarios already exist.


> Client attempts to contact random DNS/53 server. (Either allowed or
> denied, i.e. same as today, including monitoring elements if allowed). No
> change (check).
>

And subject to observation or interference by on-path attackers, as has
been discussed.

Yes, network surveillance of DNS queries on DoT requires operation of a DoT
> server to facilitate that.
>

If you run a local DoH service and the client attaches to it, the
situations are parallel.


> Use of DoT, exclusively, allows the enforcement of that policy at a
> network level (ACLs with respect to port 853). The end result is a network
> policy of, "use our DNS service, or none at all, or don't use our network".
>
> If you mean "only DoT allows this", then I continue to disagree.  If you
mean that only using DoT within this context allows this, I agree.


> None of the above *requires* host-level changes. The above certainly
> plays nice with any host-level augmentations on other explicit ways of
> publishing and consuming policy.
>
> I don't see any way of achieving the same policy enforcement result,
> without implementing strict host-level validation mechanisms, which is a
> change over the DoT-only scheme above.
>
>
The theory that would go with this draft runs something like this:

* put up a signal that hosts and applications can check to see if non-local
DNS is permitted (and possibly, provide data on where the local secure DNS
resolver is, if provided).

* link the dns resolver to the reachability management system (e.g. a
firewall) and permit traffic to exit the network only to destinations which
have been resolved via the local DNS and which have passed whatever checks
you have instituted.

A non-compliant visitor will then only be able to reach destinations which
have already been whitelisted by previous resolutions; that means that they
likely will be able to reach various CDNs, popular services, and so on, but
won't be able to reach random hosts that have not already been vetted by
the checks you instituted.

Is this new code?  Absolutely.  But it is not a host-level change, and it
permits more without host re-configuration than the pure blocking mechanism
you outlined.*


> In the DoT world, the policy is inherently visible. If you try to use a
> particular DoT provider, you know immediately whether that is possible or
> not.
>
>
It cannot distinguish between this policy imposition, a reachability
failure, and a service failure.  As a signal, it is pretty ambiguous.


> The issue of whether a particular DoT server is or is not providing a
> certain level of privacy, is perhaps something that could be signaled, but
> I don't see any way of validating that signaling beyond, at best, some kind
> of contractual enforcement.
> I.e. if you want to be sure the party you are talking to is or is not
> doing what they say they are doing, pretty much the only way to be sure
> requires the involvement of law enforcement and/or lawyers.
>
> The difference between DoT and DoH are whether host-level mechanisms are
> required, to achieve any meaningful assessment of compliance.
> Host-level compromise defeats host-level mechanisms, so other than secure
> ways of proving host non-compromise (like TPM things), it is provably less
> secure than adding network-based detection/enforcement.
>
> (None of the above applies to malware that does its own communication to
> C&C systems, but it does apply to malware that leverages browser-based DoH
> capabilities to make use of DNS for any of C&C, exfiltration, payload
> acquisition, etc.)
>
>
I'm afraid I must continue to disagree with your premise.  I have no issue
at all with increased deployments of DoT, but I do not agree that this
rules out the use of DoH.

regards,

Ted

*For those that outsource this, it may also require a new service that
allows the topology decisions and the resolution services to be linked.
There are several ways to accomplish this by using remote configuration, by
taking traffic out of the network to a service provider quarantine via VPN,
or by some combination of the two.  Again, this is new.  But it is not
impossible, as very similar systems have been built by organization which
centralize these operations; it requires that these be made available to
new customers.


> Brian
>