Leonard Cohnen

20 Followers
97 Following
36 Posts
Golang | eBPF | Networking | Cloud | Confidential Computing
InfoSec M.Sc. from Ruhr Uni Bochum
GitHubhttps://github.com/3u13r

#ReproducibleBuilds bug of the week:

We noticed our rootfs wouldn't reproduce between systems with different file systems. Diffing two rootfs tarballs led us to a diff in packed certificate bundle files.

All packages installed by the rpm-based package manager were pinned by hash, so how could these files differ? We noticed that the total file length was the same, so we assumed an ordering problem. Looking into the SPEC file of the ca-certificates package, we saw that these files were generated in a post install hook with p11-kit.

Checking the code, we noticed that p11-kit would get the certs files using readdir(). But the order in which readdir() returns files is undefined! (and likely depends on the inode numbers of the fs)

So here is our fix, sorting the input files by paths to extract a reproducible bundle output: https://github.com/p11-glue/p11-kit/pull/656

#Linux #RPM

token: sort paths for reproducible extract by katexochen · Pull Request #656 · p11-glue/p11-kit

There is no defined order in which readdir will return the entries of a directory. In practice, order can depend on inode number or similar. If we run p11-kit on different files systems with simila...

GitHub
Investigating creating reproducible images with mkosi

I've blogged before about creating vagrant images using mkosi as part of an investigation to move image creation to mkosi but also as I will be giving a talk at All Systems Go about Arch Linux images mkosi and reproducibility. With reproducible images in this article I mean that anyone …

Jelly's blog

Can you pull a container image with a known good digest from an untrusted registry?

It depends. Following the OCI distribution spec, a client is not required to validate the digest. Instead, the registry can send a header with another hash algorithm, and the client must validate using algo and hash from the header. A malicious registry can deliver both malicious manifests and blobs to a spec conform client.

Docker & containerd seem to check the digest as one might expect, many other clients don't.

My colleague @burger is proposing to tighten the spec and require clients to verify the digest if present: https://github.com/opencontainers/distribution-spec/issues/549

#container #security #OCI #containerd #Docker #Kubernetes #infosec

proposal: tighten digest verification requirements for clients · Issue #549 · opencontainers/distribution-spec

The use case Suppose I have a release workflow that builds reproducible container images, for example using Bazel or Nix image builders. Reproducibility guarantees that I can rebuild the image from...

GitHub
I don't need AI to be sentient. I need AI to create good looking TikZ drawings.

We just released what I've been working on for the past months: Contrast, a tool for managing Confidential Containers at scale.

https://github.com/edgelesssys/contrast by @edgelesssystems

Seamlessly integrating with managed #Kubernetes, it offers a fully verifiable software stack. Using Confidential Computing, it allows running sensitive workloads in the public cloud with robust security, safeguarding against the cloud provider. Contrast also features a drop-in, attestation-based service mesh solution to secure inter-deployment communication.

#Cloud #Security #ConfidentialComputing #Azure

GitHub - edgelesssys/contrast: Deploy and manage confidential containers on Kubernetes

Deploy and manage confidential containers on Kubernetes - edgelesssys/contrast

GitHub

Next Nix(OS) Learning Group Bochum meetup is around the corner, and we have an exiting new location!

2024/05/14, 18:00
at @daslabor

Learn how to use Nix as build system or discover the power of declarative system configuration!

Full annoncement (de): https://wiki.das-labor.org/w/Veranstaltung/6._Nix(OS)_Learning_Group_Meetup

#Nix #NixOS

6. Nix(OS) Learning Group Meetup – LaborWiki

Should #coreutils #dd support CoW / reflink / FICLONE / copy_file_range optimizations?

Currently, cp has support for this, but can only copy whole files.
If I want to combine sections of files into an output file, there is no simple userspace tool to do so with #CopyOnWrite semantics.
#linux #filesystem

Can a malicious cloud provider send bad notifications to break confidential VMs?

Disclosing #AhoiAttacks that break confidential computing offered by AMD SEV-SNP and Intel TDX by abusing interrupt delivery.

https://ahoi-attacks.github.io/

Our first attack #Heckler to appear Usenix Security 2024 breaks Intel TDX and AMD SEV-SNP by sending interrupts that trigger existing handlers to change the register state and variables in userspace. We break sshd, sudo, and other apps.

Our second attack #WeSee to appear IEEE Security & Privacy 2024 breaks AMD SEV-SNP by sending an interrupt specially introduced for SEV. Starting from a kernel read to arbitrary code injection, we gain a root shell.

Track CVE-2024-25742, CVE-2024-25743, CVE-2024-25744 for updates on fixes and patches.

A fantastic team effort by Benedict M. Schlüter, Supraja Sridhara, Andrin Bertschi, and Mark Kuhne!

Ahoi Attacks

Attacks to break AMD SEV-SNP and Intel TDX with malicious notifications.

Ahoi Attacks
On my way to #NixCon NA. Anybody wants to catch up during the #conference, and possibly talk #immutable and #reproducible #NixOS images? #linux #nix #socallinuxexpo #scale #california #losangeles

I built a tool for image based linux / discoverable disk images:
https://github.com/malt3/ddi-tool

For now, it can update the embedded kernel cmdline of a UKI.
More features are in the pipeline.

#systemd #uapi #linux

GitHub - malt3/ddi-tool: Tool for manipulating discoverable disk images (DDIs) in-place.

Tool for manipulating discoverable disk images (DDIs) in-place. - GitHub - malt3/ddi-tool: Tool for manipulating discoverable disk images (DDIs) in-place.

GitHub