Side channels pose a significant threat to the confidentiality of software systems. Such vulnerabilities are challenging to detect and evaluate because they arise from non-functional properties of software such as execution times and require reasoning on multiple execution traces. Recently, noninterference notions have been adapted in static analysis, symbolic execution, and greybox fuzzing techniques. However, noninterference is a strict notion and may reject security even if the strength of information leaks are weak. A quantitative notion of security allows for the relaxation of noninterference and tolerates small (unavoidable) leaks. Despite progress in recent years, the existing quantitative approaches have scalability limitations in practice. In this work, we present QFuzz, a greybox fuzzing technique to quantitatively evaluate the strength of side channels with a focus on min entropy. Min entropy is a measure based on the number of distinguishable observations (partitions) to assess the resulting threat from an attacker who tries to compromise secrets in one try. We develop a novel greybox fuzzing equipped with two partitioning algorithms that try to maximize the number of distinguishable observations and the cost differences between them. We evaluate QFuzz on a large set of benchmarks from existing work and real-world libraries (with a total of 70 subjects). QFuzz compares favorably to three state-of-the-art detection techniques. QFuzz provides quantitative information about leaks beyond the capabilities of all three techniques. Crucially, we compare QFuzz to a state-of-the-art quantification tool and find that QFuzz significantly outperforms the tool in scalability while maintaining similar precision. Overall, we find that our approach scales well for real-world applications and provides useful information to evaluate resulting threats. Additionally, QFuzz identifies a zero-d...
翻译:这种脆弱性是难以检测和评价的,因为它们来自软件的不功能性,例如执行时间,需要推理多处执行痕迹。最近,不干预的概念在静态分析、象征性执行和灰盒模糊技术中得到了调整。然而,不干涉是一个严格的概念,即使信息泄漏强度弱,也可能拒绝安全。一个数量化的安全概念允许放松不干涉,容忍小(不可避免)泄漏。尽管近年来取得了进展,但现有的定量方法在实际操作中具有可缩放的局限性。在这项工作中,我们展示了一个灰盒模糊技术,以量化地评价侧端频道的强度,重点是微调。Mintropy是一个基于可辨识的观测数量(部分)来评估由此造成的威胁的措施。一个试图在一次尝试中破坏秘密的攻击者,我们开发了一个新的灰盒模糊方法,用两种分解算法来尽量扩大可辨的观测次数和成本差异。在这个方法中,我们展示了QF的灰盒,一个灰盒模糊技术,一个显著地用来评估侧侧边道技术。我们用一个巨大的直径测试,一个基比了真实的直径,一个小的基,一个基,一个比一个基,一个基,一个基比一个基比一个基,一个基比一个基比一个基基比一个基比一个基比一个基比一个基比一个基比一个基。