News for hackers. Stuff that matters.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @11:19AM (#25315640)
DoH absolutely can get network filtering: if I block port 53 outbound to control DNS queries within my network, DoH (and other tunneling technologies) is bypassing my network filtering of DNS.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by acdha on Saturday December 05, 2020 @11:51AM (#25315949)
Network filtering means blocking traffic at the network level. Trying to use DNS for this leaves you trusting the client - and there are decades of precedent for clients bypassing that for various reasons, such as this post shows.

The solution is to start doing network filtering: if you block packets to unapproved servers, you can actually stop this. You’ll need to run your own proxy, of course, but that’s always been the only way to actually accomplish that goal.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @11:56AM (#25316021)
That isn’t really possible, though: CDNs mean that blocking by IP just doesn’t work. The most effective method I’ve found is transparently redirecting all traffic on port 53 to a DNS server I control. DoH means that I might as well setup a transparent HTTPS proxy.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by rsync on Saturday December 05, 2020 @04:19PM (#25318479)
"That isn’t really possible, though: CDNs mean that blocking by IP just doesn’t work. The most effective method I’ve found is transparently redirecting all traffic on port 53 to a DNS server I control. DoH means that I might as well setup a transparent HTTPS proxy."

This is a very good point and I am dealing with this myself on my home networks.

Like any household/family we have some number of dubious/untrusted devices that still need Internet access.

By establishing my own recursive resolver I can act as a chokepoint (and monitoring point) for their behavior online. It's a very elegant solution, actually, and I have created a nice integration between my datacenter-hosted resolver and nextdns.io as the adblocking upstream DNS.

DoH breaks all of this.

I have no interest in diving down the "MITM my own network by inserting custom certs into embedded devices that may or may not use them".

Since we're talking about it, though, it occurs to me that you could quickly do a DoH lookup to every single new IP connected to, outbound, from your network - and then block all IPs that answer your DoH query. You're basically pre-testing all new SSL connections to see if they are to a DoH resolver that you (presumably) don't want to talk to ...

This solves the CDN problem ... does it solve the problem entirely ? I have only just thought of this moments ago ...

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by acdha on Saturday December 05, 2020 @04:23PM (#25318507)
> By establishing my own recursive resolver I can act as a chokepoint (and monitoring point) for their behavior online. It's a very elegant solution, actually, and I have created a nice integration between my datacenter-hosted resolver and nextdns.io as the adblocking upstream DNS.

This only works for the subset of devices which use the local DNS. If they use any of the well-known techniques to avoid that filtering it's completely ineffective.

> Since we're talking about it, though, it occurs to me that you could quickly do a DoH lookup to every single new IP that initiates a new connection, outbound, from your network - and then block all IPs that answer your DoH query.

It doesn't solve the CDN problem: CDNs will route traffic based on the hostname and blocking them will have a degree of collateral damage which most people can't work with. Setting up your own HTTPS proxy avoids this.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by rsync on Saturday December 05, 2020 @04:30PM (#25318579)
"This only works for the subset of devices which use the local DNS. If they use any of the well-known techniques to avoid that filtering it's completely ineffective."

If you also block all port 53 after allowing your own resolver ... you may have some headaches with devices that refuse to use the DHCP provided resolvers but you know they aren't going to other resolvers.

That kind of control is what DoH breaks and I'd love to find an elegant (non-MITM proxy) solution for it ...

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by acdha on Saturday December 05, 2020 @04:33PM (#25318608)
There isn’t an effective solution for a device which ignores local network policy other than returning it so the manufacturer pays the cost of designing a bad system.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by dotancohen on Sunday December 06, 2020 @05:07AM (#25322467)
With the side effect of your local vendor refusing to do further business with you, "the problem customer", with your "unreasonable demands" and technobable.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by judge2020 on Saturday December 05, 2020 @07:35PM (#25319815)
DNS over HTTPS has been a thing since before IETF standardized it, the technique was just in the form of a non-standardized API running on some benign domain.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @04:37PM (#25318642)
I use iptables on an openwrt router to redirect all traffic on port 53 to my own DNS
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @08:04PM (#25319954)
Thinking about it, if you’re willing to give up TLS 1.3, you could probably just break all https connections with encrypted SNI and then filter based on the SNI information.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by yencabulator on Monday December 07, 2020 @12:16PM (#25334222)
Just to nitpick: TLS 1.3 still uses plaintext SNI by default. You need to explicitly put public keys in DNS to enable the encrypted SNI extension.

And in the context of pihole and such, avoiding that means editing the DNS response to remove those public keys. Which takes us full circle back to "do I control DNS for this gadget, or not".

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Monday December 07, 2020 @02:09PM (#25335842)
Well, it’s easy to control the DNS if you can block DoH and VPNs: just have your router forward all traffic on port 53 to a resolver you control.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by acdha on Saturday December 05, 2020 @12:46PM (#25316520)
You’ll note that I mentioned a proxy. That’s why: you need to force all traffic through a proxy you control or you’re just hoping that a client doesn’t use hard-coded IPs or an outside API of some source. If your network allows the client to send traffic to port 443 anywhere, any blocking is on the honor system.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by gnu8 on Saturday December 05, 2020 @01:21PM (#25316843)
My question here is how are you going to install your root certificate on a $300 smart TV? Or, if that is not required because the TV does not verify DoH certificates, how bad is that for security (which we already know is awful on these devices)?
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by acdha on Saturday December 05, 2020 @01:56PM (#25317216)
This comes back to the core decision: do you care about controlling the network enough to block access? If the device can't be managed / is no longer supported the safest choice is not to allow it online at all. Different people will have different risk tolerances – it might make sense to put, say, a remote-control power switch on an IoT no-man's land network but if it has access to personal information or cameras/microphones it's not unreasonable to say it should just be blocked unless you're actively using those features.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @01:33PM (#25316972)
Well, it’d just block internet access there. I wonder if it’s possible to push a root to an Apple TV
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by nemosaltat on Saturday December 05, 2020 @02:49PM (#25317691)
The Checkrain jailbreak [0] supports several Apple TVs, so I’d bet you could use use certbot to obtain a LetEncrypt [1] cert for it.

Of course, jailbreaking opens up other security issues, so it goes back to what you can tolerate.

[0] https://checkrain.org/ [1] https://letsencrypt.org/getting-started/

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by ArchOversight on Saturday December 05, 2020 @03:41PM (#25318120)
I know that you can install iOS profiles onto the Apple TV, I have done this for 802.1x support, which included a CA root for the 802.1x controller.

I would imagine you can use this to push any certificate that you can also push to an iOS/iPadOS/macOS device.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @04:51PM (#25318753)
This is what I was thinking about.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by gsich on Saturday December 05, 2020 @05:50PM (#25319188)
Right now you can block the common IPs for the DoH servers and be fine.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by denkmoon on Saturday December 05, 2020 @08:05PM (#25319967)
So I need to mitm https traffic for devices I can't change the ssl trust store on?
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by acdha on Saturday December 05, 2020 @08:40PM (#25320178)
You have two choices: trust the device or don’t let it on the network. Voluntary measures like local DNS only work to the extent that the device maker wants them to.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by shawnz on Saturday December 05, 2020 @11:24AM (#25315684)
By the same logic HTTPS is bypassing your network filtering of every service which happens to have an alternative available over HTTPS. So do you block HTTPS?
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by LanternLight83 on Saturday December 05, 2020 @01:00PM (#25316662)
I would absolutely love to have control over HTTPS traffic on my network, specifically to enable my Squid proxy to cache HTTPS pages, but unfortunately not every device or even program supports custom CA's. I'd be the man-in-the-middle between the internet and every device I own.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by BrandonM on Sunday December 06, 2020 @12:15AM (#25321254)
You don’t need to MitM. Squid can use SNI to allow whitelisted hosts, for now at least.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by shawnz on Monday December 07, 2020 @11:42AM (#25333800)
Hopefully that will be fixed with widespread usage of TLS ESNI/ECH
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by shawnz on Saturday December 05, 2020 @01:03PM (#25316688)
I think that is a pretty user-hostile attitude and I suspect you probably wouldn't really love it if every network operator was doing that kind of thing.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by mrmanner on Saturday December 05, 2020 @01:53PM (#25317182)
I read that as LanternLight83 is both the network operator and the user in this case, and if so it’s not really a problem.

I would also love to MitM myself in some cases, mostly because it’d be interesting to see what’s going on.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by shawnz on Saturday December 05, 2020 @01:57PM (#25317225)
Yes, but my point is that if you feel it's justified for your own network then you ought to expect every other network operator will feel that way about their network too.

So before applying that mentality, it would be wise to consider what your experience would be like if all your neighbours, friends, colleagues etc also did that on their networks.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by mrmanner on Saturday December 05, 2020 @02:17PM (#25317414)
Is the point that I sometimes use these networks? Then I somewhat agree - I would set up a separate guest network without shenanigans for guests to use. This avoids both the ethical sketchiness and having to explain why their web browser is shouting at them
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by shawnz on Saturday December 05, 2020 @02:35PM (#25317581)
True, that could be a good compromise. Although there are still some disadvantages like creating an SPoF for yourself and increasing your attack surface (e.g. anyone who compromises your internal CA has access to all your encrypted connections)
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @02:02PM (#25317277)
I have no problem with that: if my workplace MITMs traffic, I’ll use my cellphone connection and a personal laptop for sensitive data. If a friend’s house mitms traffic, same deal.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @01:36PM (#25316987)
What’s user-hostile is every consumer device insisting on pushing its defaults and ignoring any network policies I’ve configured.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by shawnz on Saturday December 05, 2020 @01:51PM (#25317172)
Yes, I agree that is also user-hostile, since it should be configurable. The problem is not about network policies though, since DHCP is explicitly not designed to be a policy and is purposely meant to be optional for the client.

For this reason I wouldn't recommend buying a device like the Chromecast, in which the user can't configure the network settings. Instead maybe consider something like the Amazon Fire Stick which is not as user-hostile.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by throwaway201103 on Saturday December 05, 2020 @12:13PM (#25316178)
Yes, from your IoT devices maybe you do.

The usual approach to setting up a firewall is a default of "block everything" and then selectively allow only what is needed.

Most people cheat and only do this on inbound connections, allowing everything on the egress side, because it's easier. But if you want to block your IoT devices from making outbound https connections, you easily can.

There's nothing really new going on here. It's always been possible to tunnel one protocol over another, or use nonstandard ports, and use encryption on the traffic to hide what you're doing.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @11:30AM (#25315739)
I’ve been thinking about installing a proxy with my own root for this reason.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by shawnz on Saturday December 05, 2020 @11:36AM (#25315785)
I would not want to use your network if that was the case, and I wonder if you similarly would use someone else's network if it was configured like that. I don't think network operators who provide access to the Internet can realistically expect to control what their users do on the Internet, unless the network operator is also the administrator of those workstations.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by fiddlerwoaroof on Saturday December 05, 2020 @11:39AM (#25315802)
Maybe, but my rule is: my home network, my rules. I can’t really do this invisibly anyways: any device I don’t control will get certificate validation errors.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by syshum on Saturday December 05, 2020 @03:05PM (#25317811)
The problem here is even the device owner is not the "administrator" of the device as we have lost ownership rights, locked behind EULA's, Patents and copyright

The point of the original story is "your" meaning a device you own, is ignoring your network controls

it is highly unlikely that the TV manufacturer is going to allow me to install my own custom root certs to inspect their traffic to HTTPS, so yes DoH and other things are a threat to network security, because if the TV become compromised I have limited administrative controls to prevent it other the blocking it completely which is a poor response to the problem

DoH is a solution in search of a problem that can be solves in better more user friendly ways

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by acdha on Monday December 07, 2020 @09:47AM (#25332554)
They could do that any time without DoH, as has been done for years. Your true choice is allowing network access or not.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by manigandham on Saturday December 05, 2020 @09:29PM (#25320492)
The issue isn't network filtering, it's encryption.

Standard DNS is unencrypted. DNS-over-HTTP is encrypted. Or DNSSEC or any number of newer standards that secure the DNS lookup. At that point, filtering will require MITM proxies, whether it's for DNS or HTTP or any other protocol.

It's a trade-off with security on the open network meaning harder penetration and control in your internal network. There's no easy answer.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by tptacek on Sunday December 06, 2020 @01:52PM (#25325616)
DNSSEC is not encrypted. Moreover, between end systems and DNS servers --- the scenario we're discussing on this thread --- it isn't even authenticated.
Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by manigandham on Sunday December 06, 2020 @02:14PM (#25325825)
Sure, DNSSEC provides authentication and integrity rather than encrypted traffic, which makes spoofing or rewriting the responses hard.

Why do you say it's not authenticated? If they're using the newer standards then that's what it provides. If they're not then there's no issue with network filtering as usual.

Re:72% of smart TVs and 46% of game consoles hardcode DNS se... by tptacek on Sunday December 06, 2020 @03:20PM (#25326311)
Again: the article discusses an environment where machines on a home network are refusing to use the DNS servers the network is configured to use. DNSSEC authenticates requests between servers. But between DNS clients ("stub resolvers") and servers ("full recursers"), there is no authentication, just a single bit in the header that says "trust me, I authenticated this data".

It doesn't matter if you're using your ISP's servers, 8.8.8.8, 1.1.1.1, or a custom server you set up on Digital Ocean somewhere: an on-path attacker can forge DNSSEC responses to you. It's a ridiculous situation.