Re: how many angels can dance on the head of a pin?

Alex Bligh <alex@alex.org.uk> Sun, 10 August 2008 09:23 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 D25C63A6952; Sun, 10 Aug 2008 02:23:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.486
X-Spam-Level: *
X-Spam-Status: No, score=1.486 tagged_above=-999 required=5 tests=[AWL=-0.619, BAYES_50=0.001, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1]
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 A7W6S1GjGw2J; Sun, 10 Aug 2008 02:23:00 -0700 (PDT)
Received: from psg.com (psg.com [IPv6:2001:418:1::62]) by core3.amsl.com (Postfix) with ESMTP id E336C3A68A0; Sun, 10 Aug 2008 02:22:59 -0700 (PDT)
Received: from majordom by psg.com with local (Exim 4.69 (FreeBSD)) (envelope-from <owner-namedroppers@ops.ietf.org>) id 1KS74c-000JaS-Hq for namedroppers-data@psg.com; Sun, 10 Aug 2008 09:18:50 +0000
Received: from [217.147.82.63] (helo=mail.avalus.com) by psg.com with esmtp (Exim 4.69 (FreeBSD)) (envelope-from <alex@alex.org.uk>) id 1KS74Y-000JX1-NV for namedroppers@ops.ietf.org; Sun, 10 Aug 2008 09:18:48 +0000
Received: from [192.168.100.3] (localhost [127.0.0.1]) by mail.avalus.com (Postfix) with ESMTP id 55328C2DA3; Sun, 10 Aug 2008 10:18:43 +0100 (BST)
Date: Sun, 10 Aug 2008 10:22:27 +0100
From: Alex Bligh <alex@alex.org.uk>
Reply-To: Alex Bligh <alex@alex.org.uk>
To: Duane at e164 dot org <duane@e164.org>
cc: bmanning@vacation.karoshi.com, Namedroppers <namedroppers@ops.ietf.org>, Alex Bligh <alex@alex.org.uk>
Subject: Re: how many angels can dance on the head of a pin?
Message-ID: <6751CAB7406138E7F72B474E@nimrod.local>
In-Reply-To: <489EAFCD.2090204@e164.org>
References: <200808080237.m782bBqk005628@drugs.dv.isc.org> <489BBA1C.1040107@e164.org> <489E4D44.1080306@links.org> <20080810042136.GA18568@vacation.karoshi.com.> <489E89B6.6090208@e164.org> <01B9CF1DF0A4A4443A6E73A4@nimrod.local> <489EAFCD.2090204@e164.org>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Sender: owner-namedroppers@ops.ietf.org
Precedence: bulk
List-ID: <namedroppers.ops.ietf.org>


--On 10 August 2008 19:07:25 +1000 Duane at e164 dot org <duane@e164.org> 
wrote:

>>  1. Lookups would more often take place from behind a NAT. This can
>>  reduce entropy and make any given attack easier. Thus remember unlike
>>     many attack profiles, sticking a shared cache behind a NAT only
>>     serves to make things worse.
>
> I fail to see how this would apply, the reason for randomising the ports
> was for publicly accessible caches, such that ISPs run, which can be
> queried by the attacker and also for the attacker to send fake replies
> at the same time.
>
> If the attacker can't send requests and replies they would need to be in
> the path to alter things.

Some NATs (e.g.) have the behaviour of using a constant source port by
DNS, or a source port incrementing by 1 for each query (which is just
as bad). So, if the caching resolver is behind that NAT (or more
accurately NAPT) then simply spoof the NAT's external IP address and
guess the source port it used (using that as your destination port).
The NAT then helpfully rewrites this to the randomised source port
inside the NAT. Roy Arends has been doing a survey of NAT behaviour.
I'm not sure whether he's demonstrated poisoning through broken NAT
with a randomised source port cache in the lab, but I don't think it
should be hard; a NAPT which rewrites the source port to a constant
value effectively removes all the entropy given by the recent bind
patches. I mentioned this on namedroppers a while ago but I
was being somewhat cryptic as the nature of the attack itself wasn't
public then.

Alex

--
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/>