We need LibreWolf of android.

Stomata@buddyverse.one to Android@lemmy.world – 188 points –

LibreWolf is a great privacy oriented Browser for desktop. But there is no version for android or IOS . There are some like mull but they have their own problems. Mobile phones stay with us most of the day. So we need extra privacy for it.

61

Mull is a good choice for android at the moment

Oh, cool. I hadn't heard of this one before. I use Fennec. I wonder what the main differences are. I noticed Mull mentions fennec in their F-droid page:

It [Mull] is compiled from source and proprietary blobs are removed using scripts by Relan from [https://gitlab.com/relan/fennecbuild here].

It seems like Mull is more privacy focused?

I just swapped to mull today. Fennec is only on fdroid or build it yourself. Fdroid updates take a week for official repo. Mull can get faster updates through DivestOS repo. Firefox just had a huge 0day and fennec is currently vulnerable.

Ahh, cool! Good to know. I just checked that 0day, and they're both JS exploits (which I imagine most probably are), so NoScript will probably protect me unless some of my trusted domains get compromised. It's not ideal, but it's within my comfort tolerance.

If I'm not mistaken, Fennec is deprecated.

this is a fenix softfork named "Fennec F-Droid", not the pre-fenix firefox <=68 based fennec browser you're thinking of.

android already has fennec and mull though

This always gets downvoted, because it's a painful truth, but Chromium on Android is significantly more secure than Firefox.

There is a reason why the default included browser on GrapheneOS, Vanadium, is a Chromium fork.

So I'm sorry, until Firefox on Android catches up to Chromium, another Firefox fork isn't going to make the impact on the ecosystem that you think it is.

I'm not saying you can't or shouldn't use Firefox forks on Android, I'm saying do so being aware of their limitations relative to Chromium forks, such as Cromite, or Mulch, the latter being the same dev as Mull. That same dev also has a lengthy write-up going over the technical details of why Chromium is more secure than Firefox on Android.

This has nothing to do with desktop browser engines, this is specifically and exclusively in regards to Android browsers

Interesting. What security risks are you talking about exactly? Do you have a link?

I know Chromium is faster and more responsive on Android but I haven't read much about security differences yet. With Chromium being pre-installed and signed by the OS vendor, I always assumed the risk of exploiting the Chromium process was higher instead of lower.

I'm not sure what threat model you're protecting yourself from if the Android sandbox isn't good enough for either to be honest, but I suppose there's risk in hijacking the browser too.

See the replies below regarding per-site process isolation.

I see. I don't think missing that is enough of a problem for me to switch browsers, it is rather unfortunate that it's still missing on Android.

It means that one malicious site can compromise your entire phone.

No it doesn't? It means that a malicious site that can take over a browser process can also take over connections/accounts on websites that share the same browser process by bypassing mechanisms such as CORS.

This isolation mode is also pretty effective against things like side channel attacks, though real mitigations of those bugs require kernel/microcode updates.

To take over your phone, you need at least a sandbox escape exploit to break out of the browser app space, a privilege escalation exploit to get past selinux and other such protections, and even then the damage you can do is quite limited unless you've gained root access. Site isolation exploits can be used as the first step in a chain of exploits, but it's not a very important part when it comes to preventing privileged RCE.

_Avoid Gecko-based browsers like Firefox as they're currently much more vulnerable to exploitation and inherently add a huge amount of attack surface. Gecko doesn't have a WebView implementation (GeckoView is not a WebView implementation), so it has to be used alongside the Chromium-based WebView rather than instead of Chromium, which means having the remote attack surface of two separate browser engines instead of only one. Firefox / Gecko also bypass or cripple a fair bit of the upstream and GrapheneOS hardening work for apps. Worst of all, Firefox does not have internal sandboxing on Android._

https://grapheneos.org/usage#web-browsing

That sounds like the exposed attack surface is a lot more than just whatever sites are running under your Firefox process.

But what do I know, I'm not a developer of security-hardened Android forks, so I just have to pick which randos on the internet I choose to believe. When the developers of DivestOS and GrapheneOS both have lengthy write-ups on why chromium base browsers are significantly more secure, I'm going to believe them because I don't have the low level technical knowledge to refute what they're saying.

If a third part web browser "bypasses or cripples" OS sandboxing, then any app can. Seems like Graphene's hardening isn't very good for third party apps in that case.

Firefox doesn't use Android's API for sandboxing processes from each other, but that sandboxing isn't what's protecting your phone from getting taken over. There are many layers of security present within Android and process isolation for web content is just one of them.

I'm sure Graphene's fork of Chrome is more secure than Firefox (especially with JIT turned off) but that doesn't mean running Firefox presents any risk.

Android's design is such that I should be able to install a random app and see no adverse effects other than battery drain/high network load without clicking through dozens of security prompts. If that's not the case, there's a vulnerability in the Android layer that needs patching, such as the Qualcomm vulnerability that was released recently.

With open security holes like that, not even Chrome's site isolation is going to protect you

Right, so if Gecko based browsers can cause that kind of security concern on Graphene, what does that mean for people using Android ROMs that are not hardened, or, OEM variants that do not receive regular security updates?

Any app installed by a user that takes advantage of an active and unpatched CVE, can do all sorts of actions to compromise an entire phone, or critical parts of it. Are you saying that's not the case?

The difference between a compromised app, and a browser, is that even a "safe" Firefox install is used to browse a near infinite possibility of websites, any number of which might be running an active campaign targeting unpatched Android vulnerabilities.

It sounds like you're saying that despite Firefox Geckos significantly larger attack surface, the fact that Chromium doesn't eliminate all risk, means there's no difference.

I still don't really see what "that kind of security concern" is in this context. Same-site isolation protects two websites from each other, nothing more. The isolation API Chromium uses to drop permissions on some of its threads are used to limit the potential of a single exploit, but they don't prevent things like the Qualcomm vulnerability from being abused.

It's not like any website can just break a web browser, they need to exploit the browser in the first place.

For unpatched people, that means they're in trouble. Luckily, Android is so fragmented that there is no exploit that'll get root access on all devices. It's hard to even get root access on the same model of phone. In practice, drive-by malware is actually quite rare for how many unpatched Android phone are out there.

There is probably more risk in using Firefox than there is in using Chromium, but the additional protections here are quite overstated in my opinion. You can't get enough layers of defence when you're a human rights activist or whatever (but then you'd use an iPhone in lockdown mode anyway), but just because Firefox doesn't implement a particular API doesn't mean your phone can be taken over by any website you visit. You need a complex chain of exploits directly targeting your phone's hardware and software configuration to get anything more than a force closed browser tab.

As for the attack surface, Chromium implements a significantly larger API and provides a significantly larger attack surface, with permissions and code to do things like access USB drives and open serial ports. I'd say the huge chunk of Chromium-only browser features leave Chromium with a larger attack surface, not a smaller one.

I personally prefer the additional privacy improvements Firefox brings over the two layers of malware protection that patched versions of Chromium provide. I'm no Khashoggi and I don't work on any nuclear plants, I'll probably be Fine™️ and so will you.

It's like you're arguing because you like to argue, and can't admit that you're wrong. So you keep finding new ways to qualify your response in the hopes that I forget what this is even about.

Chromium is significantly more secure than Firefox Gecko on Android. That is according to the developers of probably the two most well regarded hardened Android ROMs.

One of which, Graphene, even advises completely avoiding Gecko based browsers.

Which is what I said in my original comment, well, the part about relative security.

You've also claimed that at most, a malicious android application can only harm battery life and cause network issues, which is objectively false. I'm honestly kind of confused why you even said that, but whatever.

I never said no one should use Firefox based browsers on Android, I just said they weren't as secure and that user should understand the risks associated with them.

But what I'm most confused and perplexed by, is your insistence that only high risk individuals should be concerned with using a browser that comes with, at minimum, double the attack service they're exposed to when browsing the web.

Again, that is per the GrapheneOS wiki/FAQ.

I mean, we're not talking about some hardcore and incredibly inconvenient levels of unnecessary OPSEC for the sake of OPSEC, we're talking about a browser.

Tell you what, if you post a link to your GitHub showing me the hardened Android ROM that you develop, or heavily contribute to, I would be happy to revise my opinion on your credibility versus those developers.

You make claims like "that means one website can take over your entire phone" and I reject that. I know what these isolation layers do and I also know that they're not going to make a difference in practice for the vast majority of people. For instance, same-site isolation, which you specifically mentioned, is not a defence against anything but CORS bypasses and maybe some memory leaks. Firefox not having it is suboptimal, but it's hardly the end of the world. Just rather annoying to let them open themselves up to the risk of side channel attacks and such.

The Android sandbox is designed to sandbox entire binaries. That alone should withstand any malware that enters the phone, or at least constrain it within a sandbox. If that sandbox is broken, GrapheneOS itself is broken. There are CVEs and CVE chains to break out of that sandbox in unpatched version of Android and there are probably a few that are present but haven't been discovered by the good guys yet, but that's the part that prevents any app from taking over your phone. It's also why rooting your phone is such a hassle if you don't have an unlocked bootloader.

That's also what Firefox is supposedly "crippling" by not using Googles process sandboxing API. That just shows that GrapheneOS assumes their sandbox to be broken to the point where every app is crippling their security by not calling the APIs used for process isolation.

The kind of browser protections you're arguing for are defence-in-depth measures. They lengthen the kill chain of certain families of exploits by requiring more workarounds and making exploits less stable and efficient. That's no doubt good for security in general, and I'm not denying Firefox has work to do here, because Google is ahead of them.

However, their browsing recommendations are only valid for their threat model. That includes "always disable USB", "always hide your IP address", "sacrifice RAM and performance for better ASLR", "break API compatibility to enforce better malloc rules", and tons of other modifications that are protections against the most advanced kinds of malware. Of any if this were a problem, the average Android user with their four month old copy of Chrome on their two years outdated Android phone would get hacked every single day. Writing reliable Android exploits is actually quite hard because every manufacturer likes to alter their ROMs in tiny but annoyingly significant ways. Your ROP chains don't line up anymore, your kernel exploit needs to call a different method, the ROM comes with a different version of a driver for no good reason, it's almost security-through-annoyance.

The protections Graphene provides are similar to those of an iPhone in lockdown mode (a severely underused mode, in my opinion, one that mainline Android should include). It protects against vicious malware that's made by people with vast resources through several levels of defence in depth and sacrificing usability for security where necessary, to the point they call themselves "an operating system with Android app compatibility". It's why only GrapheneOS and the latest (well-configured) iPhone were shown to be resistent to hacking tools such as Celebrite. Excellent for journalists, human rights activists, and other potential targets of such directed advanced malware. Hardly a problem for the majority of the population whose malware exposure is "your WhatsApp is outdated click here to install WhatsApp.apk" and "download super gambler from the Play Store and Elon Musk will send you free crypto".

For some perspective, compare GrapheneOS' opinions on Gecko with those of DivestOS, which provides a more nuanced recommendation. They recommend their Mull and Tor for privacy reasons, despite the lack of the two isolation features GrapheneOS is so adamant about. They also mention dynamic first party isolation, which Firefox implements but Chromium doesn't, and which even Vanadium doesn't have a comparable implementation.

You said users should understand the risks associated with their browser choices, and I agree. I just don't think the risk is as high as you seem to think. And no, I'm not developing an Android ROM, and even if I should, that wouldn't make me more or less reliable on a forum like this. When it comes to browsers, my recommendation would be "use Mull for privacy against advertisers and data brokers, buy a Pixel and use Vanadium or buy an iPhone and put it in lockdown mode if you're afraid of one or more governments".

1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...

It's because you are making extreme claims without any sources.

what divestOS is actually saying:

While DivestOS includes a Gecko based browser for privacy reasons, Chromium based browsers have many security advantages. It is up to the user to choose their preference.

https://divestos.org/pages/browsers

Pretty sure I told you where you could find more information, as well as pointing out that the default browser on Graphene is a hardened Chromium browser, not Firefox Gecko.

But okay, here, I can even do that little bit of searching for you:

https://divestos.org/pages/browsers

it really sucks tho, because most chromium forks still force you to use a google account in order to sync, and thats if they don't strip google entirely. there's brave, but I haven't had the best of experiences with that browser.

I can still self host something like floccus to "sync" bookmarks, and use kde connect to send browser tabs from one device to another, but I still wish it was as convenient as firefox; which iirc, let's you self host their sync service

You're wrong

Source: same as yours. My butt.

_What is per-site process isolation?_

_Per-site process isolation is a powerful security feature that seeks to limit exposure of a malicious website/script abusing a security vulnerability. Firefox calls per-site process isolation Fission and is enabled by default on desktop. Fission is not yet enabled by default on Android, and when manually enabled it results in a severely degraded/broken experience. Furthermore Firefox on Android does not take advantage of Android's isolatedProcess flag for completely confining application services. Standalone Chromium based browsers strictly isolate websites to their own process._

https://divestos.org/pages/browsers

Source: The developer of Mull, Mulch, & DivestOS

Personally I would argue that allowing users to install extensions, mostly adblockers, you remove what's probably the single most common real world vector for attackers, ads. So while chromium browsers may be more secure I would say you're probably less likely to run into a problem with a firefox based browser with ublock origin on it, mobile or desktop.

Extensions are another vector. But putting that aside, because I agree ads are a much larger threat:

https://github.com/uazo/cromite

_Cromite a Bromite fork with ad blocking and privacy enhancements; take back your browser!_

Also, Mulch lets you pick your DNS provider. So even if you don't already have system, or network, wide ad blocking, it's not like you're deluged in ads.

Again, I'm not saying no one should use Gecko based browsers, I'm just repeating what developers of respected hardened security ROMs have written about. Actually, that's not true, I'm taking a softer approach as the GrapheneOS wiki/FAQ says NOT to use Gecko based browsers.

Corrected. Firefox is less secure than Chromium-based browsers.

And if you had that in your butt the whole time, you should've gotten it out earlier.

1 more...

Soo, what "own problems" does mull have? I mean, pretty much fennec with some tor patches

Like today i tested Firefox nightly (to see new changes on official Firefox). After changing bunch of setting and dns i compared it with mull. Somehow mull was slow and it was taking longer to load the same page. ( good thing is mull has no telemetry)

Mull might feel slow because of the resist fingerprinting locks the refresh rate at 60hz and if your device goes higher (90/120) then it won't take full advantage of the screen.

Surprisingly, I thought about the same thing a few days ago ... but we have mull browser

True. For now I got a combo of Firefox and Firefox focus. Set focus as default browser, and if you do need cookies, copy the link.

The problem is that they both have telemetry.

Fennec, maybe?

Just to mention, Fennec's F-droid page does list the following as an anti-feature:

This app tracks and reports your activity
Connects to various Mozilla services that can track users.

It does say that telemetry has been removed, but that it still connects to services (like Firefox Sync, for example) which could still potentially be used to track you.

That's not a dealbreaker for me personally, but if it bothers anyone else, it seems like Mull might be the more privacy conscious choice, at the cost of some convenience features.

I recommend a combo of Mull and Mulch or Cromite instead. Configure one of them to delete cookies and history on exit. Use URLCheck as your default browser. Then you can see the actual link when you click on one, you can remove tracking parameters, and then choose which browser to open it in.

It's not LibreWolf, but how about IceRaven?
https://github.com/fork-maintainers/iceraven-browser

Has been my goto FireFox fork for Android for years.

It still has telemetry. Devs also mentioned it in the github repo

ok but like... telemetry is not automatically bad. a vast majority of users never report bugs in software, and are trained to just click through popups. this means the bugs don't get fixed, and the crash reports don't get sent.

scrutinizing what actually gets sent from your browser is how you keep yourself safe, blocking all telemetry is how you get unpatched security holes.

But not everyone likes it. And people who use these foeked versions instead of the play store version are smart enough to do bug reports

they are probably also smart enough to know how to toggle the telemetry off with the setting exposed by the browser.

Turning off telemetry in setting doesn't always work. If you see dns logs you can find bunch of domains that your Browser is connecting

does that apply to iceraven? if not i don't really see the relevance

Yep i used it for a month . it has telemetry from Mozilla. Like it inherited from it's parent Firefox

3 more...
3 more...
3 more...
3 more...
3 more...
3 more...
3 more...
3 more...

My thing against Firefox/Librewolf is lack of security...unless it's improved?

Avoid Gecko-based browsers like Firefox as they're currently much more vulnerable to exploitation and inherently add a huge amount of attack surface. Gecko doesn't have a WebView implementation (GeckoView is not a WebView implementation), so it has to be used alongside the Chromium-based WebView rather than instead of Chromium, which means having the remote attack surface of two separate browser engines instead of only one. Firefox / Gecko also bypass or cripple a fair bit of the upstream and GrapheneOS hardening work for apps. Worst of all, Firefox does not have internal sandboxing on Android. This is despite the fact that Chromium semantic sandbox layer on Android is implemented via the OS isolatedProcess feature, which is a very easy to use boolean property for app service processes to provide strong isolation with only the ability to communicate with the app running them via the standard service API. Even in the desktop version, Firefox's sandbox is still substantially weaker (especially on Linux) and lacks full support for isolating sites from each other rather than only containing content as a whole. The sandbox has been gradually improving on the desktop but it isn't happening for their Android browser yet.

Ref: https://grapheneos.org/usage#web-browsing

So that leaves the choice between giving our data to Google or randos on the internet then?

or randos on the internet then?

I mean isn't that practically everyone on the Internet that you don't know personally? Or do you actually know the Firefox and/or Librewolf team, and audit their code as well?

If no to both...sounds like you are putting some measure of trust into "randos on the Internet." Which is not abnormal. Trust is required at some point in most processes.

No one is saying use Google's version of Chromium. There are hardened forks available, such as Mulch and Cromite.