Re: [dane] Behavior in the face of no answer?

Ondrej Mikle <ondrej.mikle@nic.cz> Thu, 10 May 2012 13:25 UTC

Return-Path: <ondrej.mikle@nic.cz>
X-Original-To: dane@ietfa.amsl.com
Delivered-To: dane@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E4C4C21F866A for <dane@ietfa.amsl.com>; Thu, 10 May 2012 06:25:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Abp3Ov9udlhy for <dane@ietfa.amsl.com>; Thu, 10 May 2012 06:25:48 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) by ietfa.amsl.com (Postfix) with ESMTP id 50AC321F8666 for <dane@ietf.org>; Thu, 10 May 2012 06:25:48 -0700 (PDT)
Received: from [IPv6:2001:1488:ac14:1400:221:ccff:fe72:8878] (unknown [IPv6:2001:1488:ac14:1400:221:ccff:fe72:8878]) by mail.nic.cz (Postfix) with ESMTPSA id 9BB3C13F868; Thu, 10 May 2012 15:25:47 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1336656347; bh=sU3DFg3uztGfaa1M4HSohSNo0ZSUsMPBAujZooxsj3M=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=iDxIIPWUtTokJ1M++AoUCAAx+f0ZDFF5WfSF1C7Tp5g4Nw5NnP2GMk4KyOboRqjFE kGl/rhFnXFbbo1w/LBUMVIbuZRifhPvFD5qXWHJWV1LnHvejYR/rN9p3SZrIFex5sG 2/b/zPcLvAoW//t12WHqbUP85JSWmzywmyfpWe5k=
Message-ID: <4FABC1DB.6010505@nic.cz>
Date: Thu, 10 May 2012 15:25:47 +0200
From: Ondrej Mikle <ondrej.mikle@nic.cz>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Tony Finch <dot@dotat.at>
References: <20120504023602.GA4683@mail.yitter.info> <CABcZeBO93n_C5detefBcOjAoswe2inGKDj65gQPDQmREyGnhAw@mail.gmail.com> <20120504112922.GB4929@mail.yitter.info> <CABcZeBPTTa07iUHo9XL5WrHGMYHwaQzs6xYtiF25O4Jek8E3RQ@mail.gmail.com> <20120504144426.GD4929@mail.yitter.info> <CABcZeBOM_0L42Rng75AsVda9u4G=FH8=OB8Qg=nQpL-BzRoBuQ@mail.gmail.com> <3FF36EBA-F8B1-4D66-BA00-E8E36A7E449D@kumari.net> <CABcZeBP2iRLa76rSXu4A0OwFxP=tqK1ShZ6wv=6wnaEC6uad+w@mail.gmail.com> <CAMfhd9XYS=9SGotCTwa7NJU4L8WFys2rDVsQZxn4a0wz+NxS3Q@mail.gmail.com> <6015A12B-8CA9-426B-9AFF-32CD4211DAB5@vpnc.org> <20120504165311.GB7394@mail.yitter.info> <4FA5D178.8030405@nic.cz> <alpine.LSU.2.00.1205082043010.17365@hermes-2.csi.cam.ac.uk> <4FAB6583.7080903@nic.cz> <alpine.LSU.2.00.1205101035080.9038@hermes-2.csi.cam.ac.uk>
In-Reply-To: <alpine.LSU.2.00.1205101035080.9038@hermes-2.csi.cam.ac.uk>
X-Enigmail-Version: 1.4.1
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.96.5 at mail
X-Virus-Status: Clean
Cc: dane@ietf.org
Subject: Re: [dane] Behavior in the face of no answer?
X-BeenThere: dane@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: DNS-based Authentication of Named Entities <dane.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dane>, <mailto:dane-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dane>
List-Post: <mailto:dane@ietf.org>
List-Help: <mailto:dane-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dane>, <mailto:dane-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 May 2012 13:25:50 -0000

On 05/10/2012 11:41 AM, Tony Finch wrote:
> Ondrej Mikle <ondrej.mikle@nic.cz> wrote:
>> On 05/08/2012 09:46 PM, Tony Finch wrote:
>>> Ondrej Mikle <ondrej.mikle@nic.cz> wrote:
>>>>
>>>> From the ongoing scan, out of 70M currently finished .com domains,
>>>> SERVFAILs appeared for ~8.6M distinct domains.
>>>
>>> We're running validating resolvers and we haven't noticed that level of
>>> failure. What proportion of authoritative servers with working DNSSEC
>>> return SERVFAIL for what QTYPEs?
>>
>> The scans finished, here is a breakdown of what those SERVFAILs represented.
>> Short summary: As I expected, most of the domains are most likely
>> parked/unmaintained/speculative (by some whois queries, still SERVFAIL etc.)
>> Thus no reason for admin to care about them - that also means users won't ask
>> for them either.
> 
> For our purposes we need a breakdown of the "other RR" cases. The fact
> that 10% of domains have broken delegations is sad but it isn't going to
> confuse a DANE implementation into thinking there is an attack.

Sorry for the confusion, turns out the idea of posting the numbers before
everything is polished was not that great.

Don't get me wrong, I want to get DANE working as soon as possible. I even think
having some brokeness is not that bad (SW vendors may likely disagree). Many of
the scenarios described in this thread cause DoS with hard-fail, otherwise cause
downgrade attacks. But what about asking "how much" brokeness is there and "how
much" brokeness due to forcing hard-fail is "tolerable"? (so that we don't have
to make binary DoS-xor-downgrade-attack choice).

Simple proposal complementary to probing authNSs: TLSA will be implemented as
soft-fail at first, followed by a "TLSA day" (analogy of IPv6 day) where for
instance Google will place a small piece of code to test users' resolvers
(Google has unique position of having interest in TLSA and capability to do the
measurement of clients' resolvers).

The above paragraph is an engineering solution, not suitable as text for RFC,
but I fail to see any better alternative to binary option
hard-fail/downgrade-attack.


<apologies beforehand for following rant>

It's been the same with CRL and OCSP (hard fail - possible DoS, otherwise no
effect). In every client that supports it, I set OCSP to be required. Errors are
rather rare.

Unfixable exceptions which I'd just mark "problem of somebody else - we don't care":
- captive portals - central idea of being built on MitM is broken on so many
levels (why not just 802.1x? - I had always less problems with that)
- broken DNS resolver implementations - I've always seen them exclusively with
captive portals, but there few other "plastic home router boxes" for sure

If we keep piling up workarounds/special-code-branches for thoroughly broken
infrastructure pieces instead of showing error, things will get even more messy
and exploitable.
Take "transvalid" certificates as an example - TLS server doesn't send complete
chain, works for admin, works for most users, but not users with clean browser
profile. Hard to debug even for seasoned admins (who may be not experts in PKIX
implementation quirks). Too permissive protocol handling has track record of
leading towards vulnerabilities (OID decoder permitting leading 0x80 bug for
instance).

Solution (big maybe): software should _point_fingers_ with as
end-user-readable-messages-as-possible at whoever is responsible - resolver fail
at ISP/captive portal, CA for OCSP responder, etc.

There have been couple of attempts to detect such broken-by-design elements like
captive portals (e.g. ooni-probe). Brokeness should be pushed away, not worked
around - maybe some "You-misunderstood-Jon-Postel"-protocol-fascists action is
in order :-) (like the campaign against IE6)

</end rant>

Ondrej Mikle