News for hackers. Stuff that matters.
Re:Google Public DNS turns 8.8.8.8 years old by Dylan16807 on Sunday August 12, 2018 @04:00AM (#17743442)
Running a recursive resolver isn't really that great from a "trust no one" perspective, because the .com nameservers are getting a decidedly not tiny subset of your access activity.
Re:Google Public DNS turns 8.8.8.8 years old by pdkl95 on Sunday August 12, 2018 @04:40AM (#17743540)
The TLDs are only queried for the NS records of the second-level domain, and the A (or AAAA) records of the those NS names. This is cached, often for longer than the record's specified TTL. The rest of the traffic is with the 0delegated nameserver,
Re:Google Public DNS turns 8.8.8.8 years old by Dylan16807 on Sunday August 12, 2018 @06:18AM (#17743766)
The second level domain under com is the important part 95% of the time.
Re:Google Public DNS turns 8.8.8.8 years old by pdkl95 on Sunday August 12, 2018 @08:16PM (#17747218)
> This is cached, often for longer than the record's specified TTL.

NS records don't change very often. They can see that I looked up the delegation data about "example.com" once every $CACHE_TTL (~months). They do not get repeated queries at the beginning of every session I have with a website.

A lot of security is about being in the habit of minimizing attack surface. The only thing a TLD (or ISP) nameserver needs to know if I want to use the Doomain Name System is "pdkl95 asked for example.com's nameserver once last month" Instead of giving Google (or whomever) an update e.g.:

    ;; ANSWER SECTION:
    news.ycombinator.com.  300  IN  A  209.216.230.240
...every 5 minutes. This is not trying to stop someone discovering that I have ever been a domain; I'm limiting the ability to model my pattern of life[1].

[1] https://en.wikipedia.org/wiki/Pattern-of-life_analysis

Re:Google Public DNS turns 8.8.8.8 years old by Dylan16807 on Sunday August 12, 2018 @08:53PM (#17747361)
So what I get out of this is that your system protects your privacy because it uses a custom TTL, and not really because you run a recursive resolver. It helps reduce errors, but you could get almost the same effect with a pure cache.
Re:Google Public DNS turns 8.8.8.8 years old by pdkl95 on Sunday August 12, 2018 @10:22PM (#17747652)
No, I'm still requesting the A/AAAA records at the normal TTL rate. This doesn't expose useful information, because those queries are sent directly to the domain's nameserver. The domain learns that data point anyway from the TCP SYN packet I'm probably sending immediately after I learn the A/AAAA record.

Separating the requests allows for different cache policies. If you simply delegate the entire recursive resolution work to Google (or whomever), they get to record that you needed "www.example.com" every TTL (5min?). You don't even need to see the domain's NS records in that case, so there isn't an opportunity to choose a cache policy.

Re:Google Public DNS turns 8.8.8.8 years old by Dylan16807 on Monday August 13, 2018 @01:13AM (#17748132)
I'm not sure why you lead with "No" because you didn't disagree with anything I said.
Re:Google Public DNS turns 8.8.8.8 years old by pdkl95 on Monday August 13, 2018 @08:29PM (#17754715)
> and not really because you run a recursive resolver.

"No", because the system depends on running a recursive resolver locally to separate queries onto different nameservers.

Re:Google Public DNS turns 8.8.8.8 years old by Dylan16807 on Monday August 13, 2018 @09:31PM (#17754955)
It depends on doing so to work better. But a similar not-quite-as-good system could do without that feature. It's not integral.
Re:Google Public DNS turns 8.8.8.8 years old by pdkl95 on Tuesday August 14, 2018 @02:27AM (#17755951)
What is this system that prevents pattern-of-life analysis while still sending all DNS queries to one nameserver? I'm still sending frequent short-TTL (normal caching) DNS lookups for most hosts that would betray my pattern-of-life in aggregate. The vast majority of the security is from sending those requests to the domain-specific nameservers instead of aggregating it all through a single upstream nameserver.

Aggressive caching of NS records for TLDs doesn't do anything to prevent a single upstream nameserver from leaning your pattern of life from the frequent DNS lookups for A records that are not cached longer than normal.

Re:Google Public DNS turns 8.8.8.8 years old by Dylan16807 on Tuesday August 14, 2018 @03:02AM (#17756045)
> What is this system that prevents pattern-of-life analysis while still sending all DNS queries to one nameserver?

Setting $CACHE_TTL to "months" on everything, and doing nothing else.

> I'm still sending frequent short-TTL (normal caching) DNS lookups for most hosts that would betray my pattern-of-life in aggregate.

Your system does that. This theoretical mildly-inferior system would not have frequent DNS lookups for any record type.

Re:Google Public DNS turns 8.8.8.8 years old by pdkl95 on Tuesday August 14, 2018 @04:02AM (#17756235)
> Setting $CACHE_TTL to "months" on everything, and doing nothing else.

That will break a lot.

DNS isn't static; IPs regularly change as servers move, CDNs are introduced/changed. Long-term caching only works on NS records because changing DNS delegations is relatively rare. NS record caching does cause problems, but they are infrequent. Caching the addresses of the actual servers will break some things within days, and most of the internet the next time each server is updated/moved/etc.

Re:Google Public DNS turns 8.8.8.8 years old by teddyh on Sunday August 12, 2018 @04:20AM (#17743494)
QNAME minimization is about to fix that.