[go: up one dir, main page]

KR20170096451A - Method and apparatus for analysing dynamic behavior of malicious application - Google Patents

Method and apparatus for analysing dynamic behavior of malicious application Download PDF

Info

Publication number
KR20170096451A
KR20170096451A KR1020160017844A KR20160017844A KR20170096451A KR 20170096451 A KR20170096451 A KR 20170096451A KR 1020160017844 A KR1020160017844 A KR 1020160017844A KR 20160017844 A KR20160017844 A KR 20160017844A KR 20170096451 A KR20170096451 A KR 20170096451A
Authority
KR
South Korea
Prior art keywords
information
api
dynamic behavior
application
malicious
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020160017844A
Other languages
Korean (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 KR1020160017844A priority Critical patent/KR20170096451A/en
Publication of KR20170096451A publication Critical patent/KR20170096451A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F17/30368
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

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

Abstract

본 실시예는 악성앱으로 의심되는 앱을 앱 서버로부터 수신하고, 수신된 앱을 가상화 환경 기반 에뮬레이터에서 실행하는 단계; 상기 실행된 가상화 환경 기반 에뮬레이터에서 상기 수신된 앱에 대하여 동적 행위 테스트를 진행하는 단계; 상기 진행동안 생성된 로그 파일을 데이터베이스에 저장하는 단계; 상기 앱이 구동시 기 정의된 동적분석 API을 호출하는 API 정보와 호출 횟수 정보를 상기 로그 파일로부터 추출하는 단계; 및 상기 API 정보와 호출 횟수 정보를 확인하여 상기 앱에 대한 이상행위를 탐지하는 단계를 포함한다.
이로써, 본 실시예는 가상화 환경에 기반한 동적 행위 테스트를 통해 악성앱의 악성 행위를 쉽게 탐지하여 개인 정보 유출 등을 방지하고, 프레임워크 수정을 통해 실제 단말의 데이터로 하드 코딩함으로써 핑거프린팅을 통한 분석회피 시도를 무력화시킬 수 있다.
The present embodiment includes: receiving an app suspected as a malicious app from an app server and executing the received app in a virtual environment-based emulator; Performing a dynamic behavior test on the received application in the executed virtual environment environment based emulator; Storing log files generated during the progress in a database; Extracting API information and call count information for calling a dynamic analysis API defined at the time of running the application from the log file; And checking the API information and the call count information to detect an abnormal behavior for the application.
Thus, the present embodiment easily detects malicious behavior of malicious apps through dynamic behavior testing based on a virtual environment, prevents personal information leakage, and hard-codes the data of the actual terminals through framework modification to analyze through fingerprinting It is possible to neutralize the avoidance attempt.

Description

악성앱 동적 행위 분석 방법 및 장치{METHOD AND APPARATUS FOR ANALYSING DYNAMIC BEHAVIOR OF MALICIOUS APPLICATION}[0001] METHOD AND APPARATUS FOR ANALYZING DYNAMIC BEHAVIOR OF MALICIOUS APPLICATION [0002]

본 실시예는 악성앱 동적 행위 분석 방법 및 장치에 관한 것으로서, 악성앱의 동적 행위를 탐지하기 위한 악성앱 동적 행위 분석 방법 및 장치에 관한 것이다.The present invention relates to a malicious application dynamic behavior analysis method and apparatus, and a malicious application dynamic behavior analysis method and apparatus for detecting dynamic behavior of a malicious application.

가트너(Gartner) 보고서에 따르면, 스마트폰의 점유율은 2014년 6월 기준으로 전체 모바일 시장의 약 66%를 차지하고 있고, 2018년도 말에는 88% 이상 차지할 것으로 예측하고 있다. According to the Gartner report, smartphone market share is expected to account for about 66% of the total mobile market as of June 2014 and over 88% by the end of 2018.

하지만, 폭발적인 스마트폰의 증가 이면에는 스마트폰 악성앱에 의한 개인정보(전화번호, 문자 메시지(SMS), 계좌정보 등) 유출 등의 해킹 위협이 점차 증가되고 있는 실정이다.However, there is a growing threat of hacking, such as leakage of personal information (phone number, text message (SMS), account information, etc.) caused by malicious apps on the smartphone.

예를 들면, 악성앱은 98% 이상이 문자 메시지(SMS) 유포 방식으로 전파되고 있지만, 문자 메시지(SMS)뿐만 아니라 일반 홈페이지에 접속하면 ‘스마트폰 필수 보안 업데이트, 플레이 스토어 다운받기’등의 문구로 악성앱 다운로드를 유도하는 새로운 방법도 발견되고 있다.For example, more than 98% of malicious apps are spread by text messaging (SMS) dissemination method, but when you access a general web site as well as text messages (SMS), the phrase " There are also new ways to get malicious apps to download.

이렇듯 스마트폰 문자 메시지(SMS)와 피싱(Phishing) 수법이 결합된 스미싱(Smishing) 악성앱에 대한 피해가 크게 증가하면서 스마트폰 보안이 중요한 사회 이슈로 주목 받고 있다.Smartization combined with smart phone SMS and phishing techniques has increased the damage to malicious apps, and smartphone security is attracting attention as an important social issue.

기하급수적으로 증가하는 악성앱에 대하여 관련 대학 및 연구소가 악성앱 샘플을 확보할 수 있는 채널이 제한되고, 기관 자체적으로 확보된 채널 또한 널리 알려진 웹사이트 또는 저장소(앱 서버)로 동일한 악성앱에 대한 중복 분석 가능성이 있어, 공동 연구를 위한 악성앱 탐지 인프라를 구축할 필요성이 대두되고 있다. 그러나, 악성앱에 대한 동적 분석이 제대로 이루어지지 않았다.For malicious apps that grow exponentially, related universities and research institutes have limited channels to obtain malicious apps, and channels that are secured by the agency itself are also known as web sites or repositories (app servers) There is a possibility of redundant analysis, and it is necessary to build a malicious app detection infrastructure for collaborative research. However, dynamic analysis of malicious apps has not been done properly.

한국공개특허 : 제2015-0096061호(2015.08.24 : 공개일)Korea Patent Publication No. 2015-0096061 (2015.08.24: Disclosure Date)

본 실시예는 가상화 환경 기반 에뮬레이터를 이용한 악성앱의 동적 행위를 분석하기 위한 방법 및 장치를 제공하는데 그 목적이 있다.It is an object of the present invention to provide a method and apparatus for analyzing dynamic behavior of a malicious app using an emulator based on a virtual environment.

하나의 일 실시예에 따르면, 동적 행위 분석 장치에서 가상화 환경 기반 에뮬레이터를 이용한 악성앱의 동적 행위를 분석하기 위한 방법으로서, 악성앱으로 의심되는 앱을 앱 서버로부터 수신하고, 수신된 앱을 가상화 환경 기반 에뮬레이터에서 실행하는 단계; 상기 실행된 가상화 환경 기반 에뮬레이터에서 상기 수신된 앱에 대하여 동적 행위 테스트를 진행하는 단계; 상기 진행동안 생성된 로그 파일을 데이터베이스에 저장하는 단계; 상기 앱이 구동시 기 정의된 동적분석 API을 호출하는 API 정보와 호출 횟수 정보를 상기 로그 파일로부터 추출하는 단계; 및 상기 API 정보와 호출 횟수 정보를 확인하여 상기 앱에 대한 이상행위를 탐지하는 단계를 포함하는 악성앱의 동적 행위 분석 방법을 제공한다.According to one embodiment, there is provided a method for analyzing a dynamic behavior of a malicious application using a virtual environment-based emulator in a dynamic behavior analysis apparatus, the method comprising: receiving an application suspected to be a malicious application from an application server; Based emulator; Performing a dynamic behavior test on the received application in the executed virtual environment environment based emulator; Storing log files generated during the progress in a database; Extracting API information and call count information for calling a dynamic analysis API defined at the time of running the application from the log file; And checking the API information and the call count information to detect an abnormal behavior for the application.

상기 동적 행위 분석 방법은 상기 탐지된 이상행위에 대응하여 분석 회피에 사용되는 API 리턴값을 상기 API 정보로부터 추출하여 상기 추출된 API 리턴값과 연관된 해당하는 시스템 속성의 프레임워크를 수정하는 단계를 더 포함할 수 있다.The dynamic behavior analysis method further comprises the step of extracting an API return value used for analysis avoidance in response to the detected abnormal behavior from the API information and modifying a framework of a corresponding system attribute associated with the extracted API return value .

상기 API 정보는 API 명과 API 리턴값을 포함할 수 있다.The API information may include an API name and an API return value.

상기 동적 행위 테스트는 상기 앱이 동작시 발생된 패키지의 해시값 정보, 내부/외부적 통신 데이터 정보, 파일 읽고/쓰기 동작 정보, 클래스 정보, 네트워크에 의한 노출 정보, 암호 정보, SMS의 노출 정보 및 Call 노출 정보와 관련한 테스트일 수 있다.The dynamic behavior test may include hash value information, internal / external communication data information, file read / write operation information, class information, exposure information by network, password information, exposure information of SMS, Call may be a test related to exposure information.

상기 가상화 환경은 Ubuntu14.04 버전의 VM일 수 있다.The virtualization environment may be a Ubuntu version 14.04 VM.

하나의 일 실시예에 따르면, 가상화 환경 기반 에뮬레이터를 이용한 악성앱의 동적 행위를 분석하기 위한 동적 행위 분석 장치로서, 악성앱으로 의심되는 앱을 앱 서버로부터 수신하고, 수신된 앱을 가상화 환경 기반 에뮬레이터에서 실행하는 에뮬레이터 구동부; 상기 실행된 가상화 환경 기반 에뮬레이터에서 상기 수신된 앱에 대하여 동적 행위 테스트를 진행하는 동적 행위 테스트부; 상기 진행동안 생성된 로그 파일을 데이터베이스에 저장하는 정보 관리부; 상기 앱이 구동시 기 정의된 동적분석 API을 호출하는 API 정보와 호출 횟수 정보를 상기 로그 파일로부터 추출하는 API 추출부; 및 상기 API 정보와 호출 횟수 정보를 확인하여 상기 앱에 대한 이상행위를 탐지하는 악성행위 탐지부를 포함하는 동적 행위 분석 장치를 제공한다.According to one embodiment, there is provided a dynamic behavior analyzing apparatus for analyzing dynamic behavior of a malicious application using an emulator based on a virtualization environment, the dynamic behavior analyzing apparatus comprising: receiving an app suspected to be a malicious application from an app server; An emulator driver for executing the emulator; A dynamic behavior testing unit for performing a dynamic behavior test on the received application in the executed virtual environment environment based emulator; An information management unit for storing a log file generated during the process in a database; An API extractor for extracting API information and call count information for calling a dynamic analysis API defined when the application is activated from the log file; And a malicious behavior detection unit for detecting the abnormal behavior for the application by checking the API information and the call frequency information.

상기 동적 행위 분석 장치는 상기 탐지된 이상행위에 대응하여 분석 회피에 사용되는 API 리턴값을 상기 API 정보로부터 추출하여 상기 추출된 API 리턴값과 연관된 해당하는 시스템 속성의 프레임워크를 수정하는 프레임워크 수정부를 더 포함할 수 있다.Wherein the dynamic behavior analysis device extracts an API return value used for analysis avoidance corresponding to the detected abnormal behavior from the API information and modifies a framework of a corresponding system attribute associated with the extracted API return value And the like.

상기 API 정보는 API 명과 API 리턴값을 포함할 수 있다.The API information may include an API name and an API return value.

상기 동적 행위 테스트는 상기 앱이 동작시 발생된 패키지의 해시값 정보, 내부/외부적 통신 데이터 정보, 파일 읽고/쓰기 동작 정보, 클래스 정보, 네트워크에 의한 노출 정보, 암호 정보, SMS의 노출 정보 및 Call 노출 정보와 관련한 테스트일 수 있다.The dynamic behavior test may include hash value information, internal / external communication data information, file read / write operation information, class information, exposure information by network, password information, exposure information of SMS, Call may be a test related to exposure information.

상기 가상화 환경은 Ubuntu14.04 버전의 VM일 수 있다.The virtualization environment may be a Ubuntu version 14.04 VM.

이상과 같이, 본 실시예는 가상화 환경에 기반한 동적 행위 테스트를 통해 악성앱의 악성 행위를 쉽게 탐지하여 개인 정보 유출 등을 방지하는 효과가 있다.As described above, the present embodiment has an effect of easily detecting malicious behavior of malicious apps through dynamic behavior testing based on a virtual environment, thereby preventing personal information from being leaked.

특히, 기존에는 구글 바운서 등 기존 에뮬레이터 기반 동적분석 시스템의 경우 앱 실행환경에 대한 핑거프린팅이 가능 하였고, 함. 이러한 특징을 이용해 악성앱 제작 시 에뮬레이터 환경을 탐지하여 해당 환경에서는 악성행위를 하지 않도록 함으로써 분석 및 탐지를 회피할 수 있었다.Especially, in case of existing emulator based dynamic analysis system such as Google Bouncer, it is possible to fingerprint the application execution environment. Using these features, it was possible to avoid the analysis and detection by detecting the emulator environment during the production of malicious apps and avoiding malicious behavior in the environment.

그러나, 본 실시예는 분석회피에 주로 사용되는 주요 API 리턴값에 해당하는 시스템 속성에 대해 안드로이드 프레임워크 수정을 통해 실제 단말의 데이터로 하드 코딩함으로써 핑거프린팅을 통한 분석회피 시도를 무력화시킬 수 있는 효과가 있다.However, in the present embodiment, the system attribute corresponding to the main API return value, which is mainly used for analysis avoidance, is hard-coded as data of the actual terminal through modification of the Android framework, thereby making it possible to disable the analysis avoidance attempt through fingerprinting .

이상에서 설명된 효과는 언급한 효과들로 제한되지 않으며 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 실시예들이 속하는 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects described above are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description.

이하에 첨부되는 도면들은 본 실시예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1은 일 실시예에 따른 악성앱의 동적 행위 분석 방법을 예시적으로 나타낸 순서도이다.
도 2는 도 1의 악성앱의 동적 행위 분석 방법을 실현하는 악성앱 동적 행위 분석 장치의 일례를 나타낸 블럭 구성도이다.
도 3 및 도 4는 API 정보의 형태를 예시적으로 나타낸 도면이다.
도 5 및 도 6은 API 리턴값과 프레임워크간의 관계를 예시적으로 나타낸 도면이다.
도 7은 프레임워크의 일례를 예시적으로 나타낸 도면이다.
도 8은 일 실시예에 따른 동적 행위 분석 장치를 예시적으로 나타낸 블럭 구성도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. However, the technical features of the present embodiment are not limited to the specific drawings, and the features disclosed in the drawings may be combined with each other to constitute a new embodiment.
1 is a flowchart illustrating a method for analyzing a dynamic behavior of a malicious app according to an exemplary embodiment of the present invention.
FIG. 2 is a block diagram showing an example of a malicious app dynamic behavior analyzing apparatus for realizing a dynamic behavior analyzing method of malicious app in FIG. 1;
Figs. 3 and 4 are diagrams illustrating exemplary forms of API information.
5 and 6 are diagrams illustrating the relationship between the API return value and the framework.
7 is a diagram exemplarily showing an example of a framework.
8 is a block diagram illustrating an example of a dynamic behavior analyzing apparatus according to an exemplary embodiment of the present invention.

이하의 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the embodiments of the present invention, detailed description of related arts will be omitted if it is determined that the gist of the embodiments disclosed herein may be obscured.

또한, 이하의 실시예에서 개시되는 '및/또는'은 열거되는 관련 항목들 중 하나 이상의 항목에 대한 임의의 및 모든 가능한 조합들을 포함하는 것으로 이해되어야 한다.It is also to be understood that the term " and / or " disclosed in the following embodiments includes any and all possible combinations of one or more of the listed related items.

또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. , ≪ / RTI > equivalents, and alternatives.

또한, 이하의 실시예에서 개시되는 "포함하다", 또는 "이루어지다" 등의 용어들은, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것으로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 구비하는 것으로 이해되어야 한다.Also, terms such as " comprising ", or "comprising ", etc., which are disclosed in the following embodiments, mean that a component can be implanted unless otherwise specifically stated. But should be understood to include additional elements.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals are used to designate identical or similar elements, and redundant description thereof will be omitted.

<동적 행위 분석 방법의 예><Example of dynamic behavior analysis method>

도 1은 일 실시예에 따른 악성앱의 동적 행위 분석 방법을 예시적으로 나타낸 순서도이고, 도 2는 도 1의 악성앱의 동적 행위 분석 방법을 실현하는 악성앱 동적 행위 분석 장치의 일례를 나타낸 블럭 구성도이다.2 is a block diagram illustrating an example of a malicious app dynamic behavior analyzing apparatus for realizing the dynamic behavior analyzing method of malicious app in FIG. 1; FIG. FIG.

도 2에 도시된 악성앱 동적 행위 분석 장치(100)는 통신 네트워크로 연결된 웹사이트(101) 또는 저장소(앱 서버; 102)로부터 앱을 다운로드받아 악성앱 여부를 탐지하고, 탐지된 악성앱에 대해 동적 행위를 분석할 수 있다.The malicious app dynamic behavior analysis apparatus 100 shown in FIG. 2 downloads an application from a web site 101 or a storage (app server) 102 connected to a communication network and detects whether or not the malicious application is detected. Dynamic behavior can be analyzed.

그러나, 악성앱 동적 행위 분석 장치(100)는 웹사이트(101) 또는 저장소(앱 서버; 102)에 접속하여 웹사이트(101) 또는 저장소(102)에 저장된 앱에 대해 악성앱 여부 및 동적 행위를 분석할 수도 있다.However, the malicious app dynamic behavior analyzing apparatus 100 accesses the web site 101 or the repository (app server) 102 to determine malicious apps and dynamic behaviors for the apps stored in the web site 101 or the repository 102 It can also be analyzed.

상기 앱은 이동 단말기 등에서 수행되는 어플리케이션 프로그램일 수 있으나, 이엔 반드시 한정되지는 않는다.The application may be an application program executed in a mobile terminal or the like, but is not limited thereto.

한편, 언급된 통신 네트워크는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 네트워크는 월드와이드웹(WWW; World Wide Web)일 수도 있다.Meanwhile, the above-mentioned communication network can be configured regardless of the communication modes such as wired and wireless, and can be applied to a wide area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) Network), and the like. Preferably, the network referred to in the present invention may be the World Wide Web (WWW).

월드 와이드 웹(WWW)이라고도 불리는 인터넷과 같은 네트워크, 셀룰러 전화망, 무선 근거리 통신망(LAN) 및/또는 도시권 통신망(MAN; metropolitan area network)과 같은 인트라넷 및/또는 무선 네트워크, 및 기타의 장치와 무선 통신에 의해 통신할 수 있다. Such as the Internet, also referred to as the World Wide Web (WWW), intranet and / or wireless networks such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs) As shown in Fig.

무선 통신은 GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), HSDPA(high-speed downlink packet access), HSUPA(high-speed uplink packet access), W-CDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), 블루투스(Bluetooth), Wi-Fi(Wireless Fidelity)(예를 들어, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n), VoIP(voice over Internet Protocol), Wi-MAX, 전자메일용 프로토콜 (예를 들어, IMAP(Internet message access protocol) 및/또는 POP(post office protocol)), 인스턴트 메시징(예를 들어, XMPP(extensible messaging and presence protocol), SIMPLE(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), IMPS(Instant Messaging and Presence Service)), 및/또는 SMS(Short Message Service), 또는 본 문서의 출원일 이전까지 개발되지 않은 통신 프로토콜을 포함한 기타 임의의 적절한 통신 프로토콜을 포함하지만 이들만으로 한정되지 않는 복수의 통신 표준, 프로토콜 및 기술들 중 임의의 것을 이용할 수도 있다.The wireless communication may include a Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), wideband code division multiple access (W- , Code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, wireless fidelity (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and / (e. g., Internet message access protocol (IMAP) and / or post office protocol (POP)), instant messaging (e. g., XMPP (Instant Messaging and Presence Service), and / or Short Message Service (SMS), or developed prior to the filing date of this document, such as extensible messaging and presence protocol (SIMPLE), Instant Messaging and Presence Leveraging Extensions (SIMPLE) Any other appropriate means of communication, including non- Including the protocol, but may use any of a plurality of communications standards, protocols and technologies that are not limited to these.

전술한 악성앱 동적 행위 분석 장치(100)를 통해 실현되는 악성앱의 동적 행위 분석 방법은 다음과 같다.The dynamic behavior analysis method of malicious apps realized through the above-described malicious app dynamic behavior analysis apparatus 100 is as follows.

도 1를 참조하면, 일 실시예에 따른 악성앱의 동적 행위 분석 방법(200)은 동적 행위 분석 장치(100)를 통해 가상화 환경 기반 에뮬레이터를 이용한 악성앱의 동적 행위를 분석하기 위하여, 210 단계 내지 260 단계를 포함할 수 있다.Referring to FIG. 1, a method 200 for analyzing a dynamic behavior of a malicious application according to an embodiment of the present invention includes analyzing a dynamic behavior of a malicious application using an emulator based on a virtualization environment through the dynamic behavior analysis apparatus 100, 260 steps.

먼저, 예시적인 210 단계에서, 동적 행위 분석 장치(100)는 악성앱으로 의심되는 앱을 앱 서버(102) 또는 웹 사이트(101)로부터 수신하고, 수신된 앱을 가상화 환경 기반 에뮬레이터에서 실행(구동)시킬 수 있다.First, in an exemplary step 210, the dynamic behavior analysis apparatus 100 receives an application suspected of being a malicious application from the application server 102 or the web site 101, and executes the received application in a virtual environment-based emulator ).

상기 가상화 기반의 에뮬레이터는 버츄얼 박스에서 추가한 VM을 기반으로 악성행위 또는 악성 의심 행위를 모니터링할 수 있다. 관련 VM에 설치된 버전은 Ubuntu14.04버전일 수 있다.The virtualization-based emulator can monitor malicious behavior or malicious suspicious activity based on the VM added in the virtual box. The version installed in the relevant VM may be Ubuntu14.04.

예시적인 220 단계에서, 동적 행위 분석 장치(100)는 가상화 환경 기반 에뮬레이터가 실행된 후, 실행된 가상화 환경 기반 에뮬레이터에서 수신된 앱에 대하여 동적 행위 테스트를 진행할 수 있다.In an exemplary step 220, the dynamic behavior analysis apparatus 100 may perform a dynamic behavior test on an application received from the executed virtual environment environment-based emulator after the virtual environment environment based emulator is executed.

여기서, 상기 동적 행위 테스트는 앱이 동작시 발생된 패키지의 해시값 정보, 내부/외부적 통신 데이터 정보, 파일 읽고/쓰기 동작 정보, 클래스 정보, 네트워크에 의한 노출 정보, 암호 정보, SMS의 노출 정보 및 Call 노출 정보와 관련한 테스트일 수 있다.Here, the dynamic behavior test may include information on the hash value of the package generated during the operation of the application, internal / external communication data information, file read / write operation information, class information, exposure information by the network, And a test related to call exposure information.

이러한 동적 행위 테스트는 앱 수신과 앱 실행시 폰 정보 체크 테스트, SMS/MMS 정보 테스트, 위치 정보 테스트, 주소 정보 테스트, 콜 정보 테스트, 클래스 정보 테스트, 서비스 정보 테스트 및 네트워크 정보 테스트 등일 수 있다.These dynamic behavior tests can be application reception and application execution phone information check test, SMS / MMS information test, location information test, address information test, call information test, class information test, service information test and network information test.

예시적인 230 단계에서, 동적 행위 분석 장치(100)는 전술한 동적 행위 테스트를 진행하는 동안 수신된 앱에 대한 로그 파일을 생성하고, 이를 데이터베이스에 저장할 수 있다.In exemplary step 230, the dynamic behavior analysis apparatus 100 may generate a log file for the received application during the above-described dynamic behavior test and store it in the database.

예시적인 240 단계에서, 동적 행위 분석 장치(100)는 수신된 앱이 구동시 기 정의된 동적분석 API을 호출하는 API 정보와 호출 횟수 정보를 데이터베이스에 저장된 로그 파일로부터 추출할 수 있다.In an exemplary step 240, the dynamic behavior analysis apparatus 100 may extract API information and call count information from the log file stored in the database, in which the received application calls the dynamic analysis API defined at the time of operation.

상기 API 정보는 API 명과 API 리턴값을 포함할 수 있으며, 이러한 API 정보의 형태는 각 로그 파일에 따라 도 3 및 도 4와 같이 나타낼 수 있다.The API information may include an API name and an API return value, and the type of the API information may be represented as shown in FIGS. 3 and 4 according to each log file.

예시적인 250 단계에서, 동적 행위 분석 장치(100)는 API 정보와 호출 횟수 정보를 기설정된 악성 행위의 API 정보 및 호출 횟수를 비교하여 앱에 대한 이상행위를 탐지할 수 있다.In an exemplary operation 250, the dynamic behavior analysis apparatus 100 may detect an abnormal behavior for an application by comparing the API information and the call count information with the API information of the predetermined malicious behavior and the call count.

그러나, 기존에는 구글 바운서 등 기존 에뮬레이터 기반 동적분석 시스템의 경우 앱 실행환경에 대한 핑거프린팅이 가능하고, 이를 이용해 악성앱 제작 시 에뮬레이터 환경을 탐지하여 해당 환경에서는 악성행위를 하지 않도록 함으로써 분석 및 탐지를 회피할 수 있다.However, in the conventional emulator-based dynamic analysis system such as Google Bouncer, it is possible to fingerprint the application execution environment. By using this, it is possible to detect the emulator environment when the malicious application is created and to prevent the malicious action in the environment, Can be avoided.

이를 방지하기 위하여, 하기의 260 단계를 수행할 수 있다. 즉, 예시적인 260 단계에서, 동적 행위 분석 장치(100)는 탐지된 이상행위에 대응하여 분석 회피에 사용되는 API 리턴값을 API 정보로부터 추출할 수 있다.In order to prevent this, the following step 260 can be performed. That is, in an exemplary operation 260, the dynamic behavior analysis apparatus 100 may extract an API return value used for analysis avoidance from the API information in response to the detected abnormal behavior.

더 나아가, 동적 행위 분석 장치(100)는 악성 행위 분석 및 탐지를 방직하기 위하여 API 정보로부터 추출된 API 리턴값과 연관된 해당하는 시스템 속성의 프레임워크를 수정할 수 있다.Furthermore, the dynamic behavior analysis apparatus 100 can modify the framework of the corresponding system attributes associated with the API return values extracted from the API information to create malicious behavior analysis and detection.

API 리턴값과 프레임워크간의 관계는 도 5 및 도 6과 같이 나타낼 수 있으며, 수정된 프레임워크의 예는 도 7과 같이 나타낼 수 있다.The relationship between the API return value and the framework can be shown in FIGS. 5 and 6, and an example of the modified framework can be shown in FIG.

이로써, 본 실시예는 분석 회피에 주로 사용되는 주요 API 리턴값에 해당하는 시스템 속성에 대해 예컨대 안드로이드 프레임워크 수정을 통해 실제 단말의 데이터로 하드 코딩함으로써 핑거프린팅을 통한 분석 회피 시도를 무력화시킬 수 있다.Thus, in the present embodiment, the system attribute corresponding to the main API return value mainly used for analysis avoidance can be hard-coded into data of the actual terminal through, for example, modification of the Android framework, thereby disabling the analysis avoidance attempt through fingerprinting .

이상에서 설명된 악성앱의 동적 행위 분석 방법은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다.The dynamic behavior analysis method of malicious app described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable medium.

컴퓨터 판독 가능한 매체는 프로세서에 의해 액세스 가능한 임의의 매체일 수 있다. 이러한 매체는 휘발성 및 비휘발성 매체 둘 다, 착탈식과 비착탈식 매체, 통신 매체, 저장 매체 및 컴퓨터 저장 매체를 포함할 수 있다.The computer readable medium may be any medium accessible by the processor. Such media can include both volatile and nonvolatile media, removable and non-removable media, communication media, storage media, and computer storage media.

통신 매체는 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈, 반송파 또는 기타 전송 메커니즘 등의 변조된 데이터 신호의 기타 데이터를 포함할 수 있고, 공지된 임의의 기타 형태의 정보 전달 매체를 포함할 수 있다.A communication medium may include computer readable instructions, data structures, program modules, other data of a modulated data signal such as a carrier wave or other transmission mechanism, and may include any other form of information delivery medium known in the art.

저장 매체는 RAM, 플래시 메모리, ROM, EPROM, 전기적으로 소거 가능한 판독 전용 메모리("EEPROM"), 레지스터, 하드 디스크, 착탈식 디스크, 콤팩트 디스크 판독 전용 메모리("CD-ROM"), 또는 공지된 임의의 기타 형태의 저장 매체를 포함할 수 있다.The storage medium may be any type of storage medium such as RAM, flash memory, ROM, EPROM, electrically erasable read only memory ("EEPROM"), registers, hard disk, removable disk, compact disk read only memory Or any other type of storage medium.

컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 데이터와 같은 정보를 저장하기 위한 임의의 방법이나 기술로 구현되는 착탈형(removable)과 고정형(non-removable), 및 휘발성과 비휘발성 매체를 포함한다.Computer storage media includes removable and non-removable, nonvolatile, and nonvolatile storage media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data, Volatile media.

이러한 컴퓨터 저장 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리, 다른 고체 메모리 기술, CDROM, 디지털 다용도 디스크(DVD), 또는 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.Such computer storage media may be embodied as program instructions, such as RAM, ROM, EPROM, EEPROM, flash memory, other solid state memory technology, CDROMs, digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, Lt; RTI ID = 0.0 &gt; and / or &lt; / RTI &gt;

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Examples of program instructions may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.

<동적 행위 분석 장치의 예><Example of Dynamic Behavior Analysis Apparatus>

도 8은 일 실시예에 따른 동적 행위 분석 장치를 예시적으로 나타낸 블럭 구성도이다.8 is a block diagram illustrating an example of a dynamic behavior analyzing apparatus according to an exemplary embodiment of the present invention.

전술한 도 3 내지 도 7은 도 8을 설명할 때 보조적으로 인용하기로 한다.The above-described Figs. 3 to 7 will be supplementarily referred to when explaining Fig.

도 8을 참조하면, 일 실시예에 따른 동적 행위 분석 장치(300)은 가상화 환경 기반 에뮬레이터를 이용한 악성앱의 동적 행위를 분석하기 위하여 에뮬레이터 구동부(310), 동적 행위 테스트부(320), 정보 관리부(330), API 추출부(340), 악성행위 탐지부(350), 프레임워크 수정부(360) 및 데이터베이스(370)를 포함할 수 있다.Referring to FIG. 8, the dynamic behavior analysis apparatus 300 includes an emulator driving unit 310, a dynamic behavior testing unit 320, an information management unit 320, An API extraction unit 340, a malicious behavior detection unit 350, a framework correction unit 360, and a database 370. The API extraction unit 340,

먼저, 예시적인 에뮬레이터 구동부(310)는 악성앱으로 의심되는 앱을 앱 서버(302) 또는 웹 사이트(301)로부터 수신하고, 수신된 앱을 가상화 환경 기반 에뮬레이터에서 실행(구동)시킬 수 있다.First, the exemplary emulator driving unit 310 receives an app suspected as a malicious app from the app server 302 or the web site 301, and can execute (run) the received app in a virtual environment-based emulator.

상기 가상화 기반의 에뮬레이터는 버츄얼 박스에서 추가한 VM을 기반으로 악성행위 또는 악성 의심 행위를 모니터링할 수 있다. 관련 VM에 설치된 버전은 Ubuntu14.04버전일 수 있다.The virtualization-based emulator can monitor malicious behavior or malicious suspicious activity based on the VM added in the virtual box. The version installed in the relevant VM may be Ubuntu14.04.

예시적인 동적 행위 테스트부(320)는 가상화 환경 기반 에뮬레이터가 실행된 후, 실행된 가상화 환경 기반 에뮬레이터에서 수신된 앱에 대하여 동적 행위 테스트를 진행할 수 있다.The exemplary dynamic behavior testing unit 320 may perform a dynamic behavior test on an application received from the executed virtual environment environment based emulator after the virtual environment environment based emulator is executed.

여기서, 상기 동적 행위 테스트는 앱이 동작시 발생된 패키지의 해시값 정보, 내부/외부적 통신 데이터 정보, 파일 읽고/쓰기 동작 정보, 클래스 정보, 네트워크에 의한 노출 정보, 암호 정보, SMS의 노출 정보 및 Call 노출 정보와 관련한 테스트일 수 있다.Here, the dynamic behavior test may include information on the hash value of the package generated during the operation of the application, internal / external communication data information, file read / write operation information, class information, exposure information by the network, And a test related to call exposure information.

이러한 동적 행위 테스트는 앱 수신과 앱 실행시 폰 정보 체크 테스트, SMS/MMS 정보 테스트, 위치 정보 테스트, 주소 정보 테스트, 콜 정보 테스트, 클래스 정보 테스트, 서비스 정보 테스트 및 네트워크 정보 테스트 등일 수 있다.These dynamic behavior tests can be application reception and application execution phone information check test, SMS / MMS information test, location information test, address information test, call information test, class information test, service information test and network information test.

예시적인 정보 관리부(330)는 전술한 동적 행위 테스트를 진행하는 동안 수신된 앱에 대한 로그 파일을 생성하고, 이를 데이터베이스에 저장할 수 있다.The exemplary information management unit 330 may generate a log file for the received application during the above-described dynamic behavior test, and store the log file in the database.

예시적인 API 추출부(340)는 수신된 앱이 구동시 기 정의된 동적분석 API을 호출하는 API 정보와 호출 횟수 정보를 데이터베이스에 저장된 로그 파일로부터 추출할 수 있다.The exemplary API extractor 340 may extract API information and call count information from the log file stored in the database, in which the received application calls the dynamic analysis API defined at the time of operation.

상기 API 정보는 API 명과 API 리턴값을 포함할 수 있으며, 이러한 API 정보의 형태는 각 로그 파일에 따라 도 3 및 도 4와 같이 나타낼 수 있다.The API information may include an API name and an API return value, and the type of the API information may be represented as shown in FIGS. 3 and 4 according to each log file.

예시적인 악성행위 탐지부(350)는 API 정보와 호출 횟수 정보를 기설정된 악성 행위의 API 정보 및 호출 횟수를 비교하여 앱에 대한 이상행위를 탐지할 수 있다.The exemplary malicious behavior detection unit 350 can detect an abnormal behavior for the application by comparing the API information and the call frequency information with the API information of the predetermined malicious behavior and the call frequency.

그러나, 기존에는 구글 바운서 등 기존 에뮬레이터 기반 동적분석 시스템의 경우 앱 실행환경에 대한 핑거프린팅이 가능하고, 이를 이용해 악성앱 제작 시 에뮬레이터 환경을 탐지하여 해당 환경에서는 악성행위를 하지 않도록 함으로써 분석 및 탐지를 회피할 수 있다.However, in the conventional emulator-based dynamic analysis system such as Google Bouncer, it is possible to fingerprint the application execution environment. By using this, it is possible to detect the emulator environment when the malicious application is created and to prevent the malicious action in the environment, Can be avoided.

이를 방지하기 위하여, 하기의 프레임워크 수정부(360)를 수행할 수 있다. 즉, 예시적인 프레임워크 수정부(360)는 탐지된 이상행위에 대응하여 분석 회피에 사용되는 API 리턴값을 API 정보로부터 추출할 수 있다.In order to prevent this, the following framework corrector 360 may be performed. That is, the exemplary framework correcting unit 360 can extract the API return value used for the analysis avoidance from the API information in response to the detected abnormal behavior.

더 나아가, 프레임워크 수정부(360)는 악성 행위 분석 및 탐지를 방직하기 위하여 API 정보로부터 추출된 API 리턴값과 연관된 해당하는 시스템 속성의 프레임워크를 수정할 수 있다.Furthermore, the framework modifier 360 may modify the framework of the corresponding system attributes associated with the API return values extracted from the API information to implement malicious behavior analysis and detection.

API 리턴값과 프레임워크간의 관계는 도 5 및 도 6과 같이 나타낼 수 있으며, 수정된 프레임워크의 예는 도 7과 같이 나타낼 수 있다.The relationship between the API return value and the framework can be shown in FIGS. 5 and 6, and an example of the modified framework can be shown in FIG.

이로써, 본 실시예는 분석 회피에 주로 사용되는 주요 API 리턴값에 해당하는 시스템 속성에 대해 예컨대 안드로이드 프레임워크 수정을 통해 실제 단말의 데이터로 하드 코딩함으로써 핑거프린팅을 통한 분석 회피 시도를 무력화시킬 수 있다.Thus, in the present embodiment, the system attribute corresponding to the main API return value mainly used for analysis avoidance can be hard-coded into data of the actual terminal through, for example, modification of the Android framework, thereby disabling the analysis avoidance attempt through fingerprinting .

마지막으로, 예시적인 데이터베이스(370)는 전술한 에뮬레이터 구동부(310), 동적 행위 테스트부(320), 정보 관리부(330), API 추출부(340), 악성행위 탐지부(350) 및 프레임워크 수정부(360)에서 처리된 가 데이터를 저장할 수 있다.Finally, the exemplary database 370 includes the emulator driving unit 310, the dynamic behavior testing unit 320, the information managing unit 330, the API extracting unit 340, the malicious behavior detecting unit 350, And can store the processed data processed by the server 360. [

이러한 데이터베이스(370)는 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라, 파일 시스템에 기반한 데이터 기록 등을 포함하는 넓은 의미의 데이터베이스도 포함하여 지칭하며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서 말하는 데이터베이스의 범주안에 포함된다.The database 370 is a concept including a computer-readable recording medium. The database 370 includes not only a consultation database but also a database in a broad sense including a data record based on a file system. Even a simple set of logs It is included in the scope of the database referred to in the present invention.

이상에서와 같이, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고 다른 구체적인 형태로 실시할 수 있다는 것을 이해할 수 있을 것이다. 따라서 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적이 아닌 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the exemplary embodiments or constructions. You can understand that you can do it. The embodiments described above are therefore to be considered in all respects as illustrative and not restrictive.

100,300 : 악성앱 동적 행위 분석 장치 101,301 : 웹사이트
102,302 : 앱 서버 310 : 에뮬레이터 구동부
320 : 동적 행위 테스트부 330 : 정보 관리부
340 : API 추출부 350 : 악성행위 탐지부
360 : 프레임워크 수정부 370 : 데이터베이스
100,300: malicious app dynamic behavior analyzer 101,301: website
102, 302 an app server 310 an emulator driving unit
320: Dynamic Behavior Testing Unit 330: Information Management Unit
340: API extraction unit 350: Malicious behavior detection unit
360: framework modifier 370: database

Claims (10)

동적 행위 분석 장치에서 가상화 환경 기반 에뮬레이터를 이용한 악성앱의 동적 행위를 분석하기 위한 방법으로서,
악성앱으로 의심되는 앱을 앱 서버로부터 수신하고, 수신된 앱을 가상화 환경 기반 에뮬레이터에서 실행하는 단계;
상기 실행된 가상화 환경 기반 에뮬레이터에서 상기 수신된 앱에 대하여 동적 행위 테스트를 진행하는 단계;
상기 진행동안 생성된 로그 파일을 데이터베이스에 저장하는 단계;
상기 앱이 구동시 기 정의된 동적분석 API을 호출하는 API 정보와 호출 횟수 정보를 상기 로그 파일로부터 추출하는 단계; 및
상기 API 정보와 호출 횟수 정보를 확인하여 상기 앱에 대한 이상행위를 탐지하는 단계
를 포함하는, 악성앱의 동적 행위 분석 방법.
A method for analyzing dynamic behavior of a malicious app using a virtual environment based emulator in a dynamic behavior analyzer,
Receiving a suspicious malicious app from an app server and executing the received app in a virtual environment based emulator;
Performing a dynamic behavior test on the received application in the executed virtual environment environment based emulator;
Storing log files generated during the progress in a database;
Extracting API information and call count information for calling a dynamic analysis API defined at the time of running the application from the log file; And
Checking the API information and the call count information to detect an abnormal behavior for the application
The method comprising the steps of:
제1항에 있어서,
상기 탐지된 이상행위에 대응하여 분석 회피에 사용되는 API 리턴값을 상기 API 정보로부터 추출하여 상기 추출된 API 리턴값과 연관된 해당하는 시스템 속성의 프레임워크를 수정하는 단계
를 더 포함하는, 악성앱의 동적 행위 분석 방법.
The method according to claim 1,
Extracting an API return value used for analysis avoidance in response to the detected abnormal behavior from the API information and modifying a framework of a corresponding system attribute associated with the extracted API return value
Wherein the malicious app's dynamic behavior analysis method further comprises:
제1항에 있어서,
상기 API 정보는, API 명과 API 리턴값을 포함하는, 악성앱의 동적 행위 분석 방법.
The method according to claim 1,
Wherein the API information includes an API name and an API return value.
제1항에 있어서,
상기 동적 행위 테스트는,
상기 앱이 동작시 발생된 패키지의 해시값 정보, 내부/외부적 통신 데이터 정보, 파일 읽고/쓰기 동작 정보, 클래스 정보, 네트워크에 의한 노출 정보, 암호 정보, SMS의 노출 정보 및 Call 노출 정보와 관련한 테스트인 것인 악성앱의 동적 행위 분석 방법.
The method according to claim 1,
The dynamic behavior test may include:
Related information related to the hash value information, the internal / external communication data information, the file read / write operation information, the class information, the exposure information by the network, the encryption information, the SMS exposure information, and the call exposure information A method of dynamic behavior analysis of malicious apps that is a test.
제1항에 있어서,
상기 가상화 환경은, Ubuntu의 VM인 것인 악성앱의 동적 행위 분석 방법.
The method according to claim 1,
Wherein the virtualization environment is a VM of Ubuntu.
가상화 환경 기반 에뮬레이터를 이용한 악성앱의 동적 행위를 분석하기 위한 동적 행위 분석 장치로서,
악성앱으로 의심되는 앱을 앱 서버로부터 수신하고, 수신된 앱을 가상화 환경 기반 에뮬레이터에서 실행하는 에뮬레이터 구동부;
상기 실행된 가상화 환경 기반 에뮬레이터에서 상기 수신된 앱에 대하여 동적 행위 테스트를 진행하는 동적 행위 테스트부;
상기 진행동안 생성된 로그 파일을 데이터베이스에 저장하는 정보 관리부;
상기 앱이 구동시 기 정의된 동적분석 API을 호출하는 API 정보와 호출 횟수 정보를 상기 로그 파일로부터 추출하는 API 추출부; 및
상기 API 정보와 호출 횟수 정보를 확인하여 상기 앱에 대한 이상행위를 탐지하는 악성행위 탐지부
를 포함하는, 동적 행위 분석 장치.
A dynamic behavior analysis apparatus for analyzing dynamic behavior of a malicious app using an emulator based on a virtual environment,
An emulator driver for receiving an application suspected of being a malicious application from an application server and executing the received application in a virtual environment-based emulator;
A dynamic behavior testing unit for performing a dynamic behavior test on the received application in the executed virtual environment environment based emulator;
An information management unit for storing a log file generated during the process in a database;
An API extractor for extracting API information and call count information for calling a dynamic analysis API defined when the application is activated from the log file; And
A malicious behavior detection unit for detecting an abnormal behavior for the application by checking the API information and the call count information,
The dynamic behavior analysis device comprising:
제6항에 있어서,
상기 탐지된 이상행위에 대응하여 분석 회피에 사용되는 API 리턴값을 상기 API 정보로부터 추출하여 상기 추출된 API 리턴값과 연관된 해당하는 시스템 속성의 프레임워크를 수정하는 프레임워크 수정부
를 더 포함하는, 동적 행위 분석 장치.
The method according to claim 6,
Extracting an API return value used for analysis avoidance in response to the detected abnormal behavior from the API information and modifying a framework of a corresponding system attribute associated with the extracted API return value,
Wherein the dynamic behavior analyzing apparatus further comprises:
제6항에 있어서,
상기 API 정보는, API 명과 API 리턴값을 포함하는, 동적 행위 분석 장치.
The method according to claim 6,
Wherein the API information includes an API name and an API return value.
제6항에 있어서,
상기 동적 행위 테스트는,
상기 앱이 동작시 발생된 패키지의 해시값 정보, 내부/외부적 통신 데이터 정보, 파일 읽고/쓰기 동작 정보, 클래스 정보, 네트워크에 의한 노출 정보, 암호 정보, SMS의 노출 정보 및 Call 노출 정보와 관련한 테스트인 것인 동적 행위 분석 장치.
The method according to claim 6,
The dynamic behavior test may include:
Related information related to the hash value information, the internal / external communication data information, the file read / write operation information, the class information, the exposure information by the network, the encryption information, the SMS exposure information, and the call exposure information A dynamic behavior analysis device that is a test.
제6항에 있어서,
상기 가상화 환경은, Ubuntu의 VM인 것인 동적 행위 분석 장치.
The method according to claim 6,
Wherein the virtualization environment is a VM of Ubuntu.
KR1020160017844A 2016-02-16 2016-02-16 Method and apparatus for analysing dynamic behavior of malicious application Ceased KR20170096451A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160017844A KR20170096451A (en) 2016-02-16 2016-02-16 Method and apparatus for analysing dynamic behavior of malicious application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160017844A KR20170096451A (en) 2016-02-16 2016-02-16 Method and apparatus for analysing dynamic behavior of malicious application

Publications (1)

Publication Number Publication Date
KR20170096451A true KR20170096451A (en) 2017-08-24

Family

ID=59758026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160017844A Ceased KR20170096451A (en) 2016-02-16 2016-02-16 Method and apparatus for analysing dynamic behavior of malicious application

Country Status (1)

Country Link
KR (1) KR20170096451A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948744A (en) * 2017-12-13 2018-04-20 深圳市雷鸟信息科技有限公司 Interface detection method, interface detection device and computer-readable recording medium
KR102005107B1 (en) * 2019-01-29 2019-07-29 엘아이지넥스원 주식회사 Method and Apparatus for Analyzing Malicious Code Using API Call Sequence
US10467413B2 (en) 2017-10-23 2019-11-05 Foundation Of Soongsil University-Industry Cooperation Method and apparatus of dynamic loading file extraction for an application running in an android container
KR102113966B1 (en) * 2019-11-25 2020-05-21 숭실대학교산학협력단 Recorded media recording of the bypass device, method and program for performing the analysis
US10671729B2 (en) 2017-11-22 2020-06-02 Foundation Of Soongsil University-Industry Cooperation Adaptive dynamic analysis method, adaptive dynamic analysis platform, and device equipped with the same
US10878086B2 (en) 2017-11-16 2020-12-29 Foundation Of Soongsil University-Industry Cooperation Dynamic code extraction-based automatic anti analysis evasion and code logic analysis apparatus
CN112799963A (en) * 2021-03-09 2021-05-14 蔚来汽车科技(安徽)有限公司 Method and test system for testing at least one application program interface of an application program
CN117540381A (en) * 2023-11-13 2024-02-09 中国人民解放军92493部队信息技术中心 Detection method and system for anti-virtualization malicious program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467413B2 (en) 2017-10-23 2019-11-05 Foundation Of Soongsil University-Industry Cooperation Method and apparatus of dynamic loading file extraction for an application running in an android container
US10878086B2 (en) 2017-11-16 2020-12-29 Foundation Of Soongsil University-Industry Cooperation Dynamic code extraction-based automatic anti analysis evasion and code logic analysis apparatus
US10671729B2 (en) 2017-11-22 2020-06-02 Foundation Of Soongsil University-Industry Cooperation Adaptive dynamic analysis method, adaptive dynamic analysis platform, and device equipped with the same
CN107948744A (en) * 2017-12-13 2018-04-20 深圳市雷鸟信息科技有限公司 Interface detection method, interface detection device and computer-readable recording medium
KR102005107B1 (en) * 2019-01-29 2019-07-29 엘아이지넥스원 주식회사 Method and Apparatus for Analyzing Malicious Code Using API Call Sequence
KR102113966B1 (en) * 2019-11-25 2020-05-21 숭실대학교산학협력단 Recorded media recording of the bypass device, method and program for performing the analysis
CN112799963A (en) * 2021-03-09 2021-05-14 蔚来汽车科技(安徽)有限公司 Method and test system for testing at least one application program interface of an application program
CN117540381A (en) * 2023-11-13 2024-02-09 中国人民解放军92493部队信息技术中心 Detection method and system for anti-virtualization malicious program

Similar Documents

Publication Publication Date Title
KR20170096451A (en) Method and apparatus for analysing dynamic behavior of malicious application
US8844038B2 (en) Malware detection
US10181033B2 (en) Method and apparatus for malware detection
US9953162B2 (en) Rapid malware inspection of mobile applications
CN106570394B (en) Method for detecting malicious program
KR101857001B1 (en) Android dynamic loading file extraction method, recording medium and system for performing the method
CN112231697B (en) Third-party SDK behavior detection method, device, medium and electronic device
US20130122861A1 (en) System and method for verifying apps for smart phone
US9442783B2 (en) Methods and systems for providing security for page framing
KR101801752B1 (en) Method and apparatus for analysing simility of detecting malignant app
KR20150044490A (en) A detecting device for android malignant application and a detecting method therefor
KR101628837B1 (en) Malicious application or website detecting method and system
CN105760761A (en) Software behavior analyzing method and device
Seo et al. Analysis on maliciousness for mobile applications
KR101490442B1 (en) Method and system for cutting malicious message in mobile phone, and mobile phone implementing the same
KR101895876B1 (en) System and method for detecting malicious of application, recording medium for performing the method
Ramachandran et al. Android anti-virus analysis
CN102789558A (en) Method and device for analyzing program installation and program operation in mobile device
KR101270497B1 (en) System for collecting and analyzing mobile malware automatically
CN109818945A (en) Application program behavior feature selection method and device
CN115935356A (en) Software security testing method, system and application
CN115292707A (en) Credibility judgment method and device based on dynamic class calling sequence
CN114896596A (en) Safety protection method and device
Hightower et al. Classifying Android Applications Via System Stats
CN108959092B (en) Software behavior analysis method and system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160216

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20170419

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20170829

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20170419

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I