[dns-operations] Bailiwick stats? Idea for mitigation...
Brian Dickson
briand at ca.afilias.info
Sun Aug 10 18:40:49 UTC 2008
Paul Vixie wrote:
>> So, what we were thinking of is doing the following: When a cached entry
>> is about to be overwritten with something different, do an additional
>> request. The material in that additional request has to be equal to that
>> 'something different' before the cached entry is overwritten.
>>
>> Roy
>>
>
> far end load balancers (including those made by cisco) won't always answer
> equally. if you repeat a query N times, then in the end you'll have to
> either pick the last one or a random one.
>
>
Here's an observation... very likely load balancers will hash on some
subset tuple of (src IP, dst IP, src port, dst port).
The birthday attack presumes that *some* tuple will match (the same 4 +
TXID) exactly.
But, it doesn't know *which* one.
If the same query is sent twice, using the *same* port, and different
TXID, in short order, it will more than likely be hashed the same way
and be sent to the same physical server.
And that *should* get the same answer, modulo changes to the zone that
occur in the (very short) interval.
This adds 16 bits of entropy. If the resolver is already patched, you
get about 48 bits of entropy - pretty close to the 50 that Paul says we
need.
So, in the case of different answers, redo the last one on the same
port; the last two answers should be the same.
Or even blast out a new pair of queries, deliberately closely spaced in
time, differing only in TXID.
Since the attacker is only guessing on TXIDs, or on ports, but usually
not both, the chances of guessing two in succession are very low.
Brian
More information about the dns-operations
mailing list