KR20150117336A - 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법 - Google Patents

안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법 Download PDF

Info

Publication number
KR20150117336A
KR20150117336A KR1020140042387A KR20140042387A KR20150117336A KR 20150117336 A KR20150117336 A KR 20150117336A KR 1020140042387 A KR1020140042387 A KR 1020140042387A KR 20140042387 A KR20140042387 A KR 20140042387A KR 20150117336 A KR20150117336 A KR 20150117336A
Authority
KR
South Korea
Prior art keywords
application
file
androidmanifest
type
malicious
Prior art date
Application number
KR1020140042387A
Other languages
English (en)
Inventor
곽진
최슬기
Original Assignee
순천향대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 순천향대학교 산학협력단 filed Critical 순천향대학교 산학협력단
Priority to KR1020140042387A priority Critical patent/KR20150117336A/ko
Publication of KR20150117336A publication Critical patent/KR20150117336A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법에 관한 것으로서, 애플리케이션을 제공하는 서버; 및 상기 애플리케이션으로부터 AndroidManifest.xml 파일을 추출하는 인증서 파일 추출부와, 추출된 상기 AndroidManifest.xml 파일로부터 애플리케이션이 처리하게 되는 브로드캐스트 인텐트의 종류 및 수신 우선순위와 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류를 읽어 들여 해당 애플리케이션의 기능과 비교한 후, 해당 애플리케이션의 악성 여부를 검증하는 검증부로 구성되는 플랫폼 애플리케이션 매니저를 포함하는 이동통신 단말기를 포함함으로써, 안전성을 향상할 수 있는 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법을 제공할 수 있다.

Description

안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법{System and Method for Validating and Installing Application in Android Environment}
본 발명은 애플리케이션 검증 및 설치 시스템 및 방법에 관한 것으로, 더욱 상세하게는 안드로이드 OS 기반의 스마트폰 등의 이동통신 단말기에서 애플리케이션을 검증 및 설치함에 있어서, 애플리케이션의 권한뿐만 아니라 애플리케이션의 전체적인 구조를 파악할 수 있는 정보들을 검증함으로써 안전성을 향상할 수 있는 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법에 관한 것이다.
최근 모바일 인프라의 발전과 모바일 시장의 성숙에 따라 모바일 디바이스를 겨냥한 새로운 바이러스 및 악성코드가 더욱 확산되고 있다. 특히, SMS에 피싱을 접목시킨 스미싱(Smishing)과 같이 스마트폰을 대상으로 개인 정보 유출 및 소액 결제 유도 등의 악성 행위를 하는 악성 애플리케이션들이 대거 등장하여 인터넷과 마켓 등을 통해서 널리 유포되고 있다.
한편, 스마트폰에는 안드로이드(Android), i-OS(Operating System), 윈도우 모바일(window mobile) 등과 같은 모바일 운영체제가 탑재된다. 상기 모바일 운영체제 중 안드로이드는 안드로이드 마켓이라는 애플리케이션 마켓을 통해 전 세계의 안드로이드 개발자가 쉽게 자신이 만든 애플리케이션을 타인이 이용하게 할 수 있으며, 웹 사이트에서도 애플리케이션을 다운로드 받아 설치할 수 있는 운영체제이다. 따라서, 애플리케이션을 만들고 전파하는 것이 쉽기 때문에 악의적인 사용자가 임의의 악성 애플리케이션을 작성하여 배포하는 행위를 통해 휴대폰의 개인 정보를 탈취하기가 매우 용이하다. 또한, 이러한 악성 애플리케이션으로 인한 보안 사고들을 줄이기 위해서는 악성 애플리케이션의 유포 경로를 사전에 차단하는 방법이 있으나, 이는 공식 마켓을 통해 유포되는 악성 애플리케이션들을 차단하기 어렵다는 단점이 있다.
안드로이드 시스템이 탑재된 단말기에 공식 마켓을 통해서 애플리케이션을 설치할 때에는 애플리케이션에 필수적으로 포함되는 AndroidManifest 파일의 정보를 분석한 후, 해당 애플리케이션이 요구하는 권한들을 사용자에게 공지하는 절차를 거친다. 이에, 사용자는 애플리케이션이 요구하는 권한들의 목록을 살펴보고 사용자 스스로 검증하고 권한을 허가하여 애플리케이션을 설치하고 있다.
도 1은 종래 공식 마켓을 통하여 애플리케이션을 설치할 때 나타나는 애플리케이션 검증 및 설치 화면으로서, 도 1을 참조하면, 공식 마켓을 통해서 애플리케이션을 설치할 때에는 애플리케이션에 필수적으로 포함되는 AndroidManifest 파일의 정보를 분석한 후, 해당 애플리케이션이 요구하는 권한들을 사용자에게 공지하는 절차를 거친다. 이에, 사용자는 애플리케이션이 요구하는 권한들의 목록을 살펴보고 사용자 스스로 검증하고 권한을 허가하여 애플리케이션을 설치하고 있다.
한편, 악성 애플리케이션의 특징을 분석하여보면, 첫째, 대부분의 악성 애플리케이션은 사용자들에게 자신의 악성 행위를 숨기기 위해서 사용자에게 유용한 기능을 제공하는 애플리케이션으로 위장하면서 필요 이상의 권한을 요구하고 있다. 또는, 필요 이상의 권한을 요구하지는 않지만, 그 요구하는 권한이 일반 애플리케이션에서는 5% 내외의 적은 비율로 사용되는 SEND_SMS와 READ_SMS와 같은, SMS와 관련된 권한을 요구하기도 한다.
둘째로, 악성 애플리케이션은 속성값으로 인텐트 수신의 우선순위를 숫자 값으로 등록할 수 있는 인텐트 필터를 정의하는 <intent-filter> 엘리먼트를 이용하여, 다른 애플리케이션이 SMS 수신을 하기 전에 자신이 먼저 수신하여 악성행위에 사용하기 위해 SMS 수신과 관련된 인텐트의 우선순위를 높게 정의하는 경우가 많이 존재한다.
아래의 그림은 구글 스토어로 위장한 악성 애플리케이션이 인텐트 필터에 SMS_RECEIVED 인텐트의 우선순위를 높게 정의하는 프로그램 소스를 예시한 것으로서, 해당 악성 애플리케이션의 경우에는 그림과 같이 SMS를 가장 먼저 수신하도록 우선순위를 높게 등록하였고 수신한 SMS를 이용하여 악성 행위를 수행한 후에 abortBroadcast 함수를 호출하여 다른 애플리케이션이 SMS_RECEIVED 인텐트를 수신할 수 없도록 하여 SMS 수신 흔적을 삭제하였다.
[그림]
Figure pat00001
셋째, 악성 애플리케이션은 액티비티, 브로드캐스트 수신자, 컨텐츠 제공자와 함께 애플리케이션을 구성하는 컴포넌트 중의 하나인 서비스를 사용자가 직접 종료하지 않는 이상 무한정 실행될 수 있는 시작 타입의 서비스로 등록해 놓은 경우가 많다. 서비스는 액티비티와 달리 사용자 인터페이스를 가지지 않으며, 한번 시작된 서비스는 사용자가 다른 애플리케이션으로 이동하는 등의 포어그라운드가 바뀌더라도 지속해서 백그라운드에서 실행된다. 또한, 서비스는 일단 시작되면 무한정하게 실행될 수 있는 시작 타입과 서비스를 시작한 액티비티가 실행되고 있는 동안에만 실행될 수 있는 연결 타입이 존재한다. 이에, 악성 애플리케이션의 경우 사용자의 눈에 잘 띄지 않는 형태인 백그라운드로 존재하여 지속적으로 사용자의 상태 및 정보를 수집하는 등의 악성행위를 유지하고 있다.
이와 같이, 안드로이드의 악성 애플리케이션은 다양한 악성 행위 등을 수행하기 위해서 복잡한 형태로 발전해나가고 있지만, 애플리케이션 설치 시에 해당 애플리케이션의 검증 항목으로는 애플리케이션이 요구하는 권한만을 이용하여 설치 여부를 결정하고 있다. 그러나, 애플리케이션의 권한 만으로는 해당 애플리케이션의 구조를 파악하기에는 부족하다.
이에 따라, 애플리케이션 설치 과정에서 해당 애플리케이션에 대한 검증과 설치가 중요해지고 있다. 이를 위해 현재 안드로이드 시스템에서는 사용자 스스로 애플리케이션 검증을 할 수 있도록 애플리케이션 설치 과정에서 애플리케이션이 요구하는 권한을 공지하고 있다. 그러나, 최근에 등장하고 있는 악성 애플리케이션들을 요구하는 권한을 정상적으로 이용하는 애플리케이션인 것처럼 위장하여 설치되기 때문에 사용자가 쉽게 탐지해내기 어려운 백그라운드 환경에서 해당 권한을 이용하여 악성 행위를 일으키고 있다.
따라서, 애플리케이션의 검증 및 설치 시 악성 애플리케이션들의 특징을 분석하여 사용자가 올바른 판단을 할 수 있는 애플리케이션 검증 및 설치 시스템 및 방법의 개발이 요구되고 있다.
대한민국 공개특허공보 제10-2011-0084693호(공개일 2011.07.26.)
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 안드로이드 OS 기반의 이동통신 단말기에서 애플리케이션을 검증 및 설치함에 있어서, 애플리케이션의 설치파일인 apk 파일로부터 인증서 파일인 AndroidManifest 파일을 추출한 후, 인증서 파일 내에 존재하는 브로드캐스트 인텐트들의 종류 및 수신 우선순위와 해당 애플리케이션을 통해 실행하게 될 서비스들의 종류를 해당 애플리케이션의 기능과 비교함으로써, 안전성을 향상할 수 있는 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법에 관한 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템은, 애플리케이션을 제공하는 서버; 및 상기 애플리케이션으로부터 AndroidManifest.xml 파일을 추출하는 인증서 파일 추출부와, 추출된 상기 AndroidManifest.xml 파일로부터 애플리케이션이 처리하게 되는 브로드캐스트 인텐트의 종류 및 수신 우선순위와 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류를 읽어 들여 해당 애플리케이션의 기능과 비교한 후, 해당 애플리케이션의 악성 여부를 검증하는 검증부로 구성되는 플랫폼 애플리케이션 매니저를 포함하는 이동통신 단말기를 포함하는 것을 특징으로 한다.
한편, 본 발명의 안드로이드 환경에서의 애플리케이션 검증 및 설치 방법은, 애플리케이션의 apk 파일로부터 AndroidManifest.xml 파일을 추출하는 단계; 상기 AndroidManifest.xml 파일로부터 상기 애플리케이션의 전체 파일에 대한 정보를 읽어 들이는 단계; 상기 AndroidManifest.xml 파일로부터 애플리케이션이 처리하게 되는 브로드캐스트 인텐트의 종류 및 수신 우선순위와 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류를 해당 애플리케이션의 기능과 비교하는 단계; 및 해당 애플리케이션의 악성 여부를 검증하는 단계를 포함하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 의한 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법에 따르면, 안드로이드 OS 기반의 스마트폰 등의 휴대용 단말기에서 애플리케이션을 검증 및 설치함에 있어서, 애플리케이션의 권한뿐만 아니라 애플리케이션의 전체적인 구조를 파악할 수 있는 정보들을 검증함으로써 안전성을 향상할 수 있다.
도 1은 종래 공식 마켓을 통하여 애플리케이션을 설치할 때 나타나는 애플리케이션 검증 및 설치 화면이다.
도 2는 본 발명의 일 실시예에 따른 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템을 개략적으로 나타낸 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 플랫폼 애플리케이션 매니저의 상세 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 이동통신 단말기의 애플리케이션을 검증하는 플랫폼 애플리케이션 매니저의 동작을 나타내는 도면이다.
도 5는 설치되는 애플리케이션에 브로드캐스트를 검증하는 화면을 나타내는 도면이다.
도 6은 설치되는 애플리케이션을 통해 실행 가능한 서비스를 검증하는 화면을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 플랫폼 애플리케이션 매니저에서 애플리케이션을 검증하는 동작을 나타내는 도면이다.
이하, 본 발명의 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위하여 제공되는 것이다.
도 2는 본 발명의 일 실시예에 따른 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템을 개략적으로 나타낸 블록 구성도이다.
도 2에서와 같이, 이러한 애플리케이션 검증 및 설치 시스템(1)은, 애플리케이션을 제공하는 서비스 서버(200)와, 서비스 서버(200)에 접속하여 사용자의 요청에 따라 애플리케이션을 설치하는 이동통신 단말기(100)를 포함한다. 여기서, 이동통신 단말기는 스마트폰과 태블릿 PC등의 단말기를 포함할 수 있다.
응용 소프트웨어(110), WAP이나 ME와 같은 무선 인터넷 브라우저(120), WIPI나 BREW 등의 무선 인터넷 플랫폼(130), HDD 및 RAM 등의 메모리(150)를 포함하는 이동통신 단말기(100)는 무선 인터넷의 사용을 위해 무선 인터넷 플랫폼(130)을 사용하여 단말기 내부의 램 공간(150)을 확보한 상태에서 무선망을 경유하여 유선망에 접속할 수 있도록 하는 프로그램인 무선 인터넷 브라우저(WAP, ME, i-mode)(120)를 이용하여 인터넷에 접속하고, 응용 소프트웨어 프로그램(110)을 구동한다.
또한, 도 2에 도시된 바와 같이, 본 발명을 위한 이동통신 단말기(100)는 무선 인터넷 브라우저(120) 및 무선 인터넷 플랫폼(130)의 영역에 포함되는 플랫폼 애플리케이션 매니저(140)를 포함하여, 메뉴 및 페이지를 통해 이동통신 단말기(100)로 인터넷 서비스를 제공하기 위한 네트워크 서버(210)를 경유하여 컨텐츠 또는 애플리케이션을 제공하는 다운로드 서버(220)로부터 컨텐츠 또는 애플리케이션을 다운로드 받는다.
도 3은 본 발명의 일 실시예에 따른 이동통신 단말기의 악성 애플리케이션을 검증하는 플랫폼 애플리케이션 매니저(140)의 상세 블록 구성을 도시한 것으로, 본 발명의 일 실시예에 따른 플랫폼 애플리케이션 매니저(140)는 인증서 파일 추출부(142), 검증부(144) 등을 포함하여 구성된다.
도 3을 참조하면, 인증서 파일 추출부(142)는 이동통신 단말기에 다운로드(download)되어 설치되는 애플리케이션에 대해 애플리케이션의 압축 해제된 파일 중 애플리케이션의 전체 구조를 파악할 수 있는 인증서 파일 즉, AndroidManifest.xml 파일을 추출한다.
안드로이드 플랫폼에 설치되는 모든 애플리케이션은 Java의 jar 형식을 가지는 압축파일인 apk(android package) 파일 형식을 가지며, 통상적으로 전자 서명(signing)이 이루어진 후에 이동통신 단말기에 설치 및 실행이 가능하다. 즉, 인증서 파일 추출부(142)는 이러한 apk 파일에 포함된 파일 중 적하목록이라는 의미로 애플리케이션에 적재된 모든 컴포넌트에 대하여 기술하는 파일인 AndroidManifest.xml 파일을 추출하게 된다.
검증부(144)는 인증서 파일 추출부(142)로부터 추출된 인증서 파일을 압축 해체하여 애플리케이션에 대한 정보와 컴포넌트를 읽어 들여, 인증서 파일(404)에 기록되어 있는 애플리케이션이 처리하게 되는 브로드캐스트 인텐트의 종류, 수신 우선순위 및 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류를 해당 애플리케이션이 소개하고 있는 기능과 비교 한 후, 해당 애플리케이션의 악성 여부를 진단한다.
즉, 검증부(144)는 예를 들어, 애플리케이션의 전체 파일에 대한 정보 중에서 브로드캐스트 인텐트의 종류와 수신 우선순위와 해당 애플리케이션이 소개하고 있는 기능이 일치하는 경우, 해당 애플리케이션을 정상 애플리케이션으로 판단할 수 있고, 애플리케이션의 전체 파일에 대한 정보 중에서 브로드캐스트 인텐트의 종류와 수신 우선순위와 해당 애플리케이션이 소개하고 있는 기능이 일치하지 않는 경우 및 서비스 엘리먼트에 메시지 또는 주소록에 관련된 서비스가 포함되어 있는 경우, 악성 애플리케이션으로 진단할 수 있다.
이때, 검증부(144)는 위와 같이 악성 애플리케이션으로 진단된 해당 애플리케이션에 대해 이동통신 단말기로의 설치를 차단시킬 수 있다.
한편, 도 2에서는 인증서 파일 추출부(142) 및 검증부(144)가 본 발명의 바람직한 실시예에 따른 플랫폼 애플리케이션 매니저(140)에 포함되는 것을 전제로 설명하고 있으나, 본 발명은 인증서 파일 추출부(142) 및 검증부(144)를 하나의 시스템으로 하여 무선 인터넷 플랫폼(130)과 연동하는 방식으로도 구현 가능하다. 즉, 본 발명의 바람직한 실시예에 따른 인증서 파일 추출부(142) 및 검증부(144)가 도 2에서와 같은 형식으로 위치되지 않더라도, 각 구성요소가 전술한 기능을 수행하는 한 본 발명의 권리범위에서 벗어나지 않는 것으로 볼 것이다.
도 4는 본 발명의 일 실시예에 따른 이동통신 단말기의 애플리케이션을 검증하는 플랫폼 애플리케이션 매니저의 동작을 나타내는 도면이다.
도 4를 참조하면, 안드로이드 플랫폼에 설치되는 애플리케이션의 apk 파일은 도 4에서 보여지는 바와 같이 AndroidManifest.xml, classes.dex, resource.arsc 파일이 루트 디렉토리(root directory)(402)의 하위 디렉토리에 폴더 형태로 반드시 존재하게 된다. 이때, AndroidManifest.xml 파일은 애플리케이션의 선언부 역할을 하는 것으로서, 안드로이드 시스템에 애플리케이션에 대한 정보와 컴포넌트에 대하여 알리는 것이다.
즉, AndroidManifest.xml 파일(404)에는 도 4의 참조번호 (410)에서 보여지는 바와 같이, <manifest> 엘리먼트의 속성으로 패키지 이름, 버전 코드, 버전 이름 등이 선언되어 있으며 <manifest> 엘리먼트의 내부에 애플리케이션이 요구하는 권한 등을 등록하는 엘리먼트들이 존재한다. 이러한 엘리먼트들 중 <application> 엘리먼트는 속성으로 애플리케이션의 아이콘, 레이블 등이 선언되어 있다. 또한, <application> 엘리먼트 내부에 <activity>와 <service>, <receiver>, <provider> 엘리먼트를 통하여 애플리케이션에서 등록된 컴포넌트들에 대한 정보를 나타내고 있으며, 각각의 엘리먼트 내부에는 <intent-filter> 엘리먼트가 있다. 인텐트 필터란 해당 컴포넌트로 들어오는 인텐트를 걸러내는 역할을 하는 메커니즘으로 어떤 인텐트를 허용할 것인지를 기술한다.
여기서, <activity>, <service>, <receiver> 및 <provider>는 안드로이드 애플리케이션을 구성하는 네 가지 요소이다. 첫 번째는, 액티비티(activity)로써 액티비티는 사용자 인터페이스를 가진 화면을 나타낸다. 화면이 필요한 메시지 프로그램, 웹 브라우저 프로그램들은 모두 이러한 액티비티를 이용해 만들어지며, 하나의 액티비티는 하나의 화면을 나타내기 때문에 여러 개의 화면으로 구성된 응용 프로그램은 여러 개의 액티비티로 구성되어 있다고 볼 수 있다. 두 번째로는, 서비스(service)로써 서비스는 액티비티와 달리 사용자 인터페이스를 가지지 않으며, 백그라운드에서 장기적으로 실행되기 위해 구현되는 구성요소이다. 이에, 한 번 시작된 서비스는 사용자가 다른 애플리케이션으로 이동하는 등의 포어그라운드가 바뀌더라도 지속해서 백그라운드에서 실행된다. 또한, 서비스는 일단 시작되면 무한정하게 실행될 수 있는 시작 타입과 서비스를 시작한 액티비티가 실행되고 있는 동안에만 실행될 수 있는 연결 타입이 존재한다. 세 번째 구성요소는 컨텐츠 제공자 즉, 컨텐츠 프로바이더(content provider)이다. 우리가 만든 응용 프로그램은 SQLite와 같은 영구 저장소에 데이터를 저장할 수 있는데, 안드로이드 OS에서는 컨텐츠 프로바이더를 이용해서 SQLite와 같은 데이터베이스에 접근할 수 있도록 하고 있다. 네 번째 구성요소는 브로드캐스트 수신자(broadcast receiver)이다. 이 컴포넌트는 안드로이드 시스템 전체에서 오는 브로드캐스트 공지사항에 대해 응답하거나 공지사항을 전송할 수 있는 구성요소이다.
이와 같은 인증서 파일(404)은 인증서 파일 추출부(142)에 의해 추출되어 검증부(144)로 전달된다.
그러면, 검증부(144)에서는 인증서 파일(404)에 기록되어 있는 애플리케이션이 처리하게 되는 브로드캐스트 인텐트의 종류와 수신 우선순위와 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류를 해당 애플리케이션이 소개하고 있는 기능과 비교 한 후, 해당 애플리케이션의 악성 여부를 진단하는 것이다.
도 5는 설치되는 애플리케이션에 브로드캐스트를 검증하는 화면을 나타내는 도면으로서, 이는 수신 가능한 방송(브로드캐스트 인텐트)의 종류와 우선순위를 예시하고 있다. 이에, 도 5를 예로 들면, 설치하려는 애플리케이션이 문자 메시지를 수신했다는 것을 감지할 수 있으며, 우선순위가 가장 높은 값인 1000으로 주어졌기 때문에 수신 받은 문자 메시지를 해당 앱이 가장 먼저 처리할 수 있다는 것 외에도 단말기의 부팅이 완료되었다는 것과 화면이 꺼졌다는 것을 감지할 수 있다는 것을 알 수 있다. 이러한 기능이 해당 애플리케이션이 소개하고 있는 기능과 관련이 없다면 검증부(144)는 이를 악성 애플리케이션으로 판단할 수 있게 될 것이다.
도 6은 설치되는 애플리케이션을 통해 실행 가능한 서비스를 검증하는 화면을 나타내는 도면으로서, 이는 실행 가능한 서비스의 개수와 각각의 서비스명을 예시하고 있다. 이에, 도 6을 참조하면, 설치하려는 애플리케이션이 3개의 서비스를 실행할 수 있으며 이 서비스들은 메시지에 관련된 서비스와 주소록에 관련된 서비스가 포함되어 있다는 것을 알 수 있다. 이러한 정보를 통해서 검증부(144)는 해당 애플리케이션이 사용자에게 직접 보이지 않는 백그라운드 환경에서 메시지와 주소록에 대한 작업을 수행한다는 정보를 얻게 되고, 해당 애플리케이션이 악성 행위에 사용될 수 있음을 인식할 수 있다.
즉, 검증부(144)는 예를 들어, 애플리케이션의 전체 파일에 대한 정보 중에서 브로드캐스트 인텐트의 종류와 수신 우선순위와 해당 애플리케이션이 소개하고 있는 기능이 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 판단할 수 있다. 또한 애플리케이션의 전체 파일에 대한 정보 중에서 브로드캐스트 인텐트의 종류와 수신 우선순위와 해당 애플리케이션이 소개하고 있는 기능이 일치하지 않는 경우 및 서비스 엘리먼트에 메시지 또는 주소록에 관련된 서비스가 포함되어 있는 경우 악성 애플리케이션으로 진단할 수 있다.
상기한 바와 같이, 안드로이드의 악성 애플리케이션이 다양한 악성행위 등을 수행하기 위해 복잡한 형태로 발전해나가고 있는 반면, 종래 안드로이드 환경에서의 애플리케이션 검증에 있어서는 애플리케이션 설치 시에 해당 애플리케이션의 검증 항목으로 애플리케이션이 요구하는 권한만을 이용하여 설치 여부를 결정하고 있어 해당 애플리케이션의 전체 구조를 파악하기에는 부족하다는 문제점이 있었다.
따라서, 본 발명에서는 상기에서 설명한 바와 같이, 애플리케이션 검증 및 설치에 있어서 애플리케이션의 전체 구조를 파악할 수 있는 정보를 활용하여 보다 안전성이 향상된 안드로이드 환경을 제공할 수 있게 되는 것이다.
그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 안드로이드 환경에서의 애플리케이션 검증 및 설치 방법에 대해 설명하기로 한다.
도 7은 본 발명의 일 실시예에 따른 플랫폼 애플리케이션 매니저에서 애플리케이션을 검증하는 동작을 나타내는 도면이다.
먼저, 단계 S700에서 이동통신 단말기에 대한 악성 애플리케이션 검증이 요청되는 경우 플랫폼 애플리케이션 매니저(140) 내의 검증부(144)는 이동통신 단말기에 설치된 파일들에 대해 유형 분석을 수행하고, 단계 S702에서 apk 파일 형식을 가지는 애플리케이션을 검색한다.
다음으로 단계 S704에서는, 상기 단계 S702에서 apk 파일 형식을 가지는 애플리케이션이 검색되는 경우, 검증부(144)는 해당 애플리케이션의 apk 파일로부터 애플리케이션에 적재된 모든 컴포넌트에 대하여 기술하는 인증서 파일(404)인 AndroidManifest.xml 파일을 압축해제한다. 이때, 위와 같은 인증서 파일(404)인 AndroidManifest.xml 파일은 인증서 파일 추출부(142)로부터 추출되어 검증부(144)로 제공될 수 있다.
인증서 파일(404)에는 도 4의 참조번호 (410)에서 보여지는 바와 같이, apk 파일 내 포함되는 모든 개별 파일의 정보가 텍스트 형태로 저장되어 있는데, 검증부(144)는 단계 S706에서 인증서 파일(404)에 텍스트 형태로 기록되어 있는 apk 파일이 포함하고 있는 모든 개별 파일 즉, 애플리케이션을 구성하는 전체 파일에 대한 정보를 읽어온다.
이어, 단계 S708에서 검증부(144)는 인증서 파일(404)에서 읽어 들인 해당 애플리케이션의 전체 파일에 대한 정보들 중에서 애플리케이션이 처리하게 되는 브로드캐스트 인텐트들의 종류와 우선순위 및 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류에 대한 정보와 해당 애플리케이션이 소개하고 있는 기능을 비교하여, 해당 애플리케이션의 악성 또는 정상 여부를 판단한다.
즉, 검증부(144)는 예를 들어, 애플리케이션의 전체 파일에 대한 정보 중에서 브로드캐스트 인텐트의 종류와 수신 우선순위와 해당 애플리케이션이 소개하고 있는 기능이 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 판단할 수 있다. 또한, 애플리케이션의 전체 파일에 대한 정보 중에서 브로드캐스트 인텐트의 종류와 수신 우선순위와 해당 애플리케이션이 소개하고 있는 기능이 일치하지 않는 경우 및 서비스 엘리먼트에 메시지 또는 주소록에 관련된 서비스가 포함되어 있는 경우 악성 애플리케이션으로 진단할 수 있다.
마지막으로, 단계 S710에서 검증부(144)는 단계 S708에서 검증된 결과에 따라, 상기와 같이 악성 애플리케이션으로 진단된 해당 애플리케이션에 대해서는 이동통신 단말기로의 설치를 차단시키거나, 이미 설치된 애플리케이션에 대해서는 해당 애플리케이션을 삭제시킬 수 있다.
상기한 바와 같이, 애플리케이션 검증 및 설치에 있어서 애플리케이션의 전체 구조를 파악할 수 있는 정보를 활용하여 보다 안전성이 향상된 안드로이드 환경을 제공할 수 있다.
한편, 이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
100 : 이동통신 단말 110 : 응용 소프트웨어
120 : 무선 인터넷 브라우저 130 : 무선 인터넷 플랫폼
140 : 플랫폼 애플리케이션 매니저 142 : 인증서 파일 추출부
144 : 검증부 150 : 저장부
200 : 서버 210 : 네트워크 서버
220 : 다운로드 서버

Claims (4)

  1. 애플리케이션을 제공하는 서버; 및
    상기 애플리케이션으로부터 AndroidManifest.xml 파일을 추출하는 인증서 파일 추출부와, 추출된 상기 AndroidManifest.xml 파일로부터 애플리케이션이 처리하게 되는 브로드캐스트 인텐트의 종류 및 수신 우선순위와 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류를 읽어 들여 해당 애플리케이션의 기능과 비교한 후, 해당 애플리케이션의 악성 여부를 검증하는 검증부로 구성되는 플랫폼 애플리케이션 매니저를 포함하는 이동통신 단말기;
    를 포함하는 애플리케이션 검증 및 설치 시스템.
  2. 청구항 제1항에 있어서,
    상기 검증부는,
    해당 애플리케이션의 브로드캐스트 인텐트의 종류 및 수신 우선순위가 해당 애플리케이션이 소개하고 있는 기능이 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 판단하고, 해당 애플리케이션의 브로드캐스트 인텐트의 종류 및 수신 우선순위가 해당 애플리케이션이 소개하고 있는 기능이 일치하지 않는 경우 및 서비스 엘리먼트에 메시지 또는 주소록에 관련된 서비스가 포함되어 있는 경우 악성 애플리케이션으로 진단하는 것을 특징으로 하는, 애플리케이션 검증 및 설치 시스템.
  3. 애플리케이션의 apk 파일로부터 AndroidManifest.xml 파일을 추출하는 단계;
    상기 AndroidManifest.xml 파일로부터 상기 애플리케이션의 전체 파일에 대한 정보를 읽어 들이는 단계;
    상기 AndroidManifest.xml 파일로부터 애플리케이션이 처리하게 되는 브로드캐스트 인텐트의 종류 및 수신 우선순위와 해당 애플리케이션을 통해서 실행하게 될 서비스들의 종류를 해당 애플리케이션의 기능과 비교하는 단계; 및
    해당 애플리케이션의 악성 여부를 검증하는 단계;
    를 포함하는 애플리케이션 검증 및 설치 방법.
  4. 청구항 제3항에 있어서,
    상기 검증하는 단계는,
    해당 애플리케이션의 브로드캐스트 인텐트의 종류 및 수신 우선순위가 해당 애플리케이션이 소개하고 있는 기능이 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 판단하고, 해당 애플리케이션의 브로드캐스트 인텐트의 종류 및 수신 우선순위가 해당 애플리케이션이 소개하고 있는 기능이 일치하지 않는 경우 및 서비스 엘리먼트에 메시지 또는 주소록에 관련된 서비스가 포함되어 있는 경우 악성 애플리케이션으로 진단하는 것을 특징으로 하는, 애플리케이션 검증 및 설치 방법.
KR1020140042387A 2014-04-09 2014-04-09 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법 KR20150117336A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140042387A KR20150117336A (ko) 2014-04-09 2014-04-09 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140042387A KR20150117336A (ko) 2014-04-09 2014-04-09 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20150117336A true KR20150117336A (ko) 2015-10-20

Family

ID=54399701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140042387A KR20150117336A (ko) 2014-04-09 2014-04-09 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20150117336A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180087590A (ko) * 2017-01-25 2018-08-02 한양대학교 산학협력단 그래프다발의 동적 분류 방법 및 장치
WO2019128075A1 (zh) * 2017-12-27 2019-07-04 ***股份有限公司 一种终端的应用管理方法、应用服务器及终端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180087590A (ko) * 2017-01-25 2018-08-02 한양대학교 산학협력단 그래프다발의 동적 분류 방법 및 장치
WO2019128075A1 (zh) * 2017-12-27 2019-07-04 ***股份有限公司 一种终端的应用管理方法、应用服务器及终端
US11449616B2 (en) 2017-12-27 2022-09-20 China Unionpay Co., Ltd. Application management method for terminal, application server, and terminal

Similar Documents

Publication Publication Date Title
CN109743315B (zh) 针对网站的行为识别方法、装置、设备及可读存储介质
CN106446632B (zh) 应用程序的隐藏显示启动方法和隐藏显示启动装置
KR20150044490A (ko) 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
KR101281825B1 (ko) 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법
US10176317B2 (en) Method and apparatus for managing super user password on smart mobile terminal
CN103259795A (zh) 执行自动注册登录的方法、移动终端以及服务器
CN105631312A (zh) 恶意程序的处理方法及***
CN109446801B (zh) 检测模拟器访问的方法、装置、服务器及存储介质
CN103838799A (zh) 一种推荐安装软件的方法、终端设备、云端服务器及***
CN111563015A (zh) 数据监控方法及装置、计算机可读介质及终端设备
KR101286711B1 (ko) 모바일 단말기의 악성 프로그램 차단 시스템 및 그 방법
CN109818972B (zh) 一种工业控制***信息安全管理方法、装置及电子设备
CN103020528A (zh) 一种应用程序的恶意行为的显示方法和装置
US9397995B2 (en) Information processing apparatus and user authentication method
KR20160031589A (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
KR101537098B1 (ko) 단말 및 단말에 설치된 프리로드 애플리케이션의 관리 방법
CN107766068B (zh) 应用***补丁安装方法、装置、计算机设备和存储介质
KR20150117336A (ko) 안드로이드 환경에서의 애플리케이션 검증 및 설치 시스템 및 방법
CN106933615B (zh) App应用的唤醒方法及装置
CN102148831B (zh) 一种终端应用的安全控制方法及***
CN106209746B (zh) 一种安全业务提供方法及服务器
CN110704498A (zh) 数据提取方法、装置、设备及计算机可读存储介质
CN106411891B (zh) 文件处理方法、装置、服务端和设备
CN112528286B (zh) 终端设备安全检测方法、关联设备以及计算机程序产品
CN106376096B (zh) 一种无线网络连接方法及其设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment