Live data from Hacker News

Building a Linux Container Runtime from Scratch

edera.dev

51–60 of 70 posts

Re: Building a Linux Container Runtime from Scratch

#51
post #36

Earlier quoted context omitted.

Edera developer here, we use Styrolite to run containers with Edera Protect. Edera Protect creates Zones to isolate processes from other Zones so that if someone were to break out of a container, they'd only see the zone processes. Not the host operating system or the hardware on the machine. The key difference here between us and other isolation implementations is that there is no performance degradation, you don't…

What underlying primitives are you relying on to provide isolation, if not linux namespaces? How does your approach compare to Google's gVisor?

It's Xen, and they even explain why it's not KVM here: https://github.com/edera-dev/krata/blob/main/FAQ.md

Re: Building a Linux Container Runtime from Scratch

#53
post #36

Earlier quoted context omitted.

What underlying primitives are you relying on to provide isolation, if not linux namespaces? How does your approach compare to Google's gVisor?

gVisor emulates a kernel in userspace, providing some isolation but still relying on a shared host kernel. The recent Nvidia GPU container toolkit vulnerability was able to privilege escalate and container escape to the host because of a shared inode. Styrolite runs containers in a fully isolated virtual machine guest with its own, non-shared kernel, isolated from the host kernel. Styrolite doesn't run a userspace ke…

So it’s a VM?

Re: Building a Linux Container Runtime from Scratch

#54
post #35

Earlier quoted context omitted.

> Edera Protect creates Zones to isolate processes from other Zones What do you mean by "zone" exactly?

A zone is jargon for a virtual machine guest environment (an homage to Solaris Zones). Styrolite and Edera runs containers inside virtual machine guests for improved isolation and resource management.

How exactly is this an improvement over VMs?

Re: Building a Linux Container Runtime from Scratch

#55
post #34
post #26

Earlier quoted context omitted.

Once you have set up the namespaces you drop all capabilities so if the program gets hacked while it's running it can do very little.

honest question: how is this any better than running non-root containers? They can do very little anyway, that way.

[deleted]

Re: Building a Linux Container Runtime from Scratch

#56

Earlier quoted context omitted.

> This is what the entire public cloud is built on. Well... The entire public cloud except Azure. They've been caught multiple times for vulnerabilities stemming from the lack of hardware backed isolation between tenants.

Azure has the same level of isolation for VMs at a hardware level as AWS.

How Azure isolates VM's is completely unrelated, because containers are not VM's. And if you meant to assert that Azure uses hardware assisted isolation between tenants in general, that was not the case for azurescape [1] or chaosDB [2].

[1] https://unit42.paloaltonetworks.com/azure-container-instance...

[2] https://www.wiz.io/blog/chaosdb-explained-azures-cosmos-db-v...

Re: Building a Linux Container Runtime from Scratch

#57
post #17

Isn’t the gold standard of containerisation gVisor? Can’t get much more restrictive than proxying and filtering syscalls. As far as I remember it’s the default runtime on GKE.

Edera developer here. gVisor is restrictive, but its at a cost of performance. Personally, I'd say Edera Protect is one level deeper. We create Edera Protect Zones to provide isolation, so we create a Zone that is isolated from the OS and hardware of the machine running the container. So we don't proxy or filter syscalls, as the isolation is a layer deeper. We are also focused on ensuring that Edera Protect is as per…

How would you say it compares to Firecracker?

Re: Building a Linux Container Runtime from Scratch

#58
post #43

Earlier quoted context omitted.

Anyone know if it's possible to update the Linux kernel so that namespaces are hard security boundaries? I wonder what that would entail.

When we speak of 'hard security boundaries' most people, in this space, are comparing to existing hardware backed isolation such as virtual machines. There are many container escapes each year because the chunk of api that they are required to cover is so large but more importantly it doesn't have isolation at the cpu level (eg: intel vt-x such as VMREAD, VMWRITE, VMLAUNCH, VMXOFF, VMXON). This is what the entire pub…

> There are many container escapes each year because the chunk of api that they are required to cover is so large

What API? The kernel syscall API?

If we assume for a moment, that there are no bugs in the Linux namespace implementation, would containers be as safe as virtual machines?

Re: Building a Linux Container Runtime from Scratch

#59
post #58
post #43

Earlier quoted context omitted.

When we speak of 'hard security boundaries' most people, in this space, are comparing to existing hardware backed isolation such as virtual machines. There are many container escapes each year because the chunk of api that they are required to cover is so large but more importantly it doesn't have isolation at the cpu level (eg: intel vt-x such as VMREAD, VMWRITE, VMLAUNCH, VMXOFF, VMXON). This is what the entire pub…

> There are many container escapes each year because the chunk of api that they are required to cover is so large What API? The kernel syscall API? If we assume for a moment, that there are no bugs in the Linux namespace implementation, would containers be as safe as virtual machines?

No. As I'm responding to this Qualys just announced three new bypasses as of today: https://seclists.org/oss-sec/2025/q1/253 .

Re: Building a Linux Container Runtime from Scratch

#60
post #59
post #58

Earlier quoted context omitted.

> There are many container escapes each year because the chunk of api that they are required to cover is so large What API? The kernel syscall API? If we assume for a moment, that there are no bugs in the Linux namespace implementation, would containers be as safe as virtual machines?

No. As I'm responding to this Qualys just announced three new bypasses as of today: https://seclists.org/oss-sec/2025/q1/253 .

Sorry, can you elaborate? Your answer is not really clear. Why is it not possible for Linux namespaces to be secure?
Post reply on HN