论文标题

加密货币在哪里?:二进制代码中专有加密原语的自动识别和分类

Where's Crypto?: Automated Identification and Classification of Proprietary Cryptographic Primitives in Binary Code

论文作者

Meijer, Carlo, Moonsamy, Veelasha, Wetzels, Jos

论文摘要

从物理访问控制系统和电信到机器对机器身份验证的许多行业垂直行业的嵌入式系统中,持续使用专有加密系统为黑盒安全评估工作带来了重大障碍。深入的安全性分析需要在通常非常大的二进制图像中定位和分类算法,从而渲染手动检查,即使在启发式方面,耗时的帮助下也是如此。 在本文中,我们提出了一种新颖的方法来自动化二进制代码中(专有)加密原语的识别和分类。我们的方法基于数​​据流图(DFG)同构,以前是Lestringant等人提出的。不幸的是,他们的DFG同构方法仅限于已知的原始素,并且依靠启发式方法选择代码片段进行分析。通过将上述方法与象征性执行相结合,我们克服了其工作的所有局限性,并能够将分析扩展到未知的专有加密原始原始范围中。为了证明我们的建议是实用的,我们开发了各种签名,每个签名针对不同的加密原始词,并对每种二进制文件进行了实验性评估,既可以公开可用(因此提供了可再现的结果),又是专有的。最后,我们以流行的IDA拆卸器的插件形式提供了我们的方法的免费和开源实现,称为Where是加密?

The continuing use of proprietary cryptography in embedded systems across many industry verticals, from physical access control systems and telecommunications to machine-to-machine authentication, presents a significant obstacle to black-box security-evaluation efforts. In-depth security analysis requires locating and classifying the algorithm in often very large binary images, thus rendering manual inspection, even when aided by heuristics, time consuming. In this paper, we present a novel approach to automate the identification and classification of (proprietary) cryptographic primitives within binary code. Our approach is based on Data Flow Graph (DFG) isomorphism, previously proposed by Lestringant et al. Unfortunately, their DFG isomorphism approach is limited to known primitives only, and relies on heuristics for selecting code fragments for analysis. By combining the said approach with symbolic execution, we overcome all limitations of their work, and are able to extend the analysis into the domain of unknown, proprietary cryptographic primitives. To demonstrate that our proposal is practical, we develop various signatures, each targeted at a distinct class of cryptographic primitives, and present experimental evaluations for each of them on a set of binaries, both publicly available (and thus providing reproducible results), and proprietary ones. Lastly, we provide a free and open-source implementation of our approach, called Where's Crypto?, in the form of a plug-in for the popular IDA disassembler.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源