A safer and more private browsing experience with Secure DNS
blog.chromium.org
blog.chromium.org
The downside is that it's opportunistic encryption which means it fails open. If you're actively targeted this won't protect you. You'll need to explicitly configure a DoH server to be protected.
Meanwhile if the administrator of the endpoint device knows their DNS server supports DoH, they could still manually enable it as required even if that isn't suitable as a default there, and the default Chromium is using still protects against passive attacks when your DNS server supports DoH.
Right now, your DNS provider has a list of every website you visit (just not how many times you visited it). The shorter the DNS cache, the more closely this list matches your browsing behavior.
This definitely complicates the protocol, whether you put the burden at the resolver layer (needs larger cached) or at the level of authoritative servers (where'd they be effectively cooperating with root servers), but it's the only way to truly safeguard browsing data.
I have been doing this for many years, putting bulk DNS data in HOSTS and personal use zone files served from loopback addresses. It is easier than ever today with so many sources of bulk DNS data.
DOH now lets users retrieve DNS data from recursive DNS servers (caches) in bulk, using HTTP/1.1 pipelining. Here is a working example: https://news.ycombinator.com/item?id=23242389
Many years ago, I started doing non-recursive (no caches used) bulk DNS data retrieval for speed and also for resiliency in the event of outages. However the privacy gains are obvious. A rough analogy is downloading all of Wikipedia in bulk and browsing articles offline as opposed to making separate requests online for each article and generating all the requisite DNS and TCP/HTTP traffic. Openmoko's Wikireader experimented with the idea of offline Wikipedia.
Not only does the DOH provider get a record of all the user's DNS lookups, she can now associate each request with the particular user program/device that made it.
This does appear to be the case here, and so it is still possible to disable it (use a local stubby instance to do encrypted DNS) or to use a custom setting (your nextdns.io config for example).
A more detailed comparison is here:
https://www.thesslstore.com/blog/dns-over-tls-vs-dns-over-ht...
Providers that want to block DoH or DoT are going to block providers based on destination IP or certificate fingerprints, not port numbers.
And running DoT on a non-standard port breaks all sorts of things because it will be ... non-standard.
And your point is what, exactly? TLS allows for traffic redirection and for a time people were using this to circumvent firewalls but the big providers who looked the other way locked it down when their traffic started being blocked.
Pretty much the whole of the internet has been jammed into tcp/443 now, and it can't much be helped. Internet engineering needs to cope with the world as it is, not how we wish it were.
I disagree, see the success of: letsencrypt, the wide spread use of 8.8.8.8 and 1.1.1.1; dkim/spf/dmarc; imaps, pop3s, tls ldap.
Why should a switch over to DoT be any different? If anything it should be easier. The general need for better security and privacy are much more widely understood and accepted concerns these days.
We’re also working on POCs of DoH support, but it’s mostly moot compared to our DoT offerings which cover the whole OS, not just the browser.
That's an interesting way to phrase it. The RFC for DoH is co-authored by Mozilla. They didn't buy in, they created it.
https://developers.google.com/speed/public-dns/docs/using#an...
PS: I have been using it for a while and it works fine.
DoT is, effectively, DoH with a kill switch.
It'e essentially a moot point at this point; DoH won.
The SNI hole is slowly being addressed by ESNI - https://www.cloudflare.com/ssl/encrypted-sni/
For example NextDNS customers using DoH put a customisation parameter in the DNS URL paths (and so it's opaque to an adversary on the network) but obviously there's no URL path in conventional DNS, so does Chromium spot your NextDNS configuration and figure out the right URL path?
I sure do hope this becomes a visible and flexible feature and not a google-only-dnses or "Oh, you have to run it with this special flag --use-dns-over-tls) kind of feature.
I think DNS topic has been underrepresented in the privacy-aware community. Hope this changes both for OSes and also apps people use regularly.
Doesn't that make this pretty trivial to defeat? Just drop the DoH packets and boom, you've got unencrypted DNS again.
But that's not even the big problem here. The big problem is how big an impact this will be on less-than-perfect networks.
The internet feels "snappy" because of DNS's speed and connectionless nature (and a buttload of DNS caching). Once it relies on a connection-oriented protocol, a lot of people's internet experience is going to start sucking badly, and they'll have to modify more of the common internet protocols to make it suck less again.
In TLS 1.3 you can choose to avoid the handshake roundtrip but then you're subject to a replay attack in which any request side effects happen again because your legitimate request was replayed. The bad guys don't get to understand the request or the answer, they just get to perform it, maybe against a different node of a distributed system or in a different timeframe. Conveniently DNS lookups are side effect free so this doesn't matter.
So that really cuts down on the potential additional latency compared to even an HTTP GET.
There are more exotic adversaries for a DNS lookup system, and against them you'd want something more rigorous than an immediate DNS fallback. But the short-term win is major.
If I recall looking into the spec before there is a reason it’s an improvement but I can’t recall what it was.
I know there are tons of servers behind proxies and so forth but still it seems like over time databases could be built up to give some decent success with this countermeasure.
104.22.34.138 is one of the cloudflare servers, it does not have reverse dns record and you can't associate it with any specific website. If you're monitoring traffic, you would have no idea what website user is visiting unless you can intercept his unencrypted DNS queries as well.
So CDNs increase user security a little bit.
It always depends on who your adversary is. Chrome is a controlled, auto-updating application. Your Cloudflare traffic is going to a central authority, Cloudflare. They could decide to sell traffic information. Or the government where Google or Cloudflare main line employees eat and sleep could ask or order those working stiffs to do something secretly in spite of company policy or promises.
This does protect against a very narrow adversary, which is your ISP or router manufacturer monetizing your aggregated traffic statistics. It remains to be seen if there was ever harm there to the user in the first place.
The government, as an adversary, generally wants to put you in jail. Google working stiffs generally don't want to go to jail, so they'll comply with requests; or Google will want the government's business and just do the thing they ask for. Google already gives you the thing for free. Your ISP and router manufacturer just want to offer you lower prices.
Corporate and closed source or remotely managed software promises are just that.
It will be interesting to see what reception this will get in some countries where all ISP's are legally bound to modify DNS-requests to prevent users connecting to sites with content such as child pornography.
I get the impression Google, Mozilla etc. are genuinely irritated with crappy networks and invasive ISPs meddling with DNS traffic. What I don't accept is their decision to abuse their market positions to impose a quick, unilateral solution that comes with a range of unfortunate long term implications and secondary effects vis a vis centralization.
Imho, it would have been much, much better if they had used their resources and clout to help fund & advocate for a general, independent transition over to DoT for last mile and increased adoption of DNSSEC and DNSCurve upstream.
The world manged to move to encrypted email and www. Surely it could move to encrypted DNS without browser vendors forcing us to split name resolution and send half of it over HTTP?
[1] https://gigaom.com/2014/05/13/atts-gigapower-plans-turn-priv...
Edit: or option c). apply pressure to your government representatives to update their privacy laws so ISP snooping doesn't happen in the first place. It's a sad state of affairs when the ISP market has failed so badly that you can't find an ISP you can trust.
So you think that non-savvy users don't deserve privacy?
> Edit: or option c). apply pressure to your government representatives to update their privacy laws so ISP snooping doesn't happen in the first place.
That's definitely desirable. Heck, the snooping in question might already be illegal in California under the new CCPA. But I don't see federal legislation happening anytime soon, and the US is not the only jurisdiction lacking privacy protections. And while privacy laws can prevent snooping for advertising purposes, good luck convincing the government to outlaw snooping by intelligence agencies. Ultimately, legal and technical measures are not mutually exclusive, and we should use both.
Does Chrome provide any audit logging for DNS while in DoH mode?
Really? Why? As someone who works in academia, I don't see why anyone would need access to my or my colleagues' DNS logs, but I understand things might be different in industry.
That's not to say that those choices reflect good architectural design, to be sure quite the opposite. But like many things in enterprise IT risk management, it comes down to where you spent your money, and things like DoH/DoT force will force certain organizations to admit "a lot in the wrong place".
I wouldn't blame or ride on academia. If you have no data worth exfiltration, experiments worth sabotaging or industry affiliations you might be right.
Look in app/ for a screenshot. Needs access to a recursive resolver compiled with support for Dnstap. If you've never paid attention to DNS or used web console (in Firefox) tools, I suspect you're in for a surprise.
Haven't tried it with DoT, I imagine that Dnstap would lose visibility for deciding which client to attribute the traffic to.
(The DNS agent is performant enough for full visibility into a workgroup of 50-100 people.)
There are a couple security products that rely on monitoring DNS to function (the "passive DNS" products), and if you're one of those vendors, an industrywide shift to DoH is a real problem. But for everyone else, it's not so much a problem. The same enterprise people raising the alarm over DoH are the ones who tried to break TLS 1.3 to keep the non-forward-secure RSA handshake in the protocol, so their TLS sniffers would keep working. They adapted.
On the enterprise side it's probably a play to shift the market away from on-premise DNS based filtering and logging devices to SaaS based DoH filtering services. Tacit collusion will ensure no one builds a perpetually licensed device that does DoH and filtering.
Secure DNS is a "same-provider DNS-over-HTTPS upgrade" approach, and it sounds like you're conflating it with a different design, where Chrome would talk to Google-run DNS servers?
(Disclosure: I work at Google, speaking only for myself)
Whether this is because the entire Internet uses Google Analytics, Gmail, etc, or because they have a different more effective way of tracking DNS queries is irrelevant, since they always manage to find a way due to being omnipresent.
In theory, DNS-over-HTTPS in Chrome allows Google to bypass OS-level ad blockers. Just like Manifest v3 limits the capabilities of in-browser ad blocking.
Let's take a trivial example: everybody has their own router at home, typically with the address of the DNS server visible in the local network as the address of the router, and their computers are seeing only that address.
If Chrome would keep that, nobody's router would "provide DNS-over-HTTPS" and nothing would happen. That means that Chrome will try to avoid using the router as a DNS, and instead try to "guess" if the local router is "changing something" or "using a provider" (whatever they define as that). And then the Chrome will contact that guessed provider.
As far as I understand, exactly the only device we can fully control is being actively avoided, and instead some "guessed" provider is contacted using HTTPS.
So what is actually going on there?
I'd like a honest technical description.
That's not my read of the design doc [1] or code [2]. Instead, it looks to me like if you have your DNS server set to one of a hardcoded list of IPs known to support DoH then you get upgraded. That list is currently 8.8.8.8 (Google), 1.1.1.1 (CloudFlare), 9.9.9.9 (Quad9), and their aliases. If your DNS server is set to 192.168.0.1 or something, then this change will have no effect for you.
[1] https://docs.google.com/document/d/15Ss0OaJeb-T3g2RMwgikHvsC...
[2] https://chromium.googlesource.com/chromium/src/+/b0436911ed6...
Malware/Adware will inevitably start using the same tricks, if they haven't already.
And of course DoH is impossible to block without also blocking all of HTTPS. That's the point of it.
A case study in unintended consequences.
For Chrome it appears that they are just upgrading to DoH for the existing DNS servers if it is possible. Since a local Pi-Hole server wouldn't be in their possible upgrade list it would be left untouched.
[0] https://support.mozilla.org/en-US/kb/canary-domain-use-appli...
By taking a control over DNS, Google usurps the power and makes the open web a walled corporate franchise of its own.
In other words, Google steals the open web from the world. It injects a proprietary Trojan horse in disguise of security and established a total dictating power, deciding on what can be published on the web and what cannot.
The choice of timing speaks by itself as well. A pandemic is a great mud water to pull the trick like that.
Didn't you get enough stories about unwarranted pullouts of apps from Google Store? Website pullouts are the subject of the nearest future if we allow that to happen.
The community should boycott centralized DNS-over-HTTPS (DoH) approach as it clearly stays in the way of Open Internet was originally designed. DoH leads to a totally centralized, usurped, greed-driven future controlled by a single corporate entity.
This should also bring the closest attention of anti-monopoly committees around the world.
I know that not all people can grasp the danger DoH brings today, but this is a very dangerous development that may lead to disastrous consequences for communities around the world. Internet as we know it may just die.
I'm all for decentralizing DNS and the web as a whole, but does that mean that I am going to advocate against better centralized security because of it? Absolutely not, especially when a majority of users don't have access to decentralized DNS today.
Oh well, that's not a cartel. Mind you.
It's tiresome seeing the same FUD over and over again each time DoH comes up, whether Google, Cloudflare, or whoever. This is religion, not science.
Did the rlogin/telnet people suffer so when ssh was introduced?
So who spreads the FUD then? Google and Mozilla combined effort (read Collusion) pushing this further warrants a thorough investigation.
Some people argue that there will be an option for that. However the right solution is to make that decision at OS level.
Or is the argument that they will lock it in to your ISP's DNS server (autodetected, somehow), and your ISP will be evil (this is hardly a stretch of the imagination)? In this case, again, whats in it for Google?