KR20130078278A - 스마트폰 악성 어플 탐지 시스템 및 방법 - Google Patents

스마트폰 악성 어플 탐지 시스템 및 방법 Download PDF

Info

Publication number
KR20130078278A
KR20130078278A KR1020110147126A KR20110147126A KR20130078278A KR 20130078278 A KR20130078278 A KR 20130078278A KR 1020110147126 A KR1020110147126 A KR 1020110147126A KR 20110147126 A KR20110147126 A KR 20110147126A KR 20130078278 A KR20130078278 A KR 20130078278A
Authority
KR
South Korea
Prior art keywords
application
malicious
smartphone
file
function
Prior art date
Application number
KR1020110147126A
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 KR1020110147126A priority Critical patent/KR20130078278A/ko
Publication of KR20130078278A publication Critical patent/KR20130078278A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 스마트폰 악성 어플 탐지 방법 및 시스템에 관한 것으로, 본 발명에 따른 방법은 어플 설치 파일로부터 악성 행위 이용 가능 에이피아이(API, Application Program Interface)를 추출하여 정적 분석을 수행하는 단계, 그리고
동적 분석 대상 로그를 출력하도록 수정된 상기 스마트폰 운영체제의 이미지 파일을 스마트폰에 설치하고, 상기 어플 설치 파일에 의해 설치된 어플에 대한 동적 분석을 수행하는 단계를 포함할 수 있다. 본 발명에 의하면, 정적 분석 및 동적 분석을 병행함으로써 새롭게 출현하거나 변형된 악성 어플을 조기에 탐지할 수 있는 장점이 있다. 특히 악성 행위 이용 가능 API 및 API 호출 패턴을 통해 해당 어플의 악성 행위 가능성 여부를 효율적으로 탐지할 수 있다.

Description

스마트폰 악성 어플 탐지 시스템 및 방법{Smartphone Malicious Application Detect System and Method}
본 발명은 악성 어플 탐지 시스템 및 방법에 관한 것으로, 보다 자세하게는 정적 분석 및 동적 분석을 병행하여 스마트폰 악성 어플을 탐지하는 시스템 및 방법에 관한 것이다.
최근 들어 스마트폰의 보급 확대와 더불어 스마트폰을 대상으로 하는 악성 어플에 대한 문제가 점차 심각해지고 있다. 게임 어플, 미디어 플레이 어플, 배경화면 선택 어플 등 다양한 카테고리의 어플이 악성행위를 하는 것으로 나타나고 있다.
이러한 악성 어플은 스마트폰 이용자가 인식하지 못하게 설치 되는데, 어플의 악성 행위 중 대부분은 개인의 전화번호 및 주소록에 있는 전화번호 이름 등의 정보를 수집, 스마트폰 GPS 정보를 이용하여 개인의 위치 정보를 실시간으로 수집, 스마트폰에 저장된 신용카드 정보 및 결제를 필요로 하는 어플 사용 시 개인 정보 수집, 스마트폰에 저장된 사진, 동영상 콘텐츠 정보를 수집하는 등의 개인 정보를 수집하는 행위 등, 개인정보 유출 행위 및 악성 행위를 하고 있으며, 서비스 거부 및 지연 등을 일으키는 등의 악성 행위를 하고 있다.
악성 행위를 하는 어플을 탐지하기 위해서는 이미 알려진 정보를 통해 분석하는 정적 분석과 실제 어플이 실행되는 상황을 모니터링 하여 악성 행위를 탐지하는 동적 분석 방법이 있을 수 있다. 그런데 현재 악성 코드 탐지를 위해 개발된 대부분의 기술은 기존 PC기반의 백신 프로그램으로 이미 알려진 악성코드의 특성을 활용하는 시그니처 DB방식인 정적 분석을 통한 탐지 방법으로 모바일 악성 코드를 탐지하는데 한계가 있다. 특히 최근 스마트폰 이용 활성화에 따라 유포되는 어플의 악성 행위 분석은 기존 PC의 운영체계 (Windows, Mac OS 등)및 개발 방식과는 상이한 관계로 아직 기술적으로 체계화 되어 있지 못한 실정이다.
따라서 본 발명이 해결하려는 과제는 정적 분석 및 동적 분석을 병행하는 스마트폰에 최적화된 악성 어플 탐지 시스템 및 방법을 제공하는 것이다.
이러한 기술적 과제를 해결하기 위한 본 발명의 한 실시예에 따른 스마트폰 악성 어플 탐지 방법은 어플 설치 파일로부터 악성 행위 이용 가능 에이피아이(API, Application Program Interface)를 추출하여 정적 분석을 수행하는 단계, 그리고 동적 분석 대상 로그를 출력하도록 수정된 상기 스마트폰 운영체제의 이미지 파일을 스마트폰에 설치하고, 상기 어플 설치 파일에 의해 설치된 어플에 대한 동적 분석을 수행하는 단계를 포함한다.
상기 정적 분석을 수행하는 단계는, 상기 어플 설치 파일의 압축을 해제하고 실행 파일을 추출하는 단계, 상기 추출된 실행 파일에 대한 디스어셈블 및 디컴파일을 수행하는 단계, 그리고 상기 디스어셈블 및 디컴파일을 통해 구해진 코드로부터 상기 악성 행위 이용 가능 API를 추출하는 단계를 포함할 수 있다.
상기 방법은, 상기 추출된 API에 대한 함수명, 함수에 대한 설명, 함수의 디스어셈블 및 디컴파일 코드의 실행 위치 중 적어도 하나를 포함하는 정적 분석 결과를 보고하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 추출된 악성 행위 이용 가능 API를 미리 저장된 악성 행위 이용 가능 API 조합 정보와 비교하여 상기 어플 설치 파일에 의해 설치되는 어플의 악성 행위 가능 여부를 예비적으로 판단하는 단계를 더 포함할 수 있다.
상기 동적 분석을 수행하는 단계는, 상기 수정된 스마트폰 운영체제의 이미지 파일을 스마트폰에 설치하는 단계, 상기 스마트폰에 상기 어플 설치 파일을 이용하여 어플을 설치하는 단계, 상기 설치된 어플을 스마트폰 상에서 실행하는 단계, 그리고 상기 어플 실행 과정에서 수집된 로그 분석 결과를 보고하는 단계를 포함할 수 있다.
상기 로그 분석 결과는 상기 어플 실행 과정에서 실행된 함수 정보 및 함수 커버리지를 포함할 수 있다.
상기 수정된 스마트폰 운영체제의 이미지 파일은 API 호출 로그를 포함한 동적 분석 대상 로그의 출력을 위한 함수가 삽입된 달빅(Dalvik) VM을 포함할 수 있다.
본 발명의 다른 실시예에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
상기한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 스마트폰 악성 어플 탐지 시스템은, 어플 설치 파일로부터 악성 행위 이용 가능 에이피아이(API, Application Program Interface)를 추출하여 정적 분석을 수행하는 정적 분석 모듈, 그리고 동적 분석 대상 로그를 출력하도록 수정된 상기 스마트폰 운영체제의 이미지 파일이 스마트폰에 설치된 상태에서, 상기 어플 설치 파일에 의해 설치된 어플에 대한 동적 분석을 수행하는 동적 분석 모듈을 포함한다.
상기 정적 분석 모듈은, 상기 어플 설치 파일의 압축을 해제하여 실행 파일을 추출하고, 상기 추출된 실행 파일에 대한 디스어셈블 및 디컴파일을 수행하며, 상기 디스어셈블 및 디컴파일을 통해 구해진 코드로부터 상기 악성 행위 이용 가능 API를 추출할 수 있다.
상기 정적 분석 모듈은, 상기 추출된 API에 대한 함수명, 함수에 대한 설명, 함수의 디스어셈블 및 디컴파일 코드의 실행 위치 중 적어도 하나를 포함하는 정적 분석 결과를 보고할 수 있다.
상기 정적 분석 모듈은, 상기 추출된 악성 행위 이용 가능 API를 미리 저장된 악성 행위 이용 가능 API 조합 정보와 비교하여 상기 어플 설치 파일에 의해 설치되는 어플의 악성 행위 가능 여부를 예비적으로 판단할 수 있다.
상기 동적 분석 모듈은, 상기 수정된 스마트폰 운영체제의 이미지 파일이 스마트폰에 설치된 상태에서 상기 스마트폰에 설치된 어플을 실행하고, 상기 어플 실행 과정에서 수집된 로그 분석 결과를 보고할 수 있다.
본 발명에 의하면, 정적 분석 및 동적 분석을 병행함으로써 새롭게 출현하거나 변형된 악성 어플을 조기에 탐지할 수 있는 장점이 있다. 특히 악성 행위 이용 가능 API 및 API 호출 패턴을 통해 해당 어플의 악성 행위 가능성 여부를 효율적으로 탐지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 악성 어플 탐지 시스템을 설명하기 위해 제공되는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 악성 어플 탐지 방법을 설명하기 위해 제공되는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 악성 어플 탐지를 위한 정적 분석 방법을 설명하기 위해 제공되는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 악성 어플 탐지를 위한 동적 분석 방법을 설명하기 위해 제공되는 흐름도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 악성 어플 탐지 시스템을 설명하기 위해 제공되는 블록도이다.
도 1을 참고하면, 본 발명에 따른 악성 어플 탐지 시스템은 악성 어플 탐지 서버(100), 테스트용 스마트폰(200) 및 검증자 단말(400)을 포함할 수 있다.
악성 어플 탐지 서버(100)는 악성 어플 탐지를 위한 정적 분석 모듈(110)과 악성 어플 탐지를 지원하기 위한 각종 정보를 저장하는 데이터베이스(120)를 포함할 수 있다. 그리고 악성 어플 탐지 서버(100)는 동적 분석 대상 로그를 출력하도록 수정된 스마트폰 운영체제의 이미지 파일을 테스트용 스마트폰(200)에 설치한 후 동적 분석 모듈(210)을 테스트용 스마트폰(200)에서 실행하여 동적 분석 결과를 제공받을 수 있다. 수정된 스마트폰 운영체제의 이미지 파일은 API 호출 로그를 포함한 동적 분석 대상 로그의 출력을 위한 함수가 삽입된 달빅(Dalvik) VM을 포함할 수 있다. 그리고 수정된 스마트폰 운영체제의 이미지 파일을 테스트용 스마트폰(200)에 설치하는 동작은 새로운 어플에 대한 동적 분석을 할 때마다 매번 수행되는 것이 바람직하다. 이를 통해 클린한 환경에서 동적 분석이 수행될 수 있다.
한편 여기서 어플은 스마트폰에서 사용되는 어플리케이션을 의미하며, 악성 어플은 사용자 몰래 설치되어 정보의 삭제, 수정, 변경 등을 통해 개인정보 유출, 서비스 거부 및 지연 등을 수행하는 어플을 의미한다. 그리고 악성 어플 탐지라고 함은 이미 악성 어플로 판정된 어플을 탐지하는 것뿐만 아니라 악성 행위 가능성이 있는 어플을 검증인에게 제공하기 위해 탐지하는 것까지 포함한다.
데이터베이스(120)는 악성 어플로 이미 판정된 어플에 대한 MD5 해쉬값 정보, 악성 행위를 대표하는 시그니처 등을 포함할 수 있다. 특히 본 발명에 따르면, 데이터베이스(120)는 스마트폰 운영체제에서 사용되는 에이피아이(API, Application Program Interface) 중에서 악성 행위에 이용 가능한 API(이하 악성 행위 이용 가능 API)에 대한 정보를 미리 정의하여 저장할 수 있다. 악성 행위 이용 가능 API는 악성 어플 탐지 시스템 운영자 등에 의해 선택될 수 있으며, 변경 가능하다.
안드로이드(Android)에서 사용되는 아래와 표 1에 예시한 것과 같은 API는 개인 정보를 유출하는 행위에 이용될 수 있다.
API 설명
getDeviceId IMEI(기기 고유 번호) 값을 가져옴
getSubseriverId IMSI(가입자 식별 번호) 값을 가져옴
openFileOutput 파일을 열고 쓰는 함수
openFileInput 파일을 열고 읽는 함수
isWifiEnabled 현재 기기가 Wi-Fi에 접속되어 있는지 확인
getLatitude, getLongitude GPS 정보를 가져오는 함수
getContentResolver 컨텐츠 프로바이더 접근 관련 함수
openConnection 인터넷 연결 요청 함수
setRequestMethod 인터넷에 연결 요청 시, 어떠한 방식을 사용할지 설정하는 함수
sendTextMessage SMS 전송을 수행하는 함수
getMessageBody 저장된 SMS를 읽어오는 함수
setLatestEventInfo Notification 쓰기 함수
getInstalledApplications 현재 스마트폰에 설치된 어플리케이션 확인

한편 데이터베이스(120)는 악성 행위에 이용 가능한 API가 조합된 구성 정보(이하 악성 행위 이용 가능 API 조합 정보)를 포함할 수도 있다. 실제로는 악성 행위 이용 가능 API 중에서 하나에 의해 단독으로 악성 행위가 이루어지는 것이 아니라, 악성 행위 이용 가능 API가 조합된 구성에 의해 악성 행위가 이루어지는 경우가 많다. 따라서 악성 행위 이용 가능 API 조합 정보를 실제 어플에서 추출된 API와 비교함으로써 해당 어플이 악성 행위를 할 가능성을 파악하도록 구현할 수도 있다. 물론 최종적인 판단은 정확도를 높이기 위해 검증자의 검증을 통하도록 구현하는 것이 바람직하다.
정적 분석 모듈(110)은 악성 행위 탐지 대상 어플에 대해 해쉬를 통해 MD5를 구하여 악성 어플 여부를 판단할 수 있고, 또한 시그니처 매칭을 통해 악성 어플 여부를 판단하는 기능을 포함할 수 있다. 특히 본 발명에 따른 정적 분석 모듈(110)은 어플 설치 파일로부터 추출된 실행 파일을 디스어셈블 및 디컴파일하여 구해진 디스어셈블 및 디컴파일 코드를 검증자가 알아볼 수 있는 형태로 파싱하여 제공하는 기능을 수행할 수 있다. 보다 자세하게는 정적 분석 모듈(110)은 디스어셈블 및 디컴파일 코드를 파싱하여 미리 정의된 악성 행위 이용 가능 API를 탐지하고, 탐지된 API 함수명, 함수에 대한 간단한 설명, 함수가 디스어셈블 코드의 몇 번째 줄에서 실행되었는지(함수 실행 위치)에 대한 결과를 포함하는 정적 분석 결과를 생성할 수 있다.
한편 실시예에 따라서 정적 분석 모듈(110)은 탐지된 악성 행위 이용 가능 API를 데이터베이스(120)에 저장된 악성 행위 이용 가능 API 조합 정보와 비교하고, 예비적으로 해당 어플의 악성 행위 가능 여부를 판단하여 이를 검증자에게 제공하도록 구현할 수도 있다. 이 경우 단순하게 악성 행위 이용 가능 API 정보를 제공하는 것보다 검증자의 부담을 경감시켜 줄 수도 있다.
테스트용 스마트폰(200)은 악성 어플 탐지를 위해 악성 어플 탐지 시스템 관리자가 이용하는 스마트폰이다. 테스트용 스마트폰(200)은 동적 분석 대상 로그를 출력하도록 수정된 스마트폰 운영체제의 이미지 파일이 설치된 상태에서 동적 분석 모듈(210)과 동적 분석 대상 어플이 설치된다. 그 후 테스트용 스마트폰(200)에 설치된 동적 분석 모듈(210)은 악성 행위 탐지 대상 어플에 대한 동적 분석을 수행하고 그 결과를 악성 어플 탐지 서버(100)에 제공할 수 있다. 실시예에 따라서 테스트용 스마트폰(200)을 이용하지 않고 서버(100) 또는 PC(도시하지 않음) 상에서 안드로이드 어뮬레이터, 아이폰 어뮬레이터 등과 같은 스마트폰 어뮬레이터에 스마트폰 운영체제의 이미지 파일을 설치한 후 동적 분석을 수행하도록 구현될 수도 있다.
동적 분석 모듈(210)은 스마트폰 운영체제의 이미지 파일이 설치된 상태에서 동적 분석 대상 어플을 실행하면서 실행된 함수 정보 및 함수 커버리지를 포함하는 로그 분석 결과를 수집하여 보고하는 기능을 수행한다. 동적 분석 모듈(210)은 DDMS(Dalvik Debug Monitoring Service)를 이용할 수 있으며, 이를 통해 해당 프로세스의 메모리 사용 통계치, 자세한 메모리 정보, 메모리 누수 시점, 연결된 해당 프로세스의 쓰레드 목록과 상태, 원하는 시점의 메모리 할당 정보, 특정 함수의 실행 여부와 함수 커버리지 기록, 안드로이드 로그를 알 수 있다. 즉 동적 분석 대상 어플이 실행됨으로써 변하는 환경(파일 시스템, 레지스트리, 네트워크 등)을 감시할 수 있다. 이러한 동적 분석 모듈(210)은 테스트용 스마트폰(200)에서 실행가능한 어플리케이션, 예컨대 안드로이드 스마트폰의 경우는 안드로이드 어플로 구현될 수 있으며, 상기한 분석 결과를 텍스트 파일로 저장하여 악성 어플 탐지 서버(100)에 보고할 수 있다.
통신망(300)은 구내 정보 통신망(local area network, LAN), 도시권 통신망(metropolitan area network, MAN), 광역 통신망(wide area network, WAN), 인터넷, 3G, 4G 등의 이동통신망, Wi-Fi, WIBRO, 케이블망 등을 포함하는 각종 데이터 통신망 포함할 수 있고, 유선과 무선을 가리지 않으며, 어떠한 통신 방식을 사용하더라도 상관없다.
검증자 단말(400)은 악성 어플 탐지 서버(100)에서 제공되는 동적/정적 분석 결과를 전달받아, 검증자에게 제공함으로써 검증자가 악성 어플 여부를 최종 판정하는데 이용되는 정보 통신 단말 장치이다.
어플 마켓(500)은 안드로이드 마켓, 앱 스토어 등과 같은 응용 소프트웨어 다운로드 서비스를 제공하는 공식적인 사이트뿐만 아니라, 블랙 마켓으로 불리는 불법 사이트를 포함할 수 있으며, 악성 어플 탐지 시스템은 어플 마켓(500)을 통해 악성 행위 탐지 대상 어플을 수집할 수 있다. 물론 P2P를 통해 사용자의 컴퓨터에 저장되어 있는 어플을 수집할 수도 있으며, 기타 다른 방법에 의해 악성 행위 탐지 대상 어플을 수집하는 것도 가능하다.
그러면 도 2 내지 도 4를 참고하여 본 발명의 일 실시예에 따른 악성 어플 탐지 방법에 대해 자세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 악성 어플 탐지 방법을 설명하기 위해 제공되는 흐름도이고, 도 3은 본 발명의 일 실시예에 따른 악성 어플 탐지를 위한 정적 분석 방법을 설명하기 위해 제공되는 흐름도이며, 도 4는 본 발명의 일 실시예에 따른 악성 어플 탐지를 위한 동적 분석 방법을 설명하기 위해 제공되는 흐름도이다.
도 2를 참고하면, 먼저 악성 어플 탐지 시스템은 악성 행위 탐지 대상 어플 설치 파일을 수집한다(S210). 단계(S210)는 공식 또는 비공식 어플 마켓을 통해 수집하거나 P2P 방식으로 수집할 수도 있다. 물론 검증자 또는 분석 의뢰자로부터 직접 어플 설치 파일을 제공받을 수도 있다.
다음으로 악성 어플 탐지 시스템은 악성 행위 탐지 대상 어플에 대한 정적 분석을 수행한다(S220).
도 3을 참고하여 정적 분석 단계(S220)를 자세히 설명하면, 정적 분석 모듈(110)은 기초적으로 악성 행위 탐지 대상 어플의 고유값 및 시그니처를 기초로 악성 어플 여부를 판정한다(S221). 보다 자세하게는 단계(S221)에서 악성 행위 탐지 대상 어플에 대해 구해진 해쉬값 MD5 또는 시그니처를 데이터베이스(120)에 악성 어플로 등록된 MD5 또는 시그니처와 비교하여 악성 어플 여부를 판정할 수 있다.
다음으로 정적 분석 모듈(110)은 어플 설치 파일(예컨대 안드로이드의 경우 APK 파일)의 압축을 해제한다(S223). 그리고 정적 분석 모듈(110)은 압축 해제된 어플 설치 파일에서 실행 파일(예컨대 안드로이드의 경우 DEX 파일)을 추출한다(S225).
다음으로 정적 분석 모듈(110)은 실행 파일에 대해 디스어셈블 및 디컴파일을 수행하여 디스어셈블 및 디컴파일 코드를 구한다(S227). 이후 정적 분석 모듈(110)은 디스어셈블 및 디컴파일 코드를 파싱하여 미리 정의된 악성 행위 이용 가능 API를 추출한다(S228). 그리고 마지막으로 추출된 API에 대한 함수명, 함수에 대한 간단한 설명, 함수가 디스어세블 및 디컴파일 코드의 몇 번째 줄에서 수행되었는지 등을 포함하는 분석 결과를 검증자가 용이하게 확인할 수 있는 형태로 작성할 수 있다(S229). 이렇게 작성된 분석 결과는 악성 어플 탐지 서버(100)에 보고되고, 검증자에게 전달되어 해당 어플의 악성 여부를 판단하는 자료로 사용될 수 있다.
한편 실시예에 따라서 정적 분석 모듈(110)은 단계(S228)에서 추출된 악성 행위 이용 가능 API로 이루어진 구성을 데이터베이스(120)에 저장된 악성 행위 가능 API 구성 정보와 비교하고, 예비적으로 해당 어플의 악성 행위 가능 여부를 판단하여 이를 검증자에게 제공하도록 구현할 수도 있다.
다시 도 2를 참고하면, 정적 분석 수행이 이루어진 후(S220), 악성 어플 탐지 시스템은 악성 행위 탐지 대상 어플에 대한 동적 분석을 수행할 수 있다(S220). 실시예에 따라 정적 분석 수행 단계(S220)와 동적 분석 수행 단계(S230)는 동시에 수행되거나 순서가 바뀌어도 된다.
도 4를 참고하여 동적 분석 단계(S230)를 자세히 설명하면, 먼저 악성 어플 탐지 서버(100)는 동적 분석 대상 로그를 출력하도록 수정된 스마트폰 운영체제의 이미지 파일을 테스트용 스마트폰(200)에 설치한다(S231). 수정된 스마트폰 운영체제의 이미지 파일을 테스트용 스마트폰(200)에 설치하는 동작은 새로운 어플에 대한 동적 분석을 할 때마다 매번 수행되는 것이 바람직하다. 이를 통해 클린한 환경에서 동적 분석이 수행될 수 있다.
다음으로 악성 어플 탐지 서버(100)는 동적 분석 모듈(210)을 테스트용 스마트폰(200)에 설치한다(S233). 동적 분석 모듈(210)은 테스트용 스마트폰(200)에서 실행가능한 어플리케이션으로 구현되어 설치될 수 있다. 다음으로 악성 어플 탐지 서버(100)는 악성 행위 탐지 대상 어플을 테스트용 스마트폰(200)에 설치한다(S235).
이후 동적 분석 모듈(210)은 테스트용 스마트폰(200)에 설치된 악성 행위 탐지 대상 어플을 실행시킨다(S237). 그리고 동적 분석 모듈(210)은 악성 행위 탐지 대상 어플을 실행하면서 실행된 함수 정보 및 함수 커버리지를 포함하는 로그 분석 결과를 수집하여 악성 어플 탐지 서버(100)에 보고한다(S239). 단계(S239)에서 악성 행위를 하는 어플에서의 API 호출 패턴 등에 대해서 사전에 데이터베이스(120)에 등록된 패턴이 있는 경우, 정적 분석에서와 마찬가지로 동적 분석 단계에서도 예비적으로 해당 어플의 악성 행위 가능 여부를 판단하여 이를 검증자에게 제공하도록 구현할 수도 있다.
다시 도 2를 참고하면, 정적 분석과 동적 분석 수행 결과를 악성 어플 탐지 서버(100)는 취합하여 검증자 단말(400)에 보고한다(S240).
그러면 검증자 단말(400)은 악성 어플 탐지 서버(100)에서 전달된 정적 분석 결과 및 동적 분석 결과를 제시하고 검증자로부터 악성 어플 여부에 대한 판단을 입력받을 수 있다(S250).
마지막으로 악성 어플 탐지 서버(100)는 검증자로부터 악성으로 판정된 어플에 대한 MD5 등의 해쉬값, 또는 시그니처 패턴을 구해서 데이터베이스(120)에 악성 어플로 등록할 수 있다(S260).
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 앞서 설명한 스마트폰 악성 어플 탐지 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (15)

  1. 스마트폰 악성 어플 탐지 방법에 있어서,
    어플 설치 파일로부터 악성 행위 이용 가능 에이피아이(API, Application Program Interface)를 추출하여 정적 분석을 수행하는 단계, 그리고
    동적 분석 대상 로그를 출력하도록 수정된 상기 스마트폰 운영체제의 이미지 파일을 스마트폰에 설치하고, 상기 어플 설치 파일에 의해 설치된 어플에 대한 동적 분석을 수행하는 단계를 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 방법.
  2. 제 1 항에서,
    상기 정적 분석을 수행하는 단계는,
    상기 어플 설치 파일의 압축을 해제하고 실행 파일을 추출하는 단계,
    상기 추출된 실행 파일에 대한 디스어셈블 및 디컴파일을 수행하는 단계, 그리고
    상기 디스어셈블 및 디컴파일을 통해 구해진 코드로부터 상기 악성 행위 이용 가능 API를 추출하는 단계를 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 방법.
  3. 제 2 항에서,
    상기 추출된 API에 대한 함수명, 함수에 대한 설명, 함수의 디스어셈블 및 디컴파일 코드의 실행 위치 중 적어도 하나를 포함하는 정적 분석 결과를 보고하는 단계를 더 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 방법.
  4. 제 2 항에서,
    상기 추출된 악성 행위 이용 가능 API를 미리 저장된 악성 행위 이용 가능 API 조합 정보와 비교하여 상기 어플 설치 파일에 의해 설치되는 어플의 악성 행위 가능 여부를 예비적으로 판단하는 단계를 더 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 방법.
  5. 제 1 항에서,
    상기 동적 분석을 수행하는 단계는,
    상기 수정된 스마트폰 운영체제의 이미지 파일을 스마트폰에 설치하는 단계,
    상기 스마트폰에 상기 어플 설치 파일을 이용하여 어플을 설치하는 단계,
    상기 설치된 어플을 스마트폰 상에서 실행하는 단계, 그리고
    상기 어플 실행 과정에서 수집된 로그 분석 결과를 보고하는 단계를 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 방법.
  6. 제 5 항에서,
    상기 로그 분석 결과는 상기 어플 실행 과정에서 실행된 함수 정보 및 함수 커버리지를 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 방법.
  7. 제 5 항에서,
    상기 수정된 스마트폰 운영체제의 이미지 파일은 API 호출 로그를 포함한 동적 분석 대상 로그의 출력을 위한 함수가 삽입된 달빅(Dalvik) VM을 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 방법.
  8. 컴퓨터에 제1항 내지 제7항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  9. 스마트폰 악성 어플 탐지 시스템에 있어서,
    어플 설치 파일로부터 악성 행위 이용 가능 에이피아이(API, Application Program Interface)를 추출하여 정적 분석을 수행하는 정적 분석 모듈, 그리고
    동적 분석 대상 로그를 출력하도록 수정된 상기 스마트폰 운영체제의 이미지 파일이 스마트폰에 설치된 상태에서, 상기 어플 설치 파일에 의해 설치된 어플에 대한 동적 분석을 수행하는 동적 분석 모듈을 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 시스템.
  10. 제 9 항에서,
    상기 정적 분석 모듈은,
    상기 어플 설치 파일의 압축을 해제하여 실행 파일을 추출하고, 상기 추출된 실행 파일에 대한 디스어셈블을 수행하며, 상기 디스어셈블 및 디컴파일을 통해 구해진 코드로부터 상기 악성 행위 이용 가능 API를 추출하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 시스템.
  11. 제 10 항에서,
    상기 정적 분석 모듈은,
    상기 추출된 API에 대한 함수명, 함수에 대한 설명, 함수의 디스어셈블 및 디컴파일 코드의 실행 위치 중 적어도 하나를 포함하는 정적 분석 결과를 보고하는 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 시스템.
  12. 제 10 항에서,
    상기 정적 분석 모듈은
    상기 추출된 악성 행위 이용 가능 API를 미리 저장된 악성 행위 이용 가능 API 조합 정보와 비교하여 상기 어플 설치 파일에 의해 설치되는 어플의 악성 행위 가능 여부를 예비적으로 판단하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 시스템.
  13. 제 9 항에서,
    상기 동적 분석 모듈은,
    상기 수정된 스마트폰 운영체제의 이미지 파일이 스마트폰에 설치된 상태에서 상기 스마트폰에 설치된 어플을 실행하고, 상기 어플 실행 과정에서 수집된 로그 분석 결과를 보고하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 시스템.
  14. 제 13 항에서,
    상기 로그 분석 결과는 상기 어플 실행 과정에서 실행된 함수 정보 및 함수 커버리지를 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 시스템.
  15. 제 13 항에서,
    상기 수정된 스마트폰 운영체제의 이미지 파일은 API 호출 로그를 포함한 동적 분석 대상 로그의 출력을 위한 함수가 삽입된 달빅(Dalvik) VM을 포함하는 것을 특징으로 하는 스마트폰 악성 어플 탐지 시스템.
KR1020110147126A 2011-12-30 2011-12-30 스마트폰 악성 어플 탐지 시스템 및 방법 KR20130078278A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110147126A KR20130078278A (ko) 2011-12-30 2011-12-30 스마트폰 악성 어플 탐지 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110147126A KR20130078278A (ko) 2011-12-30 2011-12-30 스마트폰 악성 어플 탐지 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20130078278A true KR20130078278A (ko) 2013-07-10

Family

ID=48991283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110147126A KR20130078278A (ko) 2011-12-30 2011-12-30 스마트폰 악성 어플 탐지 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20130078278A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015056885A1 (ko) * 2013-10-16 2015-04-23 (주)이스트소프트 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
US10339315B2 (en) 2015-12-10 2019-07-02 Electronics And Telecommunications Research Institute Apparatus and method for detecting malicious mobile app
KR20190102678A (ko) 2018-02-27 2019-09-04 한국인터넷진흥원 악성 앱 탐지 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015056885A1 (ko) * 2013-10-16 2015-04-23 (주)이스트소프트 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
US10339315B2 (en) 2015-12-10 2019-07-02 Electronics And Telecommunications Research Institute Apparatus and method for detecting malicious mobile app
KR20190102678A (ko) 2018-02-27 2019-09-04 한국인터넷진흥원 악성 앱 탐지 장치 및 그 방법

Similar Documents

Publication Publication Date Title
Gamba et al. An analysis of pre-installed android software
KR101284013B1 (ko) 클라이언트 프로그램 기반 스마트폰 악성 어플 탐지 시스템 및 방법
US11336458B2 (en) Evaluating authenticity of applications based on assessing user device context for increased security
KR101295644B1 (ko) 스마트폰 앱 검증 시스템 및 그 방법
Gibler et al. Androidleaks: Automatically detecting potential privacy leaks in android applications on a large scale
US20160378989A1 (en) Apparatus and method for monitoring android platform-based application
US9652617B1 (en) Analyzing security of applications
KR101720686B1 (ko) 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법
KR20150044490A (ko) 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
CN110781496A (zh) 用以检测恶意软件的计算装置
US20170068810A1 (en) Method and apparatus for installing an application program based on an intelligent terminal device
KR20080026172A (ko) 무선 디바이스에서 허가되지 않은 실행가능한 지시들의검출 및 관리를 위한 장치 및 방법
CN104376266A (zh) 应用软件安全级别的确定方法及装置
CN103971056B (zh) 一种防止操作系统中应用程序被卸载的方法和装置
KR20110128632A (ko) 스마트폰 응용프로그램의 악성행위 탐지 방법 및 장치
CN109815702B (zh) 软件行为的安全检测方法、装置及设备
Seo et al. Analysis on maliciousness for mobile applications
KR102180098B1 (ko) 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 악성코드 탐지 시스템
KR20130078278A (ko) 스마트폰 악성 어플 탐지 시스템 및 방법
Qadri et al. A Review of Significance of Energy-Consumption Anomaly in Malware Detection in Mobile Devices.
KR101657667B1 (ko) 악성 앱 분류 장치 및 악성 앱 분류 방법
KR101270497B1 (ko) 모바일 악성코드 자동 수집 및 분석 시스템
Vecchiato et al. A security configuration assessment for android devices
Park et al. Analyzing and detecting method of android malware via disassembling and visualization
KR20160146146A (ko) 무결성 검증 방법 및 그 장치

Legal Events

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