DOI QR코드

DOI QR Code

Design and Implementation of An Auto-Conversion Tool for Android API Obfuscation Based on Java Reflection.

자바 리플렉션 기반의 안드로이드 API 난독화를 위한 자동 변환 도구의 설계 및 구현

  • Lee, Joo-Hyuk (School of Information Communication & Broadcasting Engineering, Halla University) ;
  • Park, Heewan (School of Information Communication & Broadcasting Engineering, Halla University)
  • 이주혁 (한라대학교 정보통신방송공학부) ;
  • 박희완 (한라대학교 정보통신방송공학부)
  • Published : 2014.04.22

Abstract

리플렉션은 자바 프로그램을 실행하여 객체 내부의 모든 요소를 조사하거나 호출 혹은 조작할 수 있는 자바 언어의 한 기능이다. 한 클래스 내부의 메소드에 리플렉션을 적용하여 호출하게 되면 String형의 메소드 이름으로 간접 호출하기에 정적 분석 도구의 API 호출 탐지를 방해하게 되어 분석결과의 정확도를 떨어뜨릴 수 있고, 또한 일반적인 호출보다 복잡한 절차를 거치게 되어 소스 자체의 난독화 효과를 갖게 된다. 또한 디컴파일러의 역공학 분석을 어렵게 만드는 장점도 있다. 이 특성을 이용한다면 안드로이드 환경에서 특정 API를 은닉하여 개인정보를 누출하도록 악용하거나 디컴파일러 이용을 방지하는 데 활용될 수 있다. 본 연구에서는 안드로이드 환경에서 직접 설계한 도구와 표본 앱을 이용하여 API 메소드에 리플렉션을 적용하고, 원본 소스와 리플렉션 후 디컴파일된 소스를 비교하여 API 호출이 리플렉션을 통해서 은닉 가능함을 보여준다.

Keywords