控制流扁平化保持恒定时间策略(扩展版)
Control-flow Flattening Preserves the Constant-Time Policy (Extended Version)
摘要:
混淆编译器通过模糊其含义并阻碍其原始源代码的重建来保护软件。在定义这种编译器时,典型的关注点是它们对逆向工程的鲁棒性和所生成代码的性能。在研究程序的安全属性是否在混淆下保持方面做了很少的工作。在本文中,我们开始解决这个问题:我们考虑控制流扁平化(一种在工业编译器中使用的流行混淆技术)和特定的安全策略(即恒定时间)。我们证明了这种混淆保留了策略,即,每一个满足政策的程序在转换后仍然是这样。
英文摘要:
Obfuscating compilers protect a software by obscuring its meaning and impeding the reconstruction of its original source code. The typical concern when defining such compilers is their robustness against reverse engineering and the performance of the produced code. Little work has been done in studying whether the security properties of a program are preserved under obfuscation. In this paper we start addressing this problem: we consider control-flow flattening, a popular obfuscation technique used in industrial compilers, and a specific security policy, namely constant-time. We prove that this obfuscation preserves the policy, i.e., that every program satisfying the policy still does after the transformation.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。