2019 年 139 巻 2 号 p. 111-118
Obfuscation is a method to conceal the structure and function of software. Obfuscator-LLVM (oLLVM) is a set of tools for software obfuscation, which is implemented as middle-end passes in an LLVM framework. This study investigates the hardware obfuscation scheme, where the C-codes obfuscated by oLLVM are converted into logic design by using an HLS (High Level Synthesis) tool. CHStone benchmark suite is used for evaluation, where each application is processed by oLLVM, C-backend, and Xilinx Vivado HLS to generate the corresponding obfuscated logic design. On average, the logic scales of obfuscated designs became 1.1 times larger (by bogus control-flow), 1.7 times larger (by control-flow flattening), and 1.2 times larger (by instruction substitutions). In some applications, the obfuscations added by oLLVM were canceled by the analysis and optimization of HLS.
J-STAGEがリニューアルされました!https://www.jstage.jst.go.jp/browse/-char/ja/