5 ms·
Could you elaborate, what's the purpose of providing fake GPS data to an app requesting it?
by ComodoHacker 7y ago
Could you elaborate, what's the purpose of providing fake GPS data to an app requesting it?
- Certhas 7y agoPrevent the app from not working due to lack of GPS permission. Basically apps shouldn't have the ability to refuse to work without your data.
- ComodoHacker 7y agoapps shouldn't have the ability to refuse to work without your data I understand this case, but GP suggests to fake data for all apps. There are apps which are useless without location data. Or worse, you definitely wouldn't want to [accidentally] fake data for some apps, like a "SOS button" app.
- bpfrh 7y agoThat's why you would enable GPS for that app.
- Jonnax 7y agoSure. But the choice should be upto the user. If they want to send fake data then they should have the right to do that. It's my phone, so if I want to set my location to another country I should be able to. Of course this should be on a per app basis. An SOS button app? This is a niche usecase.
- majewsky 7y ago> An SOS button app? This is a niche usecase. Not at all. In fact, more and more emergency services providers (i.e. the callcenters where 911 gets you) get your location automatically when you call them. I'm not entirely sure though if they only geolocate by cellphone tower, or if the handset also sends location data along with the emergency call. I vaguely remember hearing about this being "supported by all modern phones" or something, so it might be the second. In this case, you absolutely don't want faked location data because it could cost lives.
- einr 7y agoThat's not an app, and it would be trivial to hardcode a device to send its true GPS location when an emergency number is dialled. Your phone already knows the distinction between emergency numbers and normal ones.
- kube-system 7y agoThe mechanisms supporting those features are mandated by law and couldn’t legally be subject to user-selected permissions. Those mechanisms are not running as untrusted applications on the OS anyway, I believe most/all of them are implemented in radio firmware.
- dbcurtis 7y agoInteresting. Can’t wait for my Librem 5 to arrive because it enables experiments like this. I can imagine a 3-way (or more) switch. Give Lyft my GPS for right now so my driver can find me. Always block GPS on some apps, and provide fake random GPS to all others. Would be interesting to try. Of course not everyone will run a Librem (understatement). But interesting ideas might find their way into more mainstream platforms.
- ViViDboarder 7y ago> apps shouldn't have the ability to refuse to work without your data I don’t know. It’s a good signal to me, a user, that it’s an app I probably don’t want to be using anyway. Also, it’s the perfect solution to change the supply and demand structure. If people keep using the apps, they won’t know the difference. Finally, it’s their app and this their price (personal data). You can chose to pay with it or not. Just like with any other currency, the choice is still yours as a consumer, but you are not entitled to the product by default.
- Nextgrid 7y ago> Finally, it’s their app and this their price (personal data). You can chose to pay with it or not. There’s a reason selling organs is illegal in most countries, otherwise people end up cornered into a position where they have no other choice. Regulation doesn’t work (or doesn’t want to work, see the GDPR), the only thing left is guerilla tactics like poisoning the data so the ad-tech scum can’t tell whether they’re being lied to or are getting real data, putting in question the integrity of their entire database and them out of business.
- bobajeff 7y agoThese days it's not terribly clear to users that their personal data is the price.
- danShumway 7y agoThe same problem appears for disabling data (ie, a kill switch). What happens if your GPS is disabled right now and you dial an emergency number? Depending on the OS/phone we could either: a) live with the consequences, or b) have a bypass mechanism that can only be enabled for very, very special apps and emergency numbers s/block/fake/ doesn't change that.
- LandR 7y agoFor companies that want to track you and aggregate and sell your data if they know you are not sending them data then nothing much happens to them, they just lose some data. They can probably live with this. However, if everyone sends them garbage datathen they don't really have anything valuable then. The whole business model falls down.
- lovehashbrowns 7y agoHaving previously been in a position where an ad agency thought we were sending trash data and literally threatened to boot our millions-of-dollars-worth contract, that shit ain't no joke. And having that previous knowledge, I would very much approve of sending fake data instead of blocking. That can 100% tank entire companies that don't have the engineering capacity to deal with this in time. We literally had a week or two to clean up our data or be gone.
- Jordrok 7y agoHow did it get to the point where there was enough "bad" data that the ad agency took notice and was angry enough to take action? I like the idea of jamming ad networks with junk data, but I would imagine that it would have to happen at a massive scale to make any sort of difference.
- lovehashbrowns 7y agoThey accept a certain rough percentage of bad data because having 100% clean data is a little impossible, but basically we constantly had people using our app on virtual machines, phone farms, reverse engineering our API, etc. It was a constant battle to ban them as soon as possible. At some point, our ad partner contacted us letting us know that some of our data was coming from blacklisted IP addresses--AWS, Linode, known bots, etc. Ranges where a human almost certainly isn't actually viewing ads, and told us to fix it asap or get out. We ended up licensing an IP blacklist. It updates daily, and it comes with both individual IP addresses and cidr ranges. We didn't have time to write a fraud system to ban users, or do this check via our api. So my solution was to check every IP that came in through our load balancers against the blacklist and blackhole it somehow. Since we were using nginx, I swapped to open resty because that comes with Lua already fully baked in. Next, I wrote a Lua script that just checks if an IP address is in the blacklist. It even had a caching module! That was awesome. The real hard part was where to keep the IP blacklist. I came up with the solution to use Redis. If an IP address exists as a key in the Redis DB, it's blacklisted. This "if key exists" check is O(1) in Redis as far as I still know. So I wrote a cron job that runs every day to download the new blacklist, expand the cidr ranges, pipe the individual IPs into a second unused redis db, save the DB and restart production redis so it picks up the backup and refreshes its list of addresses. This list was massive, btw, especially when you expanded the cidr ranges, some of which /8. And the Lua script would just run a GET query on redis. If the key exists, open resty would just return a 40x code. Lua+open resty and redis are all super fast so we didn't lose much by checking every single API request this way. After that, the ad agency was happy and we didn't get booted. But it was a super close call. Basically if redis didn't exist or wasn't as awesome, I'm fairly certain some engineers would have worked a solid 72hrs to write the php needed for an effective ban system that could go into production. I wrote the lua/redis solution and got it into production in an evening. So simple and really fun to write. If this were to happen to a company getting bad data from a browser, either they'd have to clean up the data or get kicked out as well. Ad agencies pay for this data, so it's not like they're gonna turn into a charity and accept it. I'm sure it also messes up their datasets as well. I can't even imagine what it would take to clean data coming from a known good source/ip but with bad info. Yikes.
- reaperducer 7y agoA lack of data is also data. Fake data pollutes the stream.