-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update F-Droid Security Issues #233
Update F-Droid Security Issues #233
Conversation
✅ Deploy Preview for privsec-dev ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
So far so good |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the changes to the post are minor, but I would greatly appreciate any feedback on the ones marked as a "MAJOR CHANGE" in the initial comment to make sure that I'm not changing the spirit of the original work.
|
||
At the time of writing: | ||
- Android 12 is the oldest Android version that is [receiving security updates](https://endoflife.date/android). (Last updated on May 20, 2024) | ||
- [~80% of the Android devices](https://developer.android.com/about/dashboards) in the world are running **at least** 8.0 "Oreo". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding the second bullet point, accessing platform version information is gated by an account login, so I didn't update this statistic.
9141ec6
to
8448e70
Compare
49ef67f
to
5144682
Compare
520b835
to
c508504
Compare
5144682
to
a9231ec
Compare
|
||
- Since August 2021, Play Store requires new apps to target at least API level 30. | ||
- Since November 2021, existing apps must at least target API level 30 for updates to be submitted. | ||
Overall, this case study highlights how F-Droid's inclusion policy ultimately harms end users by forcing app developers to adopt potentially decrepit development tools and build processes in service of their regnant FOSS ideology. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I welcome any suggestions for this concluding sentence. I'm not particularly thrilled with the final two words, but I can't think of any good replacements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good to me
ca4515f
to
f1e885f
Compare
To be fair, they've thought several times about adding certificate pinning to their client [at least for the default repositories](https://gitlab.com/fdroid/fdroidclient/-/issues/105). [Relics of preliminary work](https://gitlab.com/fdroid/fdroidclient/-/blob/1.14-alpha4/app/src/main/java/org/fdroid/fdroid/FDroidCertPins.java) can even be found in their current codebase, but it's unfortunate that they haven't been able to find [any working implementation](https://github.com/f-droid/fdroidclient/commit/7f78b46664981b9b73cadbfdda6391f6fe939c77) so far. Given the overly complex nature of F-Droid, that's largely understandable. | ||
To be fair, the F-Droid team has considered several times about adding certificate pinning to their client [at least for the default repositories](https://gitlab.com/fdroid/fdroidclient/-/issues/105). [Relics of preliminary work](https://gitlab.com/fdroid/fdroidclient/-/blob/1.14-alpha4/app/src/main/java/org/fdroid/fdroid/FDroidCertPins.java) can even be found in their current codebase, but it's unfortunate that they haven't been able to find [any working implementation](https://github.com/f-droid/fdroidclient/commit/7f78b46664981b9b73cadbfdda6391f6fe939c77) so far. Given the overly complex nature of F-Droid, that's largely understandable. | ||
|
||
In a situation where TLS certificate pinning cannot be done, though, the next best thing --- or, rather, the most basic thing --- is to have a robust infrastucture for TLS. This means setting up CAA records with account pinning, setting up DNSSEC, and pinning ACME `accounturi` and `validationmethods`. Other basic security practices include enforcing TLS 1.2 and TLS 1.3 and disabling weak ciphers. F-Droid does **none** of these. They do not have CAA records and DNSSEC, and [still support TLS 1.0 and TLS 1.1](https://www.hardenize.com/report/f-droid.org/1721021966#www_tls) with their servers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I formatted "accounturi" and "validationmethods" as code because they're described as parameters in this RFC: https://datatracker.ietf.org/doc/rfc8657/
Feel free to change it (or anything else in this new section) if it's not correct in this case.
7de1d88
to
3e51871
Compare
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
…e placement Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
…(credit to @TommyTran732) Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: Friendly Rabbit <[email protected]>
2c425a1
to
dac5f11
Compare
Signed-off-by: Friendly Rabbit <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
Signed-off-by: friendly-rabbit-35 <[email protected]>
I think I'll close this PR and split its changes into separate PRs so that it's more manageable for reviewers. |
Detailed list of changes
New To Do
All done!
To Do
All done!