안드로이드 환경에서 자바 리플렉션과 동적 로딩을 이용한 코드 은닉법
A Code Concealment Method using Java Reflection and Dynamic Loading in Android
1
조회
0
다운로드
3
인용
0
참고문헌
키워드
초록
본 논문은 기존에 널리 사용되는 바이트코드(bytecode) 중심의 안드로이드 어플리케이션 코드 난독화 방법과 달리임의의 안드로이드 어플리케이션의 DEX 파일 자체를 추출하여 암호화하고, 암호화한 파일을 임의의 폴더에 저장한 후코드를 수행하기 위한 로더 앱을 만드는 방법을 제시한다. 이벤트 처리 정보를 은닉하기 위하여, 로더 앱 내부의 암호화된 DEX 파일은 원본 코드와 Manifest 정보 일부를 포함한다. 로더 앱의 Manifest는 원본 앱의 Manifest 정보 중에서 암호화된 클래스에 포함되지 않은 정보만을 기재하였다. 제안기법을 사용시, 첫째로 공격자는 백신을 우회하기 위해 난독화된 코드를 포함한 악성코드 제작이 가능하고, 둘째로 프로그램 제작자의 입장에서는 제안기법을 이용하여 저작권 보호를 위해 핵심 알고리즘을 은폐하는 어플리케이션 제작이 가능하다. 안드로이드 버전 4.4.2(Kitkat)에서 프로토타입을 구현하고 바이러스 토탈을 이용하여 악성코드 난독화 능력을 점검해서 제안 기법의 실효성을 보였다.
Abstract
Unlike existing widely used bytecode-centric Android application code obfuscation methodology, our scheme in this papermakes encrypted file i.e. DEX file self-extracted arbitrary Android application. And then suggests a method regarding making theloader app to execute encrypted file's code after saving the file in arbitrary folder. Encrypted DEX file in the loader appincludes original code and some of Manifest information to conceal event treatment information. Loader app's Manifest hasoriginal app's Manifest information except included information at encrypted DEX. Using our scheme, an attacker can makemalicious code including obfuscated code to avoid anti-virus software at first. Secondly, Software developer can make anapplication with hidden main algorithm to protect copyright using suggestion technology. We implement prototype in Android4.4.2(Kitkat) and check obfuscation capacity of malicious code at VirusTotal to show effectiveness.
참고문헌 (26)
- "STRATEGY ANALYTICS"[URL]
- 장준혁, "안드로이드 환경의 보안 위협과 보호 기법 연구 동향", 보안공학연구논문지, 11(1), pp.1~12 (2014), 보안공학연구지원센터[DOI]
- Alexandrina KOVACHEVA, "Efficient Code Obfuscation for Android", Advances in information Technology's Communications in Computer and Information Science, 409, pp.104~119 (2013)
- Patrick Schulz, "Code Protection in Android", Institute of Computer Science 4 Communication and Distributed Systems in Bonn University, ~ (2012)
- Hao Hao, "On the effectiveness of API-level access control using bytecode rewriting in Android", ASIA CCS '13 Proceedings of the 8th ACM SIGSAC symposium on Information of computer and communications security, pp.25~36 (2013)
- W. Zhou, "Detecting Repackaged Smartphone Applications in Third-Party Android Marketplaces", Proceedings of the 2nd ACM Conference on Data and Application Security and Privacy, pp.317~326 (2012)
- Yuxue Piao, "프로가드 난독화 도구 구조 및 기능 분석", 한국통신학회논문지B, 38(8), pp.654~662 (2013), 한국통신학회
- "DexFile"[URL]
- William M. Daley, "DATA ENCRYPTION STANDARD(DES)", FIPS PUB, 46(3) (1999)
- Recommendation for the Triple Data Encryption Algorithm(TDEA)Block Cipher, "William C. Barker", NIST, ~, pp.Special Publication 800-67 (2012)
- 최두식, "반복문 오류 주입을 이용한 개선된 Triple DES 라운드 축소 공격", 정보보호학회논문지, 22(4), pp.709~717 (2012), 한국정보보호학회
- "Androguard"[URL]
- "Virus Total"[URL]
- "Building and Running"[URL]
- Alessandro Armando, "Breaking and Fixing the Android Launching Flow", Computers & Security, 39, pp.104~115 (2013)
- "dex2jar"[URL]
- "JD-GUI"[URL]
- "android-apktool"[URL]
- "Trail : The Reflection API(The Java™Tutorials)"[URL]
- V. Benjarmin Livshits, "Analysis", Proceedings of the 14th USENIX Security (2005)
- MARIUS POPA, "Analysis of Zero-Day Vulnerabilities in Java", Journal of Mobile, Embedded and Distributed Systems, 5(3), pp.108~117 (2013)
- Erika Chin, "Analyzing Inter-Application Communication in Android", MobiSys '11Proceedings, 9, pp.239~252 (2011)
- "Intents and Intent Filters"[URL]
- "CONTEXT_IGNORE_SECURITY"[URL]
- "Toast"[URL]
- "Support Library"[URL]
