4 ms·
Here are some strategies for IOS: 1) use device identifer / advertising identifier to identify the user and block them. problem: user can reinstall app and the
by benmmurphy 6y ago
Here are some strategies for IOS:
1) use device identifer / advertising identifier to identify the user and block them. problem: user can reinstall app and these identifiers are recreated
2) store a random identifier on the disk or in nsuserdefaults or some other app storage. problem: user can reinstall app and these locations are wiped
3) store a random identifier in icloud keychain. my understanding is this doesn't have the same problem as above but its possible for user to wipe this.
4) use apple device check API. https://developer.apple.com/documentation/devicecheck https://developer.apple.com/documentation/devicecheck this allows you to associate 2 bits of information with a users device. you can use 1 bit to control whether the device should be banned.
5) use a third party device fingerprinting solution or roll your own device fingerprinting. my understanding is there is enough entropy on the phone to uniquely identify it. for example you can find out what time the original OS was installed in the Foxconn factory. i think apple should ban all apps that do this but a lot of apps do this. :(
- tvbuzz 6y agoPossibly off-topic ... Can you provide a reference for “find out what time the original OS was installed in the Foxconn factory”?
- qrbLPHiKpiux 6y agoApp developers are come creepy people themselves.
- benmmurphy 6y agoYou can stat files in the filesystem. We found some apps were stat'ing some files and these had different dates on different devices and they seemed to be around the time the device would have been manufactured. I can't remember off the top of my head the what the names of the files were. You can also determine when the last update was installed by stat'ing files in the filesystem. But this is less useful for fingerprinting a device because it is prone to change.