Remix.run Logo
wizzwizz4 a day ago

What does "the user is free to still resolve it if they want" mean in a world where people do not control, or even understand, the software running on their computers? (Because I can tell you, I certainly don't.) This abstraction is a nice idea, but it's unrealistic as part of a serious threat model. Does Joe Q. Public know about the hosts file, or how the Windows network stack selectively overrides its entries, or how some of the Linux userspace uses systemd-resolved, or the things that I don't even know to write here? I'M not the one resolving domains: the software running on MY computer is.

And even if I'm a super genius who's written my own full-stack operating system on my souped-up speccy, I'm still bound by the laws of information theory. If you need information that you don't have, you're necessarily requesting it from a source (here, a computer) external to you (here, outside your control). A complicated network protocol doesn't make that fact go away, and doesn't allow you to ignore it. (It might mitigate various censorship or spoofing approaches, but you only know that if you check: the abstraction won't save you merely by virtue of being an abstraction.)