Skip to main content
QUICK REVIEW

[论文解读] Quantifying the Information Leak in Cache Attacks through Symbolic Execution

Sudipta Chattopadhyay, Moritz Beck|arXiv (Cornell University)|Nov 14, 2016
Security and Verification in Computing参考文献 15被引用 3
一句话总结

CHALICE 是一种基于符号执行的框架,通过分析执行跟踪,精确量化缓存侧信道攻击中的信息泄露,能够检测真实二进制文件中的关键泄露问题。它揭示了在某些输入下,AES-128 密钥的 127 个比特中多达 128 个可能通过缓存时序泄露,其性能优于静态分析,能够捕捉输入相关的泄露分布。

ABSTRACT

Cache timing attacks allow attackers to infer the properties of a secret execution by observing cache hits and misses. But how much information can actually leak through such attacks? For a given program, a cache model, and an input, our CHALICE framework leverages symbolic execution to compute the amount of information that can possibly leak through cache attacks. At the core of CHALICE is a novel approach to quantify information leak that can highlight critical cache side-channel leaks on arbitrary binary code. In our evaluation on real-world programs from OpenSSL and Linux GDK libraries, CHALICE effectively quantifies information leaks: For an AES-128 implementation on Linux, for instance, CHALICE finds that a cache attack can leak as much as 127 out of 128 bits of the encryption key.

研究动机与目标

  • 解决现实软件中缓存侧信道信息泄露缺乏精确、输入感知量化的问题。
  • 识别在缓存时序攻击下,相较于其他输入,会暴露显著更多敏感信息的关键输入部分。
  • 为检测可利用的侧信道泄露,提供一种动态的、基于执行的静态分析替代方案。
  • 通过支持对高泄露代码区域的调试与优化,助力安全软件开发。
  • 适用于多种缓存策略(如直接映射、LRU)和观察者模型,具备广泛的适用性。

提出的方法

  • 对具体程序输入应用符号执行,以推导出缓存命中与未命中的符号时序跟踪。
  • 构建一种新颖的符号缓存模型,以在执行过程中同步跟踪缓存状态转换与程序状态。
  • 通过分析不同输入值下缓存时序模式的分布,量化信息泄露程度。
  • 将程序变量映射到建模的缓存结构(如直接映射或 LRU),以模拟真实的缓存行为。
  • CHALICE 使用最大 SMT 求解,确定产生相同时序模式的输入数量,从而揭示每次观测的泄露量。
  • 该方法在 LLVM 和 KLEE 上实现,支持对任意二进制代码的分析,并具备完整的符号状态追踪能力。

实验结果

研究问题

  • RQ1对于给定的程序、缓存模型和输入,实际通过缓存时序攻击能泄露多少信息?
  • RQ2符号执行能否精确量化缓存侧信道中输入相关的泄露信息?
  • RQ3缓存时序模式的分布如何影响敏感数据的可利用泄露量?
  • RQ4CHALICE 是否能够检测并排序出导致显著高于其他输入泄露量的输入?
  • RQ5与静态分析相比,CHALICE 的动态分析在识别关键泄露场景方面表现如何?

主要发现

  • 在 AES-128 实现中,CHALICE 发现某些输入可通过缓存时序泄露多达 127 个密钥比特(共 128 个),使得剩余 1 个比特的暴力破解变得微不足道。
  • 在极端情况下(如 213 或 279 次缓存未命中),仅有 2 个密钥产生相同的时序模式,CHALICE 确定此时有 90 个比特的密钥泄露。
  • 对于平均缓存时序模式,超过 13,000 个密钥产生相同的模式,表明每次观测的泄露量显著降低。
  • CHALICE 发现输入相关的泄露差异极大——某些输入泄露远多于其他输入,而这种现象被静态上界分析所忽略。
  • 该框架成功量化了 OpenSSL 和 Linux GDK 库等真实世界二进制文件中的泄露,揭示了生产代码中存在高泄露风险。
  • CHALICE 的符号分析表明,均匀的缓存时序分布极为罕见,即使经过良好优化的实现,在特定输入下仍可能暴露关键泄露。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。