Would Rust and it's memory safety stuff have prevented this?
Mozilla fixes Firefox zero-day actively exploited in attacks
71–80 of 151 posts
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#72Earlier quoted context omitted.
Containers share the same kernel as the host. If you're happy sharing millions of lines of monolithic C between trust domains ...
Yes, but it's a compromise, because I'm not happy spinning up tons of kernels and trying to share access to devices that do not want to be shared, either. You're right that the trusted codebase is huge, but I sincerely do not know how big a problem this is in practice, hence the question.
In my usage I've never felt the need to share stuff other than the network/sound/storage stuff that qubes make just work. Other devices tend to be just plug them into the particular VM that needs them. YMMV.
I would say that perhaps containers could do just as well, or some other technology. The thing qubes brings to the table is that other people are doing most of the heavy lifting to make a usable desktop out of a highly virtualized system.
There may be path dependent reasons why qubes approach isn't the best possible... but it doesn't matter because so much stuff just working is worth so much. That the compromise we always make when running a distribution... one could meta-x butterfiles and write your own kernel from scratch, or whatever. Or you can run a system created by others. Their system may have decisions you disagree with or are objectively bad, but they saved you 12 months of tinkering with the dynamic linker-- well worth it. :)
For me, the alternative of having my whole laptop compromised by some browser zero day or because a malicious party sent me some malware document was just not viable. I was already carrying two laptops for isolation, and suffering some anxiety from the residual risk. But in my case I've been targeted specifically (due to cryptocurrency bullshit), a friend and former colleague was hit with an astonishingly sophisticated attack that used stuff like BMC vulnerabilities on his web server and then traversal with X11 forwarding and stuff like that all to just break into his desktop.
So I'd probably be using qubes today even if I could only move the mouse with my tongue and the computer was slowed down to the speed for a 486sx. But the incorrect belief that it would be that kinda hit really delayed my adoption. It's a hit, it's real, but at least for my usage it was far smoother than I expected.
I think right now the only obvious wart I experience is that full screen video stutters pretty badly. So I just don't watch video full screen on the laptop now. There are things that might fix it, but I haven't bothered even trying.
There are benefits I didn't expect too. For example, The operating system image in a normal application VM isn't persistent, only your home directory. So you can just scribble all over the OS install in an app vm and it'll go away when you restart it. If you want it to be persistent you change the underlying templatevm. So to get something working I can totally take a chainsaw to my configuration confident I won't get stuck with anything broken. Once I figure out the changes I can apply just the required steps in a template.
Another benefit is that updating fedora versions is a riskless breeze--- install a new template vm. shut down your app vms, click to change template. Restart them if some particular app vm is broken, switch it back and worry about it when you have time.
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#73We need a browser written in managed lang Even if it means some perf drop, modern hardware will get it back in X years, but safety will be significantly improved
Rust was created at Mozilla and currently 11.7% of the Firefox source code is in Rust: https://4e6.github.io/firefox-lang-stats/ That's down from 12.49% at the peak in July 2020 so I assume the conversion work was halted after the layoffs in 2020: https://docs.google.com/spreadsheets/d/1flUGg6Ut4bjtyWdyH_9e...
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#74Earlier quoted context omitted.
Sounds like Mozilla should invent a low level language with great safety guarantees, maybe even call it after some form of oxidation process[1]. Then make a browser engine called after a motor[2], and then NOT axe the team responsible for it[3]. I think the last part might be crucial. [1] https://www.rust-lang.org/ [2] https://servo.org/ [3] https://paulrouget.com/bye_mozilla.html
Im aware of Rust, but there is C#/Java too, with way bigger ecosystem, community and lower entry level
Java was rejected because of the huge memory requirements and the unpredictable (and sometimes lengthy) garbage-collection pauses.
C# was rejected because (at the time) it was too tied to the Microsoft ecosystem and there was no way to get it to build on all the platforms for which Firefox is available. I don't remember garbage-collection pauses being discussed, but they would also be an issue.
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#75Earlier quoted context omitted.
Rust was created at Mozilla and currently 11.7% of the Firefox source code is in Rust: https://4e6.github.io/firefox-lang-stats/ That's down from 12.49% at the peak in July 2020 so I assume the conversion work was halted after the layoffs in 2020: https://docs.google.com/spreadsheets/d/1flUGg6Ut4bjtyWdyH_9e...
Android code was recently imported into mozilla-central which is quite considerable in size.
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#76A note for Ubuntu users; if Firefox is installed using `snap` (default) and you run `snap refresh` it will output "All snaps up to date" - but this is not true! You have to close firefox, then run `snap refresh` for snap to upgrade firefox...
Not an Ubunutu or snap user but curious, why?
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#77A note for Ubuntu users; if Firefox is installed using `snap` (default) and you run `snap refresh` it will output "All snaps up to date" - but this is not true! You have to close firefox, then run `snap refresh` for snap to upgrade firefox...
Not an Ubunutu or snap user but curious, why?
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#78Earlier quoted context omitted.
Im aware of Rust, but there is C#/Java too, with way bigger ecosystem, community and lower entry level. At the end of the day web browser is just bunch of parsers and compilers working together, and some video/audio
The problem with writing a browser in C# or Java is that neither of them can provide anywhere close to the level of thread safety that Rust does.
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#79A note for Ubuntu users; if Firefox is installed using `snap` (default) and you run `snap refresh` it will output "All snaps up to date" - but this is not true! You have to close firefox, then run `snap refresh` for snap to upgrade firefox...
Not an Ubunutu or snap user but curious, why?
You don't actually need to stop it before running “snap refresh” though, it'll just be out of date as long as it is kept open. Once the application stops running, next time it is run the updated image will be used.
[caveat: I'm not a snap user myself currently, so my information may be inaccurate, take with a pinch of your favourite condiment]
Re: Mozilla fixes Firefox zero-day actively exploited in attacks
#80Earlier quoted context omitted.
Not an Ubunutu or snap user but curious, why?
It doesn't update actively running application containers. You don't actually need to stop it before running “snap refresh” though, it'll just be out of date as long as it is kept open. Once the application stops running, next time it is run the updated image will be used. [caveat: I'm not a snap user myself currently, so my information may be inaccurate, take with a pinch of your favourite condiment]