You might sideload an Android app, or manually install its APK package, if you’re using a custom version of Android that doesn’t include Google’s Play Store. Alternately, the app might be experimental, under development, or perhaps no longer maintained and offered by its developer. Until now, the existence of sideload-ready APKs on the web was something that seemed to be tolerated, if warned against, by Google.
This quiet standstill is being shaken up by a new feature in Google’s Play Integrity API. As reported by Android Authority, developer tools to push “remediation” dialogs during sideloading debuted at Google’s I/O conference in May, have begun showing up on users’ phones. Sideloaders of apps from the British shop Tesco, fandom app BeyBlade X, and ChatGPT have reported “Get this app from Play” prompts, which cannot be worked around. An Android gaming handheld user encountered a similarly worded prompt from Diablo Immortal on their device three months ago.
Google’s Play Integrity API is how apps have previously blocked access when loaded onto phones that are in some way modified from a stock OS with all Google Play integrations intact. Recently, a popular two-factor authentication app blocked access on rooted phones, including the security-minded GrapheneOS. Apps can call the Play Integrity API and get back an “integrity verdict,” relaying if the phone has a “trustworthy” software environment, has Google Play Protect enabled, and passes other software checks.
Graphene has questioned the veracity of Google’s Integrity API and SafetyNet Attestation systems, recommending instead standard Android hardware attestation. Rahman notes that apps do not have to take an all-or-nothing approach to integrity checking. Rather than block installation entirely, apps could call on the API only during sensitive actions, issuing a warning there. But not having a Play Store connection can also deprive developers of metrics, allow for installation on incompatible devices (and resulting bad reviews), and, of course, open the door to paid app piracy.
Yeah, it happens to Spotify mods as well. This isn’t good
App developers need ways to know the app has not been modified in unsanctioned manner, glad to see Android finally catching up on security with integrity checks.
Why do you think apps should verify their integrity in the first place? In the case of banking apps or other online apps, the APIs they use should be secure in the first place so a user can’t achieve anything meaningful by modifying API calls. In the case of offline games with monetization, a hacker who makes a pirated APK will also remove the restriction so legitimate players on non standart ROMs will get screwed. In the case of messaging apps with a “delete messages” or “one time view” function ie. Whatsapp, the sender shouldn’t take that their actions will be respected by other clients because modded apps exist and Whatsapp doesn’t care if you install it on a rooted device.
API are secure only if you can secure the authentication details. A modified app (be it as something modified and distributed on a unsanctioned channel, or custom injected by another malicious actor/app) can easily siphon out your authentication tokens to a third party unbeknownst to you the user. However, if the app verifies it came from the approved source and have not been tempered with, then it is much easier to lean on ASLR and other OS level security to make it harder to extract the authentication info.
Multiplayer game operators have obligation to curb modified clients so their actual paying clients have a levelled playing field. By ensuring their apps are only distributed via approved channels and unmodified by malicious players, this improves their odds at warding off cheaters creating a bad time for those that actually pay them to play fairly.
These are just simple cases where this kind of security is beneficial. I am glad Android is finally catching up in this regard.
be it as something modified and distributed on a unsanctioned channel
Downloading APKs from reputable sources and signature checking can help with this one. Android will refuse to upgrade an app if APK has a different signature anyways.
custom injected by another malicious actor/app
If this is possible there are bigger problems.
Multiplayer game operators have obligation to curb modified clients so their actual paying clients have a levelled playing field.
There isn’t much I can say for that.
This!
APK signatures exist and they’re enough for making sure the file you got isn’t modified. Warning people when they use apks for stuff like banking, I get, but if they wanna take the risk, it’s on them.
Blocking root makes no sense because I’d argue that if the person knows enough to root their phone and got past all those bricked phone/thermonuclear war warnings, the onus is on them to not get their keychain compromised by giving root to some random app. Again, a warning is fine.
Aside from that, people need to understand: THE CLIENT IS NEVER SECURE. NO EXCEPTIONS.
Any self respecting secure API is made under the assumption that all the calls are coming from some malicious state actor using
curl
until proven beyond doubt that it’s an actual user.
Yup, this is important for certain apps with a high security bar. Surprised at all the downvotes.
certain apps with a high security bar
like the McDonalds app, which already requires workarounds to work on rooted devices?
You want affordable food, you WILL pay them with your data. Always on location please! Oh and precise as well, thank you.
Of course not, sometimes it really is just corpo bs, don’t use their app if it’s such an issue for you.
This is Lemmy. If you’re not advocating for FOSS, or piracy to spite the corporations, you’re gonna get downvoted. I don’t care. We need better security standards whether these kids like it or not.
Security by default is fine, but not if its being forced.
If I go out of my way to root my phone or sideload an app, I have a reason for that. I’m fine with an app going “Hey! This phone is rooted / this app is not from an official source! Wait 10s before you can click ‘I understand and take full responsibikity in case of a security breach’”.
I’m not OK with an app going “I will not work on this device because yiur environment is non-standard, period”.
This does jack-all for security, it’s just monopolization in disguise and you’re buying into it.
They can check their own integrity without Play services. And even then, ME AS A USER, doesn’t want the app to decide this for me.
Slippery slope. Soon it wil be for all fucking mundane apps because they don’t want you running a modded version…which is why fucking choice to do
Personally, it’s not Google’s place to dictate how an app verification ecosystem works. If a company has developed an app, they need to be the ones to make sure it’s secure in the first place, not trusting a monopolist tech company that has almost all control with how someone uses their phone.
Google has rules yes, but Android is open-source and should be open with a free & open market for apps. After all, we paid for the device.
It’s my phone. If I’m specifically going out of my way to do that, they have no right to force me to do it their way.
No, this will only lead people without access to Google Play to be forced to get it from somebody who has modified the app to fake the check.
Which obviously sucks but also is exactly what developers want or just don’t care
If they don’t have access to Play, then the developer of that app specifically does not want to service them as a user. Developers have to enable this feature in their own apps for it to do anything. If that developer wanted to support de-Googled users, they wouldn’t enable this in the first place.
It’s not like dedicated people aren’t going to be able to just patch out the calls to this API from the apps themselves…
This feels like yet another attempt at DRM that is doing more harm than help.
Why would that be possible? Wouldn’t the developer have their server rejected any calls from “unsigned” apps?
If functionality exists in the client app, there’s nothing to be done to stop someone from bypassing checks.
Looking into it further this looks like it’s an API between the backend of a service and Google though. That would be difficult to defeat, but you could probably spoof the identity of the requesting device with enough effort
You mean like literally every single attempt at DRM since the Big Bang?
Indeed, I already bypass SafetyNet and Play integrity with some kind of xposed module, I don’t expect this to change.
Can you tell me which modules you use? I am trying to pass SafetyNet on Waydroid but can’t pass even basic integrity.
idk where I got it from, but it’s called “Universal SafetyNet Fix” by kdrag0n
Did you just install the module and passed safetynet or did you have to use custom fingerprint? Also are you on custom or stock rom?
Don’t remember, sorry
Am on e/os/
I’ve used Magisk with the safetynet module + hiding root from apps with like a 95% success rate. Quick search for “magisk safetynet” and look at the xdadevelopers threads
Whoa, is Xposed still a thing that works? Had to use Magisk instead to get the safety net stuff working on Lineage OS android 11
Xposed is just an API which is provided by the LSPosed Magisk module.
Huh…the more you know. I just assumed Magisk was a spiritual successor, apparently I misunderstood how any of it works.
Androids best advantage used to be full control of the device… Those were the days. Then it started with saying they know better than you, then locking you out. Now I’m waiting on a new, better solution.
Honestly it’s not like native Linux is too far fetched, but there would have to be a big open source common ground device collaboration.
So the EU’s been forcing Apple to allow sideloading and Google goes Nah, it’ll be fine?
Google still allows sideloading, it’s the app developers that can prevent you from installing their app from other sources than Google Play. Sideloading an app works fine on Android if the app’s developer allows it. Apple didn’t allow that even if the app devs wanted it.
You are technically (and possibly legally) correct… But the spirit of the law is allowing customers to install what they want on their devices.
This move defuses the responsibility to the developers but EU showed in the past that what they care is the spirit of the law and not the law itself…and they are happy to change the laws to make them more adherent to the spirit
I would be really happy if you’re right, but I sadly think Google’s fine here. As far as I understand it, this particular regulation is to prevent a powerful actor (Google, Apple) to use their monopolistic powers to shut alternative stores down. It’s not about allowing customers to install whatever and however. Google doesn’t shut anyone down with this, so they should be fine. They give the option for app developers to choose if they want to run only on an attested platform - which they sell as a completely optional security feature that nobody has to use.
My guess is if the EU is going to take this further it would have to be regarding a potential monopoly on the attested platforms on the device. Google only offering their own platform as trusted could potentially be seen as another monopolistic behavior. If we’re lucky.
The problem is though that the attested platform only accepts Google play as a store, for this to be truly fair you’d need a way to set a default store setting up and then the attestation API checks that store, but as things currently are it’s giving Google play store an unfair advantage.
Waiting for steamphone
Man I really hate how they stripped your permissions to access the internal and external storage, files can no longer access data from other apps even if you say allow all file access. Also if your phone supports SD cards, you might notice that you don’t have write access to it for some reason on later versions of android. (I really struggled with this with my Galaxy S9 on Lineage), had to use apps that remounted my SD card and what not
I use apps that aren’t available in my region for language study, so this could end up being a real problem for me.
Ew. Fuck google
I hate having to be on the side of “Defending” google… but this is the app makers fault, They are the ones using whats provided and installing the artificial limitations.
Google just provided the capability to do it. The app makers are executing it.
Lucky Patcher?
I get most of my stuff via F-Droid or I could use Obtainium. My tablet is Google-free. This sounds like my phone should be Google-free as well.
Yeah but banking apps are starting to check integritynet, and (in France, at least) they’re pretty much mandatory to do anything useful with your bank account/credit card online… I think Uber does too, I boycott them but others might follow suit…
Currently running lineageos, but I think I’ll just give up and go for a Pixel for my next phone… Sucks to let google win but I like to do useful things with my phone…
for me for example i just use the web version of navy federal, works pretty fine.
You can’t in some countries. Like if you want to wire something, or setup a payment you have to use the app. It’s mandatory. If you go through the website it ask to open the app to confirm it’s you.
So people that only have a computer and not a smart phone can’t do those things at all?
They have to call, mail or physically go to the bank I guess.
Yes. They to go to a physical location. Then ask an employee there… Sounds so stupid to me but 🤷♂️
i feel like if you switch to the desktop version of the website, it wont pester you.
Unfortunately it will, if I want to add a new transfer recipient or make a payment on a 3D secure website, the app is mandatory, even on desktop.
I use a hardware TAN generator though I also have a banking app as a fallback on my Lineage OS phone. If I ever buy a Pixel it’s only to install Graphene OS on it.
Sadly most French banks use a custom validation process which requires you to use their app to validate a transaction. And my main bank’s app has warned me that it will “soon” stop working on custom ROMs…
You can still pass play integrity with a rooted phone/custom ROM. Mine is currently passing with strong while rooted.
What do you use? I rooted my phone precisely for this, but google pay and my bank still see I’m not on the stock ROM : (
I’m currently using APatch, PIFork in script-only mode, and Tricky Store with a leaked keybox.
If you need to spoof for apps you’ll need some other stuff. For APatch there’s a thing called Cherish Peekaboo, for KernelSU you can use Shamiko. These will do their best to hide the fact that you’re rooted from apps. There are some detector apps that can help you fix things that apps might see, but there not entirely needed.
Also since you’re not on the stock ROM, you’ll need to spoof your props so just use the regular Play Integrity fix.
Long live custom degoogled ROM.
the google store environment is such a pain, at work we have android based Zebra barcode readers… today when I was sideloading our app one of the devices kept uninstalling it because of google play… what a fucking pain in the ass
only when intune fully took it over did it stop…
DONT MAKE ME LIKE INTUNE GOOGLE… JFK
John F. Kennedy?
He’d probably try eating the stupid thing!
Did you turn off Play Protect?
And yeah, when we set these barcode scanners up, unfortunately it made me appreciate Intune’s Android management tools. I despise Microsoft and Google, but Microsoft won that round of “Who do I hate the least right now?”
Good that most apps I use now are open source but for those few that I still get from Aurora Store it might be a death sentence but perhaps this API could be spoofed?
From where does the aurora store get the binaries?
From the Play store
Haha, gross: We can’t control the devices we own.
I genuinely don’t even know where to buy an affordable device that is free from this kind of control. Some company always has outsized control (and in some cases arguably surveillance) over anything you can find on the market. It sucks so bad.
Ironically, it might be Pixel + Graphene
How tricky is this to install and use? I have a samsung and use lots of the usual apps. Wondering if it would be feasible for that purpose.
Haven’t tried yet but it’s becoming increasingly appealing to me lol
Just the term “side loading” instantly frames installing software on a device you own as something shady.
“side-loading” is literally the norm on Windows and Linux
Yes, that’s the implication, and it’s certainly intentional for you to think of it like that.
The fact that an entire generation thinks the only proper way to use software is through an app store is absolutely terrible.
As a long time linux user i find it normal to only install apps through a package manager (essentially the same) but you have a defined API for package sources and can add sources as you like. that would be the best solution. manually installing apps IS risky, and opens the door for malware and incompatible packages, but if you have a trustworthy package source that your packa manager can varify its packages against it gets way better.
A package manager and app-store, which looks very similar from the outside, operates very differently with respect to security and privacy.
Microsoft saw Google and Apple do this with phones, and Steam do this with games, and that’s why they made the Windows store a thing starting with 8.
They wanted to go the same direction.
Put steam with the rest of these parasites ain’t fair… For now
Schools and universities in principle should be the place where they’re introduced to what really means to own a computer. The trend however seems to give out everyone a locked down e-waste with proprietary restrictions all over the place.
I don’t think you appreciate the real reason for “schooling”
This poster gets it!
I’ve had people clueless about tech tell me that:
using Linux and not buying Windows I rob MS’s developers,
not doing things the way big corporations want I deprive them of profits and thus rob their workers,
using your own device the way you want it is a crime if you have to bypass what the vendor does,
GPL and BSD licenses are not real sovereign citizen stuff, and if I’m not paying someone for software, I’m robbing the working class,
repairing things yourself in your house is robbing people working in those trades,
reading things in the Web is robbing university professors and book store workers and publishers,
having to learn a particular technology while doing my task at work means I’m a fraud and rob my employer or our clients, because apparently I have to keep all the today’s tech in my head before needing any of it,
if I don’t know some single thing another person knows, they are obviously better qualified than me (say, that other person can write Windows device drivers, while the job is about systems integration),
…
and I don’t remember more stupid shit from those people and I don’t want to, but generally being not a dumb ape in today’s world is considered suspicious apparently.
After that wonderful experience I might be silent about my views with people usually, but really I’ll never stop being anarchist (whatever kind of anarchism that is).
Where do find such bootlickers?
Half of America
I bet they’ll say staying healthy without getting sick equals robbing from hospitals and pharmaceutical companies.
Their views were in general along the lines that there are poor people and there are rich people. Poor people owe nobody nothing (including respect to property rights, personal space, privacy and so on), and are owed everything. Rich people vice versa, it’s them paying with rights for their asocial riches.
Now who’s poor is not absolute, it’s who owns less than deserved, and what’s deserved is big for their friends and similar-minded people. And who’s rich is the same, but owning more than deserved, and if they don’t like you, you deserve less.
It’s the kind of people who love Stalin.
Out of curiosity, where and in which social groups did you hear this? I have never heard such thoughts here in Germany, and we tend to be idiots.
Keep fighting the good fight, we have to keep the lights on in free soft- and hardware to provide a harbor for people who want to escape this shit.
Angle sphere got a special relationship with the “poors” theybare dirty, stupid and they deserve to get fucked.
Hearing this shit being said in earnest with that class bravado is so fucking cringe
Usually biggest bootlicker is himself 3 pay checks from being homeless too lol
“This shit” was said in the context of a society exactly opposite to anglosphere, where being “poor” is an indulgence for violating every moral rule, every promise, every obligation and every law.
More than that, it was said about the exact people who are, relatively speaking, not poor, rather almost privileged, but are hateful and envious of everyone actually doing useful work, and consider corruption good because in their opinion a bureaucracy worker stealing something entrusted to them is “a respected in the society person collecting rent from their position” or something like that.
The profession of a schoolteacher in Russia pays shit, which is why 3 kinds of people want that - those who are too dumb for other work, those who are idealistic, and those who want to feel that they are important and powerful (power over children) even more than to be paid well.
There are more people of the 2nd kind than you think, but those were of the 3rd undoubtedly. 1st kind is almost extinct - it’s not hard to find a job that pays better, if you don’t want power over children.
I think it’s clear how the 3rd kind intersects with sympathies to sociopathic behavior, and sympathies for corruption and organized crime.
EDIT: Oh, I just realized you thought they were bootlickers and hateful of poor people in this memory of mine. No, they considered that BS to be good for poor people. Basically hateful of capitalism most when it’s many small businesses honestly competing, but thinking oligopoly and state capitalism would be better. They considered me to be on the side of some “rich” people who hurt the poor. While big company owners and such were not, because they are apparently doing lots of charity etc and are respected people. So the “rich” they’d hate would be the “middle class”, not the “boss class”.
Russia, the social group - eh, schoolteachers
So the EU’s been forcing Apple to allow sideloading and Google goes Nah, it’ll be fine?
No but you see we at Google aren’t locking down sideloading. It’s the individual app developers. With the api we gave them for that express purpose. Totally not us locking stuff down though, so EU please ignore us trying to indirectly close doors in our walled garden?
the same API that helps your app ASO
Ehh, this is basically just another form of DRM. No different than you having a Steam and GOG model. You can make your apps using DRM and enforce certain constraints
DRM is to prevent piracy. This does not prevent piracy unless it only applies to apps that cost money.
What I mean by that is, this is just an API/SDK for app developers to use. Google does not enforce the use of such things. Much like steam does not force the use of their drm for example (please note the difference between the marketplace and the drm). App developers can always choose how they make and distribute their app.
What legitimate reason would an app developer have for not wanting to let people install their app from sources other than the play store?
Enforcing payment comes to mind without resorting to in-app purchase or any account creation. A lot of desktop software is a good example of those. Sure, you can still have cracks and whatnot, but then again, that’s not the point. Might as well ask what is the point of Denuvo. That is a whole other discussion.
That’s a very legitimate reason! I was talking about free apps, but I failed to mention that in my comment. My bad. Any legit reason for free apps?
Nothing comes to mind. DRM literally means digital rights management and unless you wanted to be petty, like blocking a certain person from using your app, then DRM for something free is not something that I can think of a use case for.
There already exists a “Google Play licence check” permission apps can use to verify whether or not the app has been bought on a Google account that’s present on the device.
If people can crack the app to remove this (which is a thing for some of the popular apps), they’ll also figure out how to patch this out. This is strictly useful for free apps, and only serves to make it unviable to distribute verifiably clean apk’s outside of Google Play (so rip APKMirror)
Yup. This isn’t an anti-piracy thing, it’s a fuck-over-people-who-don’t-like-google thing.
GOG model
wut? The main selling point of GOG is that games purchased from them are DRM-free.
Google is allowing the app developers to choose (for now?). With Apple, developers never had the option to allow other stores or sideloading.