I can't help but see it from the other perspective: if I disable cellular data and location services, I can randomize my MAC address on my iOS device? Awesome! (As long as it works over Wi-Fi...)
Well, that's just it. It was announced as, and should only work as, the ability to scan for wifi hotspots using a random, untraceable MAC address. This is because advertisers and other third-parties were beginning to use wifi hotspots as passive ways of collecting unique IDs for devices (their MAC addresses). So under this system, when it works, walking by a hotspot shouldn't identify you to it if you don't auto connect, while actually connecting would.
Edit: from their previous post:
In iPhone 5s, MAC randomization happens only under the following conditions:
Phone is in sleep mode (display off, not being used);
Wi-Fi should be ON but not associated
...
I would argue that the phone needing to be in sleep is also a bug. It should "just work"... Ideally even when scanning for new networks while associated.
One of the use cases I've read about is retail shops would record all devices within range (1 MAC = 1 user) and could get a good guestimation of:
- How many customers current in-store?
- How many are repeat customers?
- How often does [repeat customer] come in? List of dates and times.
- Manufacturer of their cellphone (e.g. Apple. Samsung, etc)?
Obviously this type of data collection has limitations (e.g. people without cell phones, with WiFi disabled, etc). They also cannot likely tie purchases to unique MACs (because cellphones scan infrequently, so detecting them as they leave through a register is difficult/unlikely).
However they can somewhat work around these problems by harvesting additional information from "apps" (e.g. install our app get a coupon!). The app grabs the MAC and now they can tie that customer's shopping behaviour directly back to the customer.
I wasn't aware of that. Unfortunately Android apps have no such restriction [0] and don't require any special permissions [0]. That iOS 7 change is likely along the same vein as Apple's addition of MAC randomisation: trying to disrupt such tracking.
I'd wish Google to follow suit, but let's be frank: Tracking people is Google's bread and butter. They're more likely to sell MAC addresses to advertisers than they are to randomise or otherwise restrict access to them.
It does appear to require permissions, as documented in that answer. Apparently it only needs INTERNET[0], which could qualify as "don't require any special permissions" as you say. INTERNET is disappointingly broad.
Bluetooth is fairly hard to sniff because it has encryption and frequency-jumping built in. It can be done though, maybe with an UberTooth One or similar. http://ubertooth.blogspot.com/
For those tl;dr, what Nick's writing about here is that you don't need to turn off cellular data or location services -- the requirement that the phone as to be asleep is instead too restrictive, because your phone is rarely asleep for long. (Those two settings let your phone sleep longer.)
> Unfortunately, the requirement of the phone being asleep makes this feature nearly useless, albeit within the description of what Apple advertised at WWDC. In order to get random MACs to be used I had to turn off notifications for multiple apps, turn off push email, and stay up late at night when there was a greater chance of my phone getting to sleep, uninterrupted, for more than a minute or two. Even under these circumstances, I would only encounter one or two rounds of probe beacons (which seem go to out every couple of minutes) with a random MAC before seeing my phone blast a bunch of probes with my real MAC. My best guess is this would happen when some process of push had woken the device up. With cellular data turned on, only about 50% of the probes I saw go out had a randomly assigned MAC.
But there's a worse problem, as mentioned in the last paragraph below from the iMore article:
> Rendering this feature even more useless, when the probe requests went out with a random MAC, the probes contained SSIDs of 5 networks that the phone had previously connected to. This means even when my MAC is random, the SSIDs it's broadcasting can act as a fingerprint for my phone. My MAC can be different every time probes go out, but if it broadcasts the same set of 5 network names every few minutes, it may still be possible for monitors to track my device.
27 comments
[ 2.6 ms ] story [ 61.3 ms ] threadSo it's disappointing to find that it's only going to randomize in specific, somewhat unusual modes. :(
Edit: from their previous post:
In iPhone 5s, MAC randomization happens only under the following conditions: Phone is in sleep mode (display off, not being used); Wi-Fi should be ON but not associated ...
I would argue that the phone needing to be in sleep is also a bug. It should "just work"... Ideally even when scanning for new networks while associated.
- How many customers current in-store?
- How many are repeat customers?
- How often does [repeat customer] come in? List of dates and times.
- Manufacturer of their cellphone (e.g. Apple. Samsung, etc)?
Obviously this type of data collection has limitations (e.g. people without cell phones, with WiFi disabled, etc). They also cannot likely tie purchases to unique MACs (because cellphones scan infrequently, so detecting them as they leave through a register is difficult/unlikely).
However they can somewhat work around these problems by harvesting additional information from "apps" (e.g. install our app get a coupon!). The app grabs the MAC and now they can tie that customer's shopping behaviour directly back to the customer.
I'd wish Google to follow suit, but let's be frank: Tracking people is Google's bread and butter. They're more likely to sell MAC addresses to advertisers than they are to randomise or otherwise restrict access to them.
[0] https://stackoverflow.com/questions/6064510/how-to-get-ip-ad...
[0] https://stackoverflow.com/questions/16127263/networkinterfac...
Wi-Fi MAC is unrelated of the IMEI of the phone. It's on a different chip, and uses different antennae.
(Eg, you can browse over Wi-Fi while talking on your cell connection)
https://play.google.com/store/apps/details?id=eu.chainfire.p...
What's the triggering event for new randomized address for both BT and WIFI? reboot, screen on?
http://www.imore.com/closer-look-ios-8s-mac-randomization
In any case the conclusion is mostly the same: the feature does not really appear to be effective at all.
> Unfortunately, the requirement of the phone being asleep makes this feature nearly useless, albeit within the description of what Apple advertised at WWDC. In order to get random MACs to be used I had to turn off notifications for multiple apps, turn off push email, and stay up late at night when there was a greater chance of my phone getting to sleep, uninterrupted, for more than a minute or two. Even under these circumstances, I would only encounter one or two rounds of probe beacons (which seem go to out every couple of minutes) with a random MAC before seeing my phone blast a bunch of probes with my real MAC. My best guess is this would happen when some process of push had woken the device up. With cellular data turned on, only about 50% of the probes I saw go out had a randomly assigned MAC.
But there's a worse problem, as mentioned in the last paragraph below from the iMore article:
> Rendering this feature even more useless, when the probe requests went out with a random MAC, the probes contained SSIDs of 5 networks that the phone had previously connected to. This means even when my MAC is random, the SSIDs it's broadcasting can act as a fingerprint for my phone. My MAC can be different every time probes go out, but if it broadcasts the same set of 5 network names every few minutes, it may still be possible for monitors to track my device.