USENIX Security2018Top-tier venue
DATA - Differential Address Trace Analysis: Finding Address-based Side-Channels in Binaries
Samuel Weiser, Andreas Zankl, Raphael Spreitzer, Katja Miller, Stefan Mangard, Georg Sigl
Abstract
Cryptographic implementations are a valuable target for address-based side-channel attacks and should, thus, be protected against them. Countermeasures, however, are often incorrectly deployed or completely omitted in practice. Moreover, existing tools that identify information leaks in programs either suffer from imprecise abstraction or only cover a subset of possible leaks. We systematically address these limitations and propose a new methodology to test software for information leaks. In this work, we present DATA, a differential address trace analysis framework that detects address-based sidechannel leaks in program binaries. This accounts for attacks exploiting caches, DRAM, branch prediction, controlled channels, and likewise. DATA works in three phases. First, the program under test is executed to record several address traces. These traces are analyzed using a novel algorithm that dynamically re-aligns traces to increase detection accuracy. Second, a generic leakage test filters differences caused by statistically independent program behavior, e.g., randomization, and reveals true information leaks. The third phase classifies these leaks according to the information that can be obtained from them. This provides further insight to security analysts about the risk they pose in practice. We use DATA to analyze OpenSSL and PyCrypto in a fully automated way. Among several expected leaks in symmetric ciphers, DATA also reveals known and previously unknown leaks in asymmetric primitives (RSA, DSA, ECDSA), and DATA identifies erroneous bug fixes of supposedly fixed constant-time vulnerabilities. Tool Approach Finest Covered vulnerabilities False positives False Output Source code Tool granularity CF leak Data leak Deterministic Non-deterministic negatives Leaks Key dependency required available CacheAudit [24] Static analysis Cache line Leakage bound no CacheAudit 2 [25] Static analysis Byte address Leakage bound no CacheD [80] Combined Cache line Leak origin no ctgrind [50] Dynamic Byte address Leak origin yes Stacco [84] Dynamic (trace-based) Byte address a Leak origin no MI-Tool [41] Dynamic (attack-based) Cache line S S Leak origin generic yes Zankl et al. [89] Dynamic (trace-based) Byte address S S Leak origin HW no DATA Dynamic (trace-based) Byte address S S Leak origin generic, HW, etc. no a Only the first control-flow leak is reliably identified. Reporting multiple leaks could cause false positives.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext b18fb0f6-46d4-4d9e-acd5-1a9952d52c33Cited by top-tier papers31
- ScatterCache: Thwarting Cache Attacks via Cache Set RandomizationMario Werner, Thomas Unterluggauer, Lukas Giner, Michael Schwarz et al.USENIX Security 2019 · 221 citations
- Frontal Attack: Leaking Control-Flow in SGX via the CPU FrontendIvan Puddu, Moritz Schneider, Miro Haller, Srdjan CapkunUSENIX Security 2021 · 63 citations
- "They're not that hard to mitigate": What Cryptographic Library Developers Think About Timing AttacksJan Jancar, Marcel Fourné, Daniel De Almeida Braga, Mohamed Sabt et al.S&P 2022 · 61 citations
- Identifying Cache-Based Side Channels through Secret-Augmented Abstract InterpretationShuai Wang, Yuyan Bao, Xiao Liu, Pei Wang et al.USENIX Security 2019 · 57 citations
- JavaScript Template Attacks: Automatically Inferring Host Information for Targeted ExploitsMichael Schwarz, Florian Lackner, Daniel GrussNDSS 2019 · 57 citations
Builds on9
- Prefetch Side-Channel Attacks: Bypassing SMAP and Kernel ASLRDaniel Gruss, Clémentine Maurice, Anders Fogh, Moritz Lipp et al.CCS 2016 · 278 citations
- Verifying Constant-Time ImplementationsJosé Bacelar Almeida, Manuel Barbosa, Gilles Barthe, François Dupressoir et al.USENIX Security 2016 · 274 citations
- Strong and Efficient Cache Side-Channel Protection using Hardware Transactional MemoryDaniel Gruss, Julian Lettner, Felix Schuster, Olga Ohrimenko et al.USENIX Security 2017 · 254 citations
- A Software Approach to Defeating Side Channels in Last-Level CachesZiqiao Zhou, Michael K. Reiter, Yinqian ZhangCCS 2016 · 155 citations
- CacheD: Identifying Cache-Based Timing Channels in Production SoftwareShuai Wang, Pei Wang, Xiao Liu, Danfeng Zhang et al.USENIX Security 2017 · 130 citations
Related papers
- Big Numbers - Big Troubles: Systematically Analyzing Nonce Leakage in (EC)DSA ImplementationsSamuel Weiser, David Schrammel, Lukas Bodner, Raphael SpreitzerUSENIX Security 2020
- Cache Refinement Type for Side-Channel Detection of Cryptographic SoftwareKe Jiang, Yuyan Bao, Shuai Wang, Zhibo Liu et al.CCS 2022 · 7 citations
- Abacus: Precise Side-Channel AnalysisQinkun Bao, Zihao Wang, Xiaoting Li, James R. Larus et al.ICSE 2021 · 19 citations
- With Great Power Come Great Side Channels: Statistical Timing Side-Channel Analyses with Bounded Type-1 ErrorsMartin Dunsche, Marcel Maehren, Nurullah Erinola, Robert Merget et al.USENIX Security 2024 · 5 citations
- CacheQL: Quantifying and Localizing Cache Side-Channel Vulnerabilities in Production SoftwareYuanyuan Yuan, Zhibo Liu, Shuai WangUSENIX Security 2023
