Power Consumption Analysis of High-Level Obfuscation for Mobile Software

모바일 소프트웨어를 위한 고급수준 난독처리 기법의 전력 소모량 분석

  • 이진영 (단국대학교 컴퓨터학과 컴퓨터과학) ;
  • 장혜영 (단국대학교 정보컴퓨터과학과 컴퓨터과학) ;
  • 조성제 (단국대학교 공과대학 컴퓨터학부)
  • Published : 2009.12.15

Abstract

Obfuscation is known as one of the most effective methods to protect software against malicious reverse engineering transforming the software into more complicated one with still preserving the original semantic. However, obfuscating a program can increase both code size of the program and execution time compared to the original program. In mobile devices, the increases of code size and execution time incur the waste of resources including the increase of power consumption. This paper has analyzed the effectiveness of some high-level obfuscation algorithms as well as their power consumption with implementing them under an embedded board equipped with ARM processor. The analysis results show that there is (are) an efficient obfuscation method(s) in terms of execution time or power consumption according to characteristics of a given program.

난독처리(obfuscation)는 프로그램의 의미를 그대로 유지하면서, 프로그램 코드를 이해/분석하기 어렵게 만드는 기술로, 악의적인 역공학(reverse engineering) 공격으로부터 소프트웨어를 방어하는 가장 효과적인 기술 중의 하나이다. 하지만, 난독처리로 인해 원본 프로그램에 비해 난독처리된 프로그램의 코드 크기 및 실행 시간이 증가될 수 있다. 모바일 기기에서 코드크기 및 수행시간 증가는 전력소모 증가 등 자원낭비로 이어진다. 본 논문에서는 ARM 프로세서가 장착된 임베디드 보드 상에서 몇 가지 고급수준 난독처리 알고리즘을 구현하고, 각 난독처리 알고리즘의 유효성 및 전력 소모량을 분석하여, 프로그램의 특성에 따라 실행시간이나 전력소모 면에서 효율적인 난독처리 기법이 있음을 보였다.

Keywords

References

  1. Avi Barir, "DRM: Protection of IP asset for earn-ings of company and advantage of competition," Electronic Engineering Times-Korea, design coner, June 1-15, 2007 (in korean)
  2. SW DC statistics and SW statistics of production, KIPA, 2008. http://www.software.or.kr (in korean)
  3. SW Industry white paper, KIPA, 2008. http://www.software.or.kr (in korean)
  4. Colin W. Van Dyke, “Advances in Low-Level Software Protection,” Ph. D. Thesis, Oregon State University, Jun. 2005
  5. H. Chang, S. Cho, “Implementation of an Obfus-cator for Visual C++ Source Code,” Journal of KIISE : Software and Applications, vol.35 no.2, 2008 (in korean)
  6. C. Collberg, C. Thomborson, and D. Low, “A Taxonomy of Obfuscating Transformations,” Tech report 148, Dept. of Computer Science, University of Auckland, New Zealand, 1997
  7. NET Obfuscator. http://www.preemptive.com/pro-ducts/dotfuscator
  8. C. Linn, and S. Debray, “Obfuscation of excu-table code to improve resistance to static disa-ssembly,” ACM Conference on Computer and Com-munications Security, pp.290-299, October 2003 https://doi.org/10.1145/948109.948149
  9. G. Wroblewski, "A general method of program code obfuscation," Ph.D. Dissertation, Wroclaw Uni-versity, June 2002
  10. SUIF Compiler System. http://suif.stanford.edu/suif/suif2/doc-2.2.0-4
  11. C. Wang, “A security architecture for survivability mechanisms,” Ph.D. Dissertation, University of Virginia, October 2000
  12. C. Collberg and C. Thomborson, "Watermarking, Tamper-proofing, and Obfuscation-Tool for Soft-ware Protection," IEEE Trans. Software Eng., vol.28, no.8, pp.735-746, 2002 https://doi.org/10.1109/TSE.2002.1027797
  13. G. Naumovicb and N. Memon, "Preventing Piracy, Reverse Engineering, and Tampering," IEEE Computer, pp.64-71, Jul. 2003 https://doi.org/10.1109/MC.2003.1212692
  14. T. J. PArr, R. W. Quong, ANTLR: A Predi-cated-LL(k)Parser Generator, SOFTWARE-PRAC-TICE AND EXPERIENCE, vol.25(7), 789-810, July 1995 https://doi.org/10.1002/spe.4380250705
  15. NIST FIPS, Announcing the ADVANCED EN-CRYPTION STANDARD (AES) 2001. Nov. 26