This repository contains the artifact for the IEEE S&P 2025 paper: Rapid Reversing of Non-Linear CPU Cache Slice Functions: Unlocking Physical Address Leakage
The artifact is split into sub-folders, each containing documentation on how to setup and run the code.
In our 3 case studies we show that physical address information is useful to perform side-channel attacks.
aes_t_table
: Perfect eviction on AES t-tables using the reverse engineered function.drama_v_to_p
: End-to-end DRAMA attack using the v2p-oracle.prime_probe
: Prime&Probe attack with perfect eviction sets on LLC using cache slice function and physical address informationrealloc_spectre
: Spectre attack using physical address information. Shows that we can get the physical address of victim memory.
We show how to reverse enigneer non-linear CPU chache-slice functions in an efficient manner. The key idea here is to first focus on one part of the function, the non-linear mixer. After the mixer is recovered it is easy to extend the function to be valid for the complete physical address space.
measure_pattern
: Measure a slice-access pattern for a given memory region using performance counters.non_linear_solve
: Tools to reverse-engineer non-linear cache-slice functionsslice_functions
: Slice function library with all obtained functions.
Besed on the observations we make about non-linear chache slice functions, we build an oracle that can translate virtual to physical addresses from userspace.
v_to_p
: V2P oracle, translating virtual to physical memory from userspace using a timing side channel.
If there are questions regarding these experiments, please send an email to mikka.rainer (AT) cispa.de
.
If you use our results in your research, please cite our paper as:
@inproceedings{Rainer2025Rapid,
author={Rainer, Mikka and Hetterich, Lorenz and Thomas, Fabian and Hornetz, Tristan and Trampert, Leon and Gerlach, Lukas and Schwarz, Michael},
booktitle = {S\&P},
title={Rapid Reversing of Non-Linear CPU Cache Slice Functions: Unlocking Physical Address Leakage},
year = {2025}
}
And our artifacts as:
@misc{Rainer2025RapidArtifacts,
author={Rainer, Mikka and Hetterich, Lorenz and Thomas, Fabian and Hornetz, Tristan and Trampert, Leon and Gerlach, Lukas and Schwarz, Michael},
url = {https://github.com/cispa/TODO},
title = {Rapid Reversing of Non-Linear CPU Cache Slice Functions: Unlocking Physical Address Leakage Artifact Repository},
year = {2025}
}