Re:iOS allows DNS request to escape the VPN tunnel
by timbit42 on Wednesday October 12, 2022 @01:30PM
(#33180229)
We will need to keep a list of DNS IPs to block access through ports 80 and 443.
[ Parent
| on HN ]
Re:iOS allows DNS request to escape the VPN tunnel
by giobox on Wednesday October 12, 2022 @01:33PM
(#33180269)
And what happens when they start changing the port? It's a battle no one ultimately can win, in short term. The technical options available to get DNS by so many different means are so easy to implement, relatively speaking. Even a really junior engineer can likely invent their own DNS resolution protocol, its one of the simplest APIs to reinvent if all you care about is returning IP address for a given name.
80 and 443 are only used by convention for HTTP/HTTPS - you can use whatever the hell you like. There's also the option to not use HTTP(S) or DNS at all to obtain addresses, the list of ways you can avoid traditional methods is endless. Finally, you can just serve your DNS on same IP as back end of the app - block the IP and the app dies completely, meaning a simple IP block will not work etc etc.
FWIW people (including me) already do this, but its a blunt tool and not all that effective in many cases: https://gist.github.com/ckuethe/f71185f604be9cde370e702aa179...
Re:iOS allows DNS request to escape the VPN tunnel
by timbit42 on Thursday October 13, 2022 @10:21AM
(#33191340)
Fine. Block that IP on every port.
Re:iOS allows DNS request to escape the VPN tunnel
by giobox on Thursday October 13, 2022 @11:56AM
(#33192748)
I don't think you really appreciate the scale of the problem, when any protocol can be used. Port/IP blocks simply are too blunt now, and once again you are screwed if app provider uses the same IP for illegitimate DNS as legitimate services - you might not be able to block the IP at all and still access the services you need on that device or application. To give one example - imagine if netflix shared video on same IP as their private DNS service. They could even use the same port. Can't block the DNS without blocking the service.
Heaven forbid they use dynamic IP/port allocations too...