Measuring Similarity of Android Applications Using Method Reference Frequency and Manifest Information

메소드 참조 빈도와 매니페스트 정보를 이용한 안드로이드 애플리케이션들의 유사도 측정

  • 김규식 (단국대학교 컴퓨터학과) ;
  • 마수드 (단국대학교 컴퓨터학과) ;
  • 조성제 (단국대학교 컴퓨터학과) ;
  • 김성백 (제주대학교 컴퓨터교육과)
  • Received : 2017.06.09
  • Accepted : 2017.06.26
  • Published : 2017.06.30

Abstract

As the value and importance of softwares are growing up, software theft and piracy become a much larger problem. To tackle this problem, it is highly required to provide an accurate method for detecting software theft and piracy. Especially, while software theft is relatively easy in the case of Android applications (apps), screening illegal apps has not been properly performed in Android markets. In this paper, we propose a method to effectively measure the similarity between Android apps for detecting software theft at the executable file level. Our proposed method extracts method reference frequency and manifest information through static analysis of executable Android apps as the main features for similarity measurement. Each app is represented as an n-dimensional vectors with the features, and then cosine similarity is utilized as the similarity measure. We demonstrate the effectiveness of our proposed method by evaluating its accuracy in comparison with typical source code-based similarity measurement methods. As a result of the experiments for the Android apps whose source file and executable file are available side by side, we found that our similarity degree measured at the executable file level is almost equivalent to the existing well-known similarity degree measured at the source file level.

소프트웨어 가치와 중요성이 커짐에 따라 소프트웨어의 도용이 증가하고 있어 이에 대한 대책으로 소프트웨어 도용을 정확히 탐지하는 방안이 필요하다. 특히 안드로이드 앱의 경우, 소프트웨어 도용이 상대적으로 용이한 반면 안드로이드 마켓 상에서는 불법 앱에 대한 적절한 검수를 수행하지 않고 있다. 이에 본 논문에서는 소프트웨어 도용을 탐지하기 위해 실행파일 수준에서 안드로이드 앱 간의 유사도를 효과적으로 측정하는 기법을 제안한다. 제안 기법은 유사도 측정을 위한 주요 특징정보로, 안드로이드 앱의 실행파일을 정적으로 분석하여 메소드 참조 빈도와 매니페스트 정보를 추출한다. 각 앱을 이 두 가지 특징정보들의 n-차원 벡터로 표시하고, 코사인 유사도를 사용하여 두 앱의 유사도를 측정한다. 제안 기법을 검증하기 위해 대표적인 소스코드 기반의 유사도 측정 기법과 본 논문에서 제안한 기법을 비교 평가한다. 소스파일과 실행파일이 함께 주어진 안드로이드 앱을 대상으로 진행한 실험에서, 본 논문에서 제안한 실행파일 수준의 유사도 측정 결과와 기존의 잘 알려진 소스파일 수준의 유사도 측정 결과가 동등한 수준으로 나왔다.

Keywords