News for hackers. Stuff that matters.
Re:Inside Firefox’s DNS-over-HTTPS engine by riquito on Sunday June 03, 2018 @11:08PM (#17224275)
> will be an absurd hassle for a very large number of organizations

they can disable it, any organization that modify /etc/hosts can also change Firefox's preferences file

Re:Inside Firefox’s DNS-over-HTTPS engine by peterwwillis on Sunday June 03, 2018 @11:23PM (#17224340)
This isn't an acceptable compromise.

In general it's not acceptable to break functionality and then demand people invent workarounds. But it's insane to demand that every organization in the world write new portable system integration software that has to take into account 100 varying things just to disable something nobody has asked for. And it's even more insane when the software in question is the underpinning of all internet access that has existed in the same form for 40 years.

Re:Inside Firefox’s DNS-over-HTTPS engine by greglindahl on Monday June 04, 2018 @12:03AM (#17224514)
I wanted this feature.
Re:Inside Firefox’s DNS-over-HTTPS engine by dogecoinbase on Monday June 04, 2018 @12:46AM (#17224734)
No, you wanted encryption for DNS transport, and I completely agree with that desire. This is a terrible half-measure that bypasses many existing security precautions people have intentionally taken by default, and moreover exposes private data to a company with a history of handling such poorly.
Re:Inside Firefox’s DNS-over-HTTPS engine by geofft on Monday June 04, 2018 @01:06AM (#17224820)
I specifically want DNS over HTTPS - except for specialized use cases over known networks where every device in between is tested as behaving properly, protocols that aren't TLS (over TCP) are a hassle to me both as an end user and as a developer, because someone is going to break them. And once you have TLS, there's little benefit in using something other than HTTP inside, and a lot of benefit in using something where everyone already has standard command-line tools and libraries and debugging tools for it.

And I trust Cloudflare, and more specifically Mozilla legal's ability to negotiate with Cloudflare, more than I trust approximately any ISP.

Re:Inside Firefox’s DNS-over-HTTPS engine by wahern on Tuesday June 05, 2018 @02:55AM (#17235496)
You trust CloudFlare today. Tomorrow CloudFlare could become a Comcast subsidiary.

The willingness of people to put all their stock in a corporation with a promise of benign benevolence boggles my mind. I'm not particularly cynical, but I recoil at the notion that you'll now need an entire HTTP+TLS stack just to do DNS "properly", and that 99% of people will be using a single DNS provider.

EDIT: It's not even benign benevolence. I see that DOH includes server push. So now it's obvious how CloudFlare will monetize this--they're positioned to be able to push DNS updates directly to clients, reducing latencies when domain names change, particularly automated DNS topologies for load balancing, failover, etc. Reducing latencies, that is, if you're a paid CloudFlare customer.

Re:Inside Firefox’s DNS-over-HTTPS engine by vetinari on Monday June 04, 2018 @02:01AM (#17225037)
I specifically do not want each application having it's own resolver. That's something operating system has to provide and is configured by administrator, for everything. Some systems go even further and do not allow outcoming traffic on port 53 for proces other than system resolver. Masquerading that as 443 opens a new problem.

You don't have to trust anyone, you can run a recursive resolver too. Even some home routers do that already.

Re:Inside Firefox’s DNS-over-HTTPS engine by geofft on Monday June 04, 2018 @03:19AM (#17225334)
Sure, that's fine. I'm just responding to "... something nobody has asked for," and below it, "No, [you didn't want the thing you say you want], you wanted [other thing]."

Not everyone wants the thing I want. But that's different from nobody wanting it.

(However, a system-wide DNS resolver using DNS-over-HTTPS is definitely a thing I want! I've been considering writing an NSS module in Rust for it, as a way to play with writing a loadable module with tokio, to see if that even works.)

Re:Inside Firefox’s DNS-over-HTTPS engine by vetinari on Monday June 04, 2018 @05:35AM (#17226055)
Sure, system-wide DNS resolver using DNS-over-HTTPS (and the autodiscovery using DHCP/RA!) would be a good thing; each app going rogue and piercing through your policies/DNS/firewall is not.
Re:Inside Firefox’s DNS-over-HTTPS engine by zaarn on Monday June 04, 2018 @04:19AM (#17225609)
In most Linux setups the resolver is the libc which means each application does have it's own resolver (though commonly dnsmasq or systemd-resolved is used as a local resolver/proxy for DNS). Libc also implements all the stuff around /etc/resolv.conf and /etc/hosts.
Re:Inside Firefox’s DNS-over-HTTPS engine by vetinari on Monday June 04, 2018 @05:33AM (#17226038)
While the resolver is in glibc, it is in the form of nss modules. This is one of the primary reasons, why you cannot compile statically with glibc.
Re:Inside Firefox’s DNS-over-HTTPS engine by greglindahl on Monday June 04, 2018 @02:08AM (#17225058)
You might have noticed that Firefox runs in a lot of messed up environments, where, for example, bad installers downloaded by the user have done many bad things to the OS, including installing bogus hosts files which block known anti-virus and anti-malware websites. Firefox had a huge crackdown on malicious toolbars and extensions, and that was a good thing for most people. Do you have a clever suggestion for how Firefox might take your concept of trusting the OS and some administrator, which doesn't exist for most home users, and make it secure against malicious installers?
Re:Inside Firefox’s DNS-over-HTTPS engine by watermelon0 on Monday June 04, 2018 @04:06AM (#17225546)
If malware can modify /etc/hosts, then it shouldn't have any problems modifying Firefox executable or, even easier, it's configuration.
Re:Inside Firefox’s DNS-over-HTTPS engine by geofft on Monday June 04, 2018 @11:05AM (#17228415)
This is true, but most malware is neither high-effort nor high-quality. It's very easy to edit /etc/hosts. It's a lot harder to inject yourself into the binary in a way that works. It's harder still to inject yourself into the binary in a way that works if the binary is actively trying to not be injected into, or using some security-by-obscurity scheme for signing the config, or whatever. Yes, it's all running at the same privilege level (or lower) and the malware technically has the access, but it's not cost-effective to have battle-hardened automatic reverse-engineering tech built into your malware.

Chrome in particular has a DLL blacklist that seems to work very well in practice: in theory, a DLL blacklist can't possibly work, but in practice, DLLs don't try hard enough to hide their existence from the blacklisting code. https://www.chromium.org/Home/third-party-developers#TOC-Goo...

Re:Inside Firefox’s DNS-over-HTTPS engine by crtasm on Tuesday June 05, 2018 @06:24AM (#17236357)
Yes but you don't need any of that in this case, Firefox's config files are easily editable to toggle am option like using DoH.
Re:Inside Firefox’s DNS-over-HTTPS engine by vetinari on Monday June 04, 2018 @05:37AM (#17226073)
The fun with malware will only start, once it starts finding it's command and control centers using DNS-over-HTTPS to a shadow DNS served by botnet and you won't be able to filter out it's traffic.
Re:Inside Firefox’s DNS-over-HTTPS engine by kiriakasis on Monday June 04, 2018 @04:02AM (#17225533)
Also as other have pointed out you can run you own TRR locally as a daemon and have it look to /etc/hosts
Re:Inside Firefox’s DNS-over-HTTPS engine by vetinari on Monday June 04, 2018 @05:31AM (#17226031)
Yes, and configure each app on each computer separately, instead of DHCP or RA, and if you miss some app, it will masquerade it's resolving among the rest of https traffic. Great. That's progress /s.
Re:Inside Firefox’s DNS-over-HTTPS engine by peterwwillis on Monday June 04, 2018 @08:52AM (#17227222)
Why did you want this complicated hack when you could just use a SOCKS5 proxy to tunnel both your DNS and HTTP requests over a plain ssh connection on port 443? Or a TLS VPN on port 443 to properly tunnel all traffic (though admittedly it takes marginally more effort than ssh) ?
Re:Inside Firefox’s DNS-over-HTTPS engine by geofft on Monday June 04, 2018 @11:07AM (#17228441)
One, SSH on port 443 is not the same thing as HTTPS on port 443 (I've seen systems that block the former and not the latter).

Two, running a proxy to move all my browsing elsewhere seems like the hack. Changing the internet's norms so normal DNS is HTTPS-based, and everything just works everywhere for everyone, seems like a stable long-term solution.

Re:Inside Firefox’s DNS-over-HTTPS engine by peterwwillis on Monday June 04, 2018 @12:17PM (#17229355)
Everything already works everywhere for everyone with regular DNS. The only thing that is broken is firewalls. Specifically, nobody wants to force network administrators to fix them, so instead they're trying to work around them. Not only is this unnecessary, it's stupid, and just a cheap workaround for something which should have been solved by the industry 18 years ago, but is now left to be wrangled by 3 companies with leverage over users.

So I had a DNS server that used UDP. Now I need a DNS server and an HTTPS server that uses TCP. Now I'm encapsulating DNS in HTTPS. So now the packets are bigger and there's extra latency, increasing traffic and slowing things down. (These kind of "fixes" must be common, because I seem to notice how technology is constantly getting slower and crappier rather than the opposite)

Then there's security concerns, because you're running twice the software with greater complexity, yet it's subject to the same attack methods as everything else, meaning one exploit could impact DNS just as much as every other HTTPS service. Among these are attacks on the PKI system, which is fragile to say the least - an expired or revoked cert kills your DNS, and any CA can generate a cert (which apparently isn't hard to do using a BGP exploit) which can be used to circumvent the encryption. Since you need DNS to do anything on the net, it will be trivial to simply kill all DNS-over-HTTPS queries going over a network and force people to use a downgraded, insecure version of DNS. And you've got to handle encryption in a way that is normally for streams rather than datagrams - unnecessary for data which only really needs authenticity and integrity assurances (which is, again, already provided by DNSSEC)

Then there's reliability. You're tunneling DNS over a connection to one server. We already know this is slower, and we already know DNS is one of the factors that slows down page connections. So you had better hope that the one HTTPS endpoint you have a persistent pipelined connection to doesn't go down, or wait and wait for what you hope is an independent 3rd party's service that is also in your list of DNS-over-HTTPS resolvers to pick up the slack.

As a DNS admin, I had software that communicated with DNS servers. But now I have to rewrite everything to use DNS-over-HTTPS, because if a query fails in DNS-over-HTTPS, you have to troubleshoot the actual connection and not what you think is in DNS, or what you think DNS should be sending back to the client. So now I have to reinvent every DNS tool. And of course, for the enterprise DNS solutions that can't just magically sprout a new protocol extension, I'll need some sort of middleware software to map the DNS-over-HTTPS queries to the real DNS server.

All of this because someone wanted "privacy" of their DNS queries, and was too lazy to allow UDP packets greater than 512 bytes over their network.

Re:Inside Firefox’s DNS-over-HTTPS engine by tptacek on Monday June 04, 2018 @02:10PM (#17230426)
Without dignifying the argument that DNS doesn't benefit from confidentiality and needs only integrity, DNSSEC doesn't even reliably provide that. The vast, overwhelming majority of zones aren't signed, and because DNSSEC is a failing protocol, probably never will be signed. On the rare occasions when a popular zone is signed, the user experience is awful: unlike with TLS, where an expired record generates an obnoxious popup, with DNSSEC they fall entirely off the Internet --- which happened to HBO Now the week they launched it across all of Comcast.

DoH provides confidentiality and query integrity now, without requiring a boil-the-ocean step where every DNS administrator on the Internet signs their records.

Re:Inside Firefox’s DNS-over-HTTPS engine by geofft on Tuesday June 05, 2018 @12:17AM (#17234956)
> The only thing that is broken is firewalls. Specifically, nobody wants to force network administrators to fix them, so instead they're trying to work around them. Not only is this unnecessary, it's stupid, and just a cheap workaround for something which should have been solved by the industry 18 years ago, but is now left to be wrangled by 3 companies with leverage over users.

Solving this is known as "the robustness principle," aka "internet engineering." Expecting every device in between every two points on the internet to a) work reliably and b) not make questionable decisions about packets that it can parse has never worked. Successful internet protocols, e.g. TCP and HTTPS, are those which put the least reliance on the network to behave reasonably. Unsuccessful ones, e.g. IPv6, are the ones that put the most reliance on the network to behave reasonably.

It's true that the successful ones are nowhere as pretty as the unsuccessful ones. But for most people, success is more important.