Re: Agile countermeasures

Paul Vixie <vixie@isc.org> Mon, 25 August 2008 02:21 UTC

Return-Path: <owner-namedroppers@ops.ietf.org>
X-Original-To: ietfarch-dnsext-archive@core3.amsl.com
Delivered-To: ietfarch-dnsext-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B55B03A6853; Sun, 24 Aug 2008 19:21:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.442
X-Spam-Level:
X-Spam-Status: No, score=-2.442 tagged_above=-999 required=5 tests=[AWL=0.158, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UM9sftufEAI3; Sun, 24 Aug 2008 19:21:42 -0700 (PDT)
Received: from psg.com (psg.com [IPv6:2001:418:1::62]) by core3.amsl.com (Postfix) with ESMTP id 2A7473A6852; Sun, 24 Aug 2008 19:21:41 -0700 (PDT)
Received: from majordom by psg.com with local (Exim 4.69 (FreeBSD)) (envelope-from <owner-namedroppers@ops.ietf.org>) id 1KXRcF-0008eR-Rc for namedroppers-data@psg.com; Mon, 25 Aug 2008 02:15:35 +0000
Received: from [2001:4f8:3:bb:230:48ff:fe5a:2f38] (helo=nsa.vix.com) by psg.com with esmtps (TLSv1:CAMELLIA256-SHA:256) (Exim 4.69 (FreeBSD)) (envelope-from <vixie@vix.com>) id 1KXRcB-0008dt-NL for namedroppers@ops.ietf.org; Mon, 25 Aug 2008 02:15:33 +0000
Received: from nsa.vix.com (localhost [127.0.0.1]) by nsa.vix.com (Postfix) with ESMTP id 3ABC1A669C for <namedroppers@ops.ietf.org>; Mon, 25 Aug 2008 02:15:17 +0000 (UTC) (envelope-from vixie@nsa.vix.com)
From: Paul Vixie <vixie@isc.org>
To: namedroppers@ops.ietf.org
In-Reply-To: Your message of "Sun, 24 Aug 2008 18:55:28 -0400." <48B1E6E0.4030301@ca.afilias.info>
References: <200808211532.m7LFWJKx046469@givry.fdupont.fr> <40391.1219336326@nsa.vix.com> <20080821170545.GB14116@outpost.ds9a.nl> <49938.1219339836@nsa.vix.com> <20080821201246.GE14116@outpost.ds9a.nl> <20080823083008.GH4929@outpost.ds9a.nl> <69998.1219504684@nsa.vix.com> <48B1E6E0.4030301@ca.afilias.info>
X-Mailer: MH-E 8.0.3; nil; GNU Emacs 22.2.1
Date: Mon, 25 Aug 2008 02:15:17 +0000
Message-ID: <59613.1219630517@nsa.vix.com>
MIME-Version: 1.0
X-Vix-MailScanner-Information: Please contact the ISP for more information
X-MailScanner-ID: 3ABC1A669C.39946
X-Vix-MailScanner: Found to be clean
X-Vix-MailScanner-From: vixie@vix.com
Subject: Re: Agile countermeasures
Sender: owner-namedroppers@ops.ietf.org
Precedence: bulk
List-ID: <namedroppers.ops.ietf.org>

> From: Brian Dickson <briand@ca.afilias.info>
> To: Paul Vixie <vixie@isc.org>
> CC: bert hubert <bert.hubert@netherlabs.nl>, namedroppers@ops.ietf.org, 
>  dns-operations@lists.oarci.net

plz don't ever crosspost between namedroppers and dnsops.  no possible
article is of interest to both audiences.  i'm removing dnsops, as well
as bert and brian since i know they are on namedroppers.

> ...
> At the root of the Kaminsky vulnerability is the ability to feed data
> into a cache, where the data in question is provided in the "Additional"
> section.

no.  the root of the kaminsky vulnerability is the ability to run a race
more than once and with a head start.  actual pollution can come in the
answer section (cname chains passing through or ending in names one wishes
to pollute), the authority section (replacement NS RRs for the baliwick
apex, or new subdomains of the baliwick), or the additional section (after
kashpureff resistance has been applied there are still many forms of evil
given the ability to arbitrarily populate the answer and authority sections.)

it's a mistake to focus on any one section or any one form of pollution.
the reason i'm enamored (in general, though there are many problems left
to solve in the proposals) of the approaches advocated by masataka ohta
and nick weaver is that they start from the question, what of all this do
we HAVE to believe, and why, and what's the cost of disbelief, and what
are our alternative means of acquiring the data, and what are the costs of
those alternatives, and furthermore, what does "belief" really mean?  in
other words, how can we "fail closed".

note that there may be other ways to achieve the "kaminsky effect" that do
not involve misdirection.  if an RDNS fails to implement birthday protection
(sends multiple simultaneous upstream queries for a given q-tuple), or fails
to cache the result (an rrset, or an nxdomain, or a nodata condition) for a
given q-tuple, or if an ADNS deterministically never answers some kinds of
questions (like undefined qtypes), or if a middlebox deterministically drops
some kinds of questions or some kinds of answers (like qtypes unknown to it)
then the "kaminsky effect" might be produced without the "sibling name trick"
and in those cases the answer matching the q-type could also be poisonous.

so even while my own toy RDNS now refuses to replace NS RRsets, and does not
cache any answer RRsets other than the one matching the q-tuple, and fully
implements RFC 2181's rrset credibility logic, and fully implements dns-0x20,
i do not feel "safe" yet.  when i can successfully reason from the starting
point "what should i use or keep?" rather than "what shouldn't i use or keep?"
then i'll be on a path that could lead to feeling safe.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


--
to unsubscribe send a message to namedroppers-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>