Capsule8 Blog
capsule8.com · Company blog · on HN since 2018
The blog of Capsule8, a Linux security company, covering Linux hardening, monitoring, container security, and exploit research such as Meltdown and journald.
What HN saysHN commenters cite it for its systemd-journald exploit write-up and a labs-team post arguing a vulnerability was over-hyped, in container security discussions.
21HN people shared it
5linked it in comments
28stories submitted
282story points
5 years agolast shared
2018people per year2026
Most-shared posts
- 1Millions of Binaries Later: A Look into Linux Hardening in the Wild4 people · 203 points · first shared 2019 · 14 comments on HN
- 2Different Approaches to Linux Monitoring3 people · 9 points · first shared 2019 · discussion on HN
- 3Part Two: Detecting Meltdown and Spectre by Detecting Cache Side Channels3 people · 4 points · first shared 2018 · discussion on HN
- 4Don’t Get Kicked Out: a Tale of Rootkits and Other Backdoors2 people · 10 points · first shared 2019 · discussion on HN
- 5Detecting Meltdown Using Linux Tracing2 people · 8 points · first shared 2018 · discussion on HN
- 6Exploiting SystemD JournalD Part 12 people · 5 points · first shared 2019 · 3 comments on HN
- 7AuditD: A Neutral Overview of the Linux Auditing System2 people · 4 points · first shared 2020 · discussion on HN
- 8OOMyPod: Nothin’ to CRI-O-Bout2 people · 4 points · first shared 2019 · discussion on HN
- 9Grubbing Secure Boot the Wrong Way: New Buffer Overflow in GRUB22 people · 3 points · first shared 2020 · discussion on HN
- 10An Exercise in Practical Container Escapology2 people · 2 points · first shared 2019 · discussion on HN
- 11RAMming Down Hype via Intel CSME2 people · 2 points · first shared 2020 · discussion on HN
- 12The Curious Case of a Kibana Compromise1 people · 8 points · first shared 2019 · discussion on HN
- 13Kernel [Security] Configuration Glossary1 people · 6 points · first shared 2019 · 1 comments on HN
- 14We built EDR-like investigations capabilities for cloud workloads1 people · 4 points · first shared 2019 · discussion on HN
- 15Exploiting systemd-journald Part 21 people · 3 points · first shared 2019 · 1 comments on HN
What HN people wrote when they linked it
m11r · 2019-07-05
Keep in mind that this article is specifically discussing defaults, though, not necessarily the overall potential for security hardening. There are certainly some security-related features FreeBSD is missing when compared to other BSDs (OpenBSD) or Linux distributions, but some of what is called out can absolutely be accomplished by system administrators after installation, or as part of image deployment… but it would be better if the defaults evolved to be more secure without extra configuration.
As general purpose operating systems go, there was another interesting article from earlier this year comparing popular Linux distros which found that Ubuntu (18.04) had the best overall posture with regard to use of hardening and mitigation mechanisms out-of-the-box vs. versions of CentOS/RHEL, Debian, and OpenSUSE at the time. Some of this was due to the newer Linux kernel version being used, but also thanks to hardening of binaries, etc.
> Our experiments indicate that Ubuntu 18.04 shows the largest adoption of OS and application-level mitigations, followed by Debian 9.
https://capsule8.com/blog/millions-of-binaries-later-a-look-into-linux…
megous · 2021-07-20
Yes. It happened before, so it was not exactly hard to guess.
https://capsule8.com/blog/exploiting-systemd-journald-part-1/
eyberg · 2020-03-19
The issue here with containers in general is that they break well known security boundaries. This is exacerbated by things like k8s cause it is inherently built to orchestrate many of them and assumes that there is a multi-tenant deployment by default.
Most recently Google themselves wrote about this just a few weeks ago:
https://cloud.google.com/blog/products/containers-kubernetes/kubernete…
but the issues have been present forever:
https://capsule8.com/blog/oomypod-nothin-to-cri-o-bout/
https://www.zdnet.com/article/doomsday-docker-security-hole-uncovered/
https://www.zdnet.com/article/alpine-linux-docker-images-ship-a-root-a…
eatonphil · 2020-03-12
The labs team at work wrote a bit [0] about why this is over-hyped (more context in the full post):
> Arbitrary code execution is bad! But exploiting this vulnerability requires local access at a minimum, compounded by the attacker needing to exploit a relevant device to gain a foothold on the system. This list of valid footholds is quite limited. For instance, an attacker would need to perform code execution in the ISH or other Platform Controller Hub (PCH) devices — exploiting PCIe devices (like GPUs or RAID controllers) wouldn’t suffice. Additionally, per the original blog post, other methods of exploitation require physical access. Either way, this is limited to incredibly motivated and well-resourced attackers (like a nation-state with a high-value target identified).
[0] https://capsule8.com/blog/ramming-down-hype-via-intel-csme/
hardwaresofton · 2019-06-16
Yep, VMs are safer than containers, because there is a larger barrier between the possibly malicious code running inside the VM than there is in the container context. A container is just another process, bound by limitations via namespaces and cgroups -- running on a shared kernel as a host. But don't take my word for it:
> Simply put, containers are just processes, and as such they are governed by the kernel like any other process. Thus any kernel-land vulnerability which yields arbitrary code execution can be exploited to escape a container. To demonstrate this, Capsule8 Labs has created an exploit that removes the process from its confines and gives it root access in the Real World. Let’s take a look at what was involved.
(I don't know much about capsule8 as a company is but that article[0] is pretty informative and seems spot on from what I read)
If you can infiltrate a process (let's say a web server) running in a container and know a kernel exploit that can be used to get past these limitations (a "container escape"), then you can use them and get root on the main system.
If that same process was running in a VM (without a container), you need to:
- Infiltrate the process
- Kernel exploit to gain root (assuming the program wasn't running under it) in the VM
- Escape the VM (i.e. use the kernel or whatever else to actually break past the barriers of the hypervisor which was running the vm -- qemu +/- kvm, hyperv,etc) -- aka a "virtual machine escape"[1]
- Gain…