REVIEW 3 major objections 7 minor 30 references
EXAM: Exploiting Exclusive System-Level Cache in Apple M-Series SoCs for Enhanced Cache Occupancy Attacks
T0 review · 3 major / 7 minor · reviewed 2026-08-16 · deepseek-v4-flash
Pith's one-line read The paper claims that Apple's exclusive System-Level Cache can be coerced into an occupancy side-channel that lets an attacker on one CPU cluster observe GPU and remote-cluster activity, enabling website fingerprinting, cross-origin pixel…
desk verdict Solid empirical first cut at an exclusive-SLC occupancy channel on Apple M-series, but the validation doesn't fully rule out DRAM contention as the real carrier. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The central object is the SLC occupancy channel, a prime-reload-style profiling loop in which the spy repeatedly steps through a buffer that fills the SLC but bypasses the L2. It is made to work by two mechanisms: the alternated-order access pattern (each profiling round runs the buffer in the opposite direction, stopping LRU self-eviction) and the stride-8192 data structure (contiguous virtual addresses with fixed low 13 bits, so the L2 sees only a small set of its index bits while the SLC, which indexes from bit 14 upward, sees the whole buffer). For the screen attack, a dual-set prime-and-reload with two staggered primes produces a short observation window; differences in evicted-line counts between the two reloads isolate GPU memory activity within a roughly 0.4 ms slice of a 16.7 ms frame.
What would settle it
Run the paper's slide experiment—alternating solid black and solid white full-screen frames while measuring evicted SLC lines during rendering—on the same M1 machine before and after a macOS or GPU-driver update; if GPU memory usage no longer tracks the zero-pixel count, the screen-capturing and pixel-stealing attacks fail on that platform.
Extended reading notes
Core claim
On Apple M-series chips the System-Level Cache is not a smaller mirror of the CPU caches: it is exclusive with respect to the CPU's L1/L2 and inclusive with respect to the GPU's cache. That exclusiveness means an ordinary occupancy buffer never fills the SLC, because warm data stays in L2. The paper's discovery is a way around this: by exploiting the different set-indexing of L2 and SLC, a buffer accessed with 8 KB stride occupies the SLC while using only about 1/64 of L2, and by alternating the traversal direction between profiling rounds the spy avoids self-eviction artifacts. The resulting SLC occupancy channel tracks victim memory traffic linearly, in intra-cluster, inter-cluster, and CPU-GPU settings, and it is sensitive enough to detect GPU memory-usage differences tied to the number of zero-valued pixels in a rendered frame. From that sensitivity the paper builds website fingerprinting, pixel stealing, and screen-capturing attacks, plus a stride-based SLC masking countermeasure.
Load-bearing premise
The screen and pixel attacks rest on the undocumented empirical link between how many zero-valued pixels a frame has and how much GPU memory it uses; if a macOS update, GPU driver, or newer M-series chip changes or removes that link, those attacks lose their signal.
Editorial extensions
If this is right
- Website fingerprinting: an attacker can identify which of 100 top websites a user visits with roughly 87–92% accuracy even when spy and victim browsers are assigned to different CPU clusters, where the prior L2 occupancy channel drops to about 33–38%.
- Pixel stealing: an attacker can distinguish black from white pixels in a cross-origin iframe with 84–94% accuracy at about 2 seconds per pixel in Chrome, and the attack works despite constant-time SVG filter implementations and the CVE-2023-38599 fix.
- Screen capturing: the channel can recover ITF barcode digits with about 90% accuracy when narrow bars are at least 20 pixels tall, and single Arabic digits with about 91% accuracy, using 57-row vertical granularity on a 1600-row screen.
- The countermeasure: a stride-based SLC masking buffer of at least 12 MB suppresses the SLC occupancy channel, with under 5% single-core and under 10% multi-core performance overhead in the paper's Geekbench measurements.
- The SLC channel works in intra-cluster, inter-cluster, and CPU-GPU scenarios, whereas the prior L2 occupancy channel only works in the intra-cluster setting.
Reading between the lines
- I infer (beyond the paper): the same stride-based SLC-filling trick should transfer to other heterogeneous SoCs whose last-level cache is exclusive and whose set-indexing can be discovered, so the threat is not unique to Apple.
- I infer: the zero-pixel-to-GPU-memory correlation is strong evidence of hardware frame-buffer compression; the paper leaves the exact mechanism undocumented, but if compression is what drives the signal, the channel might also distinguish large solid-color regions by color channel rather than only by zero count.
- I infer: the paper's SLC masking and L2 masking are complementary rather than alternatives; an OS-level defense would likely need both, and their performance costs would combine.
- I infer: the screen-capturing attack's practical reach is bounded by its own stated conditions—still displays, mostly solid-color content, and roughly five-minute capture—so the realistic near-term targets are codes, passwords, and verification digits, not general pixel-level screen content.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper reverse-engineers the System-Level Cache (SLC) of Apple M-series SoCs and proposes an SLC-specific cache occupancy side channel. On an M1, the authors measure SLC hit latency, infer that the SLC is exclusive with respect to CPU caches and inclusive with respect to the GPU cache, map the set-index bits (excluding the low 13 bits), and observe pseudo-random replacement. To fill the SLC while bypassing the L2, they introduce an alternated-order access pattern and an 8-KB strided buffer. They evaluate the resulting channel against L2 and total-occupancy channels in intra-cluster, inter-cluster, and CPU-GPU scenarios. They then build three attacks: a closed-world website fingerprinting attack over 100 Alexa sites (87-92% accuracy in cross-cluster scenarios, compared with 33-38% for the prior L2 channel), a cross-origin pixel-stealing attack that distinguishes black and white pixels via GPU memory usage (92-94% on Chrome, 84-85% on Safari), and a screen-snooping attack that resolves 28 vertical screen bands (57 rows each) and applies them to ITF barcodes and printed digits. Finally, they propose cache-masking countermeasures with reported performance overheads below 10% in multi-core benchmarks.
Significance. If the central mechanism is correct, this is a significant contribution: it is the first occupancy side channel that specifically targets the exclusive SLC of Apple Silicon, and it extends occupancy attacks to inter-cluster and CPU-GPU scenarios that prior L2-based channels cannot reach. The paper has real strengths: attacks are evaluated on three SoCs and multiple browsers; the website fingerprinting uses a 100-site closed-world dataset with clean-environment controls; the pixel and screen attacks are demonstrated end-to-end; and the methodology is described in enough detail to reproduce the reverse engineering. The paper also appropriately compares against the previous L2 channel. However, the headline claims rest on two points that need strengthening: the SLC-occupancy interpretation of the measured signal is not separated from DRAM/memory-controller contention, and the screen-capturing attack is substantially more constrained than the abstract's "retrieve any screen display" language. With additional control experiments and more careful claims, the result would be a valuable advance for the cache-occupancy and heterogeneous-SoC security literature.
major comments (3)
- [Section 3.5, Figure 5] The validation of the SLC occupancy channel does not separate SLC occupancy from DRAM/memory-controller contention. The dependent variable is the spy's total profiling time while the victim buffer size grows; both the inter-cluster victim (e-core loads) and the GPU victim generate DRAM traffic that grows with buffer size, and the spy's strided buffer also misses to DRAM. A memory-bandwidth or memory-controller contention channel would yield the same monotone profiles even if the victim never allocated lines in the SLC. The paper needs controls, for example a victim workload that keeps DRAM traffic constant while varying SLC allocation, and a workload that varies DRAM traffic while holding SLC allocation fixed. Without these, the central claim of an exclusive-SLC occupancy channel (abstract and Section 3.5) is not yet established.
- [Section 6.1, Figure 9] The pixel-stealing and screen-capturing attacks depend on the empirical premise that GPU memory usage falls as zero-valued pixels increase, attributed without public documentation to GPU compression. The paper itself acknowledges in Section 6.1 that it is challenging to pinpoint the exact reason for this correlation. If the correlation is instead a consequence of DRAM traffic volume (for example, compressed data transfers fewer bytes), the attacks would still be interesting but would not validate the claimed SLC occupancy mechanism. A concrete test would be to render frames with identical GPU memory footprints but different data compressibility, and to check whether the SLC-hit-based metric, rather than total access time, tracks the difference.
- [Abstract, Sections 6.2-6.3] The abstract and introduction overstate the screen-capturing attack. The abstract says the adversary can "retrieve any screen display," but Section 6.2 reports that the technique works only when more than 90% of the screen consists of large solid-color blocks (each exceeding 256 by 256 pixels), requires a completely still screen, and takes about five minutes per measurement. Section 6.3.2 and Table 5 further show Top-1 accuracy of 52.9% for two digits and 21.4% for three digits, with no ability to determine digit order. These constraints should be stated in the abstract and introduction, and the "any screen display" claim should be qualified to solid-color-dominated static screens under restrictive conditions.
minor comments (7)
- [Section 3.5] The reported buffer sizes of 120,000 L2 lines, 300,000 SLC-saturation lines, and 80,000 SLC-buffer lines are not reconciled with the stated 8 MB SLC and 12 MB L2 capacities; with 128-byte lines these correspond to 15.36 MB, 38.4 MB, and 10.24 MB, respectively. Please clarify whether these are nominal capacities or include the effects of random replacement and prefetching.
- [Section 3.2] The 160-tick and 300-tick thresholds are calibrated on one M1 device; the paper does not report whether these thresholds were recalibrated on the M1 Pro and M3 Pro before applying the channel in Sections 4 and 5, so please state the calibration procedure per device.
- [Table 2] The website fingerprinting accuracies are reported as single numbers without confidence intervals or error bars; given the 90-10 cross-validation split, please report the variance across folds or repeated runs.
- [Table 3] For the pixel recognition accuracies, please state the number of pixels tested and whether accuracy is per-pixel across a single page or across repeated trials, since this affects the statistical strength of the 92-94% claims.
- [Section 6.1, Figure 9d] The text describes pink as RGB (0,255,255), which is cyan; please correct the color naming in the figure caption or the text.
- [Section 6.2, Figure 11] The single-frame trace with 28 epochs is presented without variability information; please include repeated-frame statistics or a representative confidence band to support the claimed stability of the flash-point pattern.
- [Section 7.1, Figure 16] Please clarify whether the 12 MB SLC masking scheme uses a single buffer or the new-buffer-per-iteration enhancement, since Figure 16a explicitly distinguishes the two cases for the L2 masking scheme.
Circularity Check
No significant circularity: the attacks are empirically validated against external benchmarks rather than derived from fitted parameters or self-citations.
full rationale
The paper's central claims are empirical demonstrations of side-channel attacks, not claims derived from fitted parameters or self-referential inputs. The SLC occupancy channel is characterized through independent reverse-engineering experiments (latency thresholds, set-index mapping, replacement policy) whose results are then used to build the channel; the attack validations then test that channel against fresh measurements. The website fingerprinting attack collects traces from the Alexa Top 100 websites and evaluates with SVM using 90-10 cross-validation, so accuracy is measured on held-out traces rather than on the training data. The pixel-stealing attack first measures the SLC access-time distributions for black versus white pixels and then applies a threshold to new pixels; this is standard supervised evaluation, not a fitted input renamed as a prediction. The screen-capturing attack builds a pattern library from an independently measured relationship between the fraction of zero-valued pixels and GPU memory usage, then matches fresh flash-point traces against that library; the mapping is not fitted to the attack outcome. No load-bearing self-citation appears, and no uniqueness theorem or ansatz is imported from the authors' prior work. The skeptic's concern that the inter-cluster and CPU-GPU signals might reflect DRAM or memory-controller contention rather than SLC occupancy is a correctness or validity risk, not a circularity, and the paper's own experiments do not reduce its claimed outputs to its inputs by construction. The derivation chain is therefore self-contained with respect to circularity.
Assumptions & free parameters
free parameters (4)
- SLC/L2 timing thresholds =
160 ticks and 300 ticks
- Pixel discrimination threshold =
Not reported
- Occupancy buffer sizes =
80,000 (SLC), 120,000 (L2), 300,000 (total) cache lines
- Screen observation window =
0.4 ms window, 0.04 ms increment
assumptions (5)
- domain assumption The SLC is exclusive to CPU caches and inclusive to the GPU cache.
- domain assumption GPU memory usage decreases as the number of zero-valued pixels increases.
- domain assumption The SLC replacement policy is pseudo-random and independent of access order.
- domain assumption The SLC set index excludes the lowest 13 address bits and uses bits 14 and above.
- domain assumption The macOS scheduler places background Safari on efficiency cores while other browsers stay on performance cores.
Cite this review
Pith. "Pith review of EXAM: Exploiting Exclusive System-Level Cache in Apple M-Series SoCs for Enhanced Cache Occupancy Attacks." pith.science (2026). https://pith.science/paper/CAIZCR2Z
@misc{pith2026250413385,
author = {Pith},
title = {Pith review of: EXAM: Exploiting Exclusive System-Level Cache in Apple M-Series SoCs for Enhanced Cache Occupancy Attacks},
year = {2026},
howpublished = {\url{https://pith.science/paper/CAIZCR2Z}},
note = {Machine review of arXiv:2504.13385}
}
read the original abstract
Cache occupancy attacks exploit the shared nature of cache hierarchies to infer a victim's activities by monitoring overall cache usage, unlike access-driven cache attacks that focus on specific cache lines or sets. There exists some prior work that target the last-level cache (LLC) of Intel processors, which is inclusive of higher-level caches, and L2 caches of ARM systems. In this paper, we target the System-Level Cache (SLC) of Apple M-series SoCs, which is exclusive to higher-level CPU caches. We address the challenges of the exclusiveness and propose a suite of SLC-cache occupancy attacks, the first of its kind, where an adversary can monitor GPU and other CPU cluster activities from their own CPU cluster. We first discover the structure of SLC in Apple M1 SOC and various policies pertaining to access and sharing through reverse engineering. We propose two attacks against websites. One is a coarse-grained fingerprinting attack, recognizing which website is accessed based on their different GPU memory access patterns monitored through the SLC occupancy channel. The other attack is a fine-grained pixel stealing attack, which precisely monitors the GPU memory usage for rendering different pixels, through the SLC occupancy channel. Third, we introduce a novel screen capturing attack which works beyond webpages, with the monitoring granularity of 57 rows of pixels (there are 1600 rows for the screen). This significantly expands the attack surface, allowing the adversary to retrieve any screen display, posing a substantial new threat to system security. Our findings reveal critical vulnerabilities in Apple's M-series SoCs and emphasize the urgent need for effective countermeasures against cache occupancy attacks in heterogeneous computing environments.
Figures
Figures from the paper (14 more)
Reference graph
Works this paper leans on
-
[1]
Ghadeer Almusaddar and Hoda Naghibijouybari. 2023. Exploiting parallel mem- ory write requests for covert channel attacks in integrated cpu-gpu systems. arXiv preprint arXiv:2307.16123 (2023)
work page Pith review arXiv 2023
-
[2]
Arm Limited. 2022. Arm CoreLink CI-700 Coherent Interconnect Technical Reference Manual. Arm Limited. https://www.arm.com/corelink-ci700-manual
work page 2022
-
[3]
ARM Ltd. 2018. Arm DynamIQ Shared Unit Technical Reference Manual r3p0 . ARM Limited. Document No. 100453_0300_00_en. Version r3p0
work page 2018
-
[4]
Luna Backes and Daniel A Jiménez. 2019. The impact of cache inclusion policies on cache management techniques. In Proceedings of the International Symposium on Memory Systems. 428–438
work page 2019
-
[5]
C Alan Boneau. 1960. The effects of violations of assumptions underlying the t test. Psychological bulletin 57, 1 (1960), 49
work page 1960
-
[6]
Patrick Cronin, Xing Gao, Haining Wang, and Chase Cotton. 2021. An exploration of ARM system-level cache and GPU side channels. In Proceedings of the 37th Annual Computer Security Applications Conference. 784–795
work page 2021
-
[7]
Sankha Baran Dutta, Hoda Naghibijouybari, Nael Abu-Ghazaleh, Andres Mar- quez, and Kevin Barker. 2021. Leaky buddies: Cross-component covert channels on integrated cpu-gpu systems. In 2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA) . IEEE, 972–984
work page 2021
-
[8]
Lorenz Hetterich and Michael Schwarz. 2022. Branch different-spectre attacks on apple silicon. In International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Springer, 116–135
work page 2022
Show all 30 references
-
[9]
Primate Labs Inc. 2023. Geekbench. Available at https://www.geekbench.com/. Version 5.4.1
2023
-
[10]
Mehmet Kayaalp, Nael Abu-Ghazaleh, Dmitry Ponomarev, and Aamer Jaleel
-
[11]
Tae Kyun Kim. 2015. T test as a parametric statistic. Korean journal of anesthesi- ology 68, 6 (2015), 540
2015
-
[12]
Zili Kou, Sharad Sinha, Wenjian He, and Wei Zhang. 2022. Attack Directories on ARM big. LITTLE Processors. In Proceedings of the 41st IEEE/ACM International Conference on Computer-Aided Design. 1–9
2022
-
[13]
Haipeng Li, Nan Niu, and Boyang Wang. 2022. Cache shaping: An effective defense against cache-based website fingerprinting. In Proceedings of the Twelfth ACM Conference on Data and Application Security and Privacy . 252–263
2022
-
[14]
Fangfei Liu, Yuval Yarom, Qian Ge, Gernot Heiser, and Ruby B Lee. 2015. Last- level cache side-channel attacks are practical. In 2015 IEEE symposium on security and privacy. IEEE, 605–622
2015
-
[15]
NIST. 2023. CVE-2023-38599. https://nvd.nist.gov/vuln/detail/CVE-2023-38599
2023
-
[16]
Yossef Oren, Vasileios P Kemerlis, Simha Sethumadhavan, and Angelos D Keromytis. 2015. The spy in the sandbox: Practical cache attacks in javascript and their implications. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security . 1406–1418
2015
-
[17]
Colin Percival. 2005. Cache missing for fun and profit
2005
-
[18]
Joseph Ravichandran, Weon Taek Na, Jay Lang, and Mengjia Yan. 2022. PACMAN: attacking ARM pointer authentication with speculative execution. In Proceedings of the 49th Annual International Symposium on Computer Architecture . 685–698
2022
-
[19]
Son Seonghun, Dipta Debopriya Roy, and Gulmezoglu Berk. 2023. DefWeb: Defending User Privacy against Cache-based Website Fingerprinting Attacks with Intelligent Noise Injection. In Proceedings of the 39th Annual Computer Security Applications Conference. 379–393
2023
-
[20]
2021.{Prime+ Probe} 1,{JavaScript} 0: Overcoming Browser- based{Side-Channel} Defenses
Anatoly Shusterman, Ayush Agarwal, Sioli O’Connell, Daniel Genkin, Yossi Oren, and Yuval Yarom. 2021.{Prime+ Probe} 1,{JavaScript} 0: Overcoming Browser- based{Side-Channel} Defenses. In 30th USENIX Security Symposium (USENIX Security 21). 2863–2880
2021
-
[21]
Anatoly Shusterman, Zohar Avraham, Eliezer Croitoru, Yarden Haskal, Lachlan Kang, Dvir Levi, Yosef Meltser, Prateek Mittal, Yossi Oren, and Yuval Yarom. 2020. Website fingerprinting through the cache occupancy channel and its real world practicality. IEEE Transactions on Depen...
2020
-
[22]
Anatoly Shusterman, Lachlan Kang, Yarden Haskal, Yosef Meltser, Prateek Mittal, Yossi Oren, and Yuval Yarom. 2018. Robust Website Fingerprinting Through the Cache Occupancy Channel. CoRR abs/1811.07153 (2018). arXiv preprint arXiv:1811.07153 (2018)
2018 arXiv
-
[23]
Hritvik Taneja, Jason Kim, Jie Jeff Xu, Stephan Van Schaik, Daniel Genkin, and Yuval Yarom. 2023. Hot Pixels: Frequency, Power, and Temperature Attacks on {GPUs} and Arm{SoCs}. In 32nd USENIX Security Symposium (USENIX Security 23). 6275–6292
2023
-
[24]
Pepe Vila, Boris Köpf, and José F Morales. 2019. Theory and practice of finding eviction sets. In 2019 IEEE Symposium on Security and Privacy (SP) . IEEE, 39–54
2019
-
[25]
Yingchen Wang, Riccardo Paccagnella, Zhao Gang, Willy R Vasquez, David Kohlbrenner, Hovav Shacham, and Christopher W Fletcher. 2024. GPU. zip: On the Side-Channel Implications of Hardware-Based Graphical Data Compression. IEEE SP (2024)
2024
-
[26]
Zhenghong Wang and Ruby B Lee. 2006. Covert and side channels due to proces- sor architecture. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06). IEEE, 473–482
2006
-
[27]
Fan Yao, Milos Doroslovacki, and Guru Venkataramani. 2018. Are coherence protocol states vulnerable to information leakage?. In 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA) . IEEE, 168–179
2018
-
[28]
Yuval Yarom and Katrina Falkner. 2014. FLUSH+RELOAD: A High Resolution, Low Noise, L3 Cache Side-Channel Attack. In USENIX Security Symp. 719–732
2014
-
[29]
Jiyong Yu, Aishani Dutta, Trent Jaeger, David Kohlbrenner, and Christopher W Fletcher. 2023. Synchronization Storage Channels (𝑆 2C): Timer-less cache side- channel attacks on the Apple M1 via hardware synchronization instructions. In USENIX Security Symp. 1973–1990. Appendix ...
2023
-
[2016]
In Proceedings of the 53rd Annual Design Automation Conference
A high-resolution side-channel attack on last-level cache. In Proceedings of the 53rd Annual Design Automation Conference . 1–6
Reviewed August 16, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.