论文标题
用于侧通道检测密码软件的缓存细化类型
Cache Refinement Type for Side-Channel Detection of Cryptographic Software
论文作者
论文摘要
缓存侧通道攻击对软件安全性和隐私有严重威胁,尤其是对密码系统。在本文中,我们提出了Catype,这是一种基于新颖的改进类型的工具,用于检测加密软件中的高速缓存侧通道。与以前的作品相比,Catype提供了以下优点:(1)首次使用X86汇编代码的改进类型对CACHE侧通道进行了分析。它揭示了具有精制类型的几种重要且有效的增强,包括比特级粒度跟踪,区分变量的不同效果,精确的类型推断和高可扩展性。 (2)Catype是考虑基于盲目防御的加密库库的第一个静态分析仪。 (3)从实施的角度来看,Catype使用潜在脆弱控制流分支的缓存布局,而不是缓存状态来抑制误报。我们评估了Catype在识别现实世界中加密软件中的侧频道漏洞(包括RSA,Elgamal和(EC)DSA)中的侧通道漏洞。 Catype捕获了所有已知的缺陷,检测以前未知的漏洞,并揭示了以前工具的几个误报。在性能方面,在分析同一库时,Catype比缓存的速度比缓存快131倍。这些评估结果证实了角型在识别侧渠道缺陷以极高的精确性,效率和可伸缩性中的能力。
Cache side-channel attacks exhibit severe threats to software security and privacy, especially for cryptosystems. In this paper, we propose CaType, a novel refinement type-based tool for detecting cache side channels in crypto software. Compared to previous works, CaType provides the following advantages: (1) For the first time CaType analyzes cache side channels using refinement type over x86 assembly code. It reveals several significant and effective enhancements with refined types, including bit-level granularity tracking, distinguishing different effects of variables, precise type inferences, and high scalability. (2) CaType is the first static analyzer for crypto libraries in consideration of blinding-based defenses. (3) From the perspective of implementation, CaType uses cache layouts of potential vulnerable control-flow branches rather than cache states to suppress false positives. We evaluate CaType in identifying side channel vulnerabilities in real-world crypto software, including RSA, ElGamal, and (EC)DSA from OpenSSL and Libgcrypt. CaType captures all known defects, detects previously-unknown vulnerabilities, and reveals several false positives of previous tools. In terms of performance, CaType is 16X faster than CacheD and 131X faster than CacheS when analyzing the same libraries. These evaluation results confirm the capability of CaType in identifying side channel defects with great precision, efficiency, and scalability.