DOI QR코드

DOI QR Code

Design and Implementation of Server-based Resource Obfuscation Techniques for Preventing Copyrights Infringement to Android Contents

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

  • 박희완 (한라대학교 정보통신방송공학부)
  • Received : 2015.12.23
  • Accepted : 2016.02.23
  • Published : 2016.05.28

Abstract

Most software is distributed as a binary file format, so reverse engineering is not easy. But Android is based on the Java and running on virtual machine. So, Android applications can be analyzed by reverse engineering tools. To overcome this problem, various obfuscation techniques are developed. In android environment, the Proguard is most widely used because it is included in the Android SDK distribution package. The Proguard can protect the Java source code from reverse engineering analysis. But it has no function to protect resources like images, sounds and databases. In this paper, we proposed and implemented resource obfuscation framework to protect resources of android application. We expect that this framework can protect android resources effectively.

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

Keywords

References

  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).