At 3:50 AM -0700 2005-09-09, Nelson Minar wrote:

 I realized after sending my mail that we do have a means of group
 defense; DNS entries. If we have a way to identify bad clients we
 could simply stop serving DNS requests for pool.ntp.org to those
 clients. But maybe there's no need to develop this kind of thing.

Bad client A contacts their DNS server B, to find the IP address of poor abused time server C. DNS query comes in from B to pool nameserver D, which knows nothing about A. B is told about the IP address(es) of C, and returns that information to A. A now starts abusing C.

Good client E contacts the same DNS server B, which has cached the information it got from D, and returns that to E. E now starts sending queries to C as well.

C reports A as an abusive client back to D, but how can D tell where this client got the information? Maybe the owner of A found a list taped to a wall somewhere and copied down the entries by hand.

Now, if C includes the date/time stamp of when it first started seeing queries from A, then D may be able to look through the logs to see if it got any queries around that timeframe.

But what happens if A is the good client and E is the bad one? Do we want server D to blame some other poor unsuspecting site that happened to query for this same information around the same time that E started hammering on C?


You'd have to also look at the IP address of the abusive client and see if a DNS query came in from another machine on the same network, but many ISPs have a number of /24, /16, or other size networks assigned to them, and you might see DNS queries come in from any of these networks on behalf of any of their users.

So, you'd have to go back to something like the Route Arbiter database to see what networks are registered to what organizations, and then you'd have to iterate through all IP addresses that could potentially have resulted in a given client that started abusing a given server, to see if any of them are owned by the same organization. You can't just ask the Route Arbiter database to tell you what all other networks are owned by that same organization -- you have to come in from the other way around, and brute-force the issue.

Even then, it's possible that someone may have copied an IP address off a list taped to a wall somewhere, and never did a DNS query at all before they started hammering the respective time servers.


I don't think that this problem can be solved. Even if you could definitively tie down a particular abusive client as coming through a given nameserver (or set of nameservers), what would you do?

Would you direct all clients coming from those nameservers over to bogus IP addresses, or just black hole all queries coming in from those nameservers? Would you throw away all clients coming in from that network, just because of a single abusive client that hammered your server?

That would be far worse than throwing the baby away with the bath water. That would be like throwing away the whole country that the baby came from, and everything else included, when throwing away the bath water.


I don't think that this problem can be solved. At least, it certainly can't be solved the way you're thinking.

--
Brad Knowles, <[EMAIL PROTECTED]>

"Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety."

    -- Benjamin Franklin (1706-1790), reply of the Pennsylvania
    Assembly to the Governor, November 11, 1755

  SAGE member since 1995.  See <http://www.sage.org/> for more info.
_______________________________________________
timekeepers mailing list
[email protected]
https://fortytwo.ch/mailman/cgi-bin/listinfo/timekeepers

Reply via email to