←back to thread

172 points fsflover | 2 comments | | HN request time: 0s | source
Show context
ethagnawl ◴[] No.45054074[source]
This is a bummer. If there was ever a time this sort of device was needed, it's now / in the near future when Google (probably) starts requiring all Android apps to be signed by approved developers and further locks down the Android platform.

I kind of regret not buying one of these instead of a Pixel 7 but, unfortunately, I'm pretty tethered to the Android ecosystem at the moment.

replies(3): >>45055173 #>>45055533 #>>45055813 #
nrdgrrrl ◴[] No.45055813[source]
You say that, but they're discontinuing it because they didn't sell enough of them. It may be the device we need, but it's not the device we're buying.
replies(4): >>45055922 #>>45055985 #>>45056123 #>>45056187 #
reorder9695 ◴[] No.45055985[source]
I'll buy them once I can access all of my banks on it, that is literally the only thing holding me to IOS or Anroid at the minute
replies(2): >>45056683 #>>45056686 #
AnthonyMouse ◴[] No.45056686[source]
NB: Attestation has no security value here because if the phone isn't compromised then the owner having root isn't a security problem and if the phone is compromised then the user is entering their bank login into a fake scam app that doesn't require attestation regardless of what the real one does.

But because the banks that require this are cargo culting some nonsense, they require iOS or Google Android but don't really care how old the phone is. Which means you can transfer your cellular plan to the phone you actually want to use and then just keep your existing phone indefinitely to run the bank app over WiFi or tethering.

replies(1): >>45056738 #
charcircuit ◴[] No.45056738{3}[source]
What is protecting against another app on a PinePhone from stealing your bank's authentication token?
replies(2): >>45056866 #>>45057030 #
AnthonyMouse ◴[] No.45056866{4}[source]
There are two possible scenarios here.

The first is that your phone is not compromised. In this case there is no other app trying to steal your bank's authentication token. This is true regardless of which OS you use or whether you have magisk installed or what other code you put on your phone that isn't trying to steal your bank's authentication token.

The second is that your phone is compromised. Then what prevents the device from capturing your bank credentials is the same as if you use a compromised phone running Google Android: Nothing. If you enter your bank credentials into a compromised phone, the attacker gets them. Attestation can't prevent this because the phone is compromised, so the login screen isn't from a bank app that requires attestation, it's from a scam app which is exfiltrating your credentials.

replies(1): >>45057018 #
charcircuit ◴[] No.45057018{5}[source]
>Nothing

This is far from the truth assuming by compromised you mean that the user has installed a malicous app. Android has proper sandboxing which means that other apps can't read the token owned by the bank app. This is part of the Android security model and attestation is evidence that the Android security model is being enforced. Phishing apps are different from an app that steals existing authentication tokens on the device.

replies(2): >>45057071 #>>45057259 #
fc417fc802 ◴[] No.45057071{6}[source]
You aren't responding to the scenario that was posed. You're assuming an isolated compromised app on an otherwise clean device. GP is assuming a compromised device.

Of course attestation does nothing to improve the "single compromised app" case since (assuming Android) that goes nowhere either way. The only thing attestation does is meddle in end user affairs.

replies(1): >>45057269 #
charcircuit ◴[] No.45057269{7}[source]
>if the phone isn't compromised then the owner having root isn't a security problem

The scenario is the phone isn't compromised. Having root means you, or an app you run can bypass the security protecting the authentication token.

replies(1): >>45057562 #
fc417fc802 ◴[] No.45057562{8}[source]
And now you're being intentionally difficult. Please interpret things in the most plausible manner. Beyond common decency, it's part of the site guidelines.

By "not compromised" GP clearly meant a scenario where no malicious apps are present.

I agree that's a serious omission. I responded to your scenario (a nonzero number of malicious apps) in my earlier comment. Any Android device will defend against that regardless of the presence of attestation.

Any non-android device can still use online banking and thus attestation doesn't appear to accomplish anything legitimate. Building out proper support for hardware tokens would provide superior security in approximately all cases.

The specific "root on android" scenario isn't generally a concern. Typical implementations require explicitly granting the capability to a given app. A malicious app can't gain it without fooling the user, at which point it could more easily phish the credentials and possibly even proxy an entire session.

replies(1): >>45058885 #
charcircuit ◴[] No.45058885{9}[source]
>Please interpret things in the most plausible manner.

Your suggestion is not plausible as every security feature has 0 security value if there is nothing malicous. It would be like someone saying that antivirus is useless because if someone doesn't have a virus then it doesn't do anything.

>Any Android device will defend against that regardless of the presence of attestation.

Rooted android devices can be set up in a way that malicous apps can gain root and then read it.

>Any non-android device can still use online banking

But this comes with a different risk profile. A bank can reduce risk for a subset of their customers.

>Building out proper support for hardware tokens would provide superior security in approximately all cases.

I think usually the hardware token gains you access to an authentication token. You don't sign every request you are making with a hardware only key.

>Typical implementations require explicitly granting the capability to a given app.

And the majority of users have no clue what an app is able to do. If root is given to it then it can do anything. This is in contrast to when root isn't available and users are protected by the sandbox the app is in.

replies(2): >>45060850 #>>45060935 #
AnthonyMouse ◴[] No.45060850{10}[source]
> It would be like someone saying that antivirus is useless because if someone doesn't have a virus then it doesn't do anything.

Suppose you have an "antivirus" program that works like this: The system makes a list of every program that runs as root during boot and then at the end of boot the antivirus program checks the list for unexpected programs and if it finds any it displays an error and refuses to display the login prompt to prevent the user from typing their password into a compromised device.

That "antivirus" system is useless, because if a malicious program did run as root during boot then it could just reconfigure the system to display the login prompt unconditionally.

The way attestation is nominally supposed to work is that a remote system cryptographically verifies the state of the local machine before giving it some secret. But that doesn't work in this case because the secret -- the thing that allows the user to sign in -- is coming from the local user rather than a remote machine. The attacker doesn't need to perform attestation or retrieve anything from a remote machine in order to display a local login prompt and collect the user's credentials, and that's the end of the game.

> Rooted android devices can be set up in a way that malicous apps can gain root and then read it.

So can PCs, or various non-rooted android devices that bank apps run on even though they have known unpatched vulnerabilities.

> But this comes with a different risk profile. A bank can reduce risk for a subset of their customers.

How is it reducing risk for anyone? Each person still has the same risk profile as before. The person with a locked Android device still has a locked Android device, the person with an unlocked Android device is now forced to use a PC which is an inconvenience with no security advantage.

replies(1): >>45069143 #
1. charcircuit ◴[] No.45069143{11}[source]
Just because an antivirus isn't perfect that doesn't mean it's useless.

A bank may not want to put in the extra effort of supporting 3 platforms of secure phones, insecure phones, and insecure web and would prefer to support less and potentially dropping features from the web platform.

replies(1): >>45069442 #
2. AnthonyMouse ◴[] No.45069442[source]
> Just because an antivirus isn't perfect that doesn't mean it's useless.

If the security of your system depends on the attacker not doing something the attacker can easily do, it's useless.

> A bank may not want to put in the extra effort of supporting 3 platforms of secure phones, insecure phones, and insecure web and would prefer to support less and potentially dropping features from the web platform.

So now we've gone from some kind of hypothetical security benefit to "banks don't support that because they're lazy". Except that adding support for attestation is work they do for no reason, because the people using locked phones are still using locked phones and preventing people with unlocked phones from using them instead of the web page is paying to do work only in order to cause customers trouble.