Search : [ author: Gyuho Lee ] (2)

Lightweight Equivalence Checking of Code Transformation for Code Pointer Integrity

Jaeseo Lee, Tae-Hyoung Choi, Gyuho Lee, Jaegwan Yu, Kyungmin Bae

http://doi.org/10.5626/JOK.2019.46.12.1279

Code transformation is widely used to improve the performance and security of programs, but serious software errors can occur in this process if the generated program is not equivalent to the original program. There are a number of approaches for translation validation that can be used to prove the equivalence of programs, but the high cost of proof checking restricts the applicability of these techniques for large programs. In this paper, we propose a practical approach for checking the correctness of LLVM code transformation. We first prove the correctness of the transformation rules using automated theorem proving before compilation. We then perform a simple code analysis method—as opposed to directly proving the program equivalence— to check whether the transformations rules are correctly applied to the generated code. As the complexity of the proposed code analysis is linear, our technique can be effectively applied to large programs, unlike previous techniques. To prove the effectiveness of the proposed approach, we present a case study on LLVM code transformation for a code pointer integrity instrumentation.

Implementation of Software Source Code Obfuscation Tool for Weapon System Anti-Tampering

Gyuho Lee, Jaegwan Yu, Insung Kim, Taekyu Kim

http://doi.org/10.5626/JOK.2019.46.5.448

The increasing functional complexity and diversity of the weapon systems has reinforced the significance of weapon system software. However, as the range of software functions expands, the insertion of core algorithms and critical data into the weapon system execution binaries, and reverse engineering has facilitated hacking and tampering of such information with malicious intent. In this paper, we propose an obfuscation tool that utilizes obfuscation techniques against source code for the development of weapon system software. In particular, control flow obfuscation techniques were applied to obfuscate core algorithms, and data obfuscation techniques were proposed to conceal important data. In addition, considering the actual performance of the weapon system software, the system was implemented in a user-friendly and flexible structure for selection based on level. The experimental findings confirmed the performance of the techniques used. These source code-based obfuscation techniques can be used to create anti-reverse engineering binary files and to develop anti-tampering platforms for weapon system software in the future.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

Editorial Office

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr