Ask Slashdot: Are My Drone Apps Phoning Home?
Slashdot reader bitwraith noticed something suspicious after flying "a few cheap, ready-to-fly quadcopters" with their smartphone apps, including drones from Odyssey and Eachine.
I often turn off my phone's Wi-Fi support before plugging it in to charge at night, only to discover it has mysteriously turned on in the morning. After checking the Wi-Fi Control History on my S7, it appears as though the various cookie-cutter apps for these drones wake up to phone home in the night after they are opened, while the phone is charging. I tried contacting the publisher of the Odyssey VR app, with no reply.
I would uninstall the app, but then how would I fly my drone? Why did Google grant permission to control Wi-Fi state implicitly to all apps, including these abusers? Are the apps phoning home to report my flight history?
The original submission asks about similar experiences from other drone-owning Slashdot users -- so leave your best answers in the comments. What's making this phone wake up in the night?
Are the drone apps phoning home?
I would uninstall the app, but then how would I fly my drone? Why did Google grant permission to control Wi-Fi state implicitly to all apps, including these abusers? Are the apps phoning home to report my flight history?
The original submission asks about similar experiences from other drone-owning Slashdot users -- so leave your best answers in the comments. What's making this phone wake up in the night?
Are the drone apps phoning home?
Yes. Recently, the military suspended the use of certain drone manufacturers products for the same reason.
Analytics. Telemetry. Whatever you want to call it, data is traversing the network without your explicit approval.
If you have a samsung and couple of hours I have a solution for you.. if you know a little bit of java.
Samsung phones have firewall apis that you can access with a sdk from samsung and a license code. you can also turn off the wifi with same apis in a way that another app cant open it. also with same api's (and well, if you got admin rights somehow for your app on vanilla android too) you can enable/disable particular services and activities from within the app - this depends on the architecture of the app, but it is possible possibly to just turn off the phone home service.
there are also other things you can do that work on all phones, there's an app on the play store for changing app permissions.
(what it does is repackage the original .apk with different permissions. so you can remove the perm for wifi control from the apk - the app will still have permission for normal http connections though).
now, you might ask why android doesn't give you as the device owner access to all these options just outright from opening the box: because fuck you peon, that's why.
on vanilla android(without rooting) if you want to give admin rights to an app you have to do it BEFORE finishing the first start dialog flow and there isn't that many ways to do that except nfc on some models and a flawed otg auto-apk installer on some other models.
so the samsung extra api's are a case where manufacturer additions to the firmware are actually pretty nice if you use them for yourself instead of someone using them against you.
world was created 5 seconds before this post as it is.
Settings > Apps > tap the app (App info) > Advanced > Modify system settings > uncheck the Allow. That will disallow the app from enabling your WiFi.
Apple makes sure that every app available to me is a good and wholesome app, no problems with Apple apps. Google allows bad apps, Google is bad.
I had a drone with iPhone app that called home too so its not just an android issue at all.
I've found that using a Pi-hole and adding the domains they're trying to call to the blacklist to be useful.
Submitter is now learning how to disallow an app from doing this on Android. Some apps you *do* want to be able to turn on WiFi on its own (e.g. VoIP phone app if you don't want it burning your cellular data).
If you know you're technically incompetent and want someone to handhold you through your phone "ownership", then iOS is what you want. If you have the technical knowledge to tweak the phone and want the freedom to use your phone however you want, then Android is what you want. Just like some people like to buy a Toyota and take the car to the dealer at regular service intervals, while other people buy a Chevy and modify or tweak every single component and do all the maintenance themselves. Different strokes for different folks.
Oh give me a drone, That phones home on its own, And uploads all that I've done, And when it has phoned, Little drone of my own, Its makers will see all my fun.
You are lost in a twisty maze of little standards, all different.
You can enable/disable Mobile Data on a per-app basis in iOS - go to Settings > App Name and you can turn on/off Mobile Data for any apps that have registered as using mobile data on your device.
re: big corps that use unpublished APIs, this used to be the case, but Apple have cracked down on it significantly. There are a number of apps that are permitted to run in the background, Facebook is not one of them, however Facebook "accidentally" registered their app as a media player and they'd play a silent mp3 in the background to get around iOS trying to freeze the app when it wasn't in use. Apple had a quiet chat to Facebook and this has apparently stopped.
As far as I know, if you force-quit an App, it has no way to re-launch itself in the background and start using data again.
Specialist Mac support for creative pros, Melbourne
In this day and age, you have to assume that every piece of software you run on any platform will be phoning home.
That's why I firewall all traffic, incoming and outgoing, these days, especially on my phone. It's also rather interesting examining the logs of what was blocked.
In fact, as I was doing routine firewall maintenance over the weekend, it occurred to me that at some point I made a shift -- I now pay more attention to outgoing traffic than incoming!
Industry trends have resulted in it becoming necessary to treat all devices and software, inside or out, as threats.
Android has had the ability to turn on/off any permission for any app since at least Marshmallow. Go to Settings->Apps then click on an app and then click on 'Permissions'. Don't want it using WiFi? Turn off WiFi. Don't want an app to track your location? Turn off Location. Simple and you don't need to be rooted at all as it's part of the OS