KernelSnitch: Side Channel-Attacks on Kernel Data Structures
Creators
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 |