Earlier quoted context omitted.
Does the fact that docker runs as a root have something to do with it?
Yes, but even rootless containers rely on user namespaces, which are a recurring source of privilege escalation vulnerabilities in Linux.
Maestro: A Linux-compatible kernel in Rust
31–40 of 380 posts
Re: Maestro: A Linux-compatible kernel in Rust
#32Earlier quoted context omitted.
> a docker container can't be relied upon to contain arbitrary malware "to not contain"? Edit to contain (ahem!) the downvotes: I was genuinely confused by the ambiguous use of "contain", but comments below cleared that up.
They're using 'contain' to mean 'keep isolated'. If you put some malware in a docker container, you can't rely on docker to keep the rest of your system safe.
Re: Maestro: A Linux-compatible kernel in Rust
#33Earlier quoted context omitted.
They're using 'contain' to mean 'keep isolated'. If you put some malware in a docker container, you can't rely on docker to keep the rest of your system safe.
Does the fact that docker runs as a root have something to do with it?
Re: Maestro: A Linux-compatible kernel in Rust
#34We need to protect end users from more and more proprietarization, tracking and privacy breaching, SaaS and untrusted IoT devices.
Re: Maestro: A Linux-compatible kernel in Rust
#35A memory safe linux kernel would be a fairly incredible thing. If you could snap your fingers and have it, the wins would be huge. Consider that right now a docker container can't be relied upon to contain arbitrary malware, exactly because the Linux kernel has so many security issues and they're exposed to containers. The reason why a VM like Firecracker is so much safer is that it removes the kernel as the primary…
More like memory safer. A kernel necessarily has a lot of unsafe parts. See: https://github.com/search?q=repo%3Allenotre%2Fmaestro+unsafe... Rust is not a magic bullet, it just reduces the attack surface by isolating the unsafe parts. Another way to reduce the attack surface would be to use a microkernel architecture, it has a cost though.
Bug density from `unsafe` is so low in Rust programs that it's just radically more difficult.
My company (not me, Chompie did the work, all credit to her for it) took a known bug, which was super high potential (write arbitrary data to the host's memory), and found it extremely difficult to exploit (we were unable to): https://chompie.rip/Blog+Posts/Attacking+Firecracker+-+AWS'+...
Ultimately there were guard pages where we wanted to write and it would have taken other vulnerabilities to actually get a working POC.
Exploitation of Rust programs is just flat out really, really hard.
Re: Maestro: A Linux-compatible kernel in Rust
#36A memory safe linux kernel would be a fairly incredible thing. If you could snap your fingers and have it, the wins would be huge. Consider that right now a docker container can't be relied upon to contain arbitrary malware, exactly because the Linux kernel has so many security issues and they're exposed to containers. The reason why a VM like Firecracker is so much safer is that it removes the kernel as the primary…
I like Rust and work in it fulltime, and like its memory-safety aspects but I think it's a bit of a stretch to be able to claim memory safety guarantees of any kind when we're talking about low-level code like a kernel. Because in reality, the kernel will have to do all sorts of "unsafe" things even just to provide for basic memory management services for itself and applications, or for interacting with hardware. You…
Re: Maestro: A Linux-compatible kernel in Rust
#37However, my guess is that the ones that are missing are the more complicated ones. The TTY layer, for example, looks rather basic at the moment. Getting this right will probably be a lot of work.
So don't hold your breath for Maestro running your Linux applications in the next 3 years or so (even without taking into account all the thousands of drivers that Linux has)
Re: Maestro: A Linux-compatible kernel in Rust
#38Earlier quoted context omitted.
People who want stable interfaces should not touch anything Linux with a ten-foot pole.
Care to elaborate on this? I clearly understand nothing of this, but it always felt confused about it. Why won't Linux aim for ABI stability? Wouldn't that be a win for everyone involved?
Re: Maestro: A Linux-compatible kernel in Rust
#39A memory safe linux kernel would be a fairly incredible thing. If you could snap your fingers and have it, the wins would be huge. Consider that right now a docker container can't be relied upon to contain arbitrary malware, exactly because the Linux kernel has so many security issues and they're exposed to containers. The reason why a VM like Firecracker is so much safer is that it removes the kernel as the primary…
I largely agree, but this seems quite unfair to Linux. > But damn, if Linux had been built with safety in mind security would be a lot simpler. Being able to trust the kernel would be so nice. For its time, it was built with safety in mind, we can't hold it to a standard that wasn't prevalent until ~20 years later
We can agree that C was definitely the language to be doing these things in and I don't blame Linus for choosing it.
My point wasn't to shit on Linux for its decisions, it was to think about a hypothetical world where safety built in from the start.
Re: Maestro: A Linux-compatible kernel in Rust
#40[flagged]
It indeed seems to be a trend to try and supplant GPL software that has served well for decades with hip and trendy probably safer software, that meeeerely has a small catch ... MIT license. I wonder how these projects even attract enough people to be developed. Especially developers of a kernel should be aware of the license side of things, that has protected us all.