DATA - Differential Address Trace Analysis: Finding Address-based Side-Channels in Binaries
Samuel Weiser, Andreas Zankl, Raphael Spreitzer, Katja Miller, Stefan Mangard, Georg Sigl
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper31
- ScatterCache: Thwarting Cache Attacks via Cache Set RandomizationMario Werner, Thomas Unterluggauer, Lukas Giner, Michael Schwarz 等USENIX Security 2019 · 被引用 221 次
- Frontal Attack: Leaking Control-Flow in SGX via the CPU FrontendIvan Puddu, Moritz Schneider, Miro Haller, Srdjan CapkunUSENIX Security 2021 · 被引用 63 次
- "They're not that hard to mitigate": What Cryptographic Library Developers Think About Timing AttacksJan Jancar, Marcel Fourné, Daniel De Almeida Braga, Mohamed Sabt 等S&P 2022 · 被引用 61 次
- Identifying Cache-Based Side Channels through Secret-Augmented Abstract InterpretationShuai Wang, Yuyan Bao, Xiao Liu, Pei Wang 等USENIX Security 2019 · 被引用 57 次
- JavaScript Template Attacks: Automatically Inferring Host Information for Targeted ExploitsMichael Schwarz, Florian Lackner, Daniel GrussNDSS 2019 · 被引用 57 次
它引用的顶会 Paper9
- Prefetch Side-Channel Attacks: Bypassing SMAP and Kernel ASLRDaniel Gruss, Clémentine Maurice, Anders Fogh, Moritz Lipp 等CCS 2016 · 被引用 278 次
- Verifying Constant-Time ImplementationsJosé Bacelar Almeida, Manuel Barbosa, Gilles Barthe, François Dupressoir 等USENIX Security 2016 · 被引用 274 次
- Strong and Efficient Cache Side-Channel Protection using Hardware Transactional MemoryDaniel Gruss, Julian Lettner, Felix Schuster, Olga Ohrimenko 等USENIX Security 2017 · 被引用 254 次
- A Software Approach to Defeating Side Channels in Last-Level CachesZiqiao Zhou, Michael K. Reiter, Yinqian ZhangCCS 2016 · 被引用 155 次
- CacheD: Identifying Cache-Based Timing Channels in Production SoftwareShuai Wang, Pei Wang, Xiao Liu, Danfeng Zhang 等USENIX Security 2017 · 被引用 130 次
相关 Paper
- 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 等CCS 2022 · 被引用 7 次
- Abacus: Precise Side-Channel AnalysisQinkun Bao, Zihao Wang, Xiaoting Li, James R. Larus 等ICSE 2021 · 被引用 19 次
- With Great Power Come Great Side Channels: Statistical Timing Side-Channel Analyses with Bounded Type-1 ErrorsMartin Dunsche, Marcel Maehren, Nurullah Erinola, Robert Merget 等USENIX Security 2024 · 被引用 5 次
- CacheQL: Quantifying and Localizing Cache Side-Channel Vulnerabilities in Production SoftwareYuanyuan Yuan, Zhibo Liu, Shuai WangUSENIX Security 2023
