Subject: Is this a possible DoS scenario within DNSSEC ?

From: Roy Arends <[email-masked]>
Date: Tue, 25 Jul 2000 14:10:52 +0200 (CEST)

Hello,

A SIG record covers RR Sets. Consider a caching server (not secured),
which has cached the following:

example.org.  NS  ns1.example.org.
example.org.  NS  ns2.example.org.
example.org.  SIG NS DSA ..... 

The SIG above validates the two NS records. At one point the cache
gets spoofed with for instance:

example.org.  NS  very.ugly.org.

Upon a query for these records, the cache server will respond with all 3
NS records and the SIG record.

The secure resolver validates the NS RR set with the SIG record, and its
conclusion will be that the SIG record does not authenticate the 3 NS
records.

The secure resolver now disregards these NS records (they are seen as
BAD). This zone can not be resolved. If this scheme is true, this is an
easy to perform denial of service attack against the example.org zone.

Is this a possible scenario ?

Regards,

Roy Arends
NLnet Labs.

to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.

---

From: "Donald E. Eastlake 3rd" <[email-masked]>
Date: Tue, 25 Jul 2000 21:04:55 -0400

DNSSEC does not claim to provide any protection against denial of
service.  If you get data from an insecure cache, it could be
anything.  Certainly it could have been diddled in a number of ways so
that signatures would fail.  In fact, you have no idea whether what
you are getting is what is really in the cache or some bad guy is
answering for the caching server or corrupting the answers in transit.
If the cache were secure and supported the service, you could use TSIG
or SIG(0) transaction signatures with it and at least distinguish
between the data being bad or the communications being corrupted.  But
then again, if the cache were secure and knew the zone you were
retrieving from was signed and could verify it, it would be nice it if
wouldn't add an RR so as to break a verified signature.  And if the
caching server were secure using policies you liked and will handle
will handle recursive requests for you, there is no particular reason
for your resovler to be secure.  It might as well use TSIG with the
cacing server it trusts....

Thanks,
Donald

From:  Roy Arends <[email-masked]>
Date:  Tue, 25 Jul 2000 14:10:52 +0200 (CEST)
To:  DNS Extensions WG <[email-masked]>
Message-ID:  <[email-masked]>

---

From: Roy Arends <[email-masked]>
Date: Wed, 26 Jul 2000 10:03:27 +0200 (CEST)

> cacing server it trusts....

Okay, clear. Thanks.

We will use this in the Best Current Practice document we are working on. 

Regards,

Roy Arends,
NLnet Labs

---

From: Edward Lewis <[email-masked]>
Date: Wed, 26 Jul 2000 10:50:29 -0400

>which has cached the following:
...
>NS records and the SIG record.
...
>Is this a possible scenario ?

I think this scenario is incorrect.  If a cache (secured or not) has data
for a name/type/class and receives different data for the same triplet, the
cache is supposed to retain one and drop the other.

Caches are not supposed to merge data.  The clarify RFC explicitly states
this.  Any caching server merging data is in violation of the spec.

As far as which set is retained, which is dropped - in the pre-DNSSEC days,
the "credibility" level was used (see also Clarify RFC).   Data arriving in
the answer section was more credible than additional data, etc.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Edward Lewis                                                NAI Labs
Phone: +1 443-259-2352                      Email: [email-masked]

"It takes years of training to know when to do nothing" - Dogbert

Opinions expressed are property of my evil twin, not my employer.

---

From: Roy Arends <[email-masked]>
Date: Wed, 26 Jul 2000 17:19:44 +0200 (CEST)

> this.  Any caching server merging data is in violation of the spec.

Yes, you are correct. RFC 2181 sec 5.4 and 5.3.1 explicitly states this.
Thank you for pointing this out.

Roy Arends
NLnet Labs