Live data from Hacker News

F-Droid: how it weakens Android's security model

wonderfall.dev

51–60 of 69 posts

Re: F-Droid: how it weakens Android's security model

#51
post #5

> [devs] have to maintain a slightly different version of their codebase that should comply with F-Droid’s requirements Perhaps that's because I've got half a foot in the foss community and you don't hear a lot of "fml why is f-droid so strict about not using secret code", but to me it seems much more often that people complain about Google's policies than about F-Droid's. Especially since F-Droid's > “quality contro…

The main problem with downloading APKs from the GitHub releases page, is that it doesn't come with a low-friction way of distributing updates. This is especially important for unofficial client apps like NewPipe, which basically become bricked at a moment's notice, and updating within a day or two is important to maintain continuity of service. Not to mention that an app may be hosted on a different platform, perhaps…

Funny you should mention NewPipe since they discourage users from relying on the official F-Droid repo for the very reason of slow updates, which you don't want for an app relying on parsing web pages that are likely to change. The app itself (at least the regular build provided by the developers) sends you a notification once a new update is available. They also maintain a third-party repository, which again is fine at mitigating some issues of the official repository (while breaking the security model because the OS inherently wants one source per app repository, but at least it's more usable than waiting for the F-Droid build to be updated).

F-Droid can't do anything against "secret code" since they don't/can't analyze the whole codebase. Like said multiple times, they only run a few scripts on the available source code to remove known trackers, which is known to be a poor approach to privacy.

Re: F-Droid: how it weakens Android's security model

#52
post #48

Earlier quoted context omitted.

It's easily possible, and many people already do it. e.g. Quasseldroid is available via https://repo.kuschku.de/fdroid/repo/?fingerprint=A0CBC2C29E3... a custom repo generated from the same CI builds that also get pushed to Google Play.

Ah yes, but this requires adding one repo per app. I meant having a "single" (though selfhostable) Fdroid gateway to CI artifacts so i could just add "cidroid.org" repository to my Fdroid then choose for each application if i want it from F-droid repo or from fresher CIDroid.

It's pretty much the same as PPAs on Ubuntu.

For what you're asking for, IzzyDroid's repo may be the closest to what you're asking for.

Re: F-Droid: how it weakens Android's security model

#53
post #5

> [devs] have to maintain a slightly different version of their codebase that should comply with F-Droid’s requirements Perhaps that's because I've got half a foot in the foss community and you don't hear a lot of "fml why is f-droid so strict about not using secret code", but to me it seems much more often that people complain about Google's policies than about F-Droid's. Especially since F-Droid's > “quality contro…

> because there are no restrictions on things that just work with root, donation links for open source open geo data contribution platforms[1], roll your own payment scheme without giving anyone a cut, put ads in it if you like... Respectfully, that was not my point. The point was that having access to the source code fundamentally doesn't mean much. You can read more about why there since I don't want to open this d…

FYI your comment was marked [dead], I vouched for it because I think it contributes to the conversation.

Update: I think you must have been caught in some automatic system because every comment (including your account's first) was already marked [dead] but not [flagged]. This does not seem to have been users flagging you or anything, maybe you use an IP previously used by a troll or so? Or a keyword detector in the first comment set it off (e.g. since the words "You're wrong," might trigger he-said, she-said conversation when taken by itself) maybe? Idk. /update.

> This is a bit exaggerated.

Yes, I was mostly joking in that cited part, that's why I added "(jk)" :). I understand there's much more to it than just that, it just read funnily to me. (Not meant as laughing 'at' you! Hope it didn't come across like that.)

> once you ensured the authenticity, the source doesn't matter as much.

Yes, but that's TOFU. Secure in most cases, but if it's used all the time, an attacker will catch today's lucky ten thousand (xkcd.com/1053) who first download a certain app or who just (re)installed their phone.

Hence my suggestion of something like PGP, where the authenticity can be established more reliably than having everyone hope it wasn't compromised on first download. (It's a good alarm mechanism though, if suddenly everyone else's update fails, so any compromise of app signing keys wouldn't be long-lived. But I do feel like the article argues for a much higher security standard than TOFU.)

Alternatively with f-droid, the CA system is used, and TOFU doesn't go away. If the CA system is compromised, there are still the app signing keys. Conversely, if the signing keys are compromised, the attacker also still needs to compromise the distribution channel or server.

Re: F-Droid: how it weakens Android's security model

#54

The article links to "The PGP Problem" in an attempt to suggest that GPG signatures are bad somehow. Here are my comments on "The PGP Problem": * https://articles.59.ca/doku.php?id=pgpfan:tpp The article also claims that Debian has moved away from GPG signatures. This is not true. This all seems like a pointless distraction from the point that article is attempting to make...

There is literally a link in the article that takes you to the Debian website: https://wiki.debian.org/Teams/Apt/Spec/AptSign I might rephrase that since they didn't technically moved away from OpenGPG (yet). It was a proposal at the time.

Sorry, of course meant GPG, OpenPGP being the standard on which GPG is based on.

Re: F-Droid: how it weakens Android's security model

#55
post #6

>The issue with F-Droid is that all apps are signed by the same party (F-Droid) which is also not the developer. You’re now adding another party you’ll have to trust since you still have to trust the developer anyway This is fallacious for several reason. Firstly, no I do not "have to trust the developer anyway" - I can always not install the app . I'm not starting with an app, adding my trust of the developer, and a…

I fail to see how it's fallacious since you're confirming my point. > I'm not starting with an app, adding my trust of the developer, and adding my trust of F-Droid You are. You seem to believe they actually read the whole source code when it's not the case: all they do is running their own scripts to scrap known trackers and the like (and again, I must say badness enumeration is a flawed approach), this is far from…

>all they do is running their own scripts to scrap known trackers and the like

Which Google Play does not, happily serving you all the "known trackers". F-Droid is strictly superior on this front.

> You still have to trust the app developer

I don't have to trust the developer as much because I don't have to take their word for it that the compiled app matches the public source.

> and you'd be much better off trusting the strong guarantees provided by the Android app sandbox anyway

False dichotomy. I still have the sandbox with F-Droid. This is chaff.

> Play App Signing is mentioned in the article.

...Okay? What a non-sequitur. Signing is completely off-topic to the fact that Play Services is spyware (notwithstanding your assertion that it isn't). Unlike F-Droid. That's a huge difference.

It's like saying "when meeting a sketchy stranger, don't bring a friend along or meet in a public place because now you have to trust the friend as well, and also the friend might not be strong enough to overpower the stranger anyway. Safer to take an Uber to their house and lock the door behind you."

Re: F-Droid: how it weakens Android's security model

#56
post #53

Earlier quoted context omitted.

> because there are no restrictions on things that just work with root, donation links for open source open geo data contribution platforms[1], roll your own payment scheme without giving anyone a cut, put ads in it if you like... Respectfully, that was not my point. The point was that having access to the source code fundamentally doesn't mean much. You can read more about why there since I don't want to open this d…

FYI your comment was marked [dead], I vouched for it because I think it contributes to the conversation. Update: I think you must have been caught in some automatic system because every comment (including your account's first) was already marked [dead] but not [flagged]. This does not seem to have been users flagging you or anything, maybe you use an IP previously used by a troll or so? Or a keyword detector in the f…

Thanks for the heads-up! It's also a new account since I've never posted on HN before, so maybe that's why.

(Also I would like to correct myself on my previous comment: I meant "GPG" as the reference implementation of the OpenPGP standard, not "OpenGPG". I was very tired.)

> I understand there's much more to it than just that, it just read funnily to me. (Not meant as laughing 'at' you! Hope it didn't come across like that.)

No worries, irony doesn't hurt.

> Yes, but that's TOFU. Secure in most cases, but if it's used all the time, an attacker will catch today's lucky ten thousand (xkcd.com/1053) who first download a certain app or who just (re)installed their phone.

By authenticity I meant that you can already use apksigner to verify the fingerprint of the signature. For instance, Signal publishes the fingerprint on their website: https://signal.org/android/apk/

Since the APK published on the website is the same as the one published on Play Store, I think this can be a nice way to ensure the package hasn't been tampered with. A properly configured HTTPS server should be the baseline, with CAA and CT to ensure it wouldn't be easy for an attacker to issue rogue certificates for the website. Of course, this is still involving a TOFU model like you said with any CA system in the end.

Therefore, having certificate pinning by default for the app repository should be a nice progress to deter several types of MITM attacks (rather than placing too much trust in the distribution infrastructure). This comes nicely along the app signature system which inherently follows the TOFU model on Android.

Alternatively, GrapheneOS (as a hardened OS) has the idea to ship a database of known-good signature fingerprints for top used apps such as Signal or Element. This would be hard to do for apps that also have a third-party F-Droid build due to them reusing the package IDs in most cases (the OS can also whitelist the signatures for those, but this isn't ideal).

Re: F-Droid: how it weakens Android's security model

#57
post #55

Earlier quoted context omitted.

I fail to see how it's fallacious since you're confirming my point. > I'm not starting with an app, adding my trust of the developer, and adding my trust of F-Droid You are. You seem to believe they actually read the whole source code when it's not the case: all they do is running their own scripts to scrap known trackers and the like (and again, I must say badness enumeration is a flawed approach), this is far from…

>all they do is running their own scripts to scrap known trackers and the like Which Google Play does not, happily serving you all the "known trackers". F-Droid is strictly superior on this front. > You still have to trust the app developer I don't have to trust the developer as much because I don't have to take their word for it that the compiled app matches the public source. > and you'd be much better off trusting…

> False dichotomy. I still have the sandbox with F-Droid. This is chaff.

I didn't imply that you wouldn't benefit from the app sandbox by using F-Droid. I meant that the practical approach to privacy should come from relying on the permission model instead of trusting third parties.

In that sense, F-Droid adds very little to the fact that you still have to trust the upstream code with the permissions you're willing to grant.

If you choose to trust F-Droid, that's perfectly fine and I'm not trying to convince anyone to stop doing that. I also won't comment on your statements that Play Store is spyware because I have very little interest in that topic. You're free to believe that, and I respectfully disagree given the great service (whilst not perfect by any means) offered by Play Store.

Re: F-Droid: how it weakens Android's security model

#58
post #7

Not to discredit the article, but it would be nice to know from the get-go that it's written by a contributor to GrapheneOS and gives a plug to their upcoming App Repository at the end.

Author here. I'm neither a GrapheneOS project member or an Accrescent developer. I'm trying to push these solutions because I think they actually do things right. It's really frustrating that the first reaction for some would be to think that my motivation is to push alternative solutions for my own benefit. Let's try to move past this and other irrelevant personal judgments.

As I said, my comment wasn't to discredit the article by revealing a hidden motive. When reading any review, it's simply good to know what the reviewer's biases are. Which I would say contributing to the GrapheneOS repos, letting the GrapheneOS community proofread your article, and mentioning the project's F-Droid alternative is a proof of bias, not that it's necessarily a bad thing, but would have cleared the air if it was shown upfront.

Re: F-Droid: how it weakens Android's security model

#59

Earlier quoted context omitted.

Author here. I'm neither a GrapheneOS project member or an Accrescent developer. I'm trying to push these solutions because I think they actually do things right. It's really frustrating that the first reaction for some would be to think that my motivation is to push alternative solutions for my own benefit. Let's try to move past this and other irrelevant personal judgments.

As I said, my comment wasn't to discredit the article by revealing a hidden motive. When reading any review, it's simply good to know what the reviewer's biases are. Which I would say contributing to the GrapheneOS repos, letting the GrapheneOS community proofread your article, and mentioning the project's F-Droid alternative is a proof of bias, not that it's necessarily a bad thing, but would have cleared the air if…

Well, surely there are biases in some ways, including some I may not even be conscious of. That being said, I try to follow a fact-based approach: yes, the conclusion is biased in the sense that it was written in a personal context (again, this article wasn't meant to be shared on several platforms like HN), but I can assure you the rest of the article follows this fact-based approach as much as possible. I even mention build reproducibility and Play App Signing: both mentions could be seen in favor of F-Droid (yet the reality is more nuanced than that).

I'm perfectly aware of the FOSS culture and why some want to use F-Droid to promote this. This is just not what I had in mind when writing the article. I simply intended to address some flaws or deliberate choices from F-Droid that I think are in opposition to the practical approach to modern privacy/security. It happens that I think GrapheneOS and modern Android in general follow that approach. Last month, a reddit troll tried to portrait me as a GrapheneOS developer (when I'm an occasional contributor) and used the article to explain how GrapheneOS would be "anti-FOSS". That is so wrong. GrapheneOS is FOSS at its core, and I personally value FOSS solutions. Not sure how someone would extrapolate the opposite from my article.

Knowing that, I then stumbled upon this thread and noticed people digging up random contributions in my GitHub account instead of reacting to the content. Contributing to an alternative project doesn't mean bias or endorsement. Contributing doesn't necessarily mean code, GitHub issues, or money. You could even see this article as a contribution to F-Droid in some ways (but I'm sure they're aware of the majority of the underlined issues, and I don't have the pretention to do better than them). Then again, I deeply think GrapheneOS and Accrescent are paving the way for modern FOSS solutions.

Re: F-Droid: how it weakens Android's security model

#60
post #53

Earlier quoted context omitted.

FYI your comment was marked [dead], I vouched for it because I think it contributes to the conversation. Update: I think you must have been caught in some automatic system because every comment (including your account's first) was already marked [dead] but not [flagged]. This does not seem to have been users flagging you or anything, maybe you use an IP previously used by a troll or so? Or a keyword detector in the f…

Thanks for the heads-up! It's also a new account since I've never posted on HN before, so maybe that's why. (Also I would like to correct myself on my previous comment: I meant "GPG" as the reference implementation of the OpenPGP standard, not "OpenGPG". I was very tired.) > I understand there's much more to it than just that, it just read funnily to me. (Not meant as laughing 'at' you! Hope it didn't come across lik…

> Signal publishes the fingerprint on their website: https://signal.org/android/apk/

Ah, fair point, there indeed my logic does not apply. On GitHub releases with apk downloads, I've never seen a fingerprint and including it on the GH platform itself would not help either, but indeed nothing prevents the maker from using some other place to publish key material.

Post reply on HN