Automatically Reasoning About How Systems Code Uses the CPU Cache
Rishabh R. Iyer, Katerina J. Argyraki, George Candea
摘要
We present a technique, called CFAR, that developers can use to reason precisely about how their code, as well as thirdparty code, uses the CPU cache. Given a piece of systems code P, CFAR employs program analysis and binary instrumentation to automatically "distill" how P accesses memory, and uses "projectors" on top of the extracted distillates to answer specific questions about P's cache usage. CFAR comes with three example projectors that report (1) how P's cache footprint scales across unseen inputs; (2) the cache hits and misses incurred by P for each class of inputs; and (3) potential vulnerabilities in cryptographic code caused by secretdependent cache-access patterns.
We implemented CFAR in an eponymous tool with which we analyze a performance-critical subset of four TCP stackstwo versions of the Linux stack, a stack used by the IX kernelbypass OS, and the lwIP TCP stack for embedded systemsas well as 7 algorithm implementations from the OpenSSL cryptographic library, all 51 system calls of the Hyperkernel, and 2 hash-table implementations. We show how CFAR enables developers to not only identify performance bugs and security vulnerabilities in their own code but also understand the performance impact of incorporating third-party code into their systems without doing elaborate benchmarking.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper2
- Performance Interfaces for Hardware AcceleratorsJiacheng Ma, Rishabh R. Iyer, Sahand Kashani, Mahyar Emami 等OSDI 2024 · 被引用 3 次
- Heuristic Analysis from Source Code via Symbolic-Guided OptimizationPantea Karimi, Siva Kesava Reddy Kakarla, Ryan Beckett, Santiago Segarra 等NSDI 2026
它引用的顶会 Paper13
- Verifying Constant-Time ImplementationsJosé Bacelar Almeida, Manuel Barbosa, Gilles Barthe, François Dupressoir 等USENIX Security 2016 · 被引用 274 次
- The Demikernel Datapath OS Architecture for Microsecond-scale Datacenter SystemsIrene Zhang, Amanda Raybuck, Pratyush Patel, Kirk Olynyk 等SOSP 2021 · 被引用 83 次
- Memory-harvesting VMs in cloud platformsAlexander Fuerst, Stanko Novakovic, Iñigo Goiri, Gohar Irfan Chaudhry 等ASPLOS 2022 · 被引用 39 次
- Automated Reasoning and Detection of Specious Configuration in Large Systems with Symbolic ExecutionYigong Hu, Gongqi Huang, Peng HuangOSDI 2020 · 被引用 31 次
- DMon: Efficient Detection and Correction of Data Locality Problems Using Selective ProfilingTanvir Ahmed Khan, Ian Neal, Gilles Pokam, Barzan Mozafari 等OSDI 2021 · 被引用 31 次
相关 Paper
- Precise Detection of Kernel Data Races with Probabilistic Lockset AnalysisGabriel Ryan, Abhishek Shah, Dongdong She, Suman JanaS&P 2023
- GhostRace: Exploiting and Mitigating Speculative Race ConditionsHany Ragab, Andrea Mambretti, Anil Kurmus, Cristiano GiuffridaUSENIX Security 2024 · 被引用 10 次
- CacheD: Identifying Cache-Based Timing Channels in Production SoftwareShuai Wang, Pei Wang, Xiao Liu, Danfeng Zhang 等USENIX Security 2017 · 被引用 130 次
- HeapHopper: Bringing Bounded Model Checking to Heap Implementation SecurityMoritz Eckert, Antonio Bianchi, Ruoyu Wang, Yan Shoshitaishvili 等USENIX Security 2018 · 被引用 62 次
- CPscan: Detecting Bugs Caused by Code Pruning in IoT KernelsLirong Fu, Shouling Ji, Kangjie Lu, Peiyu Liu 等CCS 2021 · 被引用 7 次
