KR102102577B1 - Apparatus for detecting malicious app and method thereof - Google Patents

Apparatus for detecting malicious app and method thereof Download PDF

Info

Publication number
KR102102577B1
KR102102577B1 KR1020180023447A KR20180023447A KR102102577B1 KR 102102577 B1 KR102102577 B1 KR 102102577B1 KR 1020180023447 A KR1020180023447 A KR 1020180023447A KR 20180023447 A KR20180023447 A KR 20180023447A KR 102102577 B1 KR102102577 B1 KR 102102577B1
Authority
KR
South Korea
Prior art keywords
behavior analysis
app
malicious
analysis
behavior
Prior art date
Application number
KR1020180023447A
Other languages
Korean (ko)
Other versions
KR20190102678A (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 KR1020180023447A priority Critical patent/KR102102577B1/en
Publication of KR20190102678A publication Critical patent/KR20190102678A/en
Application granted granted Critical
Publication of KR102102577B1 publication Critical patent/KR102102577B1/en

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
    • 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/562Static detection
    • G06F21/563Static detection by source code analysis

Abstract

악성 앱 탐지 장치가 제공된다. 상기 악성 앱 탐지 장치는, 기존 악성 앱에 대한 제1 행위 분석 결과와 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과이고 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 규칙 생성부 및 상기 생성된 결정 규칙에 기초하여 상기 분석 대상 앱의 행위 분석을 수행하도록 제어하는 행위 분석 제어부를 포함할 수 있다.A malicious app detection device is provided. The malicious app detection device, based on the difference between the first behavior analysis result and the second behavior analysis result for the existing malicious app, generates a decision rule for determining whether to perform the behavior analysis of the app under analysis in the real environment, The first behavior analysis result is a behavior analysis result for the existing malicious app performed in a virtual environment and the second behavior analysis result is a behavior analysis result for the existing malicious app performed in a real environment, a rule generator, and It may include a behavior analysis control unit for controlling to perform the behavior analysis of the analysis target app based on the generated decision rule.

Description

악성 앱 탐지 장치 및 그 방법{APPARATUS FOR DETECTING MALICIOUS APP AND METHOD THEREOF}Malicious app detection device and method thereof {APPARATUS FOR DETECTING MALICIOUS APP AND METHOD THEREOF}

본 발명은 악성 앱 탐지 장치 그 방법 및 장치에 관한 것이다. 보다 자세하게는, 행위 분석에 투입되는 단말의 이용을 최소화함으로써, 악성 앱 탐지에 소요되는 유지 보수 비용을 절감하고, 실제 운영 환경에서 보다 효율적으로 악성 앱 탐지를 수행할 수 있는 장치 및 그 장치의 동작 방법에 관한 것이다.The present invention relates to a method and apparatus for detecting a malicious app. More specifically, by minimizing the use of a terminal that is used for behavior analysis, a maintenance cost for detecting a malicious app is reduced, and a device capable of more effectively detecting a malicious app in an actual operating environment and the operation of the device It's about how.

스마트폰(smart phone)의 보급이 확산됨에 따라 사용자들은 생활의 편리함을 누리게 되었다. 하지만, 도 1에 도시된 바와 같이, 모바일 악성 코드가 포함된 악성 앱의 지속적인 증가로 인해 사용자들은 통화 내역, 위치 정보, 계좌 정보 등의 개인 정보 유출, 소액 결제를 통한 과금 유도 등 다양한 형태의 보안 위협에 노출되게 되었다. 특히, 스마트폰의 보안 위협은 안드로이드(android)가 탑재된 단말에서 많이 발생되고 있는데, 이는 안드로이드의 개방성 및 높은 시장 점유율에서 기인하는 것으로 볼 수 있다.With the spread of smart phones, users enjoy the convenience of life. However, as shown in Figure 1, due to the continuous increase in malicious apps that contain mobile malware, users have various forms of security, such as personal information leakage such as call history, location information, account information, and billing through micro payment. Threats. In particular, security threats of smartphones are occurring in Android-equipped terminals, which can be attributed to the openness and high market share of Android.

악성 앱을 탐지하기 위해, 에뮬레이터(emulator), 가상 머신(virtual machine) 등의 가상 환경에서 악성 앱을 행위 분석하는 탐지 방법이 주로 이용된다. 가상 환경은 통제가 쉽고 악성 코드에 감염되더라도 호스트 PC에 영향을 미치지 않아 악성 앱 탐지에 소요되는 유지 보수 비용이 크게 절감될 수 있기 때문이다. 예를 들어, 구글은 QEMU(Quick Emulator) 기반의 구글 바운서(google bouncer)를 통해 모바일 앱이 앱 마켓에 등록되기 전에 행위 분석을 통해 해당 모바일 앱이 악성 앱인지 여부를 사전에 판단하고 있다.In order to detect a malicious app, a detection method that analyzes a malicious app in a virtual environment, such as an emulator or a virtual machine, is mainly used. This is because the virtual environment is easy to control, and even if it is infected with malicious code, it does not affect the host PC, so the maintenance cost for detecting malicious apps can be greatly reduced. For example, Google determines in advance whether a mobile app is a malicious app through behavior analysis before the mobile app is registered in the app market through a QEMU (Quick Emulator) -based Google bouncer.

그러나, 모바일 악성 코드 제작 기술이 진화됨에 따라 가상 환경에서의 행위 분석을 우회하도록 제작된 분석 회피형 악성 앱이 등장하고 있다. 분석 회피형 악성 앱은 실행 환경을 탐지하고, 실행 환경이 가상 환경으로 판정된 경우 정상적인 동작만을 수행함으로써 가상 환경에서의 행위 분석을 지능적으로 회피하는 악성 앱을 말한다.However, as mobile malicious code production technology has evolved, analysis evasion-type malicious apps designed to bypass behavior analysis in a virtual environment have emerged. Analysis evasion-type malicious app refers to a malicious app that intelligently evades behavior analysis in the virtual environment by detecting the execution environment and performing only normal operations when the execution environment is determined to be a virtual environment.

예를 들면, 분석 회피형 악성 앱은 도 2에 도시된 바와 같이 실제 단말(1)에 설정된 속성 정보와 에뮬레이터(2)에 설정된 속성 정보의 차이를 이용하여 실행 환경을 탐지한다. 보다 자세한 예를 들면, 에뮬레이터(2)에서 IMEI(International Mobile Equipment Identity), 단말의 모델, 네트워크 정보 등의 속성 정보는 실제 단말(1)과 다른 값으로 설정된다. 따라서, 분석 회피형 악성 앱은 상기와 같은 속성 정보를 확인하여 실행 환경이 가상 환경에 해당하는지를 판단할 수 있다. 또한, 분석 회피형 악성 앱은 가상 환경에서 악성 행위를 수행하지 않도록 제작되었기 때문에, 가상 환경에서의 행위 분석을 지능적으로 회피할 수 있다.For example, the analysis-avoidance malicious app detects the execution environment by using the difference between the attribute information set in the actual terminal 1 and the attribute information set in the emulator 2, as shown in FIG. 2. For a more detailed example, in the emulator 2, attribute information such as International Mobile Equipment Identity (IMEI), model of the terminal, and network information is set to a different value from the actual terminal 1. Therefore, the analysis-avoidance malicious app can determine whether the execution environment corresponds to the virtual environment by checking the property information as described above. In addition, since the analysis-avoiding malicious app is designed not to perform a malicious behavior in a virtual environment, it is possible to intelligently evade the behavior analysis in the virtual environment.

따라서, 분석 회피형 악성 앱을 탐지하기 위해서는 필연적으로 모바일 단말과 같은 실제 환경에서 행위 분석이 수행될 필요가 있다. 그러나, 행위 분석에 투입된 모바일 단말은 악성코드에 지속적으로 감염되어 단말의 수명이 현저하게 감소되며, 이에 따라 악성 앱 탐지에 소요되는 유지 보수 비용이 크게 증가하는 문제가 발생한다.Therefore, in order to detect an analysis evasion-type malicious app, inevitably, behavior analysis needs to be performed in a real environment such as a mobile terminal. However, the mobile terminal input to the behavior analysis is continuously infected by the malicious code, and the life of the terminal is significantly reduced, and accordingly, a maintenance cost for detecting a malicious app increases significantly.

이에 따라, 악성 앱 탐지 시 행위 분석에 투입되는 단말의 이용을 최소화함으로써, 악성 앱 탐지에 소요되는 유지 보수 비용을 절감할 수 있는 방법이 요구되고 있다.Accordingly, there is a need for a method capable of reducing maintenance costs required for detecting malicious apps by minimizing the use of a terminal input for behavior analysis when detecting malicious apps.

한국공개특허 제2013-0078278호Korean Patent Publication No. 2013-0078278

본 발명이 해결하고자 하는 기술적 과제는, 실제 운영 환경에서 악성 앱 탐지에 소요되는 유지 보수 비용을 절감할 수 있는 악성 앱 탐지 장치 및 그 장치의 동작 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to provide a malicious app detection device and a method of operating the device, which can reduce maintenance costs for detecting malicious apps in an actual operating environment.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 악성 앱 탐지 장치는, 기존 악성 앱에 대한 제1 행위 분석 결과와 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과이고 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 규칙 생성부 및 상기 생성된 결정 규칙에 기초하여 상기 분석 대상 앱의 행위 분석을 수행하도록 제어하는 행위 분석 제어부를 포함할 수 있다.In order to solve the above technical problem, the malicious app detection device according to an embodiment of the present invention analyzes the behavior of an app to be analyzed based on a difference between a first behavior analysis result and a second behavior analysis result for an existing malicious app Create a decision rule to determine whether to perform in the real environment, wherein the first behavior analysis result is the behavior analysis result for the existing malicious app performed in the virtual environment, and the second behavior analysis result is the existing behavior performed in the real environment It may include a behavior analysis control unit for controlling to perform behavior analysis of the analysis target app based on the rule generation unit and the generated decision rule, which is a result of behavior analysis for a malicious app.

일 실시예에서, 상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 API(application programming interface)에 관한 정보를 포함하되, 상기 규칙 생성부는, API 호출 횟수의 차이에 기초하여 상기 적어도 하나의 API 중에서 의심 API를 선정하고, 상기 의심 API에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성할 수 있다.In one embodiment, each of the first behavior analysis result and the second behavior analysis result includes information on at least one application programming interface (API) called from the existing malicious app, wherein the rule generation unit calls the API A suspect API may be selected from the at least one API based on a difference in the number of times, and a determination rule including conditions defined based on the suspect API may be generated.

일 실시예에서, 상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 시스템 콜(system call)에 관한 정보를 포함하되, 상기 규칙 생성부는, 시스템 콜 호출 횟수의 차이에 기초하여 상기 적어도 하나의 시스템 콜 중에서 의심 시스템 콜을 선정하고, 상기 의심 시스템 콜에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성할 수 있다.In one embodiment, each of the first behavior analysis result and the second behavior analysis result includes information on at least one system call called from the existing malicious app, wherein the rule generator is configured to perform a system call. A suspicious system call may be selected from the at least one system call based on a difference in the number of calls, and a decision rule including conditions defined based on the suspicious system call may be generated.

일 실시예에서, 상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 함수에 관한 정보를 포함하되, 상기 규칙 생성부는, 함수의 호출 횟수의 차이에 기초하여 상기 적어도 하나의 함수 중에서 의심 함수를 선정하고, 상기 의심 함수에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성하며, 상기 행위 분석 제어부는, 정적 분석을 통해 상기 분석 대상 앱의 소스 코드에 포함된 함수를 추출하는 함수 추출부 및 상기 추출된 함수가 상기 의심 함수에 기초하여 정의된 조건을 만족한다는 판정에 응답하여, 상기 분석 대상 앱의 행위 분석을 실제 환경에서 수행하도록 제어하는 규칙 기반 제어부를 포함할 수 있다.In one embodiment, each of the first behavior analysis result and the second behavior analysis result includes information about at least one function called from the existing malicious app, wherein the rule generation unit is configured to vary the number of times the function is called. A suspicious function is selected from the at least one function based on the selected function, and a decision rule including a condition defined based on the suspicious function is generated, and the behavior analysis control unit generates a source code of the analysis target app through static analysis. In response to a determination that the function extracting unit extracts the included function and the extracted function satisfies a condition defined based on the suspicious function, a rule-based control unit controlling to perform behavior analysis of the analysis target app in a real environment It may include.

상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 악성 앱 탐지 방법은, 악성 앱 탐지 장치에 의해 수행되는 악성 앱 탐지 방법에 있어서, 기존 악성 앱에 대한 제1 행위 분석 결과를 획득하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계, 상기 기존 악성 앱에 대한 제2 행위 분석 결과를 획득하되, 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계, 상기 제1 행위 분석 결과와 상기 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하는 단계 및 상기 생성된 결정 규칙에 기초하여 상기 분석 대상 앱에 대한 행위 분석을 수행하도록 제어하는 단계를 포함할 수 있다.The method for detecting a malicious app according to an embodiment of the present invention for solving the above-described technical problem, in a method for detecting a malicious app performed by the device for detecting a malicious app, obtains a first behavior analysis result for an existing malicious app, , The first behavior analysis result is a result of behavior analysis for the existing malicious app performed in a virtual environment, obtaining a second behavior analysis result for the existing malicious app, wherein the second behavior analysis result is Based on the difference between the first behavior analysis result and the second behavior analysis result, which is a result of behavior analysis for the existing malicious app performed in a real environment, behavior analysis of an analysis target app is performed in a real environment Generating a decision rule for determining whether to perform or not and controlling to perform an action analysis for the analysis target app based on the generated decision rule. Can do

상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 기존 악성 앱에 대한 제1 행위 분석 결과를 획득하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계, 상기 기존 악성 앱에 대한 제2 행위 분석 결과를 획득하되, 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계, 상기 제1 행위 분석 결과와 상기 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하는 단계 및 상기 생성된 결정 규칙에 기초하여 상기 분석 대상 앱에 대한 행위 분석을 수행하도록 제어하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.The computer program according to an embodiment of the present invention for solving the above technical problem is combined with a computing device to obtain a first behavior analysis result for an existing malicious app, wherein the first behavior analysis result is in a virtual environment. The step, which is a result of the behavior analysis for the existing malicious app, acquires a second behavior analysis result for the existing malicious app, and the second behavior analysis result is for the existing malicious app performed in a real environment. Generating a decision rule for determining whether to perform a behavior analysis of an analysis target app in a real environment, based on a difference between the first behavior analysis result and the second behavior analysis result, which is a behavior analysis result; and Computer-readable to execute the step of controlling to perform the behavior analysis for the analysis target app based on the generated decision rule It may be stored in recording media.

상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 악성 앱 탐지 시스템은, 가상 환경에서 분석 대상 앱에 대한 행위 분석을 수행하는 제1 행위 분석 장치, 실제 환경에서 상기 분석 대상 앱에 대한 행위 분석을 수행하는 제2 행위 분석 장치 및 상기 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하고, 상기 분석 대상 앱이 상기 생성된 결정 규칙을 만족한다는 판정에 응답하여, 상기 분석 대상 앱의 행위 분석을 상기 제2 행위 분석 장치를 통해 수행하도록 제어하는 행위 분석 제어 장치를 포함하되, 상기 행위 분석 제어 장치는, 가상 환경에서 수행된 기존 악성 앱에 대한 제1 행위 분석 결과와 실제 환경에서 수행된 상기 기존 악성 앱에 대한 제2 행위 분석 결과의 차이에 기초하여, 상기 결정 규칙을 생성할 수 있다.The malicious app detection system according to an embodiment of the present invention for solving the above-described technical problem is a first behavior analysis device that performs behavior analysis on an analysis target app in a virtual environment, for the analysis target app in a real environment In response to a determination that the second behavior analysis device for performing behavior analysis and a determination rule for determining whether to perform behavior analysis of the analysis target app in a real environment, and the analysis target app satisfies the generated decision rule, And a behavior analysis control device that controls the analysis of the app to be analyzed through the second behavior analysis device, wherein the behavior analysis control device is a first behavior analysis result for an existing malicious app performed in a virtual environment. Based on the difference between the results of the second behavior analysis for the existing malicious app performed in the real environment, the decision rule is generated. It can be accomplished.

도 1은 모바일 악성 코드 및/또는 모바일 악성 앱에 따른 보안 위협의 사례를 나타내는 도면이다.
도 2는 분석 회피형 악성 앱이 가상 환경을 탐지하는 예시적인 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 악성 앱 탐지 시스템의 구성도이다.
도 4은 본 발명의 일 실시예에 따른 행위 분석 제어 장치를 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 악성 앱 탐지 장치를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따라 악성 앱 탐지 장치가 결정 규칙을 생성하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 몇몇 실시예에서 참조될 수 있는 가상 환경 및 실제 환경에서의 행위 분석 결과를 나타내는 예시도이다.
도 8 및 도 9는 본 발명의 몇몇 실시예에서 참조될 수 있는 API 및 시스템 콜의 예시도이다.
도 10은 본 발명의 일 실시예에 따라 악성 앱 탐지 장치가 분석 대상 앱의 행위 분석을 제어하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 악성 앱 탐지 장치의 행위 분석 제어부를 나타내는 상세 블록도이다.
도 12은 본 발명의 다른 실시예에 따른 악성 앱 탐지 장치의 하드웨어 구성도이다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 결정 규칙 생성 방법을 나타내는 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 결정 규칙 기반의 행위 분석 제어 방법을 나타내는 흐름도이다.
도 16은 본 발명의 제1 실시예에 따른 결정 규칙 기반의 행위 분석 제어 방법을 나타내는 흐름도이다.
도 17은 본 발명의 제2 실시예에 따른 결정 규칙 기반의 행위 분석 제어 방법을 나타내는 흐름도이다.
도 18은 본 발명의 제3 실시예에 따른 결정 규칙 기반의 행위 분석 제어 방법을 나타내는 흐름도이다.
1 is a diagram illustrating an example of a security threat according to a mobile malicious code and / or a mobile malicious app.
FIG. 2 is a diagram for explaining an exemplary method in which an analysis evasion-type malicious app detects a virtual environment.
3 is a configuration diagram of a malicious app detection system according to an embodiment of the present invention.
4 is a block diagram illustrating an apparatus for controlling behavior analysis according to an embodiment of the present invention.
5 is a block diagram showing a malicious app detection device according to an embodiment of the present invention.
6 is a diagram for explaining a process of generating a decision rule by a malicious app detection device according to an embodiment of the present invention.
7 is an exemplary view showing a result of behavior analysis in a virtual environment and a real environment that can be referred to in some embodiments of the present invention.
8 and 9 are exemplary diagrams of API and system calls that may be referenced in some embodiments of the present invention.
10 is a diagram for explaining a process of controlling a behavior analysis of an app to be analyzed by a malicious app detection device according to an embodiment of the present invention.
11 is a detailed block diagram showing a behavior analysis control unit of a malicious app detection device according to an embodiment of the present invention.
12 is a hardware configuration diagram of a malicious app detection device according to another embodiment of the present invention.
13 and 14 are flowcharts illustrating a method for generating a decision rule according to an embodiment of the present invention.
15 is a flowchart illustrating a method for controlling behavior analysis based on a decision rule according to an embodiment of the present invention.
16 is a flowchart illustrating a method for controlling behavior analysis based on a decision rule according to the first embodiment of the present invention.
17 is a flowchart illustrating a method for controlling behavior analysis based on a decision rule according to a second embodiment of the present invention.
18 is a flowchart illustrating a method for controlling behavior analysis based on a decision rule according to a third embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to completely inform the person having the scope of the invention, and the present invention is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.It should be noted that in adding reference numerals to the components of each drawing, the same components have the same reference numerals as possible even though they are displayed on different drawings. In addition, in describing the present invention, when it is determined that detailed descriptions of related well-known structures or functions may obscure the subject matter of the present invention, detailed descriptions thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a sense that can be commonly understood by those skilled in the art to which the present invention pertains. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless specifically defined. The terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are only for distinguishing the component from other components, and the nature, order, or order of the component is not limited by the term. When a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected to or connected to the other component, but another component between each component It should be understood that elements may be "connected", "coupled" or "connected".

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and / or "comprising" refers to the components, steps, operations and / or elements mentioned above, the presence of one or more other components, steps, operations and / or elements. Or do not exclude additions.

본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description of the present specification, some terms used in the specification will be clarified.

본 명세서에서, 가상 환경이란, 앱의 실제 실행 환경과 유사한 가상의 실행 환경을 의미한다. 예를 들어, 가상 머신으로 구현된 실행 환경, 에뮬레이터 환경 등이 가상 환경에 포함될 수 있다. 보다 자세한 예를 들어, 대상 앱이 안드로이드에서 동작하는 모바일 앱인 경우, 가상 환경은 BlueStacks, GenyMotion, Andy, YouWave 등과 같이 안드로이드 에뮬레이터가 탑재된 실행 환경을 의미할 수 있다.In this specification, the virtual environment means a virtual execution environment similar to the actual execution environment of the app. For example, an execution environment implemented as a virtual machine, an emulator environment, and the like may be included in the virtual environment. For a more detailed example, if the target app is a mobile app running on Android, the virtual environment may mean an execution environment equipped with an Android emulator such as BlueStacks, GenyMotion, Andy, YouWave, and the like.

본 명세서에서, 실제 환경이란, 앱이 동작하는 실제 실행 환경을 의미한다. 예를 들어, 대상 앱이 안드로이드에서 동작하는 모바일 앱인 경우, 안드로이드가 탑재된 모바일 단말이 실제 환경에 포함될 수 있다.In the present specification, the actual environment means an actual execution environment in which the app operates. For example, when the target app is a mobile app running on Android, a mobile terminal equipped with Android may be included in a real environment.

본 명세서에서, 분석 회피형 악성 앱이란, 가상 환경에서 수행되는 행위 분석을 우회하도록 제작된 지능적인 악성 앱을 의미한다.In the present specification, the analysis-avoidance malicious app means an intelligent malicious app designed to bypass behavior analysis performed in a virtual environment.

본 명세서에서, 가상 환경 탐지 API(application programming interface)란, 분석 회피형 악성 앱이 가상 환경을 탐지하기 위해 이용하는 API를 의미한다. 예를 들어, 가상 환경 탐지 API는 가상 환경에서 실제 환경과 다른 값으로 설정되는 어느 하나의 속성 정보를 요청하는 API를 포함할 수 있다.In the present specification, the virtual environment detection application programming interface (API) means an API that an analysis evasion-type malicious app uses to detect the virtual environment. For example, the virtual environment detection API may include an API requesting any one attribute information set to a different value from the real environment in the virtual environment.

본 명세서에서, 페이크 정보란, 분석 회피형 악성 앱의 가상 환경 탐지 기능을 방지하기 위해 실제 환경을 모사한 값을 갖도록 설정된 정보를 의미한다.In the present specification, the fake information refers to information set to have a value that simulates a real environment in order to prevent a virtual environment detection function of an analysis evasion-type malicious app.

본 명세서에서, 인스트럭션(instruction)은 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.In the present specification, an instruction is a series of instructions grouped by function and refers to a component of a computer program and executed by a processor.

이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail according to the accompanying drawings.

도 3은 본 발명의 일 실시예에 따른 악성 앱 탐지 시스템의 구성도이다.3 is a configuration diagram of a malicious app detection system according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 악성 앱 탐지 시스템은 악성 앱 탐지 장치(100), 제1 행위 분석 장치(210) 및 제2 행위 분석 장치(230)를 포함할 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 3에 도시된 악성 앱 탐지 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 악성 앱 탐지 장치(100), 제1 행위 분석 장치(210) 및/또는 제2 행위 분석 장치(230)는 동일한 물리적 컴퓨팅 장치 내의 서로 다른 로직(logic)의 형태로 구현될 수도 있다.Referring to FIG. 3, a malicious app detection system according to an embodiment of the present invention may include a malicious app detection device 100, a first behavior analysis device 210 and a second behavior analysis device 230. However, this is only a preferred embodiment for achieving the object of the present invention, and of course, some components may be added or deleted as necessary. In addition, it is noted that each component of the malicious app detection system illustrated in FIG. 3 represents functionally divided functional elements, and at least one component may be implemented in an integrated form in a physical environment. For example, the malicious app detection device 100, the first behavior analysis device 210 and / or the second behavior analysis device 230 may be implemented in the form of different logic in the same physical computing device. .

상기 악성 앱 탐지 시스템에서, 악성 앱 탐지 장치(100)는 제1 행위 분석 장치(210) 및 제2 행위 분석 장치(230)를 이용하여 악성 앱을 탐지하는 컴퓨팅 장치이다. 예를 들어, 악성 앱 탐지 장치(100)는 앱 마켓 서버(300)로부터 분석 대상 앱을 수집하고, 제1 행위 분석 장치(210) 및 제2 행위 분석 장치(230)를 통해 분석 대상 앱에 대한 행위 분석을 수행함으로써, 악성 앱을 탐지할 수 있다. 단, 악성 앱 탐지 장치(100)는 앱 마켓 서버(300)외에도 다양한 경로를 통해 분석 대상 앱을 수집할 수 있다.In the malicious app detection system, the malicious app detection device 100 is a computing device that detects a malicious app using the first behavior analysis device 210 and the second behavior analysis device 230. For example, the malicious app detection device 100 collects an app to be analyzed from the app market server 300, and uses the first behavior analysis device 210 and the second behavior analysis device 230 for the app to be analyzed. By performing behavior analysis, it is possible to detect a malicious app. However, the malicious app detection device 100 may collect the app to be analyzed through various routes in addition to the app market server 300.

상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 한정되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다.The computing device may be a laptop, a desktop, a laptop, or the like, but is not limited thereto, and may include all types of devices equipped with computing functions.

본 발명의 실시예에 따르면, 악성 앱 탐지 장치(100)는 가상 환경에서 수행된 기존 악성 앱의 행위 분석 결과(이하, "제1 행위 분석 결과"로 칭하기로 함)와 실제 환경에서 수행된 기존 악성 앱의 행위 분석 결과(이하, "제2 행위 분석 결과"로 칭하기로 함)의 차이를 기초로 소정의 결정 규칙을 생성할 수 있다. 여기서, 상기 결정 규칙은 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 규칙 또는 분석 회피형 악성 앱으로 의심되는 분석 대상 앱을 탐지하기 위한 규칙으로 이해될 수 있다.According to an embodiment of the present invention, the malicious app detection device 100 performs an analysis result of an existing malicious app performed in a virtual environment (hereinafter referred to as a "first behavior analysis result") and an existing performed in a real environment. A predetermined decision rule may be generated based on a difference in a behavior analysis result of a malicious app (hereinafter, referred to as a “second behavior analysis result”). Here, the determination rule may be understood as a rule for determining whether to perform a behavior analysis of an analysis target app in a real environment or a rule for detecting an analysis target app suspected of an analysis evasion-type malicious app.

또한, 악성 앱 탐지 장치(100)는 분석 대상 앱의 특징이 결정 규칙을, 정확하게는 결정 규칙에 정의된 소정의 조건을, 만족한다는 판정에 응답하여 분석 대상 앱의 행위 분석을 실제 환경, 즉 제2 행위 분석 장치(230)를 통해, 수행하도록 제어할 수 있다. 이와 같은 실시예에 한하여, 악성 앱 탐지 장치(100)는 행위 분석 제어 장치(100)로 명명될 수도 있다. 본 실시예에 따르면, 분석 회피형 악성 앱으로 의심되는 일부의 분석 대상 앱에 대해서만 실제 환경에서 행위 분석이 수행된다. 따라서, 행위 분석에 투입되는 단말(e.g. 제2 행위 분석 장치 230)의 이용이 최소화될 수 있고, 이에 따라 실제 운영 환경에서 악성 앱 탐지 시스템에 소요되는 유지 보수 비용이 크게 절감될 수 있다. 악성 앱 탐지 장치(100)가 결정 규칙을 생성하고, 결정 규칙에 따라 행위 분석을 제어하는 과정에 대한 자세한 설명은 도 4 이하의 도면을 참조하여 상세하게 설명하도록 한다.In addition, the malicious app detection device 100 analyzes the behavior of the app under analysis in a real environment, that is, in response to a determination that the characteristic of the app under analysis satisfies the decision rule, and precisely the predetermined condition defined in the decision rule. 2 through the behavior analysis device 230, it can be controlled to perform. In this embodiment, the malicious app detection device 100 may be referred to as a behavior analysis control device 100. According to the present embodiment, behavior analysis is performed in a real environment only for a part of an app to be analyzed that is suspected of an analysis evasion-type malicious app. Therefore, the use of the terminal (e.g. second behavior analysis device 230) input to the behavior analysis can be minimized, and accordingly, the maintenance cost required for the malicious app detection system in the actual operating environment can be greatly reduced. The detailed description of the process in which the malicious app detection apparatus 100 generates a decision rule and controls the behavior analysis according to the decision rule will be described in detail with reference to the drawings illustrated in FIG. 4 and below.

상기 악성 앱 탐지 시스템에서, 제1 행위 분석 장치(210)는 가상 환경에서 분석 대상 앱에 대한 행위 분석을 수행하는 장치이다. 예를 들어, 제1 행위 분석 장치(210)는 안드로이드 환경이 구현된 에뮬레이터일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In the malicious app detection system, the first behavior analysis device 210 is a device that performs behavior analysis on an app to be analyzed in a virtual environment. For example, the first behavior analysis device 210 may be an emulator having an Android environment, but the scope of the present invention is not limited thereto.

상기 악성 앱 탐지 시스템에서, 제2 행위 분석 장치(230)는 실제 환경에서 분석 대상 앱에 대한 행위 분석을 수행하는 장치이다. 예를 들어, 제2 행위 분석 장치(230)는 스마트 폰(smart phone)과 같은 모바일 단말로 구현될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In the malicious app detection system, the second behavior analysis device 230 is a device that performs behavior analysis on an app to be analyzed in a real environment. For example, the second behavior analysis device 230 may be implemented as a mobile terminal such as a smart phone, but the scope of the present invention is not limited thereto.

도 3에 도시된 장치(100, 210, 230, 300)는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.The devices 100, 210, 230, and 300 shown in FIG. 3 may communicate through a network. Here, the network is a wired / wireless network of any kind, such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, a Wibro (Wireless Broadband Internet), and the like. Can be implemented.

지금까지 도 3을 참조하여 본 발명의 일 실시예에 따른 악성 앱 탐지 시스템에 대하여 설명하였다. 다음으로, 행위 분석 제어 장치(100) 또는 악성 앱 탐지 장치(100)의 구성 및 동작에 대하여 도 4 내지 도 12를 참조하여 설명한다.So far, a malicious app detection system according to an embodiment of the present invention has been described with reference to FIG. 3. Next, the configuration and operation of the behavior analysis control device 100 or the malicious app detection device 100 will be described with reference to FIGS. 4 to 12.

먼저, 도 4는 본 발명의 일 실시예에 따른 행위 분석 제어 장치(100)를 나타내는 블록도이다.First, FIG. 4 is a block diagram illustrating a behavior analysis control apparatus 100 according to an embodiment of the present invention.

도 4를 참조하면, 행위 분석 제어 장치(100)는 행위 분석 제어부(110) 및 규칙 생성부(130)를 포함할 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 4에 도시된 행위 분석 제어 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 4, the behavior analysis control device 100 may include a behavior analysis control unit 110 and a rule generation unit 130. However, only components related to the embodiment of the present invention are illustrated in FIG. 4. Therefore, it can be seen that a person skilled in the art to which the present invention pertains may include other general-purpose components in addition to the components shown in FIG. 4. In addition, each of the components of the behavior analysis control device 100 shown in FIG. 4 is functionally divided functional elements, and at least one component may be implemented in a form that is integrated with each other in an actual physical environment. Be careful.

각 구성 요소를 살펴보면, 행위 분석 제어부(110)는 결정 규칙에 기초하여 분석 대상 앱의 행위 분석이 수행되도록 제어한다. 일 예를 들어, 행위 분석 제어부(110)는 분석 대상 앱의 특징이 결정 규칙을 만족하지 않는다는 판정에 응답하여 제1 행위 분석 장치(210)를 통해 상기 분석 대상 앱의 행위 분석을 수행하도록 제어할 수 있다. 다른 예를 들어, 행위 분석 제어부(110)는 분석 대상 앱의 특징이 결정 규칙을 만족한다는 판정에 응답하여 제2 행위 분석 장치(230)를 통해 분석 대상 앱의 행위 분석을 수행하도록 제어할 수 있다. 또 다른 예를 들어, 행위 분석 제어부(110)는 디폴트로 제1 행위 분석 장치(210)를 통해 분석 대상 앱의 행위 분석을 수행하고, 상기 행위 분석에 따라 도출된 분석 대상 앱의 특징이 결정 규칙을 만족한다는 판정에 응답하여 제2 행위 분석 장치(230)를 통해 상기 분석 대상 앱의 행위 분석을 추가로 수행하도록 제어할 수 있다.Looking at each component, the behavior analysis control unit 110 controls the behavior analysis of the analysis target app to be performed based on the decision rule. For example, the behavior analysis control unit 110 may control to perform the behavior analysis of the analysis target app through the first behavior analysis device 210 in response to the determination that the feature of the analysis target app does not satisfy the determination rule. You can. For another example, the behavior analysis control unit 110 may control to perform the behavior analysis of the analysis target app through the second behavior analysis device 230 in response to the determination that the characteristics of the analysis target app satisfy the decision rule. . For another example, the behavior analysis control unit 110 performs behavior analysis of the analysis target app through the first behavior analysis device 210 by default, and the characteristic of the analysis target app derived according to the behavior analysis is determined rule In response to a determination that satisfies, the second behavior analysis device 230 may be used to further control the behavior analysis of the analysis target app.

또한, 결정 규칙 생성에 이용되는 제1 및 제2 행위 분석 결과를 획득하기 위해, 행위 분석 제어부(110)는 제1 및 제2 행위 분석 장치(210, 230)를 통해 기존 악성 앱의 행위 분석을 수행하도록 제어할 수 있다. 여기서, 상기 기존 악성 앱은 기존에 악성으로 판정된 앱을 의미하는 것으로, 분석 회피형 악성 앱을 포함하는 것이 바람직할 수 있다. 상기 제1 및 제2 행위 분석 결과는 규칙 생성부(130)로 제공될 수 있다.In addition, in order to obtain first and second behavior analysis results used to generate a decision rule, the behavior analysis control unit 110 analyzes behavior of the existing malicious app through the first and second behavior analysis devices 210 and 230. It can be controlled to perform. Here, the existing malicious app means an app that has been previously determined to be malicious, and it may be preferable to include an analysis-avoidance malicious app. The first and second behavior analysis results may be provided to the rule generator 130.

행위 분석 제어부(110)의 동작에 대한 보다 자세한 설명은 도 10 및 도 11을 참조하여 후술하도록 한다.A more detailed description of the operation of the behavior analysis control unit 110 will be described later with reference to FIGS. 10 and 11.

규칙 생성부(130)는 가상 환경에서 수행된 기존 악성 앱의 제1 행위 분석 결과와 실제 환경에서 수행된 기존 악성 앱의 제2 행위 분석 결과의 차이에 기초하여 소정의 결정 규칙을 생성한다. 상기 제1 및 제2 행위 분석 결과는 제1 행위 분석 장치(210) 및 제2 행위 분석 장치(230)를 통해 획득될 수 있고, 임의의 장치로부터 미리 수행된 분석 결과를 제공받을 수도 있다. 규칙 생성부(130)가 결정 규칙을 생성하는 과정에 대한 자세한 설명은 도 6 내지 도 9를 참조하여 상세하게 설명하도록 한다.The rule generation unit 130 generates a predetermined decision rule based on a difference between a first behavior analysis result of an existing malicious app performed in a virtual environment and a second behavior analysis result of an existing malicious app performed in a real environment. The first and second behavior analysis results may be obtained through the first behavior analysis device 210 and the second behavior analysis device 230, or may be provided with analysis results previously performed from an arbitrary device. A detailed description of the process of the rule generation unit 130 generating the decision rule will be described in detail with reference to FIGS. 6 to 9.

도 5는 본 발명의 일 실시예에 따른 악성 앱 탐지 장치(100)를 나타내는 블록도이다.5 is a block diagram showing a malicious app detection device 100 according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 악성 앱 탐지 장치(100)는 분석 대상 앱의 행위 분석을 제어하는 모듈(110, 130) 외에 분석 대상이 악성인지 여부를 판정하는 악성 판정부(190)를 더 포함할 수 있다.As shown in FIG. 5, the malicious app detection device 100 further includes a module 110 and 130 for controlling behavior analysis of the analysis target app, and a malicious determination unit 190 for determining whether the analysis target is malicious or not. can do.

또한, 실시예에 따라, 악성 앱 탐지 장치(100)는 제1 행위 분석부(150) 및/또는 제2 행위 분석부(170)를 더 포함하도록 구성될 수도 있다. 여기서, 제1 행위 분석부(150)는 제1 행위 분석 장치(210)에 대응되는 모듈이고, 제2 행위 분석부(170)는 제2 행위 분석 장치(230)에 대응되는 모듈로 이해될 수 있다. 이하에서는, 설명의 편의를 위해, 악성 앱 탐지 장치(100)가 각각의 분석 환경에서 행위 분석을 수행하는 모듈(150, 170)을 포함하도록 구현되었음을 가정하여 설명을 이어가도록 한다.In addition, according to an embodiment, the malicious app detection device 100 may be configured to further include a first behavior analysis unit 150 and / or a second behavior analysis unit 170. Here, the first behavior analysis unit 150 may be understood as a module corresponding to the first behavior analysis device 210, and the second behavior analysis unit 170 may be understood as a module corresponding to the second behavior analysis device 230. have. Hereinafter, for convenience of description, it will be assumed that the malicious app detection device 100 is implemented to include modules 150 and 170 for performing behavior analysis in each analysis environment.

도 4 및 도 5에 도시된 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.Each component illustrated in FIGS. 4 and 5 may mean software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the above components are not limited to software or hardware, and may be configured to be in an addressable storage medium, or may be configured to execute one or more processors. The functions provided in the above components may be implemented by more detailed components, or may be implemented as a single component that performs a specific function by combining a plurality of components.

이하에서는, 도 6 내지 도 9를 참조하여 악성 앱 탐지 장치(100)가 결정 규칙을 생성하는 과정에 대하여 상세하게 설명하도록 한다.Hereinafter, a process of generating a decision rule by the malicious app detection device 100 will be described in detail with reference to FIGS. 6 to 9.

도 6을 참조하면, 상기 결정 규칙을 생성하는 과정은 기존 악성 앱에 대한 제1 행위 분석 결과와 제2 행위 분석 결과를 획득하는 과정에서부터 시작된다. 예를 들어, 규칙 생성부(130)는 제1 행위 분석부(150) 및 제2 행위 분석부(170)에서 수행된 기존 악성 앱에 대한 제1 행위 분석 결과 및 제2 행위 분석 결과를 획득할 수 있다(①, ②).Referring to FIG. 6, the process of generating the decision rule starts from a process of acquiring a first behavior analysis result and a second behavior analysis result for an existing malicious app. For example, the rule generation unit 130 may obtain a first behavior analysis result and a second behavior analysis result for an existing malicious app performed by the first behavior analysis unit 150 and the second behavior analysis unit 170. Can (①, ②).

다음으로, 규칙 생성부(130)는 제1 행위 분석 결과 및 제2 행위 분석 결과의 차이에 기초하여 결정 규칙을 생성하고, 생성된 결정 규칙을 행위 분석 제어부(110)로 제공한다(③).Next, the rule generation unit 130 generates a decision rule based on the difference between the first behavior analysis result and the second behavior analysis result, and provides the generated decision rule to the behavior analysis control unit 110 (③).

결정 규칙을 생성하는 방법에 대하여 구체적으로 살펴보면, 상기 제1 행위 분석 결과 및 제2 행위 분석 결과는 기존 악성 앱에서 호출된 API(application programming interface) 및/또는 시스템 콜(system call)에 관한 정보를 포함하고, 규칙 생성부(130)는 상기 API 및/또는 시스템 콜에 관한 정보를 이용하여 결정 규칙을 생성할 수 있다. 이때, 상기 API 및/또는 시스템 콜에 관한 정보는 API/시스템 콜의 호출 횟수, 호출 순서, 호출 인자 등을 포함할 수 있다.Looking specifically at the method for generating a decision rule, the first behavior analysis result and the second behavior analysis result include information on an application programming interface (API) and / or a system call called from an existing malicious app. Including, the rule generation unit 130 may generate a decision rule using the information on the API and / or system call. At this time, the information about the API and / or system call may include the number of calls of the API / system call, the order of calls, and call parameters.

상기 API는 예를 들어 플랫폼 사업자가 제공하는 API 등과 같이 모든 종류의 API를 포함할 수 있다. 또한, 상기 API는 시스템 콜을 호출하지 않는 API 및/또는 결과적으로 시스템 콜을 호출하는 API를 포함할 수 있다. 안드로이드 앱에서 이용되는 API에 대한 예는 도 8을 참조하도록 한다.The API may include all kinds of APIs, for example, APIs provided by platform operators. In addition, the API may include an API that does not call a system call and / or an API that results in a system call. For an example of the API used in the Android app, refer to FIG. 8.

상기 시스템 콜은 도 9에 도시된 바와 같이 파일 시스템, 메모리, 프로세스, 네트워크 행위 등에 관련된 모든 종류의 시스템 콜을 포함할 수 있다. 상기 시스템 콜에 대한 예는 도 9를 참조하도록 한다.The system call may include all kinds of system calls related to file system, memory, process, network activity, etc. as shown in FIG. 9. For an example of the system call, refer to FIG. 9.

규칙 생성부(130)는 아래의 몇몇 실시예들에 따라 결정 규칙을 생성할 수 있다.The rule generator 130 may generate a decision rule according to some embodiments below.

제1 실시예에서, 규칙 생성부(130)는 API 호출 횟수의 차이에 기초하여 기존 악성 앱에서 호출된 적어도 하나의 API 중에서 의심 API를 선정하고, 상기 의심 API에 기초하여 결정 규칙을 생성한다. 특정 API가 실제 환경에서 더 많이 호출된다면, 상기 특정 API는 분석 회피형 악성 앱에서 주로 이용되는 API일 가능성이 높으므로, 상기 특정 API를 행위 분석 환경의 결정 조건으로 이용하는 것이다.In the first embodiment, the rule generation unit 130 selects a suspected API from at least one API called from the existing malicious app based on a difference in the number of API calls, and generates a decision rule based on the suspected API. If a specific API is called more in a real environment, the specific API is likely to be an API mainly used in an analysis evasion-type malicious app, so the specific API is used as a decision condition of the behavior analysis environment.

예를 들어, 도 7에 도시된 바와 같이, 실제 환경에서 제1 API의 호출 횟수(403)와 가상 환경에서 상기 제1 API의 호출 횟수(401)의 차이(405)가 소정의 임계 수치 이상인 경우, 상기 제1 API는 의심 API로 선정될 수 있다.For example, as shown in FIG. 7, when the difference 405 between the number of calls 403 of the first API in the real environment and the number of calls of the first API 401 in the virtual environment is 405 or more. , The first API may be selected as a suspect API.

제1-1 실시예에서, 규칙 생성부(130)는 API 호출 순서의 차이를 더 고려하여 의심 API를 선정할 수 있다. 예를 들어, API의 호출 횟수의 차이가 임계 수치 미만이라고 하더라도, 실제 환경에서 호출 순서가 달라지는 경우, 규칙 생성부(130)는 해당 API를 의심 API로 선정할 수 있다.In the first-first embodiment, the rule generator 130 may select a suspect API by further considering a difference in the order of API calls. For example, even if the difference in the number of API calls is less than a threshold value, if the call order is different in a real environment, the rule generator 130 may select the API as a suspect API.

제1-2 실시예에서, 규칙 생성부(130)는 API 호출 인자의 차이를 더 고려하여 의심 API를 선정할 수 있다. 예를 들어, API의 호출 횟수의 차이가 임계 수치 미만이라고 하더라도, API의 호출 인자(즉, 파라미터의 값)가 달라지는 경우, 규칙 생성부(130)는 해당 API를 의심 API로 선정할 수 있다.In the embodiment 1-2, the rule generation unit 130 may select the suspect API by further considering differences in API call factors. For example, even if the difference in the number of API calls is less than a threshold value, if the API's call factor (that is, the parameter value) is changed, the rule generator 130 may select the API as a suspect API.

제1-3 실시예에서, 규칙 생성부(130)는 상기 제1-1 실시예 및 상기 제1-2 실시예의 조합에 의해 의심 API를 선정할 수 있다.In the first-3 embodiment, the rule generator 130 may select a suspect API by a combination of the first-first embodiment and the first-second embodiment.

전술한 실시예에 따라 의심 API가 선정되면, 규칙 생성부(130)는 상기 의심 API에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성한다. 상기 결정 규칙의 조건은 분석 대상 앱에 포함된 의심 API의 개수, 의심 API의 종류, 의심 API의 호출횟수, 전체 API 대비 의심 API가 차지하는 비중 등에 기초한 다양한 조건을 포함할 수 있다.When a suspect API is selected according to the above-described embodiment, the rule generation unit 130 generates a decision rule including conditions defined based on the suspect API. The conditions of the determination rule may include various conditions based on the number of suspected APIs included in the app to be analyzed, the type of suspected APIs, the number of calls of the suspected APIs, and the weight of the suspected APIs compared to the entire API.

구체적인 예를 들어, 상기 결정 규칙은 분석 대상 앱에 특정 개수 이상의 의심 API가 포함된 경우 실제 환경에서 행위 분석을 수행하는 제1 결정 규칙, 분석 대상 앱에서 특정 횟수 이상의 의심 API가 호출된 경우 실제 환경에서 행위 분석을 수행하는 제2 결정 규칙 등을 포함할 수 있다. 또는, 상기 결정 규칙은 의심 API를 기초로 산정된 분석 대상 앱의 의심 지수(즉, 분석 회피형 악성 앱으로 의심되는 정도)가 특정 수치 이상인 경우, 실제 환경에서 행위 분석을 수행하는 제3 결정 규칙 등을 포함할 수 있다.For a specific example, the determination rule is a first determination rule for performing behavior analysis in a real environment when a certain number of suspected APIs are included in an app to be analyzed, a real environment when a suspected API is called a certain number of times or more in a real environment It may include a second decision rule to perform the behavior analysis. Alternatively, the determination rule is a third determination rule that performs behavioral analysis in a real environment when a suspected index (ie, the degree of suspicion of an analysis evasion-type malicious app) is greater than a certain value calculated based on a suspected API. It may include.

상기 제3 결정 규칙에서, 각 의심 API 별로 서로 다른 의심 지수 및/또는 서로 다른 가중치가 부여될 수 있다. 예를 들어, 기존 악성 앱에서 도출된 행위 분석 결과의 차이(e.g. 호출횟수 차이, 호출 순서의 차이, 호출 인자의 차이)가 큰 의심 API에 더 높은 의심 지수 및/또는 가중치가 부여될 수 있다. 또는, 의심 API 중에서 네트워크 행위와 관련된 의심 API에 더 높은 의심 지수 및/또는 가중치가 부여될 수 있다. 네트워크 행위 관련 API는 개인 정보 유출 등과 같은 심각한 보안 위협을 야기할 수 있기 때문이다.In the third decision rule, different doubt indices and / or different weights may be assigned to each suspect API. For example, a higher suspicion index and / or weight may be assigned to a suspicious API having a large difference in a result of behavior analysis (e.g., a difference in the number of calls, a difference in a call sequence, and a difference in a call factor) derived from an existing malicious app. Alternatively, a higher suspicion index and / or weight may be assigned to a suspicious API related to network behavior among suspicious APIs. This is because network-related APIs can cause serious security threats such as personal information leakage.

상기 제3 결정 규칙이 적용되는 경우, 의심 API가 분석 대상 앱에서 출현한 정도에 기초하여 의심 API 별로 의심 지수가 산정되고(e.g. 해당 의심 API의 의심 지수 x 호출 횟수), 의심 API 별로 산정된 의심 지수의 가중치 합에 따라 총 의심 지수가 산정될 수 있으며, 상기 총 의심지수가 임계 수치 이상인 경우, 실제 환경에서 행위 분석이 수행될 수 있다.When the third decision rule is applied, a suspicious index is calculated for each suspicious API based on the degree to which the suspicious API appeared in the app to be analyzed (eg suspicious index of the suspicious API x number of calls), and the suspicious calculated for each suspicious API The total suspected index may be calculated according to the sum of the weights of the index, and when the total suspected index is greater than or equal to a threshold, behavior analysis may be performed in a real environment.

전술한 결정 규칙 외에도 다양한 결정 규칙이 생성될 수 있으며, 이는 실시예에 따라 얼마든지 달라질 수 있다.In addition to the above-described decision rules, various decision rules may be generated, which may vary depending on the embodiment.

제2 실시예에서, 규칙 생성부(130)는 시스템 콜 호출 횟수의 차이에 기초하여 기존 악성 앱에서 호출된 적어도 하나의 시스템 콜 중에서 의심 시스템 콜을 선정하고, 상기 의심 시스템 콜에 기초하여 결정 규칙을 생성한다. 또한, 전술한 제1-1 내지 제1-3 실시예와 유사한 방식으로 의심 시스템 콜이 선정될 수도 있다.In the second embodiment, the rule generation unit 130 selects a suspicious system call from at least one system call called from an existing malicious app based on a difference in the number of system call calls, and a decision rule based on the suspicious system call Produces In addition, a suspicious system call may be selected in a similar manner to the above-described embodiments 1-1 to 1-3.

의심 시스템 콜이 선정되면, 규칙 생성부(130)는 상기 의심 시스템 콜에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성한다. 상기 결정 규칙의 조건은 분석 대상 앱에 포함된 의심 시스템 콜의 개수, 의심 시스템 콜의 종류, 의심 시스템 콜의 호출횟수, 전체 시스템 콜 대비 의심 시스템 콜이 차지하는 비중 등에 기초한 다양한 조건을 포함할 수 있다.When a suspicious system call is selected, the rule generation unit 130 generates a decision rule including conditions defined based on the suspicious system call. The conditions of the decision rule may include various conditions based on the number of suspicious system calls included in the app to be analyzed, the type of suspicious system calls, the number of suspicious system calls, and the proportion of suspicious system calls to the total system calls. .

구체적인 예를 들어, 상기 결정 규칙은 상기 의심 시스템 콜의 출현 정도에 따라 산정된 의심 지수에 기초하여 정의된 조건을 포함할 수 있다. 이때, 상기 의심 지수는, 네트워크 행위에 관한 제1 의심 시스템 콜의 출현 정도에 따라 산정된 제1 의심 지수와 다른 행위에 관한 제2 의심 시스템 콜의 출현 정도에 따라 산정된 제2 의심 지수의 가중치 합으로 결정될 수 있고, 상기 제1 의심 지수에 상기 제2 의심 지수보다 더 높은 가중치가 부여될 수 있다. 네트워크 행위 관련 시스템 콜이 악성 앱에서 이용되는 경우, 개인 정보 유출 등과 같이 더 심각한 보안 위협을 야기할 수 있기 때문이다.For a specific example, the determination rule may include conditions defined based on a suspicion index calculated according to the appearance of the suspicion system call. At this time, the suspicion index is a weight of the first suspicion index calculated according to the appearance of the first suspicious system call related to the network activity and the second suspicion index calculated according to the appearance of the second suspicious system call related to the other behavior It may be determined as a sum, and the first doubt index may be assigned a higher weight than the second doubt index. This is because when system-related system calls are used in malicious apps, they can cause more serious security threats such as personal information leakage.

상기 의심 시스템 콜에 기초한 결정 규칙을 생성하는 방법은 의심 API에 기초한 결정 규칙을 생성하는 바와 유사하므로, 더 이상의 설명은 생략하도록 한다.The method for generating a decision rule based on the suspicious system call is similar to generating a decision rule based on the suspect API, and thus, further description will be omitted.

제3 실시예에서, 규칙 생성부(130)는 함수 호출 횟수의 차이에 기초하여 기존 악성 앱에서 호출된 적어도 하나의 함수 중에서 의심 함수를 선정하고, 상기 의심 함수에 기초하여 결정 규칙을 생성한다. 이때, 상기 함수는 API 및 시스템 콜을 포괄하는 개념으로 이해될 수 있다. 상기 의심 함수에 기초한 결정 규칙을 생성하는 방법은 의심 API 또는 의심 시스템 콜에 기초한 결정 규칙을 생성하는 바와 유사하므로, 더 이상의 설명은 생략하도록 한다.In the third embodiment, the rule generation unit 130 selects a suspect function from at least one function called from the existing malicious app based on a difference in the number of function calls, and generates a decision rule based on the suspect function. In this case, the function may be understood as a concept encompassing API and system calls. The method for generating a decision rule based on the suspicious function is similar to generating a decision rule based on a suspect API or a suspicious system call, so further description will be omitted.

한편, 본 발명의 실시예에 따르면, 가상 환경에서 수행된 기존 앱의 행위 분석 결과를 가리키는 제1 행위 분석 결과는 상기 기존 악성 앱의 가상 환경 탐지 API의 호출을 감지하는 제1 과정 및 상기 호출의 감지에 응답하여 페이크 정보를 반환하는 제2 과정을 통해 도출된 행위 분석 결과일 수 있다. 이때, 상기 가상 환경 탐지 API는 가상 환경에서 실제 환경과 다르게 설정되는 정보를 요청하는 API이고, 상기 페이크 정보는 상기 기존 악성 앱의 가상 환경 탐지를 방지하기 위해 실제 환경을 모사한 값을 갖도록 설정된 정보를 의미한다. 상기 제1 과정 및 상기 제2 과정을 통해 가상 환경에서 행위 분석이 수행되는 경우, 일부 분석 회피형 악성 앱의 가상 환경 탐지 기능이 무력화될 수 있다. 이에 따라, 상기 일부 분석 회피형 악성 앱은 가상 환경과 실제 환경에서 동일한 악성 행위를 수행하게 되고, 행위 분석 결과의 차이가 크게 나타나지 않게 된다. 본 실시예에 따르면, 기존 악성 앱 중에서 페이크 정보를 통해 가상 환경 탐지 기능이 무력화될 수 없는 일부 분석 회피형 악성 앱과 관련된 함수만이 의심 함수로 선정된다. 따라서, 실제 단말에서 행위 분석이 수행되는 횟수가 더욱 감소될 수 있고, 이에 따라 악성 앱 탐지의 정확도는 보장되면서 악성 앱 탐지에 소요되는 유지 보수 비용은 더욱 절감될 수 있다.Meanwhile, according to an embodiment of the present invention, a first behavior analysis result indicating a behavior analysis result of an existing app performed in a virtual environment includes a first process of detecting a virtual environment detection API call of the existing malicious app and the call It may be a result of behavior analysis derived through a second process of returning fake information in response to detection. At this time, the virtual environment detection API is an API that requests information that is set differently from the real environment in the virtual environment, and the fake information is information set to have a value that simulates the real environment to prevent detection of the virtual environment of the existing malicious app. Means When behavior analysis is performed in a virtual environment through the first process and the second process, the virtual environment detection function of some analysis evasion-type malicious apps may be neutralized. Accordingly, some of the analytic evasion-type malicious apps perform the same malicious behavior in the virtual environment and the real environment, and the difference in the behavior analysis results is not large. According to this embodiment, only functions related to some analysis evasion-type malicious apps in which the virtual environment detection function cannot be neutralized through fake information among the existing malicious apps are selected as suspect functions. Therefore, the number of times the behavior analysis is performed in the actual terminal can be further reduced, and accordingly, the accuracy of the malicious app detection is guaranteed, and the maintenance cost required for the malicious app detection can be further reduced.

지금까지, 도 6 내지 도 9를 참조하여 악성 앱 탐지 장치(100)가 결정 규칙을 생성하는 과정에 대하여 설명하였다. 이하에서는, 도 10 내지 도 11을 참조하여 악성 앱 탐지 장치(100)가 결정 규칙에 기초하여 분석 대상 앱에 대한 행위 분석을 제어하는 과정에 대하여 상세하게 설명하도록 한다.So far, with reference to FIGS. 6 to 9, the process of generating the decision rule by the malicious app detection device 100 has been described. Hereinafter, with reference to FIGS. 10 to 11, the process of controlling the behavior analysis of the app to be analyzed by the malicious app detection device 100 based on the decision rule will be described in detail.

도 10을 참조하면, 상기 행위 분석을 제어하는 과정은 행위 분석 제어부(110)가 분석 대상 앱을 입력 받는 과정에서 시작된다(①). 다음으로, 행위 분석 제어부(110)는 기 생성된 결정 규칙에 기초하여 제1 행위 분석부(150) 및/또는 제2 행위 분석부(170)를 통해 행위 분석을 수행하도록 제어한다(②, ③), 예를 들어, 분석 대상 앱의 특징(e.g. 소스 코드에 의심 API/의심 시스템 콜이 출현한 정도, 실제로 의심 API/의심 시스템 콜이 호출된 정도 등)이 결정 규칙을 만족한다는 판정에 응답하여, 행위 분석 제어부(110)는 제2 행위 분석부(170)를 통해 분석 대상 앱의 행위 분석을 수행하도록 제어할 수 있다. 다음으로, 악성 판정부(190)는 분석 대상 앱의 행위 분석 결과를 제공 받고(④), 행위 분석 결과에 기초하여 분석 대상 앱이 악성인지 여부를 판정한다.Referring to FIG. 10, the process of controlling the behavior analysis starts in a process in which the behavior analysis control unit 110 receives an analysis target app (①). Next, the behavior analysis control unit 110 controls to perform the behavior analysis through the first behavior analysis unit 150 and / or the second behavior analysis unit 170 based on the previously generated decision rule (②, ③). ), For example, in response to a determination that the characteristics of the app under analysis (eg, the extent to which a suspected API / suspicious system call has appeared in the source code, the extent to which a suspicious API / suspicious system call has actually been invoked) satisfies the decision rule , The behavior analysis control unit 110 may control to perform behavior analysis of an analysis target app through the second behavior analysis unit 170. Next, the malicious determination unit 190 receives the result of the behavior analysis of the analysis target app (④), and determines whether the analysis target app is malicious based on the behavior analysis result.

행위 분석을 제어하는 과정에 대하여 보다 구체적으로 살펴보면, 행위 분석 제어부(110)는 아래의 몇몇 실시예들에 따라 분석 대상 앱의 행위 분석을 제어할 수 있다.Looking in more detail about the process of controlling the behavior analysis, the behavior analysis control unit 110 may control behavior analysis of the analysis target app according to some embodiments below.

제1 실시예에서, 행위 분석 제어부(110)는 분석 대상 앱의 정적 분석을 통해 상기 분석 대상 앱의 소스 코드에 포함된 함수를 추출하고, 상기 추출된 함수가 상기 의심 함수에 기초하여 정의된 조건을 만족한다는 판정에 응답하여, 상기 분석 대상 앱의 행위 분석을 실제 환경에서 수행하도록 제어할 수 있다. 이를 위해, 행위 분석 제어부(110)는 도 11에 도시된 바와 같이 소스 코드에 포함된 함수를 추출하는 함수 추출부(111)와 결정 규칙에 따라 행위 분석을 제어하는 규칙 기반 제어부(113)를 포함하도록 구성될 수 있다.In the first embodiment, the behavior analysis control unit 110 extracts a function included in the source code of the analysis target app through static analysis of the analysis target app, and the extracted function is a condition defined based on the suspect function In response to the determination that it satisfies, it may be controlled to perform behavior analysis of the analysis target app in a real environment. To this end, the behavior analysis control unit 110 includes a function extraction unit 111 for extracting a function included in the source code and a rule-based control unit 113 for controlling behavior analysis according to a decision rule, as shown in FIG. 11. It can be configured to.

제2 실시예에서, 행위 분석 제어부(110)는 디폴트로 제1 행위 분석부(150)를 통해 가상 환경에서 분석 대상 앱의 행위 분석을 수행하도록 제어할 수 있다. 다음으로, 행위 분석 제어부(110)는 가상 환경에서의 행위 분석의 결과로 분석 대상 앱에서 호출된 함수에 관한 정보(e.g. 호출된 함수의 목록, 호출횟수 등)를 획득하고, 상기 획득된 정보가 결정 규칙을 만족한다는 판정에 응답하여, 제2 행위 분석부(170)를 통해 실제 환경에서 분석 대상 앱의 행위 분석을 추가로 수행하도록 제어한다.In the second embodiment, the behavior analysis control unit 110 may control to perform behavior analysis of an analysis target app in a virtual environment through the first behavior analysis unit 150 by default. Next, the behavior analysis control unit 110 obtains information (eg, a list of functions that are called, the number of calls, etc.) about the function called from the analysis target app as a result of behavior analysis in the virtual environment, and the obtained information is In response to the determination that the decision rule is satisfied, the second behavior analysis unit 170 controls to perform the behavior analysis of the analysis target app in the real environment.

제3 실시예에서, 함수 추출부(111)는 정적 분석을 통해 소스 코드에 포함된 함수를 추출하고, 행위 분석 제어부(110)는 제1 행위 분석부(150)를 통해 가상 환경에서 분석 대상 앱의 행위 분석을 수행하도록 제어할 수 있다. 다음으로, 도 11에 도시된 바와 같이, 함수 추출부(111)는 가상 환경에서의 행위 분석의 결과로 분석 대상 앱에서 호출된 함수에 관한 정보(e.g. 호출된 함수의 목록, 호출횟수 등)를 획득하고, 획득된 함수의 목록을 이용하여 상기 소스 코드에 포함된 함수 중 행위 분석 동안 호출되지 않은 함수를 추출할 수 있다. 그러면, 규칙 기반 제어부(113)는 상기 호출되지 않은 함수가 결정 규칙을 만족하는지 판정하고, 상기 결정 규칙을 만족한다는 판정에 응답하여 제2 행위 분석부(170)를 통해 실제 환경에서 분석 대상 앱의 행위 분석을 추가로 수행하도록 제어할 수 있다.In the third embodiment, the function extraction unit 111 extracts a function included in the source code through static analysis, and the behavior analysis control unit 110 analyzes the app in the virtual environment through the first behavior analysis unit 150 It can be controlled to perform the behavior analysis of. Next, as shown in FIG. 11, the function extracting unit 111 displays information (eg, a list of functions called, the number of calls, etc.) of functions called from an analysis target app as a result of behavior analysis in a virtual environment. Acquiring and extracting a function that is not called during behavior analysis among functions included in the source code may be extracted using a list of acquired functions. Then, the rule-based control unit 113 determines whether the uncalled function satisfies the decision rule, and responds to the determination that the decision rule is satisfied, through the second behavior analysis unit 170 to analyze the app to be analyzed in the real environment. It can be controlled to perform additional behavior analysis.

상기 제1 실시예 내지 제3 실시예에서, 실제 환경에서 행위 분석이 수행되면, 악성 판정부(190)는 실제 환경에서의 행위 분석 결과에 기초하여 상기 분석 대상 앱이 악성인지 여부를 판정할 수 있다.In the first to third embodiments, when the behavior analysis is performed in the real environment, the malicious determination unit 190 may determine whether the app to be analyzed is malicious or not based on the result of the behavior analysis in the real environment. have.

상기 제1 실시예 내지 제3 실시예에 따르면, 분석 대상 앱 중에서 의심 함수에 기초하여 정의된 조건을 만족하는 일부 분석 대상 앱에 대해서만 실제 환경에서 행위 분석이 수행된다. 따라서, 행위 분석에 투입되는 실제 단말의 이용이 최소화될 수 있으며, 이에 따라 실제 운영 환경에서 악성 앱 탐지에 소요되는 유지 보수 비용이 크게 절감될 수 있다.According to the first to third embodiments, behavior analysis is performed in a real environment only for some analysis target apps that satisfy a condition defined based on a suspect function among the analysis target apps. Therefore, the use of an actual terminal input for behavior analysis can be minimized, and accordingly, maintenance costs for detecting malicious apps in a real operating environment can be greatly reduced.

지금까지, 도 10 및 도 11을 참조하여, 악성 앱 탐지 장치(100)가 결정 규칙에 기초하여 분석 대상 앱에 대한 행위 분석을 제어하는 과정에 대하여 설명하였다. 이하에서는, 본 발명의 다른 실시예에 따른 악성 앱 탐지 장치(100)에 대하여 설명하도록 한다.So far, with reference to FIGS. 10 and 11, a process in which the malicious app detection device 100 controls behavior analysis for an app to be analyzed based on a decision rule has been described. Hereinafter, a malicious app detection device 100 according to another embodiment of the present invention will be described.

도 12는 본 발명의 다른 실시예에 따른 악성 앱 탐지 장치(100)의 하드웨어 구성도이다.12 is a hardware configuration diagram of a malicious app detection device 100 according to another embodiment of the present invention.

도 12를 참조하면, 악성 앱 탐지 장치(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 악성 앱 탐지 소프트웨어(109a) 및 결정 규칙(109b)을 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 12에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 12에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 12, the malicious app detection apparatus 100 includes a memory for loading a computer program performed by one or more processors 101, a bus 105, a network interface 107, and a processor 101 ( 103) and a storage 109 for storing the malicious app detection software 109a and the decision rule 109b. However, only components related to the embodiment of the present invention are illustrated in FIG. 12. Therefore, it can be seen that a person skilled in the art to which the present invention belongs may include other general-purpose components other than those shown in FIG. 12.

프로세서(101)는 악성 앱 탐지 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 악성 앱 탐지 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.The processor 101 controls the overall operation of each component of the malicious app detection device 100. The processor 101 comprises a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit) or any type of processor well known in the art of the present invention. Can be. Further, the processor 101 may perform operations on at least one application or program for executing the method according to embodiments of the present invention. The malicious app detection device 100 may include one or more processors.

메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 악성 앱 탐지 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 12에서 메모리(103)의 예시로 RAM이 도시되었다.The memory 103 stores various data, commands and / or information. The memory 103 may load one or more programs 109a from the storage 109 in order to execute a malicious app detection method according to embodiments of the present invention. In Fig. 12, RAM is illustrated as an example of the memory 103.

버스(105)는 악성 앱 탐지 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus),데이터 버스(Data Bus)및 제어 버스(Control Bus)등 다양한 형태의 버스로 구현될 수 있다.The bus 105 provides a communication function between components of the malicious app detection device 100. The bus 105 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

네트워크 인터페이스(107)는 악성 앱 탐지 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 107 supports wired and wireless Internet communication of the malicious app detection device 100. In addition, the network interface 107 may support various communication methods other than Internet communication. To this end, the network interface 107 may include a communication module well known in the technical field of the present invention.

스토리지(109)는 상기 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 12에서 상기 하나 이상의 프로그램(109a)의 예시로 악성 앱 탐지 소프트웨어(109a)가 도시되었다.The storage 109 may store the one or more programs 109a non-temporarily. In FIG. 12, malicious app detection software 109a is illustrated as an example of the one or more programs 109a.

스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 109 is a non-volatile memory such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EPMROM), a flash memory, a hard disk, a removable disk, or well in the art. And any known form of computer-readable recording media.

악성 앱 탐지 소프트웨어(109a)는 메모리(103)에 로드되어 프로세서(101)로 하여금 본 발명의 실시예에 따른 악성 앱 탐지 방법을 수행하도록 하는 인스트럭션들(instructions)을 포함할 수 있다.The malicious app detection software 109a may include instructions loaded in the memory 103 to cause the processor 101 to perform a malicious app detection method according to an embodiment of the present invention.

예를 들어, 악성 앱 탐지 소프트웨어(109a)는 프로세서(101)로 하여금 기존 악성 앱에 대한 제1 행위 분석 결과를 획득하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 동작, 상기 기존 악성 앱에 대한 제2 행위 분석 결과를 획득하되, 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 동작, 상기 제1 행위 분석 결과와 상기 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석이 실제 환경에서 수행될지 여부를 판정하는 결정 규칙을 생성하는 동작 및 상기 생성된 결정 규칙에 기초하여 상기 분석 대상 앱의 행위 분석을 수행하도록 제어하는 동작을 수행하는 인스트럭션들을 포함할 수 있다.For example, the malicious app detection software 109a causes the processor 101 to obtain a first behavior analysis result for an existing malicious app, wherein the first behavior analysis result is for the existing malicious app performed in a virtual environment. An action that is a result of behavior analysis, and obtains a second behavior analysis result for the existing malicious app, wherein the second behavior analysis result is a behavior analysis result for the existing malicious app performed in an actual environment. Based on the difference between the first behavior analysis result and the second behavior analysis result, an operation of generating a decision rule to determine whether behavior analysis of an app to be analyzed is performed in a real environment and based on the generated decision rule By doing so may include instructions for performing an operation to control to perform the behavior analysis of the analysis target app.

지금까지, 도 4 내지 도 12를 참조하여 본 발명의 몇몇 실시예들에 따른 악성 앱 탐지 장치(100)의 구성 및 동작에 대하여 설명하였다. 이하에서는, 본 발명의 실시예에 따른 악성 앱 탐지 방법에 대하여 설명하도록 한다.So far, the configuration and operation of the malicious app detection apparatus 100 according to some embodiments of the present invention have been described with reference to FIGS. 4 to 12. Hereinafter, a method for detecting a malicious app according to an embodiment of the present invention will be described.

이하에서 후술될 본 발명의 실시예에 따른 악성 앱 탐지 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 악성 앱 탐지 장치(100) 또는 행위 분석 제어 장치(100)일 수 있다. 다만, 설명의 편의를 위해, 상기 악성 앱 탐지 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 악성 앱 탐지 방법의 각 단계는 프로세서에 의해 실행되는 컴퓨터 프로그램의 인스트럭션들로 구현될 수 있다.Each step of the malicious app detection method according to an embodiment of the present invention, which will be described below, may be performed by a computing device. For example, the computing device may be a malicious app detection device 100 or a behavior analysis control device 100. However, for convenience of description, description of the operation subject of each step included in the malicious app detection method may be omitted. In addition, each step of the malicious app detection method may be implemented with instructions of a computer program executed by a processor.

본 발명의 실시예에 따른 악성 앱 탐지 방법은 기존 악성 앱을 대상으로 결정 규칙을 생성하는 과정과 생성된 결정 규칙에 기반하여 분석 대상 앱에 대한 행위 분석을 수행하는 과정을 포함한다. 이해의 편의를 제공하기 위해, 먼저 결정 규칙을 생성하는 과정에 대하여 도 13 및 도 14를 참조하여 설명하도록 한다. 이하에서 후술될 악성 앱 탐지 방법의 내용은 도 5 내지 도 11을 참조하여 설명한 내용과 전반적으로 유사하다. 따라서, 중복되는 부분에 대한 설명은 생략하도록 한다.The method for detecting a malicious app according to an embodiment of the present invention includes a process of generating a decision rule for an existing malicious app and performing a behavior analysis for an app to be analyzed based on the generated decision rule. In order to provide convenience of understanding, a process of first generating a decision rule will be described with reference to FIGS. 13 and 14. The contents of the malicious app detection method, which will be described below, are generally similar to those described with reference to FIGS. 5 to 11. Therefore, descriptions of overlapping parts will be omitted.

도 13은 본 발명의 일 실시예에 따른 결정 규칙 생성 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.13 is a flowchart illustrating a method for generating a decision rule according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, and of course, some steps may be added or deleted as necessary.

도 13을 참조하면, 단계(S100)에서, 악성 앱 탐지 장치(100)는 가상 환경에서 수행된 기존 악성 앱에 대한 제1 행위 분석 결과를 획득한다.Referring to FIG. 13, in step S100, the malicious app detection device 100 obtains a first behavior analysis result for an existing malicious app performed in a virtual environment.

단계(S200)에서, 악성 앱 탐지 장치(100)는 실제 환경에서 수행된 기존 악성 앱에 대한 제2 행위 분석 결과를 획득한다.In step S200, the malicious app detection device 100 obtains a second behavior analysis result for an existing malicious app performed in a real environment.

단계(S300)에서, 악성 앱 탐지 장치(100)는 상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과의 차이에 기초하여 결정 규칙을 생성한다. 도 14를 참조하여, 본 단계(S300)에 대하여 부연 설명하도록 한다.In step S300, the malicious app detection apparatus 100 generates a decision rule based on the difference between the first behavior analysis result and the second behavior analysis result. Referring to FIG. 14, this step (S300) will be described in detail.

도 14에 도시된 바와 같이, 악성 앱 탐지 장치(100)는 함수 호출 횟수의 차이에 기초하여 기존 악성 앱에서 호출된 함수 중에서 의심 함수를 선정한다(S310). 예를 들어, 악성 앱 탐지 장치(100)는 기존 악성 앱에서 호출된 함수 중에서 호출 횟수의 차이가 임계치 이상인 함수를 의심 함수로 선정할 수 있다. 이때, 상기 임계치는 고정된 값으로 설정될 수 있고 또는 상대적 값(e.g. 상위 10%)으로 설정될 수도 있다. 전술한 바와 같이, 상기 함수는 API 및 시스템 콜을 포함하며, 함수의 호출 횟수 외에도 함수의 호출 순서, 호출 인자의 차이를 더 고려하여 의심 함수가 선정될 수도 있다.As illustrated in FIG. 14, the malicious app detection device 100 selects a suspect function from among functions called from the existing malicious app based on the difference in the number of function calls (S310). For example, the malicious app detection apparatus 100 may select a function having a difference in the number of calls that is greater than or equal to a threshold among functions called from existing malicious apps as a suspect function. At this time, the threshold may be set to a fixed value or may be set to a relative value (e.g. the top 10%). As described above, the function includes an API and a system call, and in addition to the number of calls of the function, a suspect function may be selected in consideration of a difference between a call order and a call argument of the function.

다음으로, 악성 앱 탐지 장치(100)는 상기 의심 함수에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성한다(S330). 결정 규칙을 생성하는 방법에 대한 자세한 설명은 도 6 내지 도 9를 참조하여 설명한 바와 같으므로, 더 이상의 설명은 생략하도록 한다.Next, the malicious app detection device 100 generates a decision rule including a condition defined based on the suspect function (S330). The detailed description of the method for generating the decision rule is the same as that described with reference to FIGS. 6 to 9, and further description will be omitted.

이하에서는, 결정 규칙에 기반하여 분석 대상 앱에 대한 행위 분석을 제어하는 과정에 대하여 도 15 내지 도 18을 참조하여 설명하도록 한다.Hereinafter, a process of controlling behavior analysis for the app to be analyzed based on the decision rule will be described with reference to FIGS. 15 to 18.

도 15는 본 발명의 일 실시예에 따른 결정 규칙 기반의 행위 분석 제어 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.15 is a flowchart illustrating a method for controlling behavior analysis based on a decision rule according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, and of course, some steps may be added or deleted as necessary.

도 15를 참조하면, 단계(S400)에서, 악성 앱 탐지 장치(100)는 결정 규칙에 기초하여 분석 대상 앱의 행위 분석을 수행하도록 제어한다. 예를 들어, 분석 대상 앱의 특징이 결정 규칙을 만족한다는 판정에 응답하여, 악성 앱 탐지 장치(100)는 분석 대상 앱의 행위 분석을 실제 환경에서 수행하도록 제어할 수 있다. 보다 구체적인 실시예에 대해서는 도 16 내지 도 18을 참조하여 후술하도록 한다.Referring to FIG. 15, in step S400, the malicious app detection device 100 controls to perform behavior analysis of an analysis target app based on a decision rule. For example, in response to the determination that the characteristics of the app to be analyzed satisfy the decision rule, the malicious app detection device 100 may control to perform the behavior analysis of the app to be analyzed in the real environment. A more specific embodiment will be described later with reference to FIGS. 16 to 18.

단계(S500)에서, 악성 앱 탐지 장치(100)는 행위 분석 결과에 기초하여 분석 대상 앱이 악성인지 여부를 판정한다. 예를 들어, 가상 환경에서 분석 대상 앱에 대한 제3 행위 분석이 수행되고, 결정 규칙을 만족한다는 판정에 응답하여 실제 환경에서 추가로 상기 분석 대상 앱에 대한 제4 행위 분석이 수행된 경우, 악성 앱 탐지 장치(100)는 상기 제4 행위 분석의 결과에 기초하여 상기 분석 대상 앱이 악성인지 여부를 판정할 수 있다.In step S500, the malicious app detection device 100 determines whether the app to be analyzed is malicious based on the result of the behavior analysis. For example, if a third behavior analysis is performed on the app to be analyzed in a virtual environment and a fourth behavior analysis is performed on the app to be analyzed in the real environment in response to a determination that the decision rule is satisfied, malicious The app detection device 100 may determine whether the app to be analyzed is malicious based on the result of the fourth behavior analysis.

도 16 내지 도 18은 본 발명의 몇몇 실시예들에 따른 결정 규칙 기반의 행위 분석 제어 방법을 나타내는 흐름도이다.16 to 18 are flowcharts illustrating a method for controlling behavior analysis based on a decision rule according to some embodiments of the present invention.

먼저, 도 16을 참조하여 제1 실시예에 따른 행위 분석 제어 방법에 대하여 설명한다.First, a method for controlling behavior analysis according to the first embodiment will be described with reference to FIG. 16.

단계(S411)에서, 악성 앱 탐지 장치(100)는 정적 분석을 통해 분석 대상 앱의 소스 코드에 포함된 함수를 추출한다. 예를 들어, 분석 대상 앱이 응용 프로그램 패키지 파일(.apk)인 경우, 악성 앱 탐지 장치(100)는 디컴파일(decompile) 등의 프로세싱을 통해 소스 코드를 획득하고, 획득된 소스 코드의 분석을 통해 상기 소스 코드에 포함된 함수를 추출할 수 있다.In step S411, the malicious app detection device 100 extracts a function included in the source code of the analysis target app through static analysis. For example, when the app to be analyzed is an application package file (.apk), the malicious app detection device 100 acquires source code through processing such as decompile, and analyzes the obtained source code. Through this, functions included in the source code can be extracted.

단계(S413)에서, 악성 앱 탐지 장치(100)는 추출된 함수가 결정 규칙을 만족하는지 여부를 판정한다. 예를 들어, 결정 규칙이 의심 지수가 임계 수치 이상인 조건을 포함하고 있는 경우, 악성 앱 탐지 장치(100)는 상기 추출된 함수 중에서 의심 함수를 식별하고, 식별된 의심 함수에 대한 전체 의심 지수를 산출하며, 상기 전체 의심 지수가 결정 규칙을 만족하는지 여부를 판정한다. 다만, 상기 예시는 이해의 편의를 제공하기 위한 것일 뿐이고, 본 단계(S413)는 결정 규칙의 종류에 따라 얼마든지 변형될 수 있다.In step S413, the malicious app detection apparatus 100 determines whether the extracted function satisfies the decision rule. For example, when the determination rule includes a condition in which the suspicion index is equal to or greater than the threshold value, the malicious app detection device 100 identifies the suspicious function among the extracted functions and calculates the overall suspicion index for the identified suspicious function Then, it is determined whether or not the overall suspicion index satisfies the decision rule. However, the above example is only for convenience of understanding, and this step (S413) may be modified as many as the type of decision rule.

단계(S415)에서, 악성 앱 탐지 장치(100)는 만족 판정에 응답하여 실제 환경에서 분석 대상 앱에 대한 행위 분석이 수행되도록 제어한다. 이와 반대로, 결정 규칙을 만족하지 않는 경우, 악성 앱 탐지 장치(100)는 분석 대상 앱의 행위 분석을 가상 환경에서 수행하도록 제어할 수 있다.In step S415, the malicious app detection device 100 controls the behavior analysis for the app to be analyzed in the real environment in response to the satisfaction determination. On the contrary, if the decision rule is not satisfied, the malicious app detection device 100 may control to perform the behavior analysis of the analysis target app in the virtual environment.

다음으로, 도 17을 참조하여 제2 실시예에 따른 행위 분석 제어 방법에 대하여 설명한다.Next, a method for controlling behavior analysis according to the second embodiment will be described with reference to FIG. 17.

단계(S421)에서, 악성 앱 탐지 장치(100)는 가상 환경에서 분석 대상 앱에 대한 행위 분석을 수행하도록 제어한다. 즉, 본 실시예에서, 가상 환경에서의 행위 분석은 디폴트로 수행된다. 왜냐하면, 가상 환경에서의 행위 분석이 유지 보수 비용에 미치는 영향은 매우 미미하기 때문이다.In step S421, the malicious app detection device 100 controls to perform behavior analysis on the app to be analyzed in the virtual environment. That is, in this embodiment, behavior analysis in the virtual environment is performed by default. This is because the effect of the behavior analysis in the virtual environment on the maintenance cost is very small.

일 실시예에서, 이하의 단계(S423, S425)는 가상 환경에서의 행위 분석 결과, 분석 대상 앱이 악성으로 판정되지 않은 경우에 한하여 수행될 수 있다. 분석 대상 앱이 가상 환경에서 이미 악성으로 판정된 경우, 실제 환경에서 추가 분석이 수행될 필요가 없기 때문이다. 본 실시예에 따르면, 행위 분석에 투입되는 단말이 이용이 더욱 감소되는 바, 악성 앱 탐지에 소요되는 유지 보수 비용이 더욱 절감될 수 있다.In one embodiment, the following steps (S423, S425) may be performed only when the analysis target app is not determined as malicious as a result of behavior analysis in the virtual environment. This is because if the app to be analyzed is already determined to be malicious in the virtual environment, no further analysis needs to be performed in the real environment. According to the present embodiment, since the use of the terminal used for behavior analysis is further reduced, the maintenance cost for detecting malicious apps may be further reduced.

다른 실시예에서, 이하의 단계(S423, S425)는 가상 환경에서의 행위 분석 결과, 분석 대상 앱이 악성으로 판정된 경우에도 수행될 수 있다. 즉, 가상 환경에서 악성으로 판정된 것이 오탐일 확률을 배제할 수 없으므로, 필요에 따라 실제 환경에서 추가로 행위 분석이 수행될 수 있다. 본 실시예에 따르면, 악성 앱 탐지의 정확도가 향상되는 효과가 있다.In another embodiment, the following steps (S423, S425) may be performed even when an analysis target app is determined to be malicious as a result of behavior analysis in a virtual environment. That is, since the probability of false positives determined in the virtual environment cannot be excluded, behavior analysis may be additionally performed in the real environment as necessary. According to this embodiment, there is an effect of improving the accuracy of malicious app detection.

단계(S423)에서, 악성 앱 탐지 장치(100)는 가상 환경에서의 행위 분석 결과가 결정 규칙을 만족하는지 판정한다. 예를 들어, 악성 앱 탐지 장치(100)는 가상 환경에서 호출된 분석 대상 앱의 함수가 결정 규칙을 만족하는지 여부를 판정할 수 있다.In step S423, the malicious app detection apparatus 100 determines whether the result of the behavior analysis in the virtual environment satisfies the decision rule. For example, the malicious app detection apparatus 100 may determine whether a function of an analysis target app called in a virtual environment satisfies a decision rule.

단계(S425)에서, 악성 앱 탐지 장치(100)는 만족 판정에 응답하여 분석 대상 앱의 행위 분석을 실제 환경에서 추가로 수행하도록 제어한다.In step S425, the malicious app detection apparatus 100 controls to perform the behavior analysis of the analysis target app in the real environment in response to the satisfaction determination.

다음으로, 도 18을 참조하여 제3 실시예에 따른 행위 분석 제어 방법에 대하여 설명한다.Next, a method for controlling behavior analysis according to the third embodiment will be described with reference to FIG. 18.

도 18을 참조하면, 단계(S431)에서, 악성 앱 탐지 장치(100)는 가상 환경에서 분석 대상 앱에 대한 행위 분석을 수행한다. 즉, 상기 제3 실시예 또한 디폴트로 가상 환경에서 행위 분석이 수행된다.Referring to FIG. 18, in step S431, the malicious app detection device 100 performs behavior analysis on an app to be analyzed in a virtual environment. That is, the behavior of the third embodiment is also performed in the virtual environment by default.

일 실시예에서, 이하의 단계(S433 내지 S439)는 가상 환경에서의 행위 분석 결과, 분석 대상 앱이 악성으로 판정되지 않은 경우에 한하여 수행될 수 있다. 분석 대상 앱이 가상 환경에서 이미 악성으로 판정된 경우, 실제 환경에서 추가 분석이 수행될 필요가 없기 때문이다.In one embodiment, the following steps S433 to S439 may be performed only when the analysis target app is not determined as malicious as a result of behavior analysis in the virtual environment. This is because if the app to be analyzed is already determined to be malicious in the virtual environment, no further analysis needs to be performed in the real environment.

다른 실시예에서, 이하의 단계(S433 내지 S439)는 가상 환경에서의 행위 분석 결과, 분석 대상 앱이 악성으로 판정된 경우에도 수행될 수 있다. 즉, 가상 환경에서 악성으로 판정된 것이 오탐일 확률을 배제할 수 없으므로, 필요에 따라 실제 환경에서 추가적인 행위 분석이 수행될 수 있다.In another embodiment, the following steps (S433 to S439) may be performed even when an analysis target app is determined to be malicious as a result of behavior analysis in a virtual environment. That is, since the probability of false positives determined in the virtual environment cannot be excluded, additional behavior analysis may be performed in the real environment as necessary.

단계(S433)에서, 악성 앱 탐지 장치(100)는 정적 분석을 통해 분석 대상 앱의 소스 코드에 포함된 함수를 추출한다.In step S433, the malicious app detection device 100 extracts a function included in the source code of the analysis target app through static analysis.

단계(S435)에서, 악성 앱 탐지 장치(100)는 소스 코드에 포함된 함수 중에서 행위 분석 동안 호출되지 않은 함수를 추출한다. 즉, 상기 제3 실시예에서는, 소스 코드에 포함되어 있지만 가상 환경에서 호출되지 않은 함수를 기준으로 결정 규칙의 만족 여부가 판정된다.In step S435, the malicious app detection apparatus 100 extracts a function that is not called during behavior analysis from among functions included in the source code. That is, in the third embodiment, it is determined whether the decision rule is satisfied based on a function included in the source code but not called in the virtual environment.

단계(S437)에서, 악성 앱 탐지 장치(100)는 단계(S435)에서 추출된 함수가 결정 규칙을 만족하는지 판정한다.In step S437, the malicious app detection device 100 determines whether the function extracted in step S435 satisfies the decision rule.

단계(S439)에서, 악성 앱 탐지 장치(100)는 만족 판정에 응답하여 분석 대상 앱에 대한 행위 분석을 실제 환경에서 수행하도록 제어한다.In step S439, the malicious app detection device 100 controls to perform behavior analysis on the app to be analyzed in the real environment in response to the satisfaction determination.

지금까지, 도 16 내지 도 18을 참조하여 본 발명의 몇몇 실시예에 따른 결정 규칙 기반 행위 분석 제어 방법에 대하여 설명하였다. 상술한 몇몇 실시예들에 따르면, 분석 대상 앱 중에서 의심 함수에 기초하여 정의된 조건을 만족하는 일부 분석 대상 앱에 대해서만 실제 환경에 행위 분석이 수행된다. 따라서, 행위 분석에 투입되는 실제 단말의 이용이 최소화될 수 있으며, 이에 따라 실제 운영 환경에서 악성 앱 탐지에 소요되는 유지 보수 비용이 크게 절감될 수 있다.So far, with reference to FIGS. 16 to 18, a method for controlling a behavior analysis based on a decision rule according to some embodiments of the present invention has been described. According to some of the above-described embodiments, behavior analysis is performed in a real environment only for some analysis target apps that satisfy a condition defined based on a suspect function among the analysis target apps. Therefore, the use of an actual terminal input for behavior analysis can be minimized, and accordingly, maintenance costs for detecting malicious apps in a real operating environment can be greatly reduced.

지금까지 도 3 내지 도 18을 참조하여 본 발명의 몇몇 실시예들 및 상기 실시예들에 따른 효과들을 언급하였다. 본 발명의 실시예들에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, some embodiments of the present invention and effects according to the above embodiments have been described with reference to FIGS. 3 to 18. Effects according to embodiments of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

지금까지 도 3 내지 도 18을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The concept of the present invention described so far with reference to FIGS. 3 to 18 may be embodied as computer readable codes on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray Disc, USB storage device, removable hard disk), or a fixed recording medium (ROM, RAM, hard disk equipped with a computer). You can. The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed on the other computing device, thereby being used in the other computing device.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even if all the components constituting the embodiments of the present invention are described as being combined or operated as one, the present invention is not necessarily limited to these embodiments. That is, within the scope of the present invention, all of the components may be selectively combined and operated.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although the operations are shown in a specific order in the drawings, it should not be understood that the operations must be executed in a specific order or in a sequential order, or all illustrated operations must be executed to obtain a desired result. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of various configurations in the above-described embodiments should not be understood as such a separation is not necessarily necessary, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may be implemented in other specific forms without changing the technical spirit or essential features of the present invention. Can understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive. The scope of protection of the present invention should be interpreted by the claims below, and all technical spirits within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

Claims (20)

기존 악성 앱에 대한 제1 행위 분석 결과와 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과이고 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 규칙 생성부; 및
상기 분석 대상 앱이 상기 생성된 결정 규칙에 만족하는 경우 상기 실제 환경에서 상기 분석 대상 앱의 행위 분석을 수행하도록 제어하는 행위 분석 제어부를 포함하고,
상기 결정 규칙은,
상기 제1 행위 분석 결과와 제2 행위 분석 결과의 차이를 통해 분석된 분석 회피형 악성 앱의 특징에 대해 정의된 조건을 포함하고, 상기 분석 대상 앱이 상기 조건을 포함하는 경우 상기 분석 대상 앱이 상기 실제 환경에서 행위 분석이 수행되는 것으로 결정되는 규칙이고,
상기 분석 회피형 악성 앱은,
상기 가상 환경에서는 상기 행위 분석을 회피하는 것을 특징으로 하는,
악성 앱 탐지 장치.
Based on the difference between the first behavior analysis result and the second behavior analysis result for the existing malicious app, a determination rule is generated to determine whether to perform the behavior analysis of the analysis target app in a real environment, wherein the first behavior analysis result is virtual A rule generation unit for a behavior analysis result for the existing malicious app performed in an environment and the second behavior analysis result for a behavior analysis result for the existing malicious app performed in a real environment; And
When the analysis target app satisfies the generated decision rule, and includes a behavior analysis control unit that controls to perform the behavior analysis of the analysis target app in the real environment,
The decision rule,
If the analysis target app includes the conditions defined for the characteristics of the analysis evasion-type malicious app analyzed through the difference between the first behavior analysis result and the second behavior analysis result, and the analysis target app includes the condition It is a rule that determines that behavior analysis is performed in a real environment.
The analysis evasion-type malicious app,
In the virtual environment, characterized in that to avoid the behavior analysis,
Malware detection device.
제1 항에 있어서,
상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 API(application programming interface)에 관한 정보를 포함하되,
상기 규칙 생성부는,
API 호출 횟수의 차이에 기초하여 상기 적어도 하나의 API 중에서 의심 API를 선정하고, 상기 의심 API에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성하는 것을 특징으로 하는,
악성 앱 탐지 장치.
According to claim 1,
Each of the first behavior analysis result and the second behavior analysis result includes information on at least one application programming interface (API) called from the existing malicious app,
The rule generation unit,
Characterized in that, based on the difference in the number of API calls, selecting a suspect API from the at least one API, and generating a decision rule including a condition defined based on the suspect API,
Malware detection device.
제2 항에 있어서,
상기 의심 API는 API 호출 순서의 차이에 더 기초하여 선정되는 것을 특징으로 하는,
악성 앱 탐지 장치.
According to claim 2,
The suspected API is selected based on the difference in the order of API calls,
Malware detection device.
제2 항에 있어서,
상기 의심 API는 API 호출 인자의 차이에 더 기초하여 결정되는 것을 특징으로 하는,
악성 앱 탐지 장치.
According to claim 2,
The suspected API is characterized in that it is further determined based on the difference of the API call parameters,
Malware detection device.
제1 항에 있어서,
상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 시스템 콜(system call)에 관한 정보를 포함하되,
상기 규칙 생성부는,
시스템 콜 호출 횟수의 차이에 기초하여 상기 적어도 하나의 시스템 콜 중에서 의심 시스템 콜을 선정하고, 상기 의심 시스템 콜에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성하는 것을 특징으로 하는,
악성 앱 탐지 장치.
According to claim 1,
Each of the first behavior analysis result and the second behavior analysis result includes information on at least one system call called from the existing malicious app,
The rule generation unit,
Characterized in that by selecting a suspect system call from the at least one system call based on the difference in the number of system call calls, and generating a decision rule including a condition defined based on the suspect system call,
Malware detection device.
제5 항에 있어서,
상기 결정 규칙은 상기 의심 시스템 콜의 출현 정도에 따라 산정된 의심 지수에 기초하여 정의된 조건을 포함하되,
상기 의심 지수는,
네트워크 행위에 관한 제1 의심 시스템 콜의 출현 정도에 따라 산정된 제1 의심 지수와 다른 행위에 관한 제2 의심 시스템 콜의 출현 정도에 따라 산정된 제2 의심 지수의 가중치 합으로 결정되고,
상기 제1 의심 지수에 상기 제2 의심 지수보다 더 높은 가중치가 부여되는 것을 특징으로 하는,
악성 앱 탐지 장치.
The method of claim 5,
The decision rule includes conditions defined based on a suspected index calculated according to the appearance of the suspected system call.
The doubt index,
It is determined by the sum of the weights of the first suspicion index calculated according to the appearance of the first suspicious system call related to the network behavior and the second suspicion index calculated according to the appearance of the second suspicious system call related to the other behavior,
Characterized in that the first suspected index is given a higher weight than the second suspected index,
Malware detection device.
제1 항에 있어서,
상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 함수에 관한 정보를 포함하되,
상기 규칙 생성부는,
함수의 호출 횟수의 차이에 기초하여 상기 적어도 하나의 함수 중에서 의심 함수를 선정하고, 상기 의심 함수에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성하며,
상기 행위 분석 제어부는,
정적 분석을 통해 상기 분석 대상 앱의 소스 코드에 포함된 함수를 추출하는 함수 추출부; 및
상기 추출된 함수가 상기 의심 함수에 기초하여 정의된 조건을 만족한다는 판정에 응답하여, 상기 분석 대상 앱의 행위 분석을 실제 환경에서 수행하도록 제어하는 규칙 기반 제어부를 포함하는 것을 특징으로 하는,
악성 앱 탐지 장치.
According to claim 1,
Each of the first behavior analysis result and the second behavior analysis result includes information on at least one function called from the existing malicious app,
The rule generation unit,
A suspicious function is selected from the at least one function based on a difference in the number of times the function is called, and a decision rule including conditions defined based on the suspicious function is generated,
The behavior analysis control unit,
A function extraction unit for extracting a function included in the source code of the analysis target app through static analysis; And
In response to the determination that the extracted function satisfies a condition defined based on the suspect function, characterized in that it comprises a rule-based control unit for controlling to perform the behavior analysis of the app under analysis in a real environment,
Malware detection device.
제7 항에 있어서,
상기 함수 추출부는,
가상 환경에서 수행된 상기 분석 대상 앱에 대한 제3 행위 분석의 결과로 상기 제3 행위 분석 동안 상기 분석 대상 앱에서 호출된 함수의 목록을 획득하고, 상기 획득된 함수의 목록을 이용하여 상기 소스 코드에 포함된 함수 중에서 상기 제3 행위 분석 동안 호출되지 않은 함수를 추출하는 것을 특징으로 하는,
악성 앱 탐지 장치.
The method of claim 7,
The function extraction unit,
As a result of analyzing the third behavior of the app to be analyzed performed in a virtual environment, a list of functions called by the app to be analyzed during the third behavior analysis is obtained, and the source code is used by using the list of the obtained functions Characterized in that it extracts a function that is not called during the third behavior analysis among the functions included in,
Malware detection device.
제1 항에 있어서,
상기 분석 대상 앱의 행의 분석 결과에 기초하여 상기 분석 대상 앱이 악성인지 여부를 판정하는 악성 판정부를 더 포함하되,
상기 행위 분석 제어부는,
상기 분석 대상 앱에 대한 제3 행위 분석을 가상 환경에서 수행하도록 제어하고, 상기 제3 행위 분석의 결과가 상기 생성된 결정 규칙을 만족한다는 판정에 응답하여, 상기 분석 대상 앱에 대한 제4 행위 분석을 실제 환경에서 추가로 수행하도록 제어하고,
상기 악성 판정부는,
상기 제4 행위 분석의 결과에 기초하여 상기 분석 대상 앱이 악성인지 여부를 판정하는 것을 특징으로 하는,
악성 앱 탐지 장치.
According to claim 1,
Further comprising a malicious determination unit for determining whether the app to be analyzed is malicious based on the analysis result of the row of the app to be analyzed,
The behavior analysis control unit,
The third behavior analysis for the analysis target app is controlled to be performed in a virtual environment, and in response to a determination that the result of the third behavior analysis satisfies the generated decision rule, the fourth behavior analysis for the analysis target app Control to perform further in the real environment,
The malicious determination unit,
Characterized in that it is determined whether the analysis target app is malicious based on the result of the fourth behavior analysis,
Malware detection device.
제1 항에 있어서,
상기 제1 행위 분석 결과는 상기 기존 악성 앱의 가상 환경 탐지 API의 호출을 감지하는 과정 및 상기 호출의 감지에 응답하여 페이크 정보를 반환하는 과정을 통해 수행된 행위 분석 결과이되,
상기 가상 환경 탐지 API는 가상 환경에서 실제 환경과 다르게 설정되는 정보를 요청하는 API이고,
상기 페이크 정보는 상기 기존 악성 앱의 가상 환경 탐지를 방지하기 위해 실제 환경을 모사한 값을 갖도록 설정된 정보인 것을 특징으로 하는,
악성 앱 탐지 장치.
According to claim 1,
The first behavior analysis result is a behavior analysis result performed through a process of detecting a call of the virtual environment detection API of the existing malicious app and a process of returning fake information in response to the detection of the call,
The virtual environment detection API is an API that requests information set differently from the real environment in the virtual environment,
The fake information is characterized in that the information is set to have a value that simulates the real environment to prevent the detection of the virtual environment of the existing malicious app,
Malware detection device.
악성 앱 탐지 장치에 의해 수행되는 악성 앱 탐지 방법에 있어서,
기존 악성 앱에 대한 제1 행위 분석 결과를 획득하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계;
상기 기존 악성 앱에 대한 제2 행위 분석 결과를 획득하되, 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계;
상기 제1 행위 분석 결과와 상기 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하는 단계; 및
상기 분석 대상 앱이 상기 생성된 결정 규칙에 만족하는 경우 상기 실제 환경에서 상기 분석 대상 앱에 대한 행위 분석을 수행하도록 제어하는 단계를 포함하고,
상기 결정 규칙은,
상기 제1 행위 분석 결과와 제2 행위 분석 결과의 차이를 통해 분석된 분석 회피형 악성 앱의 특징에 대해 정의된 조건을 포함하고, 상기 분석 대상 앱이 상기 조건을 포함하는 경우 상기 분석 대상 앱이 상기 실제 환경에서 행위 분석이 수행되는 것으로 결정되는 규칙이고,
상기 분석 회피형 악성 앱은,
상기 가상 환경에서는 상기 행위 분석을 회피하는 것을 특징으로 하는,
악성 앱 탐지 방법.
In the malicious app detection method performed by the malicious app detection device,
Obtaining a first behavior analysis result for an existing malicious app, wherein the first behavior analysis result is a behavior analysis result for the existing malicious app performed in a virtual environment;
Obtaining a second behavior analysis result for the existing malicious app, wherein the second behavior analysis result is a behavior analysis result for the existing malicious app performed in a real environment;
Generating a decision rule for determining whether to perform a behavior analysis of an analysis target app in a real environment based on a difference between the first behavior analysis result and the second behavior analysis result; And
When the analysis target app satisfies the generated decision rule, controlling to perform an action analysis on the analysis target app in the real environment,
The decision rule,
If the analysis target app includes the conditions defined for the characteristics of the analysis evasion-type malicious app analyzed through the difference between the first behavior analysis result and the second behavior analysis result, and the analysis target app includes the condition It is a rule that determines that behavior analysis is performed in a real environment.
The analysis evasion-type malicious app,
In the virtual environment, characterized in that to avoid the behavior analysis,
How to detect malicious apps.
제11 항에 있어서,
상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 API(application programming interface)에 관한 정보를 포함하되,
상기 결정 규칙을 생성하는 단계는,
API 호출 횟수의 차이에 기초하여 상기 적어도 하나의 API 중에서 의심 API를 선정하는 단계; 및
상기 의심 API에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성하는 단계를 포함하는 것을 특징으로 하는,
악성 앱 탐지 방법.
The method of claim 11,
Each of the first behavior analysis result and the second behavior analysis result includes information on at least one application programming interface (API) called from the existing malicious app,
Generating the decision rule,
Selecting a suspect API from the at least one API based on a difference in the number of API calls; And
And generating a decision rule including a condition defined based on the suspect API.
How to detect malicious apps.
제11 항에 있어서,
상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 시스템 콜(system call)에 관한 정보를 포함하되,
상기 결정 규칙을 생성하는 단계는,
시스템 콜 호출 횟수의 차이에 기초하여 상기 적어도 하나의 시스템 콜 중에서 의심 시스템 콜을 선정하는 단계; 및
상기 의심 시스템 콜에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성하는 단계를 포함하는 것을 특징으로 하는,
악성 앱 탐지 방법.
The method of claim 11,
Each of the first behavior analysis result and the second behavior analysis result includes information on at least one system call called from the existing malicious app,
Generating the decision rule,
Selecting a suspicious system call from the at least one system call based on a difference in the number of system call calls; And
And generating a decision rule including a condition defined based on the suspicious system call.
How to detect malicious apps.
제13 항에 있어서,
상기 결정 규칙은 상기 의심 시스템 콜의 출현 정도에 따라 산정된 의심 지수에 기초하여 정의된 조건을 포함하되,
상기 의심 지수는,
네트워크 행위에 관한 제1 의심 시스템 콜의 출현 정도에 따라 산정된 제1 의심 지수와 다른 행위에 관한 제2 의심 시스템 콜의 출현 정도에 따라 산정된 제2 의심 지수의 가중치 합으로 결정되고,
상기 제1 의심 지수에 상기 제2 의심 지수보다 더 높은 가중치가 부여되는 것을 특징으로 하는,
악성 앱 탐지 방법.
The method of claim 13,
The decision rule includes conditions defined based on a suspected index calculated according to the appearance of the suspected system call.
The doubt index,
It is determined by the sum of the weights of the first suspicion index calculated according to the appearance of the first suspicious system call related to the network behavior and the second suspicion index calculated according to the appearance of the second suspicious system call related to the other behavior,
Characterized in that the first suspected index is given a higher weight than the second suspected index,
How to detect malicious apps.
제11 항에 있어서,
상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과 각각은 상기 기존 악성 앱에서 호출된 적어도 하나의 함수에 관한 정보를 포함하되,
상기 결정 규칙을 생성하는 단계는,
상기 제1 행위 분석 결과 및 상기 제2 행위 분석 결과의 차이에 기초하여 상기 적어도 하나의 함수 중에서 의심 함수를 선정하는 단계; 및
상기 의심 함수에 기초하여 정의된 조건을 포함하는 결정 규칙을 생성하는 단계를 포함하고,
상기 분석 대상 앱에 대한 행위 분석을 수행하도록 제어하는 단계는,
정적 분석을 통해 상기 분석 대상 앱의 소스 코드에 포함된 함수를 추출하는 단계; 및
상기 추출된 함수가 상기 의심 함수에 기초하여 정의된 조건을 만족한다는 판정에 응답하여, 상기 분석 대상 앱의 행위 분석을 실제 환경에서 수행하도록 제어하는 단계를 포함하는 것을 특징으로 하는,
악성 앱 탐지 방법.
The method of claim 11,
Each of the first behavior analysis result and the second behavior analysis result includes information on at least one function called from the existing malicious app,
Generating the decision rule,
Selecting a suspicious function from the at least one function based on a difference between the first behavior analysis result and the second behavior analysis result; And
Generating a decision rule including conditions defined based on the suspect function,
The step of controlling to perform the behavior analysis for the analysis target app,
Extracting a function included in the source code of the analysis target app through static analysis; And
And in response to a determination that the extracted function satisfies a condition defined based on the suspect function, controlling the behavior analysis of the app to be analyzed to be performed in a real environment.
How to detect malicious apps.
제15 항에 있어서,
상기 분석 대상 앱의 행위 분석을 실제 환경에서 수행하도록 제어하는 단계는,
상기 분석 대상 앱에 대한 제3 행위 분석을 가상 환경에서 수행하도록 제어하고, 상기 제3 행위 분석의 결과로 상기 제3 행위 분석 동안 상기 분석 대상 앱에서 호출된 함수의 목록을 획득하는 단계;
상기 획득된 함수의 목록을 이용하여, 상기 소스 코드에 포함된 함수 중에서 상기 제3 행위 분석 동안 호출되지 않은 적어도 하나의 함수를 추출하는 단계; 및
상기 추출된 적어도 하나의 함수가 상기 의심 함수에 기초하여 정의된 조건을 만족한다는 판정에 응답하여, 상기 분석 대상 앱의 행위 분석을 실제 환경에 수행하도록 제어하는 단계를 포함하는 것을 특징으로 하는,
악성 앱 탐지 방법.
The method of claim 15,
The step of controlling to perform the analysis of the behavior of the app to be analyzed in a real environment,
Controlling to perform a third behavior analysis on the analysis target app in a virtual environment, and obtaining a list of functions called by the analysis target app during the third behavior analysis as a result of the third behavior analysis;
Extracting at least one function not called during the third behavior analysis from among functions included in the source code, by using the obtained function list; And
And in response to a determination that the extracted at least one function satisfies a condition defined based on the suspect function, controlling to perform behavior analysis of the analysis target app in a real environment.
How to detect malicious apps.
제11 항에 있어서,
상기 분석 대상 앱의 행위 분석 결과에 기초하여 상기 분석 대상 앱이 악성인지 여부를 판정하는 단계를 더 포함하되,
상기 분석 대상 앱에 대한 행위 분석을 수행하도록 제어하는 단계는,
상기 분석 대상 앱에 대한 제3 행위 분석을 가상 환경에서 수행하도록 제어하는 단계; 및
상기 제3 행위 분석의 결과가 상기 생성된 결정 규칙을 만족한다는 판정에 응답하여, 상기 분석 대상 앱에 대한 제4 행위 분석을 실제 환경에서 추가로 수행하도록 제어하는 단계를 포함하고,
상기 분석 대상 앱이 악성인지 여부를 판정하는 단계는,
상기 제4 행위 분석의 결과에 기초하여 상기 분석 대상 앱이 악성인지 여부를 판정하는 단계를 포함하는 것을 특징으로 하는,
악성 앱 탐지 방법.
The method of claim 11,
Further comprising the step of determining whether the analysis target app is malicious based on the analysis result of the analysis target app,
The step of controlling to perform the behavior analysis for the analysis target app,
Controlling the third behavior analysis of the app to be analyzed to be performed in a virtual environment; And
In response to a determination that the result of the third behavior analysis satisfies the generated decision rule, controlling to further perform a fourth behavior analysis for the analysis target app in a real environment,
The step of determining whether the app to be analyzed is malicious,
And determining whether the app to be analyzed is malicious or not based on the result of the fourth behavior analysis.
How to detect malicious apps.
제11 항에 있어서,
상기 제1 행위 분석 결과는,
상기 기존 악성 앱의 가상 환경 탐지 API의 호출을 감지하는 과정 및 상기 호출의 감지에 응답하여 기 설정된 페이크 정보를 반환하는 과정을 통해 수행된 행위 분석 결과이되,
상기 가상 환경 탐지 API는 가상 환경에서 실제 환경과 다르게 설정되는 정보를 요청하는 API이고,
상기 페이크 정보는 상기 기존 악성 앱의 가상 환경 탐지를 방지하기 위해 실제 환경을 모사한 값을 갖도록 설정된 정보인 것을 특징으로 하는,
악성 앱 탐지 방법.
The method of claim 11,
The first behavior analysis results,
The result of the behavior analysis performed through the process of detecting the call of the virtual environment detection API of the existing malicious app and the process of returning the preset fake information in response to the detection of the call,
The virtual environment detection API is an API that requests information set differently from the real environment in the virtual environment,
The fake information is characterized in that the information is set to have a value that simulates the real environment to prevent the detection of the virtual environment of the existing malicious app,
How to detect malicious apps.
프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 시스템의 정보를 식별하기 위한 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램 명령어들이 컴퓨팅 디바이스의 프로세서에 의해 실행되는 경우에,
기존 악성 앱에 대한 제1 행위 분석 결과를 획득하되, 상기 제1 행위 분석 결과는 가상 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계;
상기 기존 악성 앱에 대한 제2 행위 분석 결과를 획득하되, 상기 제2 행위 분석 결과는 실제 환경에서 수행된 상기 기존 악성 앱에 대한 행위 분석 결과인 것인, 단계;
상기 제1 행위 분석 결과와 상기 제2 행위 분석 결과의 차이에 기초하여, 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하되, 상기 결정 규칙은, 상기 제1 행위 분석 결과와 제2 행위 분석 결과의 차이를 통해 분석된, 상기 가상 환경에서는 상기 행위 분석을 회피하는, 분석 회피형 악성 앱의 특징에 대해 정의된 조건을 포함하고, 상기 분석 대상 앱이 상기 조건을 포함하는 경우 상기 분석 대상 앱이 상기 실제 환경에서 행위 분석이 수행되는 것으로 결정되도록 상기 결정 규칙을 생성하는 단계; 및
상기 분석 대상 앱이 상기 생성된 결정 규칙에 만족하는 경우 상기 실제 환경에서 상기 분석 대상 앱에 대한 행위 분석을 수행하도록 제어하는 단계가 수행되는,
컴퓨터 프로그램.
A computer program for identifying information of a computer system recorded on a computer readable medium including computer program instructions executable by a processor, when the computer program instructions are executed by a processor of a computing device,
Obtaining a first behavior analysis result for an existing malicious app, wherein the first behavior analysis result is a behavior analysis result for the existing malicious app performed in a virtual environment;
Obtaining a second behavior analysis result for the existing malicious app, wherein the second behavior analysis result is a behavior analysis result for the existing malicious app performed in a real environment;
Based on the difference between the first behavior analysis result and the second behavior analysis result, a determination rule is generated to determine whether to perform the behavior analysis of the analysis target app in a real environment, wherein the determination rule is the first behavior analysis result When the virtual environment is analyzed through a difference between a result of analysis and a second behavior analysis, and includes a condition defined for characteristics of an analysis evasion-type malicious app that avoids the behavior analysis, and the analysis target app includes the condition Generating the decision rule so that the app to be analyzed is determined to perform behavior analysis in the real environment; And
If the app to be analyzed satisfies the generated decision rule, a step of controlling to perform an action analysis on the app to be analyzed is performed in the real environment.
Computer program.
가상 환경에서 분석 대상 앱에 대한 행위 분석을 수행하는 제1 행위 분석 장치;
실제 환경에서 상기 분석 대상 앱에 대한 행위 분석을 수행하는 제2 행위 분석 장치; 및
상기 분석 대상 앱의 행위 분석을 실제 환경에서 수행할지를 결정하는 결정 규칙을 생성하고, 상기 분석 대상 앱이 상기 생성된 결정 규칙을 만족한다는 판정에 응답하여, 상기 분석 대상 앱의 행위 분석을 상기 제2 행위 분석 장치를 통해 상기 실제 환경에서 수행하도록 제어하는 행위 분석 제어 장치를 포함하되,
상기 행위 분석 제어 장치는,
가상 환경에서 수행된 기존 악성 앱에 대한 제1 행위 분석 결과와 실제 환경에서 수행된 상기 기존 악성 앱에 대한 제2 행위 분석 결과의 차이에 기초하여, 상기 결정 규칙을 생성하고,
상기 결정 규칙은,
상기 제1 행위 분석 결과와 제2 행위 분석 결과의 차이를 통해 분석된 분석 회피형 악성 앱의 특징에 대해 정의된 조건을 포함하고, 상기 분석 대상 앱이 상기 조건을 포함하는 경우 상기 분석 대상 앱이 상기 실제 환경에서 행위 분석이 수행되는 것으로 결정되는 규칙이고,
상기 분석 회피형 악성 앱은,
상기 가상 환경에서는 상기 행위 분석을 회피하는 것을 특징으로 하는,
악성 앱 탐지 시스템.
A first behavior analysis device performing behavior analysis on an app to be analyzed in a virtual environment;
A second behavior analysis device performing behavior analysis on the analysis target app in a real environment; And
Create a decision rule for determining whether to perform the behavior analysis of the analysis target app in a real environment, and respond to a determination that the analysis target app satisfies the generated decision rule, analyze the behavior of the analysis target app in the second Including the behavior analysis control device for controlling to perform in the real environment through the behavior analysis device,
The behavior analysis control device,
The decision rule is generated based on a difference between a first behavior analysis result for an existing malicious app performed in a virtual environment and a second behavior analysis result for the existing malicious app performed in a real environment,
The decision rule,
If the analysis target app includes the conditions defined for the characteristics of the analysis evasion-type malicious app analyzed through the difference between the first behavior analysis result and the second behavior analysis result, and the analysis target app includes the condition It is a rule that determines that behavior analysis is performed in a real environment.
The analysis evasion-type malicious app,
In the virtual environment, characterized in that to avoid the behavior analysis,
Malicious app detection system.
KR1020180023447A 2018-02-27 2018-02-27 Apparatus for detecting malicious app and method thereof KR102102577B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180023447A KR102102577B1 (en) 2018-02-27 2018-02-27 Apparatus for detecting malicious app and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180023447A KR102102577B1 (en) 2018-02-27 2018-02-27 Apparatus for detecting malicious app and method thereof

Publications (2)

Publication Number Publication Date
KR20190102678A KR20190102678A (en) 2019-09-04
KR102102577B1 true KR102102577B1 (en) 2020-04-21

Family

ID=67950530

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180023447A KR102102577B1 (en) 2018-02-27 2018-02-27 Apparatus for detecting malicious app and method thereof

Country Status (1)

Country Link
KR (1) KR102102577B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818945A (en) * 2019-01-11 2019-05-28 中国科学院信息工程研究所 Application behavior feature selection approach and device
KR102174393B1 (en) * 2020-08-13 2020-11-04 최원강 Malicious code detection device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031353A1 (en) 2008-02-04 2010-02-04 Microsoft Corporation Malware Detection Using Code Analysis and Behavior Monitoring
JP2014238870A (en) 2009-12-15 2014-12-18 マカフィー, インコーポレイテッド System and method for behavior sandbox
KR101593183B1 (en) 2014-08-22 2016-02-15 한국전자통신연구원 Automatic act expression apparatus and method of for analysis of malicious code in a virtual environment
KR101803890B1 (en) 2017-01-18 2017-12-04 한국인터넷진흥원 Method and Apparatus for Detecting Evasive Malware

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130078278A (en) 2011-12-30 2013-07-10 (주)이지서티 Smartphone malicious application detect system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031353A1 (en) 2008-02-04 2010-02-04 Microsoft Corporation Malware Detection Using Code Analysis and Behavior Monitoring
JP2014238870A (en) 2009-12-15 2014-12-18 マカフィー, インコーポレイテッド System and method for behavior sandbox
KR101593183B1 (en) 2014-08-22 2016-02-15 한국전자통신연구원 Automatic act expression apparatus and method of for analysis of malicious code in a virtual environment
KR101803890B1 (en) 2017-01-18 2017-12-04 한국인터넷진흥원 Method and Apparatus for Detecting Evasive Malware

Also Published As

Publication number Publication date
KR20190102678A (en) 2019-09-04

Similar Documents

Publication Publication Date Title
US8978141B2 (en) System and method for detecting malicious software using malware trigger scenarios
US9230106B2 (en) System and method for detecting malicious software using malware trigger scenarios in a modified computer environment
CN103500308B (en) For antagonism by the Malware system and method for detection to emulation
KR101803890B1 (en) Method and Apparatus for Detecting Evasive Malware
KR101720686B1 (en) Apparaus and method for detecting malcious application based on visualization similarity
WO2017049800A1 (en) Method and apparatus for detecting loophole code in application
US9223964B2 (en) Detecting JAVA sandbox escaping attacks based on JAVA bytecode instrumentation and JAVA method hooking
KR102386617B1 (en) Apparatus and Method for Generating System Call Whitelist of Application Container, Method for Controlling System Call of Application Container
CN103886252A (en) Software Code Malicious Selection Evaluation Executed In Trusted Process Address Space
US9804948B2 (en) System, method, and computer program product for simulating at least one of a virtual environment and a debugging environment to prevent unwanted code from executing
KR102317833B1 (en) method for machine LEARNING of MALWARE DETECTING MODEL AND METHOD FOR detecting Malware USING THE SAME
CN112084497A (en) Method and device for detecting malicious program of embedded Linux system
KR101803889B1 (en) Method and apparatus for detecting malicious application based on risk
Jeong et al. A kernel-based monitoring approach for analyzing malicious behavior on android
KR102102577B1 (en) Apparatus for detecting malicious app and method thereof
CN107239698A (en) A kind of anti-debug method and apparatus based on signal transacting mechanism
Yu et al. Access control to prevent attacks exploiting vulnerabilities of webview in android OS
KR101741131B1 (en) Apparatus and method for analysing crash, and computer-readable medium storing program for method thereof
KR101557455B1 (en) Application Code Analysis Apparatus and Method For Code Analysis Using The Same
US10275596B1 (en) Activating malicious actions within electronic documents
Su et al. Detection of android malware by static analysis on permissions and sensitive functions
CN106462704B (en) Dynamic reads in code analysis device and dynamic reads in code analysis methods
CN106911686B (en) WebShell detection method and device
CN115688102A (en) Window processing method and device, processor and electronic equipment
EP2854065A1 (en) A system and method for evaluating malware detection rules

Legal Events

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