안드로이드 콘텐츠 저작권 침해 방지를 위한 서버 기반 리소스 난독화 기법의 설계 및 구현

DOI QR코드

DOI QR Code

박희완
Park, Heewan

  • 투고 : 2015.12.23
  • 심사 : 2016.02.23
  • 발행 : 2016.05.28

초록

소프트웨어는 대부분 바이너리 파일 포맷으로 배포되기 때문에 역공학 분석이 쉽지 않다. 그러나 안드로이드는 자바를 기반으로 하며 가상머신 위에서 동작한다. 따라서 안드로이드 역시 자바와 유사하게 역공학 도구에 의해서 쉽게 분석될 수 있다. 이 문제를 극복하기 위해서 다양한 난독화 기법이 제안되었다. 안드로이드 환경에서는 안드로이드 SDK에 포함되어 배포되는 난독화 도구인 프로가드(Proguard)가 가장 널리 사용된다. 프로가드는 자바 소스 코드를 역공학 분석으로부터 보호할 수 있다. 그러나 이미지, 사운드, 데이터베이스와 같은 리소스를 보호하는 기능은 가지고 있지 않다. 본 논문에서는 안드로이드 앱의 리소스를 보호할 수 있는 리소스 난독화 기법을 제안하고 구현하였다. 본 논문에서 제안하는 리소스 난독화 기법을 적용하면 효과적으로 리소스 도용을 예방할 수 있을 것으로 기대한다.

키워드

안드로이드 애플리케이션;리소스 보호;리소스 난독화;프로가드

참고문헌

  1. P. Kouznetsov, "Jad - the fast JAva Decompiler," http://kpdus.tripod.com/jad.html
  2. dex2jar, "Tools to work with android .dex and java .class files," http://code.google.com/p/dex2jar/
  3. H. Park, H. Park, K. Ko, K. Choi, and J. Youn, "An Evaluation of the Proguard, Obfuscation Tool for Android," Proc. of the 37th KIPS conference, Vol.19, No.1, pp.730-733, 2012(4).
  4. C. Collberg, C. Thomborson, and D. Low, A Taxonomy of Obfuscating Transformation, Technical Report #148, Department of Computer Science, The University of Auckland, 1997.
  5. C. Collberg, C. Thomborson, and D. Low, "Breaking Abstractions and Unstructuring Data Structures," Proc. of the International Conference on Computer Languages, ICCL98, pp.28-38, 1998(5).
  6. H. Park, S. Choi, and T. Han, "Advanced Operation Obfuscating Techniques using Bit-Operation," Transactions on Programming Languages, Vol.17, No.3, pp.8-20, 2003(11).
  7. C. Collberg, C. Thomborson, and D. Low, "Manufacturing Cheap, Resilient, and Stealthy Opaque Constructs," Proc. of the Principles of Programming Languages, POPL98, pp.184-196, 1998(1).
  8. ProGuard, http://developer.android.com/tools/help/proguard.html
  9. P. Yuxue, J. Jung, and J. Lee, "The Technological Trend of the Mobile Obfuscation," Information & Communications Magazine, Vol.29, No.8, pp.65-71, 2012(7).
  10. H. Kim, K. Chae, and H. Park, "Design and Implementation of String Obfuscation Tool for Android Source Codes," Proc. of the Conference on Information Security and Cryptology - Winter 2012, Vol.22, No.2, pp.195-198, 2012(12).
  11. H. Kim and H. Park, "Design and Implementation of An Obfuscation Tool for Preventing the Infringement of Intellectual Property Rights of Android Contents," Proc. of the 2014 Spring Conference of the KIPS, Vol.21, No.1, pp.483-486, 2014(4).
  12. National Bureau of Standards, Data Encryption Standard, FIPS PUB 46, 1977(1).
  13. RSA Laboratories, DES CHALLENGE III, http://www.emc.com/emc-plus/rsa-labs/historic al/des-challenge-iii.htm
  14. NIST, Advanced Encryption Standard (AES), FIPS PUB 197, 2001(11).