Affiliation:
1. Electrical and Computer Engineering department, National University of Singapore, Singapore
Abstract
Program obfuscation is a widely used cryptographic software intellectual property (IP) protection technique against reverse engineering attacks in embedded systems. However, very few works have studied the impact of combining various obfuscation techniques on the obscurity (difficulty of reverse engineering) and performance (execution time) of obfuscated programs. In this article, we propose a Genetic Algorithm (GA)-based framework that not only optimizes obscurity and performance of obfuscated cryptographic programs, but it also ensures very low timing side-channel leakage. Our proposed
T
iming
S
ide
C
hannel
S
ensitive
P
rogram
O
bfuscation
O
ptimization
F
ramework (TSC-SPOOF) determines the combination of obfuscation transformation functions that produce optimized obfuscated programs with preferred optimization parameters. In particular, TSC-SPOOF employs normalized compression distance (NCD) and channel capacity to measure obscurity and timing side-channel leakage, respectively. We also use RISC-V rocket core running on a Xilinx Zynq FPGA device as part of our framework to obtain realistic results. The experimental results clearly show that our proposed solution leads to cryptographic programs with lower execution time, higher obscurity, and lower timing side-channel leakage than unguided obfuscation.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference39 articles.
1. Stunix C/C++ Obfuscator. 2020. Retrieved from http://stunnix.com/support/doc/cxxo/cxx-obfus.shtml. Stunix C/C++ Obfuscator. 2020. Retrieved from http://stunnix.com/support/doc/cxxo/cxx-obfus.shtml.
2. Obfuscator-LLVM. 2020. Retrieved from https://github.com/obfuscator-llvm/obfuscator/. Obfuscator-LLVM. 2020. Retrieved from https://github.com/obfuscator-llvm/obfuscator/.
3. Crypto-algorithms benchmark. 2020. Retrieved from https://github.com/B-Con/crypto-algorithms. Crypto-algorithms benchmark. 2020. Retrieved from https://github.com/B-Con/crypto-algorithms.
4. An algorithm for computing the capacity of arbitrary discrete memoryless channels
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献