KR101290565B1 - 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 - Google Patents

안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 Download PDF

Info

Publication number
KR101290565B1
KR101290565B1 KR1020110094707A KR20110094707A KR101290565B1 KR 101290565 B1 KR101290565 B1 KR 101290565B1 KR 1020110094707 A KR1020110094707 A KR 1020110094707A KR 20110094707 A KR20110094707 A KR 20110094707A KR 101290565 B1 KR101290565 B1 KR 101290565B1
Authority
KR
South Korea
Prior art keywords
information
dynamic analysis
android app
android
behavior information
Prior art date
Application number
KR1020110094707A
Other languages
English (en)
Other versions
KR20130031035A (ko
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 KR1020110094707A priority Critical patent/KR101290565B1/ko
Priority to PCT/KR2011/006956 priority patent/WO2013042802A1/ko
Publication of KR20130031035A publication Critical patent/KR20130031035A/ko
Application granted granted Critical
Publication of KR101290565B1 publication Critical patent/KR101290565B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis

Landscapes

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

Abstract

본 발명은 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체에 관한 것으로, 안드로이드 앱을 유선단말에서 실행시, 안드로이드 앱 실행에 따라 행위정보를 모니터링하여, 행위정보를 기반으로 데이터를 수집 분석하여 안드로이드 앱에 악의적인 코드의 내재 여부를 분석함으로써, 안드로이드 앱을 실행시킨 뒤, 단말 상에서의 중요정보의 수집, 변경, 그리고 유출을 탐지하고 알려주며 악의적인 행위가 포함된 코드가 내재 되어 있는지 분석 가능한 효과를 제공한다.

Description

안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체{Dynamic analysis emulator for action information of android application, Dynamic analysis system for action information having the same, and for action information of android application, and Computer-readable recording medium storing dynamic analysis program for action information of android application}
본 발명은 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체에 관한 것으로, 더욱 상세하게는 안드로이드 애플리케이션(이하, '안드로이드 앱')을 윈도우 또는 리눅스 운영체제와 같은 유선단말에서 실행시키고, 당해 안드로이드 앱의 실행에 따른 행위를 모니터링함으로써, 행위정보에 대한 분석을 기반으로 데이터를 수집 분석하여 악의적인 코드의 내재, 그리고 실제 동작여부를 분석할 수 있는 환경을 제공하기 위한 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체에 관한 것이다.
안드로이드 플랫폼은 Google사가 주도하는 OHA(Open Handset Alliance)에서 공개한 소프트웨어 스택이다. 안드로이드 플랫폼은 리눅스 커널(Linux Kernel), 가상머신(Virtual Machine: VM), 프레임워크, 어플리케이션(applicatoin)을 모두 포함하는 소프트웨어 패키지이며, 안드로이드 앱을 개발하기 위한 소프트웨어 개발 키트(Software Development Kit: SDK)를 제공한다.
그리고 안드로이드 플랫폼에서 실행할 어플리케이션(안드로이드 앱)을 유통하기 위한 안드로이드 마켓(android market)이 마련되어 있는데, 안드로이드 마켓은 특별한 검증 절차 없이 개발자가 자유롭게 안드로이드 앱을 등록할 수 있고 사용자도 특별한 확인 절차 없이 자유롭게 안드로이드 앱을 다운로드 받아서 사용할 수 있는 개방형 구조이다.
현재 안드로이드 운영체제를 사용하는 단말장치(스마트폰, 스마트패드)와 이를 위한 안드로이드 앱의 사용도 계속해서 증가하고 있다. [도 1]은 종래기술에 따른 안드로이드 에뮬레이터의 구조를 개념적으로 나타낸 도면인데, 단순히 프로세서를 에뮬레이션하는 구조로서 안드로이드 앱을 실행하는 기능만 제공한다. 안드로이드 운영체제를 탑재한 스마트폰을 사용하는 사용자는 개인정보 수집 및 유출, 시스템 변경, 그리고 악성코드 내재 등의 악의적인 의도를 가진 안드로이드 앱을 자신도 모르게 설치할 가능성과, 이를 통해 자신의 개인정보와 같은 중요한 정보가 외부로 노출되어 악용될 가능성이 있다.
그러나 현재까지 안드로이드 플랫폼은 [도 1]를 참조하여 전술한 바와 같이 단순히 단말장치에서 안드로이드 앱을 실행하는 기능만 제공할 뿐으로, 안드로이드 마켓을 통해 배포되는 안드로이드 앱에서 개인정보를 수집하고 외부로 유출하거나 시스템을 변경하는 등의 악의적인 행위를 포함하는 코드의 내재 여부를 분석하기 위한 툴이나 방법을 제공하지 않고 있으며, 더 나아가 그 실행되는 안드로이드 앱의 코드 커버리지(code coverage)를 확인할 수 있는 방법도 제공하지 않는 문제점이 있다.
[관련기술문헌]
1. 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법(특허출원번호 제10-2010-0004386호)
본 발명의 목적은 스마트폰과 같은 무선단말뿐만 아니라, 일반 퍼스널 컴퓨터(PC)와 같은 유선단말 환경에서 안드로이드 앱을 동작시키고 그 행위를 모니터링 하여 중요정보의 수집, 외부 유출, 시스템 변경 등을 탐지하고 분석하여 실시간 알림을 제공하며, 최종 분석에 따른 결과 리포트를 제공하기 위한 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체를 제공함에 있다.
이러한 과제를 달성하기 위한 본 발명에 따른 안드로이드 앱의 행위정보 동적분석 에뮬레이터는, 안드로이드 앱을 유선단말에서 실행시, 안드로이드 앱 실행에 따라 행위정보를 모니터링하여, 행위정보를 기반으로 데이터를 수집 분석하여 안드로이드 앱에 악의적인 코드의 내재 여부를 분석한다.
이때, 본 발명에서 안드로이드 앱의 행위정보 동적분석 에뮬레이터는 유선단말 환경에서 안드로이드 앱이 실행될 때 실시간 개인정보의 접근, 변형, 유출에 대한 행위정보를 추출하고 로깅하는 인포메이션 모니터와, 안드로이드 앱이 실행시 네트워크 송수신 데이터정보, 파일시스템 읽기/쓰기 정보, 달빅 콜 스택을 트레이스한 행위정보를 추출하고 로깅하는 시스템 리소스 로거와, 안드로이드 앱 실행시 발생하는 행위정보 중에서 GPS 이벤트, 터치 이벤트, 시스템 이벤트의 행위정보를 추출하고 로깅하는 이벤트 로거와, 인포메이션 모니터, 시스템 리소스 로거, 이벤트 로거에 의해 각각 수집된 행위정보를 기반으로 악의적인 행위를 수행하는 코드가 내재되어 있는 지를 분석하여 결과 리포트를 생성하는 분석엔진을 포함하는 것이 바람직하다.
또한, 분석엔진은 인포메이션 모니터, 시스템 리소스 로거, 이벤트 로거에 의해 수집된 로깅 정보와 동적분석 룰을 비교분석하여 악의적인 행위가 수행되는지를 분석하는 것이 바람직하다.
또한, 인포메이션 모니터는 안드로이드 앱 실행 중 유선단말 내장형 또는 외장형 저장소에 저장된 개인정보에 접근하여 데이터를 저장하는 행위정보를 감시하고, 개인정보의 타입 변경을 트레이스하여, 개인정보 값의 분산 또는 연산을 통해 외부로 유출되는 것을 모니터링하는 것이 바람직하다.
또한, 안드로이드 앱의 행위정보 동적분석 에뮬레이터는 다수의 독립된 동적분석 에뮬레이터에서 안드로이드 앱을 동시 실행, 반복 실행, 타임라인(timeline) 연계 실행이 가능하도록 하며, 스크립트 입력 없이 직접 구동하는 랜덤(random) 실행 기능을 지원하는 스트립트 플레이어와, 안드로이드 앱의 설치, 삭제, 실행에 대한 관리를 수행하고, 스트립트 플레이어에서 실행 가능한 앱 실행 스크립트를 제작을 제어하는 동적분석 관리자에 의한 관리 및 제어가 가능하도록 하기 위해 연동 기능을 제공하는 시스템 어답터를 더 포함하는 것이 바람직하다.
또한, 안드로이드 앱의 행위정보 동적분석 에뮬레이터는 안드로이드 앱을 수동으로 실행하도록 하여, 수동 실행에 따른 행위정보를 로깅하고 분석엔진을 통해 분석된 결과 리포트를 UI화면을 통해 제공하도록 제어하는 동적분석 UI 앱을 더 포함하는 것이 바람직하다.
또한, 안드로이드 앱의 행위정보 동적분석 에뮬레이터는 인포메이션 모니터, 시스템 리소스 로거, 이벤트 로거에서 각각 발생되는 로깅 정보를 큐(queue)로 입력받은 뒤, 비동기 방식으로 독립된 프로세스로 처리하여 각기 다른 DB로 저장하도록 하는 서비스 큐를 더 포함하는 것이 바람직하다.
또한, 안드로이드 앱의 행위정보 동적분석 에뮬레이터는 안드로이드 앱 실행 중 네트워크로의 데이터 전송 또는 SMS 전송에 의한 외부 유출을 인포메이션 모니터가 감지한 경우, UI화면을 통해 사용자에게 알려주는 실시간 개인정보 외부유출 노티피케이션을 더 포함하는 것이 바람직하다.
이러한 과제를 달성하기 위한 본 발명에 따른 안드로이드 앱의 행위정보 동적분석 시스템은, 안드로이드 앱을 유선단말에서 실행시, 안드로이드 앱 실행에 따라 행위정보를 모니터링하여, 행위정보를 기반으로 데이터를 수집 분석하여 안드로이드 앱에 악의적인 코드의 내재, 안드로이드 앱의 실제 동작 여부를 분석하는 동적분석 에뮬레이터와, 안드로이드 앱을 무선단말에서 실행시, 동적분석 에뮬레이터와 동일한 동작을 수행하는 동적분석 에이전트와, 안드로이드 앱의 설치, 삭제, 실행에 대한 관리를 수행하고, 동적분석 에뮬레이터 및 동적분석 에이전트에서 실행 가능한 앱 실행 스크립트를 제작하도록 제어하는 동적분석 관리자를 포함하여 이루어진다.
이때, 안드로이드 앱의 행위정보 동적분석 시스템은 안드로이드 앱에 포함된 실행 코드, 클래스 및 함수 호출, 클래스 상속관계를 분석해서 실제 사용되는 코드를 구분한 뒤, 동적분석 에뮬레이터 및 동적분석 에이전트에 의해 행위정보를 기반으로 데이터의 수집 분석이 수행될 때, 코드 커버리지를 분석한 결과를 제공하여 안드로이드 앱의 실제 동작 여부를 판단하도록 하는 코드 분석기를 더 포함하는 것이 바람직하다.
또한, 동적분석 에뮬레이터는 유선단말 환경에서 동작하는 어플리케이션 형태로 제공되며, 안드로이드 플랫폼에 내장된 에뮬레이터 코드를 기반으로 안드로이드 프레임워크(android framework), 코어 라이브러리(core library) 및 달빅 가상머신(Dalvik virtual machine)를 포팅한 뒤, 구성 컴포넌트를 추가하여 형성되는 것이 바람직하다.
또한, 동적분석 에이전트는, 안드로이드 운영체제를 탑재한 스마트폰에서 동작하는 어플리케이션 형태로 제공되며, 안드로이드 소스를 기반으로 안드로이드 프레임워크, 코어 라이브러리, 달빅 가상머신을 포팅한 뒤, 구성 컴포넌트를 추가하여 형성되는 것이 바람직하다.
이러한 과제를 달성하기 위한 본 발명에 따른 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체는, 안드로이드 앱을 유선단말에서 실행시, 안드로이드 앱 실행에 따라 행위정보를 모니터링하여, 행위정보를 기반으로 데이터를 수집 분석하여 안드로이드 앱에 악의적인 코드의 내재 여부를 분석한다.
이때, 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체는 유선단말 환경에서 안드로이드 앱이 실행될 때 실시간으로 개인정보의 접근, 변형, 유출에 대한 행위정보를 추출하고 로깅하는 인포메이션 모니터 기능과, 안드로이드 앱이 실행시 네트워크 송수신 데이터정보, 파일시스템 읽기/쓰기 정보, 달빅 콜 스택을 트레이스한 행위정보를 추출하고 로깅하는 시스템 리소스 로거 기능과, 안드로이드 앱 실행시 발생하는 행위정보 중에서 GPS 이벤트, 터치 이벤트, 시스템 이벤트의 행위정보를 추출하고 로깅하는 이벤트 로거 기능과, 인포메이션 모니터 기능, 시스템 리소스 로거 기능, 이벤트 로거 기능에 의해 각각 수집된 행위정보를 기반으로 악의적인 행위를 수행하는 코드가 내재되어 있는 지를 분석하여 결과 리포트를 생성하는 분석엔진 기능을 실행한다.
또한, 분석엔진 기능은 인포메이션 모니터 기능, 시스템 리소스 로거 기능, 이벤트 로거 기능에 의해 수집된 로깅 정보와 동적분석 룰을 비교분석하여 악의적인 행위가 수행되는지를 분석하는 것이 바람직하다.
또한, 인포메이션 모니터 기능은 안드로이드 앱 실행 중 유선단말 내장형 또는 외장형 저장소에 저장된 개인정보에 접근하여 데이터를 저장하는 행위정보를 감시하고, 개인정보의 타입 변경을 트레이스하여, 개인정보 값의 분산 또는 연산을 통해 외부로 유출되는 것을 모니터링하는 것이 바람직하다.
또한, 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체는 다수의 독립된 동적분석 에뮬레이터에서 안드로이드 앱을 동시 실행, 반복 실행, 타임라인 연계 실행이 가능하도록 하며, 스크립트 입력 없이 직접 구동하는 랜덤 실행 기능을 지원하는 스트립트 플레이어 기능과, 안드로이드 앱의 설치, 삭제, 실행에 대한 관리를 수행하고, 스트립트 플레이어 기능에서 실행 가능한 앱 실행 스크립트를 제작을 제어하는 동적분석 관리자에 의한 관리 및 제어가 가능하도록 하기 위해 연동 기능을 제공하는 시스템 어답터 기능을 더 실행하는 것이 바람직하다.
또한, 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체는 안드로이드 앱을 수동으로 실행하도록 하여, 수동 실행에 따른 행위정보를 로깅하고 분석엔진을 통해 분석된 결과 리포트를 UI화면을 통해 제공하도록 제어하는 동적분석 UI 앱 기능을 더 실행한다.
또한, 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체는 인포메이션 모니터 기능, 시스템 리소스 로거 기능, 이벤트 로거 기능에서 각각 발생되는 로깅 정보를 큐로 입력받은 뒤, 비동기 방식으로 독립된 프로세스로 처리하여 각기 다른 DB로 저장하도록 하는 서비스 큐 기능을 더 실행하는 것이 바람직하다.
또한, 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체는 안드로이드 앱 실행 중 네트워크로의 데이터 전송 또는 SMS 전송에 의한 외부 유출을 인포메이션 모니터가 감지한 경우, UI화면을 통해 사용자에게 알려주는 실시간 개인정보 외부유출 노티피케이션 기능을 더 포함하는 것이 바람직하다.
본 발명에 따르면, 안드로이드 앱을 동적분석 에뮬레이터 및 동적분석 에이전트를 이용해 유/무선단말 상에서의 중요정보의 수집, 변경, 유출을 탐지하고 알려주며 악의적인 행위가 포함된 코드가 내재 되어 있는지 분석 가능한 효과를 제공한다.
본 발명을 응용함으로써, 안드로이드 앱을 판매하는 오픈 마켓에서 사용자에게 제공되기 전에 사전 검증을 통해 안드로이드 앱의 안정성을 검증할 수 있으며, 오픈 마켓의 신뢰성을 높일 수 있고, 나아가 사용자의 정보가 유출될 가능성을 사전에 차단에 따른 신뢰성을 제공하여 안드로이드 기반의 어플리케이션 시장을 활성화할 수 있다.
[도 1]은 종래기술에 따른 안드로이드 에뮬레이터의 구조를 개념적으로 나타낸 도면.
[도 2]는 본 발명의 실시예에 동적분석 에뮬레이터를 포함하는 안드로이드 앱의 행위정보 동적분석 시스템을 나타내는 도면.
[도 3]은 [도 2]에서의 동적분석 에뮬레이터, 동적분석 에이전트, 동적분석 관리자의 관계를 나타내는 도면.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
[도 2]는 본 발명의 실시예에 동적분석 에뮬레이터(10)를 포함하는 안드로이드 앱의 행위정보 동적분석 시스템을 나타내는 도면이다. [도 3]은 [도 2]에서의 동적분석 에뮬레이터(10)와 동적분석 에이전트(20), 동적분석 관리자(40)의 관계를 나타내는 도면이다.
[도 2] 및 [도 3]을 참조하면, 안드로이드 앱의 행위정보 동적분석 시스템은 동적분석 에뮬레이터(10), 동적분석 에이전트(20), 코드 분석기(30), 동적분석 관리자(40)를 포함한다.
동적분석 에뮬레이터(10)는 안드로이드 플랫폼(android platform) 기반으로 동작하는 퍼스널 컴퓨터(PC)와 같은 유선단말(100) 기반의 에뮬레이터로, 스마트폰과 같은 무선단말(200)을 이용해 안드로이드 어플리케이션(이하, 안드로이드 앱)을 실행시킬 수 있는 것과 동일한 환경을 제공하기 위한 구성요소이다. 이에 따라, 동적분석 에뮬레이터(10)는 윈도우 운영체제(Windows OS)나 리눅스 운영체제(Linux OS) 기반의 유선단말(100)에서 동작한다. 이는 종래의 안드로이드 에뮬레이터가 CPU를 에뮬레이션하는 구조로 되어 있으며 안드로이드 앱을 실행하는 기능만 제공되는 것과 차이가 있다.
보다 구체적으로, 동적분석 에뮬레이터(10)는 유선단말 환경에서 동작하는 어플리케이션 형태로 제공가능하며, 안드로이드 플랫폼에 내장된 에뮬레이터 코드를 기반으로 안드로이드 프레임워크(2a), 코어 라이브러리(core library)(2b), 달빅 가상머신(이하 '달빅 VM')(2c)를 포팅하고 하기와 같은 필요 구성 컴포넌트를 추가한 형태로 구성된다.
동적분석 에뮬레이터(10)는 시스템 어답터(1a), 스크립트 플레이어(1b), 동적분석 UI 앱(1c), 상술한 포팅된 안드로이드 프레임워크(2a), 코어 라이브러리(2b), 달빅 VM(2c), 서비스 큐(3), 실시간 개인정보 외부유출 노티피게이션(4), 분석엔진(5), 인포메이션 모니터(6), 시스템 리소스 로거(7), 이벤트 로거(8), 분석결과 DB(9a), 데이터로그 DB(9b), I/O로그 DB(9c), 이벤트 DB(9d)와 같은 소프트웨어 모듈을 포함하여 이루어진다.
시스템 어답터(1a)는 동적분석 에뮬레이터(10)가 동적분석 관리자(40)와의 연동을 위한 컴포넌트이다.
보다 구체적으로 살펴보면, 시스템 어답터(1a)는 안드로이드 앱의 설치(install), 삭제(uninstall), 실행(execution)에 대한 동적분석 관리자(40)에 의한 관리, 그리고 후술할 스크립트 플레이어(1b)에서 실행 가능한 앱 실행 스크립트 제작에 대한 동적분석 관리자(40)에 의한 제어가 가능하도록 하는 연동 기능을 제공한다.
스크립트 플레이어(1b)는 안드로이드 앱을 시스템 어답터(1a)에 의해 동적분석 관리자(40)로부터 수신된 앱 실행 스크립트를 이용한 스크립트 기반으로 자동실행하기 위한 컴포넌트이다.
즉, 스크립트 플레이어(1b)는 동적분석 관리자(40)에서 제작된 안드로이드 앱을 실행시키는 처리 절차를 문자(텍스트)로 기술한 "스크립트"를 통해 안드로이드 앱을 실행하는 기능을 수행하는 컴포넌트이다.
또한, 스크립트 플레이어(1b)는 동적분석 관리자(40)의 제어를 통해 하나의 안드로이드 앱을 동적분석 에뮬레이터를 포함하는 다수의 독립된 동적분석 에뮬레이터 집단 또는 동적분석 에이전트를 포함하는 다수의 독립된 동적분석 에뮬레이터 에이전트 집단에서 동시 실행, 반복 실행, 타임라인 연계 실행 등이 가능하도록 구성된다. 또한, 스크립트 플레이어(1b)는 동적분석 관리자(40)에 의해 제작된 앱 실행 스크립트의 입력 없이 직접적 구동을 수행하는 랜덤 실행 기능도 지원하는 것이 바람직하다.
동적분석 UI 앱(1c)은 안드로이드 앱을 수동으로 실행하도록 하여 수동 실행에 따른 행위정보를 동작 상태에 따른 변화를 시간에 따라 기록하는 로깅(logging)을 수행하고, 분석엔진(5)을 통해 분석된 UI화면을 제공한다.
이에 따라 동적분석 UI 앱(1c)은 동적분석 관리자(40)를 통하지 않고 동적분석 에뮬레이터(10)와 유선단말(100)의 연동에 의한 직접적으로 행동정보에 대한 분석 기능을 수행하도록 하는 애플리케이션이다.
서비스 큐(3)는 실시간 로거(logger)인 인포메이션 모니터(6), 시스템 리소스 로거(7) 및 이벤트 로거(8)가 수집한 정보를 시스템 성능에 영향을 최소화하며 저장하기 위한 컴포넌트이다.
보다 구체적으로 서비스 큐(3)는 인포메이션 모니터(6), 시스템 리소스 로거(7), 이벤트 로거(8)에서 각각 발생되는 안드로이드 앱 실행을 위한 행위 기반 데이터인 로깅 정보를 큐로 입력받는다. 이후, 서비스 큐(3)는 큐에 있는 로깅 정보를 안드로이드 프레임워크에서 제공하는 서비스와 동일하게 비동기 방식으로 처리함으로써 데이터로그 DB(9b), I/O로그 DB(9c), 이벤트로그 DB(9d)에 각각 저장하는 기능을 수행하는 컴포넌트이다.
서비스 큐(3)는 많은 양의 로깅 정보를 동기적으로 처리한 경우 발생가능한 부하와 시스템 성능 저하를 최소화하기 위해 독립된 프로세스로 작동하며 백그라운드 프로세스와 같이 동작하는 컴포넌트이다.
이에 따라, 서비스 큐(3)의 하위 모듈은 도시된 바와 같은 DB 커서(DB cursor)(3a), 이벤트 로그 큐(event log queue)(3b), I/O 로그 큐(I/O log queue)(3c), 데이터 로그 큐(data log queue)(3d)로 구성된다.
실시간 개인정보 외부유출 노티피케이션(4)은 안드로이드 앱 실행 중 개인정보와 같은 중요정보의 네트워크로의 데이터 전송 또는 SMS 전송 등을 통해 외부 유출이 인포메이션 모니터(6)에 의해 감지되었을 경우, 이를 UI화면 등을 통해 사용자에게 안드로이드 프레임워크의 노티피케이션(notification)과 같은 방법으로 알려주는 역할을 수행하는 컴포넌트이다.
한편, 분석엔진(5)은 인포메이션 모니터(6), 시스템 리소스 로거(7), 이벤트 로거(8)에 의해 수집된 각종의 프로세싱 관련 정보를 기반으로 악의적인 행위를 수행하는 코드를 분석한다.
보다 구체적으로 살펴보면, 분석엔진(5)은 안드로이드 앱을 실행하는 동안 인포메이션 모니터(6), 시스템 리소스 로거(7), 이벤트 로거(8)가 수집한 로깅(logging) 정보와 동적분석 룰(rule)을 비교분석함으로써 악의적인 행위를 수행하는 코드가 안드로이드 앱에 내재되어 있는 지를 판별하고 결과 리포트(result report)를 생성하는 컴포넌트이다.
한편, 각 로깅 정보 수집 컴포넌트인 인포메이션 모니터(6), 시스템 리소스 로거(7), 이벤트 로거(8)에서 생성된 정보는 로깅(logging) 필터를 통해 분석엔진(5)에 제공되며, 동적분석 룰은 파서(parser, 미도시)를 통해 분석엔진(5)에 제공된다. 이를 위해 분석엔진(5)의 하위 모듈은 도시된 바와 같이, 동적분석 룰(5a), 로깅 정보필터(5b), 결과 리포트(5c)로 구성된다.
인포메이션 모니터(6)는 유선단말 환경에서 안드로이드 앱이 실행될 때 실시간으로 개인정보의 접근, 변형, 유출에 대한 행위정보를 추출하고 로깅함으로써 UI화면 등을 통해 사용자에게 알려주는 역할을 수행하는 컴포넌트이다.
보다 구체적으로, 인포메이션 모니터(6)는 안드로이드 앱 실행 중 유선단말(100) 내의 내장형 대용량 저장소나 SD 카드 및 USB 카드 등의 외장형 저장소에 저장된 중요정보인 개인정보에 접근하여 파일 형태와 같은 형식으로 저장하는 행위정보를 감시한다. 또한, 인포메이션 모니터(6)는 개인정보의 타입 변형을 트레이스하여 개인정보 값의 분산 또는 연산 등을 통해 외부로 유출되는 행위를 실시간으로 모니터링하고 알려주는 역할을 한다.
인포메이션 모니터(6)는 데이터 접근과 데이터 변형을 트레이스 하기 위해 달빅 가상머신(2c)과 코어 라이브러리(2b)를 포팅한 컴포넌트, 그리고 안드로이드 프레임워크(2a)에서 동작하는 백그라운드 프로세스의 형태로 제공된다. 이를 위해 인포메이션 모니터(6)의 하위 모듈은 유출 감지(6a), 데이터 변형 트레이스(6b), 데이터 접근 감지(6c)로 구성된다.
다음으로, 시스템 리소스 로거(7)는 안드로이드 앱을 실행할 때 발생하는 행위정보 중에서 네트워크, 파일시스템, 달빅 콜 스택(Dalvik call stack)을 트레이스 한다.
좀더 구체적으로 살펴보면, 시스템 리소스 로거(7)는 안드로이드 앱을 실행할 때 발생하는 행위정보 중에서 분석엔진(5)에서 악의적인 행위를 분석하기 위한 기반 정보인 네트워크 송수신 데이터정보, 파일시스템 읽기/쓰기 정보, 달빅 콜 스택을 트레이스한 정보를 추출하고 로깅하는 역할을 담당하는 컴포넌트이다. 시스템 리소스 로거(7)는 코어 라이브러리(2b)와 안드로이드 프레임워크(2a)를 포팅한 컴포넌트이며, 도시된 바와 같이 하위모듈로, 네트워크 I/O(7a), 스토리지 I/O(7b), 콜 스택 트레이스(7c)로 구성된다.
이벤트 로거(8)는 GPS 이벤트, 터치 이벤트, 시스템 이벤트의 행위정보를 추출하고 로깅하는 컴포넌트이다.
보다 구체적으로, 이벤트 로거(8)는 안드로이드 앱 실행시 발생하는 행위정보 중에서 분석엔진(5)에서의 악의적인 행위를 분석하기 위한 기반 정보인 GPS 이벤트, 터치 이벤트, 시스템 이벤트를 로깅하며, 안드로이드 프레임워크(2a)를 포팅한 컴포넌트이다. 이를 위해 이벤트 로거(8)의 하위 모듈은 도시된 바와 같이, GPS(8a), 터치(8b), 시스템(8c)로 구성된다.
다음으로, 분석결과 DB(9a)는 분석엔진(5)에 의해 생성된 결과 리포트를 저장한다.
데이터로그 DB(9b)는 인포메이션 모니터(6)에서 발생되는 로깅 정보를 서비스 큐(3)의 제어에 따라 저장하며, I/O로그 DB(9c)는 시스템 리소스 로거(7)에서 발생되는 로깅 정보를 서비스 큐(3)의 제어에 따라 저장하며, 이벤트 DB(9d)는 이벤트 로거(8)에서 발생되는 로깅 정보를 서비스 큐(3)의 제어에 따라 저장하며, 각 저장되는 정보는 비동기식으로 저장되는 것을 특징으로 한다.
이하에서는, 동적분석 에뮬레이터(10) 외에 안드로이드 앱의 행위정보 동적분석 시스템을 살펴보도록 한다.
동적분석 에이전트(20)는 안드로이드 운영체제를 기반으로 하는 스마트폰과 같은 무선단말(200)에서 동작한다.
보다 구체적으로, 동적분석 에이전트(20)는 안드로이드 운영체제를 탑재한 스마트폰에서 동작하는 어플리케이션(application) 형태와 이미지로 제공되며, 기능 및 구성은 동적분석 에뮬레이터(10)와 동일하다.
그러나 동적분석 에이전트(20)는 안드로이드 소프트웨어 개발 키트(SDK) 코드를 기반으로 하지 않고 안드로이드 소스를 기반으로 안드로이드 프레임워크(2a), 코어 라이브러리(2b), 달빅 가상머신(2c)을 포팅하고 필요한 구성 컴포넌트를 추가한 형태로 구성된다.
코드 분석기(30)는 안드로이드 앱 실행시 실제 사용되는 코드를 측정한 코드 커버리지를 분석한다.
보다 구체적으로, 코드 분석기(30)는 안드로이드 앱에 포함된 실행 코드, 클래스 및 함수 호출, 클래스 상속관계를 분석해서 실제 사용되는 코드를 구분한다. 이에 따라, 코드 분석기(30)는 동적분석 에뮬레이터(10) 또는 동적분석 에이전트(20)에 의해 안드로이드 앱이 실행된 뒤, 행위정보를 기반으로 분석 엔진(5)에서 안드로이드 앱에 대한 데이터 수집 분석이 수행될 때, 코드 커버리지를 분석한 결과를 제공한다. 이에 따라, 코드 분석기(30)는 동적분석 에뮬레이터(10)에서 사용가능한 동적 연결 라이브러리로 제공된다.
한편, 동적분석 관리자(40)는 동적분석 에뮬레이터(10) 또는 동적분석 에이전트(20)와 연동하여 단말장치(100, 200)에서 안드로이드 앱의 설치, 삭제, 실행에 대한 관리를 수행한다.
또한, 동적 분석 관리자(40)는 스크립트 플레이어(1b)에서 실행 가능한 앱 실행 스크립트를 제작하도록 제어하는 기능을 수행하며 유선단말(100)을 위한 어플리케이션 형태로 제공된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
1a: 시스템 어답터 1b: 스크립트 플레이어
1c: 동적분석 UI 앱 2a: 안드로이드 프레임워크
2b: 코어 라이브러리 2c: 달빅 VM
3: 서비스 큐 3a: DB 커서
3b: 이벤트 로그 큐 3c: I/O 로그 큐
3d: 데이터 로그 큐 4: 실시간 개인정보 외부유출 노티피게이션
5: 분석엔진 5a: 동적분석 룰
5b: 로깅 정보필터 5c: 결과 리포트
6: 인포메이션 모니터 6a: 유출 감지
6b: 데이터 변형 트레이스 6c: 데이터 접근 감지(6c)
7: 시스템 리소스 로거 7a: 네트워크 I/O
7b: 스토리지 I/O 7c: 콜 스택 트레이스
8: 이벤트 로거 8a: GPS
8b: 터치 8c: 시스템
9a: 분석결과 DB 9b: 데이터로그 DB
9c: I/O로그 DB 9d: 이벤트 DB
10: 동적분석 에뮬레이터 20: 동적분석 에이전트
30: 코드 분석기 40: 동적분석 관리자

Claims (17)

  1. 안드로이드 앱을 유선단말에서 실행시, 상기 안드로이드 앱 실행에 따라 행위정보를 모니터링하여 상기 행위정보를 기반으로 데이터를 수집 분석하여 상기 안드로이드 앱에 악의적인 코드의 내재 여부를 분석하는 안드로이드 앱의 행위정보 동적분석 에뮬레이터로서,
    상기 유선단말 환경에서 상기 안드로이드 앱이 실행될 때 실시간 개인정보의 접근, 변형, 유출에 대한 행위정보를 추출하고 로깅하는 인포메이션 모니터;
    상기 안드로이드 앱이 실행시 네트워크 송수신 데이터정보, 파일시스템 읽기/쓰기 정보, 달빅 콜 스택을 트레이스한 행위정보를 추출하고 로깅하는 시스템 리소스 로거;
    상기 안드로이드 앱 실행시 발생하는 행위정보 중에서 GPS 이벤트, 터치 이벤트, 시스템 이벤트의 행위정보를 추출하고 로깅하는 이벤트 로거;
    상기 인포메이션 모니터, 상기 시스템 리소스 로거, 상기 이벤트 로거에 의해 각각 수집된 행위정보를 기반으로 악의적인 행위를 수행하는 코드가 내재되어 있는 지를 분석하여 결과 리포트를 생성하는 분석엔진;
    을 포함하여 구성되는 안드로이드 앱의 행위정보 동적분석 에뮬레이터.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 분석엔진은 상기 인포메이션 모니터, 상기 시스템 리소스 로거, 상기 이벤트 로거에 의해 수집된 로깅 정보와 동적분석 룰을 비교분석하여 악의적인 행위가 수행되는지를 분석하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 에뮬레이터.
  4. 청구항 1에 있어서,
    상기 인포메이션 모니터는 상기 안드로이드 앱 실행 중 상기 유선단말 내장형 또는 외장형 저장소에 저장된 상기 개인정보에 접근하여 데이터를 저장하는 행위정보를 감시하고, 상기 개인정보의 타입 변경을 트레이스하여, 상기 개인정보 값의 분산 또는 연산을 통해 외부로 유출되는 것을 모니터링하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 에뮬레이터.
  5. 청구항 1에 있어서,
    다수의 독립된 동적분석 에뮬레이터에서 상기 안드로이드 앱을 동시 실행, 반복 실행, 타임라인(Timeline) 연계 실행이 가능하도록 하며, 스크립트 입력 없이 직접 구동하는 랜덤 실행 기능을 지원하는 스트립트 플레이어;
    상기 안드로이드 앱의 설치, 삭제, 실행에 대한 관리를 수행하고, 상기 스트립트 플레이어에서 실행 가능한 앱 실행 스크립트를 제작을 제어하는 동적분석 관리자에 의한 관리 및 제어가 가능하도록 하기 위해 연동 기능을 제공하는 시스템 어답터;
    상기 안드로이드 앱을 수동으로 실행하도록 하여, 수동 실행에 따른 행위정보를 로깅하고 상기 분석엔진을 통해 분석된 상기 결과 리포트를 UI화면을 통해 제공하도록 제어하는 동적분석 UI 앱;
    를 더 포함하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 에뮬레이터.
  6. 청구항 1에 있어서,
    상기 인포메이션 모니터, 상기 시스템 리소스 로거, 상기 이벤트 로거에서 각각 발생되는 로깅 정보를 큐(Queue)로 입력받은 뒤, 비동기 방식으로 독립된 프로세스로 처리하여 각기 다른 DB로 저장하도록 하는 서비스 큐;
    를 더 포함하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 에뮬레이터.
  7. 청구항 6에 있어서,
    상기 안드로이드 앱 실행 중 네트워크로의 데이터 전송 또는 SMS 전송에 의한 외부 유출을 상기 인포메이션 모니터가 감지한 경우, UI화면을 통해 사용자에게 알려주는 실시간 개인정보 외부유출 노티피케이션;
    을 더 포함하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 에뮬레이터.
  8. 안드로이드 앱을 유선단말에서 실행시, 상기 안드로이드 앱 실행에 따라 행위정보를 모니터링하여, 상기 행위정보를 기반으로 데이터를 수집 분석하여 상기 안드로이드 앱에 악의적인 코드의 내재와 상기 안드로이드 앱의 실제 동작 여부를 분석하는 동적분석 에뮬레이터;
    상기 안드로이드 앱을 무선단말에서 실행시, 상기 동적분석 에뮬레이터와 동일한 동작을 수행하는 동적분석 에이전트;
    상기 안드로이드 앱의 설치, 삭제, 행에 대한 관리를 수행하고, 상기 동적분석 에뮬레이터와 상기 동적분석 에이전트에서 실행 가능한 앱 실행 스크립트를 제작하도록 제어하는 동적분석 관리자;
    를 포함하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 시스템.
  9. 청구항 8에 있어서,
    상기 안드로이드 앱에 포함된 실행 코드, 클래스 및 함수 호출, 클래스 상속관계를 분석해서 실제 사용되는 코드를 구분한 뒤, 상기 동적분석 에뮬레이터와 상기 동적분석 에이전트에 의해 상기 행위정보를 기반으로 데이터의 수집 분석이 수행될 때, 코드 커버리지를 분석한 결과를 제공하여 상기 안드로이드 앱의 실제 동작 여부를 판단하도록 하는 코드 분석기;
    를 더 포함하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 시스템.
  10. 청구항 8에 있어서,
    상기 동적분석 에뮬레이터는 상기 유선단말 환경에서 동작하는 어플리케이션 형태로 제공되며, 안드로이드 플랫폼에 내장된 에뮬레이터 코드를 기반으로 안드로이드 프레임워크(Android Framework), 코어 라이브러리(Core Library), 달빅 가상머신(Dalvik Virtual Machine)를 포팅한 뒤, 구성 컴포넌트를 추가하여 형성되는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 시스템.
  11. 안드로이드 앱을 유선단말에서 실행시, 상기 안드로이드 앱 실행에 따라 행위정보를 모니터링하여 상기 행위정보를 기반으로 데이터를 수집 분석하여 상기 안드로이드 앱에 악의적인 코드의 내재 여부를 분석하기 위해,
    상기 유선단말 환경에서 상기 안드로이드 앱이 실행될 때 실시간으로 개인정보의 접근, 변형, 유출에 대한 행위정보를 추출하고 로깅하는 인포메이션 모니터 기능과,
    상기 안드로이드 앱이 실행시 네트워크 송수신 데이터정보, 파일시스템 읽기/쓰기 정보, 달빅 콜 스택을 트레이스한 행위정보를 추출하고 로깅하는 시스템 리소스 로거 기능과,
    상기 안드로이드 앱 실행시 발생하는 행위정보 중에서 GPS 이벤트, 터치 이벤트, 시스템 이벤트의 행위정보를 추출하고 로깅하는 이벤트 로거 기능과,
    상기 인포메이션 모니터 기능, 상기 시스템 리소스 로거 기능, 상기 이벤트 로거 기능에 의해 각각 수집된 행위정보를 기반으로 악의적인 행위를 수행하는 코드가 내재되어 있는 지를 분석하여 결과 리포트를 생성하는 분석엔진 기능을 실행시키는 분석엔진 기능을 실행하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체.
  12. 삭제
  13. 청구항 11에 있어서,
    상기 분석엔진 기능은 상기 인포메이션 모니터 기능, 상기 시스템 리소스 로거 기능, 상기 이벤트 로거 기능에 의해 수집된 로깅 정보와 동적분석 룰을 비교분석하여 악의적인 행위가 수행되는지를 분석하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체.
  14. 청구항 11에 있어서,
    상기 인포메이션 모니터 기능은 상기 안드로이드 앱 실행 중 상기 유선단말 내장형 또는 외장형 저장소에 저장된 상기 개인정보에 접근하여 데이터를 저장하는 행위정보를 감시하고, 상기 개인정보의 타입 변경을 트레이스하여 상기 개인정보 값의 분산 또는 연산을 통해 외부로 유출되는 것을 모니터링하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체.
  15. 청구항 11에 있어서,
    다수의 독립된 동적분석 에뮬레이터에서 상기 안드로이드 앱을 동시 실행, 반복 실행, 타임라인 연계 실행이 가능하도록 하며, 스크립트 입력 없이 직접 구동하는 랜덤 실행 기능을 지원하는 스트립트 플레이어 기능;
    상기 안드로이드 앱의 설치, 삭제, 실행에 대한 관리를 수행하고, 상기 스트립트 플레이어 기능에서 실행 가능한 앱 실행 스크립트를 제작을 제어하는 동적분석 관리자에 의한 관리 및 제어가 가능하도록 하기 위해 연동 기능을 제공하는 시스템 어답터 기능;
    상기 안드로이드 앱을 수동으로 실행하도록 하여, 수동 실행에 따른 행위정보를 로깅하고 상기 분석엔진을 통해 분석된 상기 결과 리포트를 UI화면을 통해 제공하도록 제어하는 동적분석 UI 앱 기능;
    을 더 실행하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체.
  16. 청구항 11에 있어서,
    상기 인포메이션 모니터 기능, 상기 시스템 리소스 로거 기능, 상기 이벤트 로거 기능에서 각각 발생되는 로깅 정보를 큐(Queue)로 입력받은 뒤, 비동기 방식으로 독립된 프로세스로 처리하여 각기 다른 DB로 저장하도록 하는 서비스 큐 기능;
    을 더 실행하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체.
  17. 청구항 11에 있어서,
    상기 안드로이드 앱 실행 중 네트워크로의 데이터 전송 또는 SMS 전송에 의한 외부 유출을 상기 인포메이션 모니터가 감지한 경우, UI화면을 통해 사용자에게 알려주는 실시간 개인정보 외부유출 노티피케이션 기능;
    을 더 실행하는 것을 특징으로 하는 안드로이드 앱의 행위정보 동적분석 프로그램이 컴퓨터 판독 가능하게 기록된 기록매체.
KR1020110094707A 2011-09-20 2011-09-20 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 KR101290565B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110094707A KR101290565B1 (ko) 2011-09-20 2011-09-20 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
PCT/KR2011/006956 WO2013042802A1 (ko) 2011-09-20 2011-09-21 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110094707A KR101290565B1 (ko) 2011-09-20 2011-09-20 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Publications (2)

Publication Number Publication Date
KR20130031035A KR20130031035A (ko) 2013-03-28
KR101290565B1 true KR101290565B1 (ko) 2013-07-31

Family

ID=47914555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110094707A KR101290565B1 (ko) 2011-09-20 2011-09-20 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Country Status (2)

Country Link
KR (1) KR101290565B1 (ko)
WO (1) WO2013042802A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527098B1 (ko) * 2013-08-28 2015-06-09 고려대학교 산학협력단 랜덤 실행 코드를 이용한 스마트 기기 내 어플리케이션 검증 서버 및 검증방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472321B1 (ko) * 2013-06-11 2014-12-12 고려대학교 산학협력단 이동단말의 어플리케이션 내 악성코드 탐지 방법 및 시스템
CN104252409B (zh) * 2013-06-26 2018-08-28 阿里巴巴集团控股有限公司 一种获取WebApp执行过程的方法及系统
KR102071530B1 (ko) 2013-07-12 2020-01-30 삼성전자주식회사 디나이얼 발생시 대응 메뉴얼을 제안하는 전자 장치 및 방법
CN104899129A (zh) * 2014-03-06 2015-09-09 腾讯科技(深圳)有限公司 日志记录方法及装置
KR101633670B1 (ko) * 2014-08-20 2016-06-28 주식회사 앤벗 어플리케이션 사용정보 분석자료 제공 방법 및 장치
CN104268057B (zh) * 2014-09-24 2017-09-26 河海大学 一种Android平台下的模块化系统的监控系统及方法
CN110334028A (zh) * 2019-07-08 2019-10-15 北京智游网安科技有限公司 一种安卓模拟器检测方法、计算机设备及存储介质
CN110457220A (zh) * 2019-08-08 2019-11-15 北京智游网安科技有限公司 基于安卓系统的模拟器检测方法、智能终端及存储介质
CN114385305B (zh) * 2022-03-23 2022-07-08 麒麟软件有限公司 一种录制Linux屏幕并分享给安卓应用的系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (ko) 2009-12-08 2010-10-26 (주)제이모바일 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치
KR101015573B1 (ko) 2010-07-29 2011-02-16 (주)제이모바일 Rtos 기반의 안드로이드 어플리케이션 실행 장치
KR101027971B1 (ko) 2010-12-10 2011-04-13 (주)헬릭스테크 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법
KR20110084693A (ko) * 2010-01-18 2011-07-26 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (ko) 2009-12-08 2010-10-26 (주)제이모바일 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치
KR20110084693A (ko) * 2010-01-18 2011-07-26 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
KR101015573B1 (ko) 2010-07-29 2011-02-16 (주)제이모바일 Rtos 기반의 안드로이드 어플리케이션 실행 장치
KR101027971B1 (ko) 2010-12-10 2011-04-13 (주)헬릭스테크 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527098B1 (ko) * 2013-08-28 2015-06-09 고려대학교 산학협력단 랜덤 실행 코드를 이용한 스마트 기기 내 어플리케이션 검증 서버 및 검증방법

Also Published As

Publication number Publication date
KR20130031035A (ko) 2013-03-28
WO2013042802A1 (ko) 2013-03-28

Similar Documents

Publication Publication Date Title
KR101290565B1 (ko) 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
Liu et al. Greendroid: Automated diagnosis of energy inefficiency for smartphone applications
US8978141B2 (en) System and method for detecting malicious software using malware trigger scenarios
Weichselbaum et al. Andrubis: Android malware under the magnifying glass
US9230106B2 (en) System and method for detecting malicious software using malware trigger scenarios in a modified computer environment
Zhang et al. Panappticon: Event-based tracing to measure mobile application and platform performance
CN108255729B (zh) 一种基于Unity平台的手机游戏自动化测试方法和系统
Yoon A study on the performance of Android platform
Iannillo et al. Chizpurfle: A gray-box android fuzzer for vendor service customizations
KR101325954B1 (ko) 코드분석과 화면분석을 이용한 안드로이드 어플의 자동실행 방법, 및 이를 위한 안드로이드 어플 자동실행 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
Borges Jr et al. Droidmate-2: a platform for android test generation
US20140068569A1 (en) User directed profiling
Armando et al. Enabling BYOD through secure meta-market
Qiu et al. AppTrace: Dynamic trace on Android devices
KR20190113050A (ko) 모바일 어플리케이션 환경설정을 시험하기 위한 시험 항목 자동 생성 방법 및 시스템
Maier et al. BSOD: Binary-only scalable fuzzing of device drivers
Sihag et al. Opcode n-gram based malware classification in android
Onwuzurike et al. A family of droids: Analyzing behavioral model based Android malware detection via static and dynamic analysis
Agman et al. BPFroid: robust real time Android malware detection framework
CN110414220B (zh) 沙箱内程序动态执行过程中的操作文件提取方法及装置
US9841960B2 (en) Dynamic provision of debuggable program code
Daoud et al. Multilevel analysis of the java virtual machine based on kernel and userspace traces
EP2819055B1 (en) System and method for detecting malicious software using malware trigger scenarios
Kumar et al. Stdneut: Neutralizing sensor, telephony system and device state information on emulated android environments
KR20180127612A (ko) 가상환경에서 악성코드의 분석회피 방지 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160712

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 6