论文标题
Microwalk-CI:JavaScript应用的实用侧通道分析
Microwalk-CI: Practical Side-Channel Analysis for JavaScript Applications
论文作者
论文摘要
密码实现中的秘密定时行为已导致可剥削的漏洞,从而破坏了其安全性。多年来,已经提出了许多用于自动检测时间泄漏甚至证明其缺席的工具。但是,在IEEE S&P 2022上进行的一项研究表明,尽管许多开发人员知道一种或多种分析工具,但它们在将这些工具集成到其工作流程中遇到了重大困难,因为现有工具繁琐地使用,并将发现的泄漏映射到其原始代码段中,需要专家知识。此外,现有的工具专注于COMPIAL语言,例如C,或分析二进制语言,而行业和开源社区则转向解释的语言,最著名的是JavaScript。 在这项工作中,我们介绍了Microwalk-CI,这是一个新型的侧渠道分析框架,可轻松整合到JavaScript开发工作流程中。首先,我们通过新的分析算法扩展了现有的动态方法,该算法可以有效地定位和量化泄漏,从而适合于实践开发。然后,我们提出了一种从JavaScript应用程序生成执行跟踪的技术,可以使用最初设计用于二进制分析的我们和其他算法进一步分析。最后,我们讨论如何将MicroWalk-CI集成到连续集成(CI)管道中,以进行有效和持续的监视。我们通过对几个流行的JavaScript加密文库进行彻底评估,并发现许多关键泄漏来评估我们的分析框架。
Secret-dependent timing behavior in cryptographic implementations has resulted in exploitable vulnerabilities, undermining their security. Over the years, numerous tools to automatically detect timing leakage or even to prove their absence have been proposed. However, a recent study at IEEE S&P 2022 showed that, while many developers are aware of one or more analysis tools, they have major difficulties integrating these into their workflow, as existing tools are tedious to use and mapping discovered leakages to their originating code segments requires expert knowledge. In addition, existing tools focus on compiled languages like C, or analyze binaries, while the industry and open-source community moved to interpreted languages, most notably JavaScript. In this work, we introduce Microwalk-CI, a novel side-channel analysis framework for easy integration into a JavaScript development workflow. First, we extend existing dynamic approaches with a new analysis algorithm, that allows efficient localization and quantification of leakages, making it suitable for use in practical development. We then present a technique for generating execution traces from JavaScript applications, which can be further analyzed with our and other algorithms originally designed for binary analysis. Finally, we discuss how Microwalk-CI can be integrated into a continuous integration (CI) pipeline for efficient and ongoing monitoring. We evaluate our analysis framework by conducting a thorough evaluation of several popular JavaScript cryptographic libraries, and uncover a number of critical leakages.