Subject: Re: dictionary attack on nameservers

From: [email-masked] (Ted Lindgreen)
Date: Thu, 29 Jul 2004 10:06:24 +0200

[Quoting Roy Arends, on Jul 29,  9:10, in "Re: dictionary attac ..."]

> I have seen no claims that NSEC2/3/X can prevent zone walking or
> enumeration. The goal is to make zone walking more expensive.
> 
> The lock on my front door does not prevent break-ins. Its goal is to make
> break-ins more expensive.

When talking "more expensive", it is relevant to weight:

1. how much more expensive
2. the cost of the lock
3. the value of what is being protected

ad 1. It has being shown (several times) that (90-99%) zone
      enumeration without AXFR is simple and dirt cheap.
      Most of us know that both spammers and domainname-traders
      are doing this already for years on a daily basis with
      all TLDs that have blocked AXFR.

ad 2. The cost of the proposed lock (NSEC2/3/X) means a new
      protocol change, which is rather expensive.

ad 3. We are talking about the protection of one little aspect
      (100 against 99% enumeration) of otherwise public
      information. It has also been argued ((several times) that
      for most, if not all, evil usage of zone-enumeration 90+ %
      enumeration suffices.

To me it seems that in this case the weighting is completely out
of balance.

Regards,
-- ted

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

---

From: Jay Daley <[email-masked]>
Date: Thu, 29 Jul 2004 09:44:52 +0100

Folks

>       enumeration without AXFR is simple and dirt cheap.

I'm sorry to be picky but I don't think the above is true. 

When people register a name they use a name from a pool of possible names. 
 As a zone grows in size people begin to exhaust the easy pools and so 
need to invent new pools.  So the initial pools are often

        very short names (2, 3, 4 characters)
        generic words (eg music, buses, teeth)
        organisation/personal names
 
but as these grow people start to invent new ones

        generic hyphen generic
        generic plus number

and so on.

So the smaller a zone is, the easier it is to enumerate.  For small zones 
I can well believe a high percentage is possible.  However as zones grow 
the problem can get significantly harder.

If someone really has done this against a large zone then please let us 
know.  If you want to test it against ours then please let me know so that 
we can prepare for it.

Jay

---

From: Roy Arends <[email-masked]>
Date: Thu, 29 Jul 2004 11:26:28 +0200 (CEST)

> When talking "more expensive", it is relevant to weight:

I did not say that the goals justify the means, nolo contendere on the
validity of the details you have provided.

Roy

---

From: [email-masked] (Geoffrey Sisson)
Date: Thu, 29 Jul 2004 10:34:21 +0100 (BST)

> To me it seems that in this case the weighting is completely out

There's a time consideration which this analysis doesn't take into
account: If `perfect' snapshots (less negligible effects due to routine
IXFRs) of the owner names in zones can be obtained frequently and with
low latency, then new possibilites become available.

It's one thing to have a photo; another to have a film.

Regards

Geoff

---

From: Greg Hudson <[email-masked]>
Date: Thu, 29 Jul 2004 12:43:50 -0400

> I'm sorry to be picky but I don't think the above is true. 

Your subsequent analysis only addresses dictionary attacks.  But other
attacks have been mentioned here (web-crawling, PTR walking), although
we don't really have numbers on how effective any of the attacks are. 
(As many people have pointed out, "a dictionary attack got me 5% in a
short amount of time" doesn't really prove or even suggest anything.)

---

From: Jim Reid <[email-masked]>
Date: Thu, 29 Jul 2004 19:08:15 +0100

>>>>> "Jay" == Jay Daley <[email-masked]> writes:

    Jay> When people register a name they use a name from a pool of
    Jay> possible names.  As a zone grows in size people begin to
    Jay> exhaust the easy pools and so need to invent new pools.  So
    Jay> the initial pools are often

    Jay>         very short names (2, 3, 4 characters) 
    Jay>	 generic words (eg music, buses, teeth)
    Jay>	  organisation/personal names
 
    Jay> but as these grow people start to invent new ones

    Jay>         generic hyphen generic 
    Jay>         generic plus number

    Jay> and so on.

    Jay> So the smaller a zone is, the easier it is to enumerate. 

Nope. The smaller the zone, the easier it may be to enumerate with a
stupid dictionary attack. A serious attempt at enumeration wouldn't
just do a simple dictionary attack: it would try "generic hyphen
generic", "generic plus string of digits" and so on. This is no
different from how most password crackers work. The dumb ones just use
a dictionary.  The clever ones also try manipulations on the names in
the dictionary: obvious suffixes and prefixes, reversed names, etc,
etc.

---

From: "Jay Daley" <[email-masked]>
Date: Thu, 29 Jul 2004 20:21:44 +0100

Jim

> the dictionary: obvious suffixes and prefixes, reversed names, etc,

That is precisely my point.  As the register grows the namespace becomes 
more complex, which then leads to searching ever increasing numbers of 
possiblities for ever decreasing results.  This appears at first sight to 
be a limiting function and what we are all arguing about it where that 
limit is.  My view, as expressed before is that 99% is wildly optimistic.

Jay

---

From: Jim Reid <[email-masked]>
Date: Thu, 29 Jul 2004 20:57:50 +0100

>>>>> "Jay" == Jay Daley <[email-masked]> writes:

    Jay> That is precisely my point.  As the register grows the
    Jay> namespace becomes more complex, which then leads to searching
    Jay> ever increasing numbers of possiblities for ever decreasing
    Jay> results.  This appears at first sight to be a limiting
    Jay> function and what we are all arguing about it where that
    Jay> limit is.

I'm not sure that either is the case. Dictionary attacks will mean
zone enumeration is always successful, if not always complete. There
are other ways of enumerating a zone that have been mentioned in this
list a while ago. Zone enumeration is already going on. And presumably
the results of that are "good enough" for whoever is doing the
enumeration, whether they're getting 1% or 100% of the zone.

It would be good to know how effective a concerted dictionary attack
would be on some TLD. But I don't see this making much of a difference
to the wider debate. Those who oppose NSEC because of the zone
enumeration issues are unlikely to change their minds if a decent
dictionary attack -- just one means of enumerating a zone remember --
yields 80% or 90% or 100% of the zone.

---

From: Alex Bligh <[email-masked]>
Date: Thu, 29 Jul 2004 22:27:34 +0100

--On 29 July 2004 20:57 +0100 Jim Reid <[email-masked]> wrote:

> zone enumeration is always successful, if not always complete.

A successful but necessarily incomplete zone enumeration is in my book an
oxymoron. I am pointing that out not as a cheap shot, but because
enumeration (at least in my book and I think that of those with the
enumeration problem) means the ability to gain a complete or an almost
complete zone through iteration, and we might as well each try and
understand what terminology the other is using.

I do not think there is any dispute that it is possible (without even
having access to nameservers for the the zone) to get a list of domains, a
substantial number of which will be in the zonefile, with that set itself
representing a material portion of the zonefile, for many (but not all)
zonefiles, whether that's by dictionary attack or by textual search of
referring entities (web pages / in-addr.arpa). But that does not equate to
enumeration which (using our terminology) is
a) complete (or very nearly so); and
b) sourced by the organization serving the zone

Seems to me there is a lot of argument here backed by little hard data.
It would be good if (without trashing an xTLDs nameservers) there was
some statistical evidence of what % accuracy/completeness a proposed
attack gave. Let me suggest:

  Accuracy% = 100 * ( [PositivelyDiscoveredEntries] - [FalsePositives])
                    ---------------------------------------------------
                                    TotalEntries

as a metric.

Let's bear in mind NSEC as is is 100% assuming an enumeration can be done
between zone updates.

Alex

---

From: "Olaf M. Kolkman" <[email-masked]>
Date: Fri, 30 Jul 2004 07:19:25 +0200

Dear Colleagues

Lets stop going around in circles.

- We all know that enumerating zone data is possible today. Your millage 
may vary.
- We all know that NSEC walking will provide you with all names in a zone.

But I do not know what the threat is we try to protect against.

This working group will need to get the requirements for making informed 
decisions on how to design NSEC++.  Remember that Rip and Ben have 
volunteered to put such a list together. Please send your requirements 
to these to friendly volunteers.  If you have a threat model in mind, 
please document and send to Ben &  Rip.

(http://ops.ietf.org/lists/namedroppers/namedroppers.2004/msg01237.html)

Once we have these requirements we can start engineering and figure out 
_if_ we can find a solution that meets these requirements. Work that 
Miek started may help to make an analysis of the requirements.

Please try to phrase what NSEC++ is expected to deliver and mail your 
comments to Ben and Rip.

--Olaf
   DNSEXT Co-Chair.

---

From: Jim Reid <[email-masked]>
Date: Sat, 31 Jul 2004 05:55:41 +0100

>>>>> "Alex" == Alex Bligh <[email-masked]> writes:

    Alex> A successful but necessarily incomplete zone enumeration is
    Alex> in my book an oxymoron.

We can agree to differ. IMO a successful zone enumeration is one that
achieves the goals of whoever is doing the enumeration. That may well
be the whole zone. But it might be the set of names that exist between
iam.co.uk and izm.co.uk.