안드로이드 환경에서 자바 리플렉션과 동적 로딩을이용한 코드 은닉법

Title
안드로이드 환경에서 자바 리플렉션과 동적 로딩을이용한 코드 은닉법
Other Titles
A Code Concealment Method using Java Reflection and Dynamic Loading in Android
Authors
박용수
Keywords
Java reflection; Malware; Malicious code; DES; Data encryption standard; Bytecode; Copyright protection; Obfuscation; Intent; Intent filter; Class encryption; Dynamic keys; AndroidManifest
Issue Date
2015-02
Publisher
한국정보보호학회
Citation
정보보호학회논문지, v. 25, NO 1, Page. 17-30
Abstract
본 논문은 기존에 널리 사용되는 바이트코드(bytecode) 중심의 안드로이드 어플리케이션 코드 난독화 방법과 달리임의의 안드로이드 어플리케이션의 DEX 파일 자체를 추출하여 암호화하고, 암호화한 파일을 임의의 폴더에 저장한 후코드를 수행하기 위한 로더 앱을 만드는 방법을 제시한다. 이벤트 처리 정보를 은닉하기 위하여, 로더 앱 내부의 암호화된 DEX 파일은 원본 코드와 Manifest 정보 일부를 포함한다. 로더 앱의 Manifest는 원본 앱의 Manifest 정보 중에서 암호화된 클래스에 포함되지 않은 정보만을 기재하였다. 제안기법을 사용시, 첫째로 공격자는 백신을 우회하기 위해 난독화된 코드를 포함한 악성코드 제작이 가능하고, 둘째로 프로그램 제작자의 입장에서는 제안기법을 이용하여 저작권 보호를 위해 핵심 알고리즘을 은폐하는 어플리케이션 제작이 가능하다. 안드로이드 버전 4.4.2(Kitkat)에서 프로토타입을 구현하고 바이러스 토탈을 이용하여 악성코드 난독화 능력을 점검해서 제안 기법의 실효성을 보였다. Unlike existing widely used bytecode-centric Android application code obfuscation methodology, our scheme in this paper makes encrypted file i.e. DEX file self-extracted arbitrary Android application. And then suggests a method regarding making the loader app to execute encrypted file's code after saving the file in arbitrary folder. Encrypted DEX file in the loader app includes original code and some of Manifest information to conceal event treatment information. Loader app's Manifest has original app's Manifest information except included information at encrypted DEX. Using our scheme, an attacker can make malicious code including obfuscated code to avoid anti-virus software at first. Secondly, Software developer can make an application with hidden main algorithm to protect copyright using suggestion technology. We implement prototype in Android 4.4.2(Kitkat) and check obfuscation capacity of malicious code at VirusTotal to show effectiveness.
URI
http://koreascience.or.kr/article/ArticleFullRecord.jsp?cn=JBBHCB_2015_v25n1_17http://hdl.handle.net/20.500.11754/22305
ISSN
1598-3986; 2288-2715
DOI
http://dx.doi.org/10.13089/JKIISC.2015.25.1.17
Appears in Collections:
COLLEGE OF ENGINEERING[S](공과대학) > DIVISION OF COMPUTER SCIENCES AND ENGINEERING(컴퓨터공학부) > Articles
Files in This Item:
A Code Concealment Method using Java Reflection and Dynamic Loading in Android.pdf(844.12 kB)Download
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE