안드로이드 애플리케이션은 악성코드를 삽입한 후 재서명하여 배포하는 리패키징 공격에 취약하다. 이러한 공격을통해 사용자의 사생활 정보나 개인정보 유출 등의 피해가 자주 발생하고 있는 실정이다. 모든 안드로이드 애플리케이션은 사용자가 직접 작성한 메소드와 API로 구성된다. 이중 플랫폼의 리소스에 접근하며 실제 애플리케이션의 기능적인 특징을 나타내는 것은 API이고, 사용자가 작성한 메소드 역시 API를 이용하며 기능적 특징을 나타낸다. 본논문에서는 악성 애플리케이션이 주로 활용하는 민감한 API들을 분석 대상으로 하여 악성애플리케이션이 어떤 행위를 하고, 어떤 API 를 사용하는지 사전에 식별할 수 있는 분석 기법을 제안한다. 사용하는 API를 토대로 API의특성정보를 기반으로 나이브 베이즈 분류 기법을 적용하여 비슷한 기능을 하는 API에 대해 기계 학습하도록 한다. 이렇게 학습된 결과를 토대로 악성 애플리케이션이 주로 사용하는 API를 분류하고, 애플리케이션의 악성 위험 정도에 대한 정량적 판단 기준을 제시한다. 따라서, 제안 기법은 모바일 애플리케이션의 취약점 정도를 정량적으로 제시해 줌으로써 모바일 애플리케이션 개발자들이 앱 보안성을 사전에 파악하는데 많은 기여를 할 수 있을 것으로 기대된다.
본논문에서는 악성 애플리케이션이 주로 활용하는 민감한 API들을 분석 대상으로 해 악성애플리케이션이 어떤 행위를 하고, 어떤 API 를 사용하는지 사전에 식별할 수 있는 분석 기법을 제안한다.