Published November 30, 2024 | Version v1
Conference paper Open

KernelSnitch: Side Channel-Attacks on Kernel Data Structures

Description

This upload contains artifacts developed during a research project, as well as the code to perform KernelSnitch, which got accepted at NDSS '25.

KernelSnitch is a novel software-induced side-channel attack that targets kernel data container structures such as hash tables and trees. These structures vary in size and access time depending on the number of elements they hold, i.e., the occupancy level. KernelSnitch exploits this variability to constitute a timing side channel that is exploitable to an unprivileged, isolated attacker from user space. Despite the small timing differences relative to system call runtime, we demonstrate methods to reliably amplify these timing variations for successful exploitation.

The artifacts demonstrate the timing side channel and show the practicality of distinguishing between different occupancy levels. We provide a kernel module and execution scripts for evaluation. While our timing side channel is software induced, we recommend evaluation on hardware similar to ours (i.e., Intel i7-1260P, i7-1165G7, i7-12700, and Xeon Gold 6530) to reproduce similar results as in our paper. While the attacks should work generically on Linux kernels, we recommend to evaluate the artifacts on downstream Ubuntu Linux kernels v5.15, v6.5, or v6.8, as these are the versions we primarily evaluate. For the timing side channel, the evaluation shows that the occupancy level of data container structures can be leaked by measuring the timing of syscalls that access these structures.

Files

kernel_snitch_ae.pdf

Files (107.4 kB)

Name Size Download all
md5:7804bf0ed452f6d6f4e11688bd3798b3
83.1 kB Preview Download
md5:3a990c0105e970d0fea16ef2b2f6421c
24.3 kB Preview Download