This research investigates changes in the electromagnetic (EM) signatures of a cryptographic binary executable based on compile-time parameters to the GNU and clang compilers. The source code is compiled and executed on the Raspberry Pi 2 which utilizes the ARMv7 CPU. Various optimization flags are enabled at compile-time and the output of the binary executable’s EM signatures are captured at run time. It is demonstrated that GNU and clang compilers produced different EM signature on program execution. The results indicated while utilizing the optimization flag O3 the EM signature of the program changes. Additionally, the g++ compiler demonstrated fewer instructions were required to run the executable, this related to fewer EM emissions leaked. The EM data from the various compilers under different optimization levels was used as input data for a correlation power analysis attack. The results indicated that partial AES-128 encryption keys was possible. In addition, the fewest subkeys recovered was when the clang compiler was used with level O2 optimization. Finally, the research was able to recover 15 of 16 AES-128 cryptographic algorithm’s subkeys.
Reference:
Frieslaar, I. and Irwin, B.V.W. 2017. Investigating the effects various compilers have on the electromagnetic signature of a cryptographic executable. SAICSIT 2017, 26-28 September 2017, Thaba Nchu, South Africa
Frieslaar, I., & Irwin, B. V. (2017). Investigating the effects various compilers have on the electromagnetic signature of a cryptographic executable. ACM Digital Library. http://hdl.handle.net/10204/9680
Frieslaar, Ibraheem, and Barry VW Irwin. "Investigating the effects various compilers have on the electromagnetic signature of a cryptographic executable." (2017): http://hdl.handle.net/10204/9680
Frieslaar I, Irwin BV, Investigating the effects various compilers have on the electromagnetic signature of a cryptographic executable; ACM Digital Library; 2017. http://hdl.handle.net/10204/9680 .