DOI QR코드

DOI QR Code

Detecting suspicious branch statements through recording and analyzing execution logs of apps using reflection

리플렉션이 사용된 앱의 실행 로그 기록 및 분석을 통한 의심스러운 분기문 탐지

  • 이수민 (숭실대학교 일반대학원 컴퓨터학과) ;
  • 박민호 (숭실대학교 일반대학원 컴퓨터학과) ;
  • 홍지만 (숭실대학교 컴퓨터학부)
  • Received : 2022.12.01
  • Accepted : 2023.05.15
  • Published : 2023.06.30

Abstract

In Logic Bomb, the conditions of branch statements that trigger malicious behavior cannot be detected in advance, making Android malicious app analysis difficult. Various studies have been conducted to detect potentially suspicious branch statements that can be logic bombs and triggers, but suspicious branch statements cannot be properly detected in apps that contain information determined at runtime, such as reflection. In this paper, we propose a tool that can detect suspicious branch statements even when reflection is used in Android apps. It works through recording app execution logs and analyzing the recorded log). The proposed tool can check the relationship between the called method and the branch statement by recording and analyzing the user-defined methods, Java APIs called and method information called through reflection, and branch information in the log while the Android app is running. Experimental results show that suspicious branch statements can be detected even in apps where reflection is used.

로직 밤에서 악성 행위를 트리거하는 분기문의 조건은 미리 파악할 수 없어 안드로이드 악성 앱 분석을 어렵게 하고 있다. 로직 밤과 트리거일 수 있는 잠재적으로 의심스러운 분기문을 탐지하기 위한 다양한 연구가 진행되었으나, 리플렉션과 같이 런타임에 결정되는 정보가 포함된 앱에서는 의심스러운 분기문을 제대로 탐지할 수 없다. 본 논문에서는 안드로이드 앱에 리플렉션이 사용되어도 앱 실행 로그 기록과 분석을 통해 의심스러운 분기문을 탐지할 수 있는 도구를 제안한다. 제안한 도구는 안드로이드 앱이 실행되는 동안 로그에 호출된 사용자 정의 메소드와 자바 API, 리플렉션으로 호출된 메소드 정보와 분기문 정보를 기록하고 이를 분석하여 호출된 메소드와 분기문간의 관계를 파악하여 의심스러운 분기문을 탐지할 수 있다. 실험을 통해 리플렉션이 사용된 앱에서도 의심스러운 분기문을 탐지할 수 있음을 확인하였다.

Keywords

Acknowledgement

이 논문은 .2016년 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. NRF-2016R1D1A1B01016073, 가상화 기반 오픈 게이트웨이 플랫폼과 오케스트레이션 보안 서비스 프레임워크 설계 및 구현).

References

  1. Mobile Operating System Market Share Worldwide Oct 2021-Oct 2022(2022). https://gs.statcounter.com/os-market-share/mobile/worldwide (accessed Nov., 5, 2022).
  2. Population of Internet Users Worldwide from 2012 to 2021, by Operating System(2022). https://www.statista.com/statistics/543185/worldwide-internet-connected-operating-system-population/ (accessed Nov., 5, 2022).
  3. K. Liu, S. Xu, G. Xu, M. Zhang, D. Sun, and H. Liu, "A Review of Android Malware Detection Approaches Based on Machine Learning," IEEE Access, Vol. 8, pp. 124579-124607, Jul. 2020.
  4. J. Samhi, L. Li, T. F. Bissyande, and J. Klein, "Difuzer: Uncovering Suspicious Hidden Sensitive Operations in Android Apps," Proc. of the 44th International Conference on Software Engineering (ICSE '22), pp. 723-735, May 2022.
  5. X. Pan, X. Wang, Y. Duan, X. Wang, and H. Yin, "Dark Hazard: Learning-based, Large-Scale Discovery of Hidden Sensitive Operations in Android Apps," Proc. of Network and Distributed System Security Symposium 2017 (NDSS '17), Vol. 17, pp. 10-14722, Feb. 2017.
  6. Android Open Source Project(2022). https://source.android.com/ (accessed Nov., 5, 2022).
  7. Structural Bytecode Constraints(2022). https://source.android.com/docs/core/runtime/constraints (accessed Nov., 5, 2022).
  8. Dalvik bytecode(2022). https://source.android.com/docs/core/runtime/dalvik-bytecode (accessed Nov., 5, 2022).
  9. DexProtector(2022). https://licelus.com/products/dexprotector (accessed Nov., 5, 2022).
  10. UI/Application Exerciser Monkey(2022). https://developer.android.com/studio/test/other-testing-tools/monkey (accessed Nov., 5, 2022).
  11. Samhi, Jordan and Bartel, Alexandre, "On The (In)Effectiveness of Static Logic Bomb Detection for Android Apps," IEEE Transactions on Dependable and Secure Computing, Vol. 19, pp. 3822-3836, Jun. 2022. https://doi.org/10.1109/TDSC.2021.3108057