Why I'm Switching from Firefox to Ungoogled-Chromium

I was reading this last night . Are you saying that it's possible some of those sandboxing options for the ungoogled-chromium package might not have made it into the FreeBSD port?

I don't know. I wouldn't be surprised either way. The sandboxing is one thing, but the other mitigations might use Linux features that have no direct equivalent on FreeBSD. There are more than 1000 patches in Chromium's FreeBSD port and I never read them.
 
That's what I do for daily/random browsing. I have a disposable jail which is zfs cloned from a template, and when the jail shuts down, the clone is destroyed and re-created. So a new FF profile is created every time.
Yeah, I think this is one of the best solutions for now until the web browser ecosystem has a major reshuffle (if it ever does).

You might want to consider still putting it through a proxy and blocking raw ports. I notice some of the random surrounding crap in browsers make opportunistic connections separate from the proxy that might be worth blocking.

https://iridiumbrowser.de/ is an interesting project where they have actual hooks in the code that actively trace connections to the crooks. Obviously Chrome is a constantly moving target so I don't really know the effectiveness of this approach.
 
Is there anywhere I can read more about that? Why wouldn't internal browser sandboxing measures be included in the FreeBSD port?
FreeBSD's only process sandboxing technology is called Capsicum and you can easily grep those Chromium patches in ports for the evidence of its (lack of) usage yourself. Seccomp-bpf is simply not available there.
 
FreeBSD's only process sandboxing technology is called Capsicum and you can easily grep those Chromium patches in ports for the evidence of its (lack of) usage yourself. Seccomp-bpf is simply not available there.
I think I saw you mention somewhere else that running Capsicum on a browser would make it unusable (or something like that).

Also, I'm guessing you don't consider jails to be a sandboxing technology? What would be your reasoning there?
 
I think I saw you mention somewhere else that running Capsicum on a browser would make it unusable (or something like that).
Definitely not.

Also, I'm guessing you don't consider jails to be a sandboxing technology? What would be your reasoning there?
I said process sandboxing — something that an individual process can set up for itself. Jails are not suitable for isolating browser components from each other: Chromium creates and kills processes all the time, you won't be able to provision a new jail each time you open a new tab with a new site even if you wanted to.

The original intended use case behind jails is dividing a machine between multiple users in the way that would not require them to rely on a single administrator for installing and maintaining software. A hosting scenario, basically. That obviously requires good isolation, but the threats and design requirements are very different from the desktop web browser case.
 
Definitely not.


I said process sandboxing — something that an individual process can set up for itself. Jails are not suitable for isolating browser components from each other: Chromium creates and kills processes all the time, you won't be able to provision a new jail each time you open a new tab with a new site even if you wanted to.

The original intended use behind jails is dividing a machine between multiple users in the way that would not require them to rely on a single administrator for installing and maintaining software. A hosting scenario, basically.
Ah okay, thanks for the clarification. I found this thread where you elaborate a bit more on this, thanks for pointing this out again here. I had no idea that sandboxxing wasn't implemented.


I do think I'll stick with the switch. There's a couple convenience items I'm already seeing (in addition to the mic); and it makes some sense to me to go with a browser where the devs have overall been more responsive to implement security improvements, even if some of those haven't made it into the port.

I'll take a look at Capsicum. I'm not a dev, and I only know shell and sysadmin stuff, not any full programming languages. But I'll see if I can figure anything out.
 
Chromium creates and kills processes all the time
Oh my god, yes. Anyone tried to use w^x with chromium recently? It. just. does. not. work.
You either give up w^x or you use chromium. elfctl just does not work on chromium's binary and this constant launching of new processes makes it completely impossible to just disable it momentarily for its launch.

I'm wondering how well chromium would work with capsicum, if there was any attempt to use it. Would probably manage to poke holes in that too I guess.
 
Of the millions of Chrome users, I'd bet very few ever read the security postings.
Of the millions of Firefox users, I'd bet very few have security issues on non-Windows systems.

And what are you to do? You are not an expert on this so sometimes you just have to go with what everyone else uses. And virtually everyone else on FreeBSD doesn't have any security problems.
At least I never have.
 
No, it belongs right here. New people coming to FreeBSD come to this forum to read opinions, perspective, and discussion of various ports and packages. And for anyone running FreeBSD as a desktop, choosing a browser is an important decision.

If you have a difference of perspective or reasoning, then rather than being dismissive, you could share that perspective.
I see that it's in the "Off-Topic" forum now, in which forum was it originally posted?

Since this appears to be a thread for discussing technical reasons for one's perspectives, I might add that I've used Firefox for years without any security problems that I know of. I don't have too much concern for security other than the routine credit card number security and password protection types of security. I don't have any nuclear launch codes, high-security documents, or anything like that on any of my computers; perhaps you or others here do, I wouldn't know. For advertising-trackers, spy-robots, rootkits, etc., I use https://duckduckgo.com and the Duckduckgo Security Essentials browser extension. It seems to serve my needs but I don't visit a lot of ad-tracking sites.

Rarely, I visit shopping sites; when I do, they seem to user-profile me, and target my purchases and merchandise-browsing history with their ads (adverts). This is likely done with cookies and is actually kind of useful to me for finding the items I wish to purchase. Other than Duckduckgo Security Essentials and whatever Firefox might have, I don't use any ad-blockers. I don't really need them. I've visited pornographic sites (strictly for browser ad-blocker testing purposes, of course) and their ads seem to be built into the site in such a way as to inevitably filter through. It's not important to me.

Duckduckgo also offers a browser you might be interested in, for both phones and laptops. I've tried it out on my Android phone and it seems to work well.

Seems like a Google clone running Google software in a sandbox, or that might need to run Google Play in a sandbox is not completely de-Googled in a world where Google has its claws in everything.

The Apple phones and laptops that aren't totally Google designed or Google black-boxed might be a better idea for avoiding Google, if you don't mind replacing true Google with a smaller, but still huge Google competitor.

As someone else suggested in this thread, connecting any computer to the internet is woefully hazardous no matter what, if you have anything to hide or numbers to protect. Since I count on being able to make internet transactions occasionally, I use a debit card with a limited balance it case it gets swiped. For big purchases it's best to use a one-time gift card loaded with the exact purchase total to pay and throw it away afterwards. If you have a large enough balance in your bank account, some banks will forego the bank fee on the gift card.

I use a piece of tape to block my phone camera. I don't discuss industrial espionage or national security secrets on the phone, or criminal activity of any sort, so I don't care about the microphone.
 
What about qute-browser ?
I forgot how long I am using Qutebrowser but it works very good for me. I didn't have any problem except I was not successful with import with import.py Firefox bokmarks.html to Qutebrowser bookmarks/quickmarks but I did slowl manual. What is your opinion?
 
There are two browser who take privacy serious. ungoogled-chromium & qutebrowser.
Just for qutebrowser your brain must remember the keys you programmed , like "back".
 
Chromium is significantly more secure, hardened, and sandboxed.
I'd like to take a look at consistent lists of known vulnerabilities of both, but I didn't found anything really clean. http://vuxml.freebsd.org/freebsd/pkg-firefox.html shows records only up to 2020. Does anybody know why? https://www.cvedetails.com/ shows records for both firefox and chrome unclassified by type and score, so it's hard to estimate impact at glance.
But https://www.cvedetails.com/ allows export to tsv file. So I've done it for year 2022 and started to grepping over.
chrome on cvedetails shows 283 vulnerabilities for the past year.
firefox on cvedetails shows 137
Any browser vulnerability may have impact on web security (like XSS, some site data leak) or OS (like remote code execution, filesystem access).
Some firefox vilnerabilities descriptions has 'remote code execution' or 'malicious code execution', but there's no 'buffer overflow' words.
Some chrome vilnerabilities descriptions has 'buffer overflow' words, but there's no any 'code execution'. Googling random chrome 'buffer overflow' CVE's shows me that almost all of them classified by different researchers as possible or proven remote code execution, this is very rough assumption of course.

Code:
% cat chrome.tsv | grep -i -e "file system\|filesystem\|arbitrary code\|malicious code\|code execution\|buffer overflow" | wc -l

      36

% cat firefox.tsv | grep -i -e "file system\|filesystem\|arbitrary code\|malicious code\|code execution\|buffer overflow" | wc -l

      30
So number of vulnerabilities that have impact on OS is roughly the same for both browsers.
Remaining vulnerabilities, that presumably have impact on web security is:
283 - 36 = 247 for chrome
137 - 30 = 107 for firefox
Chromium is ... sandboxed
So it looks to me like inter-site (inter-thread?) sanboxing in chrome doesn't really much matter in comparison to firefox.
Btw, I think probably that they really mean is 'secure design' rather than 'sandboxing'.
What's about OS sandboxing, to me it looks like that it is good enough to run browser just under separate user, with properly set permissions on anything I care about. At least until I discover one day another "privilege elevation" vulnerability reading security advisories. Also let's don't forget that there's not only jails, but this old thing: Mandatory Access Control
What is about cross-site security (within the same browser instance), I prefer:
- Block off-domain 3rd party javascripts ("policy control" extension)
- Disable service workers (firefox - in about:config, chrome - "Reject Service Worker" extension)
- Disable telemetry, eperimentation... (Firefox - about:config, chrome - really don't know)
- Delete cookies, html5 storage on exit (Firefox - about:config, chrome - shell script)
I tried several times before to move to chrome as my primary browser, but it always turns out that chrome lacks needed features or extensions. Nowadays it looks almost possible.
 
Removing iririum & chromium and installing ungoogled-chromium & qutebrowser.
I've been enthusiastically using qutebrowser for some time. It's great. I've kept iridium for a few sites where the brave adblocker doesn't quite do the trick. The ublock origin extension can be added to iridium through the chrome app store. I've been eyeing the ungoogled-chromium port but read somewhere that extenions require some workarounds. My age induced resistance to learning new things has led me to not yet install it. Please relay your experience!
 
It has absolutely nothing to do with "installation and maintenance of ports or packages"
As i have written in my previous post chrome shows 283 vulnerabilities for the past year. This is 1 vulnerability per 31 hour in average. Situation with firefox is a little bit better, but not too much. Both is very heavy to build from source. So in many real life situation only option I have is to install quarterly build. But installing it normal way with pkg leads to updating libraries that new version of firefox depends on and this in turn leads to updating many desktop software packages just for that. And after such update it is easily may turn out that updated version of some tool are broken some way, and typically I touched this tool not for fun, but because I need my job done right now. So what I doing is building all required libraries (which have unsatisfactory their versions in /usr/local) to some directory, then point to it in LD_LIBRARY_PATH, manually extracting new version of firefox from package to any other directory and run from there. Luckily firefox can run from any directory, not only /usr/local/lib/firefox/. Also I prefer to keep different versions of firefox at same time for testing as sites as firefoxes itself. So what I dreaming of is some community project of relatively separate from ports/pkg frequent Firefox (or/and chrome) builds with all dependencies included (intended to work with ports tree starting from version, packed with initial first major FreeBSD version release), such a way that it may be just extracted into /opt and run from there, no matter on which quarterly/head port tree I'm now
 
I'll take a look at Capsicum. I'm not a dev, and I only know shell and sysadmin stuff, not any full programming languages. But I'll see if I can figure anything out.

I added partial Capsicum support to Chromium if anyone wants to try it. It was a surprisingly small change (though Chromium takes so long to compile it really is a pain to work on) and it seems to work without any issues but more testing would be better.

 
Back
Top