| ▲ | AlBugdy 12 hours ago |
| What's the phone OS landscape now? What can someone who values their agency and wants FOSS choose? * iOS - walled garden, so no * Android: * * with a Google account and Play Services - a bit less of a walled garden, but still no * * Android without Google: * * * GrapheneOS - root or adb not supported, so no * * * LineageOS - (edit: root or adb not supported, so no - just learned) seems like a viable option although it seems like it depends on Google's development of Android and keeping it FOSS. How's the situation with security updates? Which phones would you recommend? I don't count Samsung or whatever crap as they're generally quite user-hostile. * Linux - IIRC only PMOS supported FDE. Is that still the case? Are there are good Linux phones? I tried PinePhone a few years ago, but it was crappy. The OS also lacked basic features like new windows showing up inside the screen. * anything else? |
|
| ▲ | kivle 18 minutes ago | parent | next [-] |
| I had the first two iPhone models, but then moved to Android. So I've been an Android user for ~15 years. This will probably be the drop that makes me go back and try an iPhone again. If all phone OSes are going to be walled gardens, might as well go for the best one. Android has always been lagging on usability/performance/polish, but I stuck with it for the openness and because it generally was first to tryi new things. I remember how people at work laughed at me when I got a Samsung Galaxy Note ("It's so big it looks like you have an iPad in your pocket"), yet a few years later every phone was that size. And now Android is leading with foldables. I love my OnePlus Open, but OnePlus seems to be pulling out from the Western market so further support is looking "iffy", so might as well get an iPhone. |
|
| ▲ | armadyl 11 hours ago | parent | prev | next [-] |
| > GrapheneOS - root or adb not supported, so no Like the other poster said, you can get root on GOS. However it's highly ill advised and severely breaks the security model of devices. 99% of the time nobody, especially the average person, needs root on their phone (imo). Allowing that easily just opens up the average person to getting duped into getting their phone rocked with exploits and possibly persistent malware. There is no reason that a lack of root access should be viewed as a negative within the context of GrapheneOS. In that case why even mention or choose GOS? Just choose an Android fork with poor security or a Linux phone with zero security instead. |
| |
| ▲ | AlBugdy 11 hours ago | parent [-] | | > 99% of the time nobody [...] needs root on their phone Do you also not have root on your laptops or desktops? I don't get why it's so different. I don't just want to open TikTok and Instagram, I want to use my phone computer as a computer. I assumed HN folks would get it. I would choose something as locked down as GrapheneOS for its security if I was going to use it to install random apps left and right and give them root or run JavaScript from random sites on a browser I gave root to. Anyway, not having root seems like a very weird way to harden security. What about compartmentalization? And what's wrong with my my terminal app having root sometimes? How is shadycryptonews.xyz/exploit.js going to leverage it? How would even the Official Authoritarian Police State app leverage it? I probably don't get it, but it's like people see 2 extremes - run nothing ever in root or run everything in root all the time. I want to run like 5-6 apps I trust. Maybe if I wanted to secure a billion dollars worth of Bitcoin, I would be OK with a separate phone without root, but then again I would likely use a hardware wallet. What's the threat model for someone who doesn't blindly give apps root or do anything stupid, really? | | |
| ▲ | armadyl 9 hours ago | parent [-] | | > Do you also not have root on your laptops or desktops? I don't get why it's so different. I don't just want to open TikTok and Instagram, I want to use my phone computer as a computer. I assumed HN folks would get it. The security models of desktop operating systems are far, far behind those of mobile operating systems (Android/iOS). ChromeOS, followed by macOS are the closest to mobile security but are still severely lacking. Windows is farther behind and desktop Linux might as well be minimum security. It’s not even an equivalent comparison as you’re comparing mobile OSes to ones on a platform with a fundamentally worse security architecture. I mean, even to an extent some of the Linux distributions understand the security problems with the traditional model. Look at what Universal Blue is doing with their images and leaning more into Flatpaks and containers for any developer like etc tooling while actively discouraging installing things via rpm-ostree. > I would choose something as locked down as GrapheneOS for its security if I was going to use it to install random apps left and right and give them root or run JavaScript from random sites on a browser I gave root to. Anyway, not having root seems like a very weird way to harden security. What about compartmentalization? The first sentence is inherently incompatible with the security structure of GrapheneOS (for example). The point is to not give applications root, giving them root circumvents basically all of the protections GrapheneOS and Android give the user. Yes, mobile operating systems were designed sandbox first to treat all applications as untrusted. However it doesn’t matter if you’re only giving “trusted” apps root, all it takes is one supply chain exploit, one malicious developer, one anything to make that app with root do something its not supposed to do. Not having root is the best way to harden security. Mobile OSes are designed to be heavily compartmentalized, each application runs in its own sandbox. Giving an application root circumvents the entire thing, allowing that application in theory to see into other sandboxed apps etc. If you want a real world example look at all the malware exploits that come into iOS via iMessage, one of the only apps on iOS that’s not fully sandboxed like normal apps. > And what's wrong with my my terminal app having root sometimes? How is shadycryptonews.xyz/exploit.js going to leverage it? How would even the Official Authoritarian Police State app leverage it? The problem is that we don’t know how they could leverage it, so the solution is to eliminate that pathway entirely. This is also my issue with the push for Linux phones onto the average person (instead of the community coming together and forking AOSP if they want to escape Google). The platform has zero real sandboxing, and the average person still wants to use Meta apps as shit as they are. These big tech companies’ and governments’ apps would go absolutely crazy on Linux phones. > What's the threat model for someone who doesn't blindly give apps root or do anything stupid, really? To not get unknowingly pwned. Realistically even if you have a trusted app, you or the community can only verify that it’s trusted at a specific point in time. Realistically a community cannot verify that an app or package etc is consistently not malicious and will more often than not lag behind in the implementation of the exploit vs its discovery, it doesn’t matter if its closed or open source. To be clear though my view is that we shouldn’t be pushing root-capable mobile operating systems onto the average person and that no root is infinitely more secure than having it. Maybe companies could provide alternatives, i.e. offering devices with rooted versions available but offering no customer support if something goes wrong with the software. But it certainly shouldn’t be a default available feature for the majority of the population. — An edit: Also preventing root allows devices to pass attestation checks. I know it has a dirty connotation in light of how companies are behaving recently, but it really is a security benefit for a device to be able to prove that it’s base operating system is unmodified (i.e. no persistent malware is present). | | |
| ▲ | AlBugdy 6 hours ago | parent | next [-] | | Can't edit my other reply. Edit: I looked at your other comments to see if you had discussed Linux or Android security before (and to avoid repetitive threads). I'll reply to this post of yours here as you'll likely not see that I've replied there: > Also linux only really has block level encryption, not file based encryption like iOS/Android. It would be trivial for LEO to access your device unless it was totally powered off and then the only protection is LUKS. Or really even if you lose your phone and someone was so inclined to they could just extract all the data if it was powered on but on the “lock screen,” as most if not all desktop (and I’d imagine linux phone) environments do not actually do any encryption or anything when the system is locked, it’s just a cosmetic lock for all intents and purposes. With LUKS or plain dm-crypt unencrypted data never touches the storage. Small parts of the storage are decrypted in RAM, but what gets written is encrypted. FDE at the block level gives less info to the adversary than file based encryption. With detached /boot (and maybesome other stuff) (like on a USB stick), and plain dm-crypt, you can even have plausible deniability that the storage medium was just overwritten with random data. LEO can't do anything for LUKS or dm-crypt if they can't bypass the lock screen, short of a cold boot attack. That's true for file-based encryption, too. The lock screen (on Linux, at least) isn't related to disk encryption and doesn't have to be. | |
| ▲ | AlBugdy 6 hours ago | parent | prev [-] | | I don't agree with you, but I appreciate the time you took to reply. Apologies if I may appear terse. > The security models of desktop operating systems are far, far behind those of mobile operating systems What about Qubes? That's my standard. Everything else has worse security almost by definition (since you can virtualize it and increase its security that way). > The first sentence is inherently incompatible with the security structure of GrapheneOS (for example). My mistake - sorry. I wanted to say something like: > I would choose something as locked down as GrapheneOS (no root) for its security if I were to use it to install random apps or to run JS from random sites - examples of exposing myself to unnecessary danger like someone who doesn't know what he's doing. I would choose something with root but wouldn't run random apps with root permissions or JS on a browser started with root permissions. I somehow mixed both sentences when editing. > it doesn’t matter if you’re only giving “trusted” apps root, all it takes is one supply chain exploit, one malicious developer, one anything to make that app with root do something its not supposed to do. That's where we differ on our views of security, agency and responsibility. I own the computer so I should be able to give root to whatever I trust. I already trust the the hardware, the myriad of developers writing the OS, the libraries they've used and so on. Yes, trusting less things is better, but there's a tradeoff and we can easier restrict the OS further and further until we're left with nothing. The OS shouldn't restrict what I can trust and what I can't trust. Why is the OS trying to force me to not trust any app but only the millions on lines of code of the OS itself and the hardware? > The point is to not give applications root, giving them root circumvents basically all of the protections GrapheneOS and Android give the user. Giving all applications root might circumvent all protections in GrapheneOS and Android. How does giving 1 application I trust circumvent all protections? Let's say I wrote the app (and I trust myself) and then formally verified it - just for the sake of argument. Although I'd give root to apps I didn't write or verify because I am an adult who can choose what code to trust. We already have important information and already give important permissions to apps that, if compromised, can ruin our lives easily (browsers, communication apps and so on). > The problem is that we don’t know how they could leverage it, so the solution is to eliminate that pathway entirely. So apps are both sandboxed and there are robust permissions which make Android much more secure than most desktop OSes, but we can't even give an app root because it might somehow wreck the whole system? I don't get this. By that logic we don't know if any app could compromise any of the system processes that have root (or functionally equivalent access). The solution would be to not run untrusted apps in the same OS at all, to have different computers or some hardened virtualization like Qubes? I get that it's not black and white, but my hypothetical terminal app with root permissions won't be the only process with root permissions running on the OS, so why is it THAT bad to give it root? Especially when I'd run it with root only for certain tasks, just like I don't "sudo ls ~" but just "ls ~". > This is also my issue with the push for Linux phones onto the average person (instead of the community coming together and forking AOSP if they want to escape Google). The platform has zero real sandboxing, and the average person still wants to use Meta apps as shit as they are. These big tech companies’ and governments’ apps would go absolutely crazy on Linux phones. Why not try to use existing security mechanisms in various Linux distros (or Qubes) to prevent Meta's apps from going crazy? Additionally, why can I load facebook.com in Firefox on Linux and be relatively certain I won't get pwnd by Facebook even though I have root on Linux? That would mean we trust browser sandboxing more than Android sandboxing. Yet we have root on Linux and can do anything with the browser. What I mean is, you state that Android is so secure, yet we trust it less than untrusted JS on a browser on desktop. If we don't, should we disallow people to run JS (or even CSS, as there have been attacks via CSS) at all? > my view is that we shouldn’t be pushing root-capable mobile operating systems onto the average person My view is that we should default on root-capable devices for anyone. If a user doesn't feel sure in their abilities, they may select "I am not sure of my abilities to operate a computer, lock it down for me permanently" option. Otherwise it's on them. We shouldn't be nannies for people. People will eventually learn when enough people get burned. We should be nannies for obvious cases of mental retardation where the person requires round the clock care, but not for everybody. We're not sheep and shouldn't all be treated as sheep even if a lot of us are. > Also preventing root allows devices to pass attestation checks. I know it has a dirty connotation in light of how companies are behaving recently, but it really is a security benefit for a device to be able to prove that it’s base operating system is unmodified (i.e. no persistent malware is present). I might see a benefit for workers in a company for work-provided computers because they're company owned, but any attestation for user-owned computers that is imposed on a user will almost inevitably lead to a dystopian future where computers get more and more controlled, locked down and even backdoored without a way to even see if they are. For example, in many jurisdictions you're required to have phone, to use Android or iOS, to have an account with Google or Apple, to not have root and to not run a custom ROM in order to use basic public services or banking (even if my bank account has like 5 bucks in it and I wouldn't care less if it got hacked). That is absolutely wrong and if we don't do something it's going to get much worse in the future. We should fight these restrictions whenever we encounter them. We the people own our lives - we should own our computers and we should own (as in responsibility) our choices. |
|
|
|
|
| ▲ | raphman 28 minutes ago | parent | prev | next [-] |
| Obligatory mention of Sailfish OS. Website: https://sailfishos.org/ Main forum: https://forum.sailfishos.org/ Recently on HN: https://news.ycombinator.com/item?id=47216037 / https://news.ycombinator.com/item?id=47311456 / https://news.ycombinator.com/item?id=41749296 |
|
| ▲ | KetoManx64 11 hours ago | parent | prev | next [-] |
| GrapheneOS - does allow you to root/ADB. It's just not official, just like LineageOS. You can even sign your own images and relock the bootloader and have root i f you put in the effort. |
| |
| ▲ | AlBugdy 11 hours ago | parent [-] | | So I misunderstood about LineageOS - I haven't read anything about it for a while. Everyone on GrapheneOS's forum is really anti-root, they even mention it's not GrapheneOS anymore. From what I saw you can't get any support whatsoever if you have an issue with root or adb, which seems like a core component to any OS to me. Would've been nice if there was a community that gave each other support for rooted LOS or GOS. There could be one, though - I haven't researched it. |
|
|
| ▲ | kace91 11 hours ago | parent | prev | next [-] |
| I think a problem is that phones, as a concept, are communication first, rather than general computing first. If you want to partake in social networks, messaging, work communication, banking, etc you're at the mercy of the service's owner and their moat. You can't access Instagram in any other way than their app, and at that point an open OS doesn't help a lot. I'm sure FOSS can make a feature equivalent Instagram (or Whatsapp, or whatever) but the people aren't in there. |
| |
| ▲ | AlBugdy 10 hours ago | parent [-] | | > I think a problem is that phones, as a concept, are communication first, rather than general computing first. I use all kinds of computers for communication. I'm communicating with you on my desktop. I had a call earlier on my laptop. And a phone IS a computer, so why pretend it's not? > If you want to partake in social networks, messaging, work communication, banking, etc you're at the mercy of the service's owner and their moat. You can't access Instagram in any other way than their app, and at that point an open OS doesn't help a lot. I wouldn't use proprietary work tools on a personal device. It's not good hygiene. I don't care if Instagram requires an app on a non-rooted phone with verified Google attestations because I don't use it and it's not essential. Banking apps ARE a problem because a lot of banks don't let you use their site without their app at all. That should be solved with regulations - give people a FOSS banking app or, better yet, an API, so they can bank however they want to. Let us create FOSS interfaces for the different banks. Right now we need to revert the regulations who more or less force us to rely on Google or Apple's attestation. Internet banking is important both because there's a trend, even in countries where cash is still widely used, to have places that don't take cash, and because it's a highly regulated system paid for my taxes - I should be able to participate in a modern way with bullshit restrictions allegedly made to prevent someone's grandpa from getting hacked or phished. But if I can't access my bank online, I'm not going to bow my head and buy a bank-approved phone with a bank-approved OS and a bank-approved $tech_company account. Who banks that often that they really need to do that, outside of places like Sweden where cash is almost dead? | | |
| ▲ | kace91 10 hours ago | parent [-] | | >I use all kinds of computers for communication. I'm communicating with you on my desktop. Sure, now get a date, connect with old friends, get invited to a party or join your children's school parent groups exclusively on free software. >And a phone IS a computer, so why pretend it's not? I agree we shouldn't, I'm just saying that it's unlikely for that need to meet a large enough demand. You might consider Instagram, whatsapp or similar apps personally not essential, but for many (I would say most) people they are - if not truly essential for living, at least essential in the sense that they don't have much use for their phone outside of those apps. Which was my point, as long as the main use of a phone requires passing through meta's (or whoever else's) hoops, it's going to be a hard battle. The only minimally mainstream uses of a phone that currently lie outside the walled garden are piracy and emulators, and that's already a stretch. | | |
| ▲ | AlBugdy 6 hours ago | parent [-] | | > Sure, now get a date, connect with old friends, get invited to a party or join your children's school parent groups exclusively on free software. It's tough, but that's a normal part of trying to change the status quo and fight for something you believe in. The people who I truly care for (and who care for me) have actually installed secure FOSS apps to connect with me and invite me to parties. They were reluctant and in some cases it took months of prodding, but it happened. And slowly there's a network effect - friend X and friend Y both have app Z. They might continue to use Meta to communicate between each other, but if and when they realize they want to move away from Meta, they can use Z. I haven't had to deal with school parent groups in particular, but I have, in just a few cases over the years, managed to convert small groups from proprietary to FOSS solutions. It's hard, it's not the usual outcome (often they stay in their walled garden and I don't join them), but sometimes, just sometimes it works. That means there is actually hope and we can keep fighting the good fight. If we win, everyone wins. I also understand if someone agrees with me, but reluctantly uses a closed proprietary solution to connect to the school parent group if it's important to them to be in that community. But losing a battle doesn't mean we have to forfeit the whole fight. |
|
|
|
|
| ▲ | garciansmith 11 hours ago | parent | prev | next [-] |
| You can root GrapheneOS, they just don't recommend you doing so. |
| |
| ▲ | AlBugdy 11 hours ago | parent [-] | | In their forum they repeatedly say stuff like: > If you choose to root, then I believe its not considered to be "GrapheneOS" any longer and assistance will not be provided for issues you face Getting no support would suck. Obviously it's a FOSS OS, so it would be community support for the most part, but it's still invaluable when you run into issues. |
|
|
| ▲ | Hasslequest 11 hours ago | parent | prev | next [-] |
| fairphone support for pmOS is improving. What DE were you using? It was probably just slow on the pinephone. librem 5 is also an option. It is sorta expensive and weak but is the most capable. https://wiki.postmarketos.org/wiki/Devices right now im on calyxos but development has been paused for like a year |
| |
| ▲ | AlBugdy 11 hours ago | parent [-] | | It was a long time ago, so I don't remember. Phosh or Plasma. I tried to like Sxmo, but it was really unintuitive, unlike tiling WMs on Linux. Fairphones seems OK, although for €549 I'll probably stick to a dumb phone and invest in a better laptop for now. I'm not saying it's too expensive for what it is, though - it's still a tiny computer with all kinds of periphery. I just wish there was a version with a shitty camera for €50 less or with no Bluetooth for €10 less - you get the idea. Interestingly, when I went to https://www.fairphone.com/shop-home the prices for the headphones were lower for a few seconds and got higher afterwards. €186.75 -> €249 €74.25 -> €99 while the phone price remained the same. Both are increases of 33.(3)%. Probably a script that determined my location and added a VAT. |
|
|
| ▲ | PufPufPuf 11 hours ago | parent | prev [-] |
| Why do you want to root? I didn't really feel the need for the past few years. |
| |
| ▲ | rudhdb773b 16 minutes ago | parent | next [-] | | Backing up all app data. | |
| ▲ | drnick1 3 hours ago | parent | prev | next [-] | | An alternative if you are using Graphene would be to build your own image with the changes that you want, without or without root. | |
| ▲ | AlBugdy 10 hours ago | parent | prev [-] | | Because my new phone would be my new phone. And a phone is a computer. That should be enough of a reason. I'm quite surprised people who post here don't get that. I've been lurking for years even though my account is new and even though general hackerishness here has gotten a bit reduced over the years, but it's still HackerNews, not ConsumerNews. No offense implied - I just hoped I'd see more people willing to claim their right to own and modify their OS like a true hacker. | | |
| ▲ | Ms-J an hour ago | parent | next [-] | | Exactly. It is my device. End of story. If I could point out, the vast majority of people you see writing things as stupid as that are either have a huge stake in the company/industry or the government. Thanks for all of your other comments in this thread I read them all and it is such useful advice for everyone, even seasoned security people. It isn't natural to want less freedom. | |
| ▲ | opan 7 hours ago | parent | prev [-] | | I do (re-)root my phone (after each update I have to flash the Magisk-modified boot.img again), but FWIW almost nothing needs root on Android, it lets you do way more by default than iOS. I think some people equate jailbreaking and rooting when there's not really a jail to begin with. You can install a custom ROM without having root and I think that's what most people really want to do. Cleaner base system, maybe some new features. I run LineageOS without gapps and it's great. I can use `sudo` inside termux since I have root. I don't really use it for anything except to verify that Magisk reinstalled okay (I do `sudo ls /` as a quick check). Installing F-Droid doesn't need root. You can even do it on locked down TVs and Amazon tablets usually. adb works as well, not sure why someone was saying it doesn't. Hell, adb should work even without either root or a custom ROM. I use it to reboot my phone into fastboot without the button combo and then flash Magisk right after. | | |
| ▲ | AlBugdy 6 hours ago | parent [-] | | I agree you might not need it, but the issue is one of principle. I want it because I might need it. I don't want to find another OS that supports root if I realize I need it. Just how I may be OK with staying at home for months with deliveries and internet access and everything else provided for me, but I want the freedom to go outside. There is rarely anything I need that's outside, to be honest. And outside is more dangerous. But I want to be able to sudo outside whenever I want for whatever reason I want. | | |
| ▲ | margalabargala 4 hours ago | parent [-] | | I think you are answering not quite what's being asked. I think it's completely reasonable to want to be able to get root on your device. For the exact reasons you mentioned. GrapheneOS allows that. To actually do so, it's reasonable to have a reason. Otherwise what you're doing is basically running commands with sudo "because you can", which will bite you. To have a rooted phone just for the sake of the trophy of having a rooted phone is something generally considered worse. Better to have a rootable phone, which you root if or when you have need of it. |
|
|
|
|