1 |
1
마켓 서버가, 어플리케이션의 개발자가 등록하는 APK파일에 대한 해쉬 값을 상기 어플리케이션과 함께 전송받는 단계;상기 마켓 서버가, 상기 어플리케이션과 해쉬 값을 분리하여 인덱싱을 통해 생성된 인덱스 정보를 데이터베이스에 저장하고, 해당 마켓 서버에 대한 플래그 정보를 연접하여 보관하는 단계;상기 마켓 서버가, 상기 어플리케이션의 배포시, 상기 해쉬 값을 검색할 수 있는 상기 인덱스 정보와 등록된 마켓 서버를 확인할 수 있는 상기 플래그 정보를 상기 어플리케이션과 함께 배포하는 단계;배포된 어플리케이션을 다운로드한 사용자의 스마트 폰에서 상기 어플리케이션의 APK파일로부터 플래그 정보를 추출하는 단계;상기 스마트 폰에서 상기 플래그 정보에 대응하는 마켓 서버로 접속하여 해쉬 값을 요청하는 단계; 및상기 마켓 서버가, 상기 어플리케이션의 인덱스 정보를 이용하여 해쉬 값을 검색하여 상기 스마트 폰으로부터 전송된 해쉬 값과 비교하고, 해쉬 값의 일치 여부를 확인하여 상기 어플리케이션의 무결성을 검증하는 단계를 포함하며,상기 APK파일은 안드로이드 구동 시스템을 위한 패키징 파일 포맷인 안드로이드 패키지(Android PacKage : APK) 파일이며,상기 단계들을 시행하는 어플리케이션은,안드로이드 디바이스에 설치된 어플리케이션의 모든 목록을 호출하여 사용자의 의도와는 상관없이 실행되고 있는 어플리케이션의 목록을 제공하는 Permission 정보 제공 기능,관리자 권한의 실행을 포함한 특정 인텐트(Intent) 정보에 대하여 점검을 실시하는 인텐트 정보 제공 기능,공식 마켓으로부터 어플리케이션을 다운로드받았는지 여부를 제공하는 마켓 출처 정보 제공 기능,실행되는 모든 어플리케이션의 트래픽 정보를 통해 각각의 어플리케이션에 대한 데이터 송ㆍ수신 크기를 비교하는 네트워크 트래픽 점검 제공 기능을 포함하는 안드로이드 환경에서의 어플리케이션 리패키징 탐지 방법
|