강건한 안드로이드 어플리케이션 개발을 위한 실행시간 인텐트 명세 검사 기법

DOI QR코드

DOI QR Code

고명필;최광훈;창병모
Ko, Myungpil;Choi, Kwanghoon;Chang, Byeong-Mo

  • 투고 : 2015.10.14
  • 심사 : 2015.11.26
  • 발행 : 2016.02.15

초록

안드로이드 앱의 액티비티, 서비스, 브로드캐스트 리시버와 같은 컴포넌트에 부적절한 인텐트를 전달하면 비정상적으로 종료되는 인텐트 취약점 문제가 빈번하게 발생한다. 이 논문은 안드로이드 컴포넌트가 기대하는 인텐트 명세를 개발자가 직접 기술하고, 실행시간에 이 컴포넌트에 전달된 인텐트를 검사하여 인텐트 취약점을 방지하는 방법을 제안한다. 인텐트 유효성을 검사하는 여러 조건문이 실수로 누락되거나 다른 코드와 섞여 유지 보수하기 어려운 점을 이 논문에서 제안하는 인텐트 명세를 선언함으로써 해결할 수 있다. 7개의 안드로이드 앱에 대해 제안한 방법을 적용한 실험 결과 인텐트 명세 기반 실행시간 검사 방법을 통해 앱의 비정상 종료를 방지할 수 있었다.

키워드

안드로이드;취약점;강건성;인텐트 명세;실행시간 검사

참고문헌

  1. Android APIs, [Online]. Available: http://developer.android.com.
  2. A. K. Maji, F. A. Arshad, S. Bagchi, and J. S. Rellermeyer, "An Empirical Study of the Robustness of Inter-component Communication in Android," Proc. of the 2012 42nd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) (DSN'12), IEEE Computer society, Washington, DC, USA, pp. 1-12, 2012.
  3. J. Burns, Intent Fuzzer, [Online]. Available: https://www.isecpartners.com-/tools/mobile-security/intent-fuzzer.aspx, iSEC Partners, 2009.
  4. R. Sasnauskas and J. Regehr, "Intent Fuzzer: Crafting Intents of Death," Proc. of the 2014 Joint International Workshop on Dynamic Analysis (WODA) and Software and System Performance Testing, Debugging, and Analytics (PERTEA), pp. 1-5, San Jose, CA, 2014, ACM.
  5. F. J. Hui Ye, S. Cheng, and L. Zhang, "DroidFuzzer: Fuzzing the Android Apps with Intent-filter Tag," Proc. of International Conference on Advances in Mobile Computing & Multimedia (MoMM), pp. 68-74, Vienna, Austria, 2013, ACM.
  6. M. P. Roee Hay and O. Tripp, "Dynamic Detection of Inter-application Communication Vulnerabilities in Android," Proc. of the 2015 International Symposium on Software Testing and Analysis (ISSTA), pp. 118-128, New York, NY, USA, 2015, ACM.
  7. M. Ko, K. Choi, and B-M, Chang, "A Flexible Intent Fuzzer with an Automatic Tally of Failures for Detecting Vulnerabilities of Android App," Technical Report TR-SEP-2015-3, Sep. 2015.
  8. J. Gosling, B. Joy, G. L. Steel, G Bracha, and A. Buckley, The JavaTM Language Specification, Java SE 8 Edition. Oracle, 2014.
  9. JaeChul Ryu, Eunseon Jo, Moon-Joo Kim, Jin Kwak, Development of Mobile Software Security Testing Tool for Detecting New Android Vulnerabilities, Journal of Korea Institute of Information security and Cryptology, Vol. 25, No. 1, pp. 57-59, Feb. 2015.
  10. Sehwan Yeo, Jin Lee, Jungsun Kim, Blocking Harmful Application by Intent Monitoring in the Android Platofrm, KIISE Transactions on Computing Practices, Vol. 19, No. 5, pp. 273-277, May 2013.
  11. Min Jae Jo, Ji Sun Shin, Study on Security Vulnerabilities of Implicit Intents in Android, Journal of the Korea Institute of Information Security & Cryptology, Vol. 24, No. 6, pp. 1175-1184, Dec. 2014. https://doi.org/10.13089/JKIISC.2014.24.6.1175
  12. Joon-Seok Oh, Miyoung Kang, Jin-Young Choi, "Research on Android App API Coding Guide," Proc. of Korea Computer Congress 2010, The Korean Institute of Information Scientists and Engineers, Vol. 37, No. 2(C), pp. 129-132, Nov. 2010.
  13. Myungpil Ko, A Design and Implementation of Intent Specification Language for Robust Android Apps, MS Thesis, Computer Science in Yonsei University, Aug. 2015.
  14. Spoon-Processor for Java annotations, [Online]. Available: http://spoon.gforge.inria.fr/processor_annotations.html
  15. R. Meier, Professional Android 4 Application Development, 3rd Ed., Wrox, Hoboken, NJ, USA, 2012.
  16. Z. Mednieks, G. B. Meike, and L. Dornin, Enterprise Android: Programming Android Database Applications for the Enterprise, John Wiley & Sons, Somerset, NJ, USA, 2013.

과제정보

연구 과제 주관 기관 : 한국산업기술진흥원, 한국연구재단