So many people here will go though great lengths to protect themselves from fingerprinting and snooping. However, one thing tends to get overlooked is DHCP and other layer 3 holes. When your device requests an IP it sends over a significant amount of data. DHCP fingerprinting is very similar to browser fingerprinting but unlike the browser there does not seem to be a lot of resources to defend against it. You would need to make changes to the underlying OS components to spoof it.
What are everyone’s thoughts on this? Did we miss the obvious?
DHCP only acts in local networks which is in 90%:
- home network where you trust every device to not spy on you
- office network where in most cases your emloyer provided you with the hardware. And in 10%:
- Public WiFi
The only thing leaked in DHCP is your MAC. Attacker can use this info to identify brand of our network adapter. Or if they have really huge database of laptop manufacturers attacker can identify your device. If you use VPN or TOR the only thing they know from now on is that you use VPN or TOR. And if they really have everything in that database they will be able to tell who bought that computer. So now attacker can only knows who is in their netwotk.
Which is useless in scenario 1. and 2. Where you already know who is in your network and owner of that network has no database to identify you based on your MAC.
In scenario 3. If we are talking about huge public networks like WiFi provided from your town. If infiltrated by 3 letter agencies which may have such database they could theoretically track your location based on which town network you connected to.
But you can protect yourself from this:
- Do not connect to public networks
- Your OS/Network card driver allow you to use random MAC address. Just enable random MAC in your network settings. In Android: WiFi > Select specific network > Privacy > Use randomized MAC.
Also take note some general location tracking can already be done through mobile networks.
The only thing leaked in DHCP is your MAC
This is not true. It also leaks your hostname by default and often your previously associated IP. There’s also vendor-specific “DHCP option” sets that can hold extra data too, which some OSes might use to leak additional info.
Does randomizing your MAC create any usability issues? Needing to log in repeatedly, getting bumped off network due to looking like a different device, anything else hindering usability?
I feel like I’m missing something here…
Who’s going to be fingerprinting DHCP messages on your home network?
Outside of that, fingerprinting or tracking any DHCP info would be the least of my concerns. You have 0 control over any data the moment your devices connect to a public network. What use is DHCP info when you can person-in-the middle all the traffic anyway?
And anyway, what info are you concerned about? Having had a VERY quick browse of RFC2131 the worst thing would be “leaking” the device MAC address which can be discovered via several other means anyway
I guess the hostname could be used to defeat MAC randomization if you use public WiFi like hotels, airports and coffee shops. You could probably identify repeat users if you cared enough.
But then your worry should be the security cameras not the WiFi, because that’s what’s gonna tie you personally to your device connecting.
Your router always knows your Mac address, no matter how you got your ip assigned. And yes, you can use it to identify the client - that is why it is there. This whole post is nonsense written by someone who doesn’t really understand what dhcp is or how it works. Long story short, don’t look for privacy on local Ethernet segment :D
Long story short, don’t look for privacy on local Ethernet segment :D
You seem to be forgetting that a lot of people use portable devices on other networks than their home one.
Most modern operating systems randomize the MAC. DHCP does have extra fields such as the device’s hostname that can be used to counter that.
But as I said, that’s unlikely to be the weakest link. If you don’t trust the network you’re also likely in a public environment where people can just see you anyway.
When your device requests an IP it sends over a significant amount of data.
Like…?
Using randomized MAC on my phone’s, and observing the behavior on my network. It works fine, the router can’t assign a ip to the device because the physical address changes. The os fingerprinting still works, the gateway knows what kind of device it’s talking to.
Android? How do I force it to use a random Mac every time? It pins a random Mac to a given network, which greatly reduces privacy between sessions.
Developer settings for newer androids.
GOS has it on by default https://grapheneos.org/features#wifi-privacy
I mean, yeah. Lots of shopping centers have devices specialized on fingerprinting mac adress. It was already 10 years ago a thema that you should disable wlan and bluetooth if you go out of the house.