DOI QR코드

DOI QR Code

Design and Implementation of Method Generation based Watermarking Technique for Android Copyright Protection

안드로이드 저작권 보호를 위한 메소드 생성 기반 워터마킹 기법의 설계 및 구현

  • Park, Heewan (Department of Information Communication and Software, Halla University)
  • 박희완 (한라대학교 정보통신소프트웨어학과)
  • Received : 2018.10.29
  • Accepted : 2019.01.20
  • Published : 2019.01.28

Abstract

As smartphones become widespread, numerous applications are developed and social issues related to software copyright are emerging. Software watermarking is digital watermarking technology applied to software and is a technology that can be used to recognize copyright owners. Generally, Java language is used to develop applications on the Android environment. The Java is an object-oriented language that supports method overloading and overriding. In this paper, we propose and implement a method generation based watermarking technique. As a result of evaluating the overhead due to the watermark, it was confirmed that the increase of the executable file size and the decrease of the execution speed are not large. Using the watermarking technique proposed in this paper, it is expected that copyright information can be verified when illegal copying is suspected or actual program is stolen, and piracy attempts will be prevented in advance.

스마트폰이 널리 보급되고 수많은 애플리케이션들이 개발됨에 따라서 소프트웨어 저작권 관련하여 사회적인 이슈가 발생하고 있다. 소프트웨어 워터마킹은 디지털 워터마킹 기술을 소프트웨어에 적용한 것으로서 소프트웨어 원저작권자를 판별하는데 사용될 수 있는 기술이다. 안드로이드 환경에서 앱을 개발하기 위해서 일반적으로 자바 언어를 사용한다. 자바는 객체지향 언어로서 메소드 오버로딩과 오버라이딩을 지원한다. 본 논문에서는 메소드 생성 기반 워터마킹 기법을 제안하고 구현하였다. 워터마크로 인한 오버헤드를 평가한 결과, 실행 파일 크기의 증가와 실행 속도의 저하가 크지 않다는 것을 확인하였다. 본 논문에서 제안하는 워터마킹 기법을 사용하면 불법 복제가 의심되거나 실제로 프로그램이 도용되었을 때 저작권 정보를 확인할 수 있으며 불법 복제 시도를 사전에 예방하는 효과도 있을 것으로 기대한다.

Keywords

OHHGBW_2019_v10n1_61_f0001.png 이미지

Fig. 1. Kim-gisa and T-map copyright dispute[5]

OHHGBW_2019_v10n1_61_f0002.png 이미지

Fig. 2. Cymera and Analog Filter copyright dispute[7]

OHHGBW_2019_v10n1_61_f0003.png 이미지

Fig. 4. Example of the method overloading

OHHGBW_2019_v10n1_61_f0004.png 이미지

Fig. 5. Example before method overloading

OHHGBW_2019_v10n1_61_f0005.png 이미지

Fig. 6. Example after method overloading

OHHGBW_2019_v10n1_61_f0006.png 이미지

Fig. 7. Example of the method overriding

OHHGBW_2019_v10n1_61_f0007.png 이미지

Fig. 8. Example before method overriding

OHHGBW_2019_v10n1_61_f0008.png 이미지

Fig. 9. Example after method overriding

OHHGBW_2019_v10n1_61_f0009.png 이미지

Fig. 10. Method overloading example before adding opaque predicate

OHHGBW_2019_v10n1_61_f0010.png 이미지

Fig. 11. Method overloading example after adding opaque predicates

OHHGBW_2019_v10n1_61_f0011.png 이미지

Fig. 12. Method overriding example before adding opaque predicate

OHHGBW_2019_v10n1_61_f0012.png 이미지

Fig. 13. Method overriding example after adding opaque predicates

OHHGBW_2019_v10n1_61_f0013.png 이미지

Fig. 14. Structure of watermarking system

OHHGBW_2019_v10n1_61_f0014.png 이미지

Fig. 15. Changes of source and apk file size according to method overloading numbers

OHHGBW_2019_v10n1_61_f0015.png 이미지

Fig. 16. Changes of source and apk file size according to method overriding numbers

OHHGBW_2019_v10n1_61_f0016.png 이미지

Fig. 17. Runtime overheads according to opaque predicate numbers

OHHGBW_2019_v10n1_61_f0017.png 이미지

Fig. 3. (a) Original source and (b) Modified source with copyright information

Table 1. Example of opaque predicates

OHHGBW_2019_v10n1_61_t0001.png 이미지

Table 2. Changes of source and apk file size according to method overloading numbers

OHHGBW_2019_v10n1_61_t0002.png 이미지

Table 3. Changes of source and apk file size according to method overriding numbers

OHHGBW_2019_v10n1_61_t0003.png 이미지

Table 4. Runtime overheads according to opaque predicate numbers

OHHGBW_2019_v10n1_61_t0004.png 이미지

References

  1. Asia economy. (2017). Share of adults who own smartphones by country in 2018. http://www.asiae.co.kr/news/view.htm?idxno=2017101707023014904.
  2. Money week. (2016). Smartphone holding rate in Korea. http://www.moneyweek.co.kr/news/mwView.php?no=2016022408518055090.
  3. Joins economy. (2017). Piracy of smartphone application. https://news.joins.com/article/21799946.
  4. Keyeslabs. (2018). A Global Piracy Heat Map. http://keyeslabs.com/joomla/projects/auto-app-licensing/152-a-global-piracy-heat-map.
  5. Kinews. (2015). Kim Gisa and T-map copyright dispute. http://www.ittoday.co.kr/news/articleView.html?idxno=66263.
  6. CNB news. (2015). The watermark of T-map. http://www.cnbnews.com/news/article.html?no=309110.
  7. Financial news. (2016). Cymera and Analog Filter copyright dispute. http://www.fnnews.com/news/201605091205212639.
  8. Huffington post. (2016). SK Communications 'Cyamera' and 'Analog Filter' copyright dispute. https://www.huffingtonpost.kr/2016/05/11/story_n_9903264.html.
  9. D. Kim, H. Jang & S. Cho. (2009). Low-level Language based Static Watermarking for Intellectual Property Protection of Mobile Software, Proc. of KIISE, 36(1-D), 55-60.
  10. C. Jun, J. Jung, B. Kim, J. Jang, Y. Cho & J. Hong. (2011). A new approach to software watermarking based on calling convention, Proc. of KIISE, 38(2-C), 156-159.
  11. S. A. Moskowitz & M. Cooperman. (1998). Method for stega-cipher protection of computer code, United States Patent 5745569A.
  12. C. Collberg, E. Carter, S. Debray, A. Huntwork, J. Kececioglu, C. Linn & M. Stepp. (2004). Dynamic Path-Based Software Watermaking, Proc. of ACM SIGPLAN Conf. on PLDI. 107-118.
  13. Y. Wang, D. Gong, B. Lu, F. Xiang & F. Liu.. (2018). Exception Handling-Based Dynamic Software Watermarking. Proc. of IEEE Access 6, 8882-8889.
  14. Korea copyright commission. (2010). Codejam service. http://www.ddaily.co.kr/news/article.html?no=72525.
  15. H. Park. (2018). Java Class Watermarking Technique based on Object-Oriented Characteristics, Proc. of 12th KIISE and KBS Symp, 132-135.
  16. K. Arnold, J. Gosling & D. Holmes. (2005). The Java Programming Language, Fourth Edition. Addison Wesley Professional.
  17. C. Collberg, C. Thomborson & Douglas Low. (1998). Manufacturing Cheap, Resilient, and Stealthy Opaque Constructs. Proc. of 25th ACM IGPLAN-SIGACT Symp. on POPL, 184-196.
  18. J. Ming, D. Xu, L. Wang & D. Wu. (2015). LOOP: Logic-Oriented Opaque Predicate Detection in Obfuscated Binary Code. Proc. of 22nd ACM SIGSAC Conf. on CCS, 757-768.
  19. G. Myles & C. Collberg. (2006). Software watermarking via opaque predicates: Implementation, analysis, and attacks. Electron Commerce Research, 6(2-2), 155-171. https://doi.org/10.1007/s10660-006-6955-z
  20. Android Open Source Sample Project. (2014). Jet Boy, https://github.com/Miserlou/Android-SDK-Samples/tree/master/JetBoy.