KR102210659B1 - Game theory based dynamic analysis input system and method for intelligent malicious app detection - Google Patents

Game theory based dynamic analysis input system and method for intelligent malicious app detection Download PDF

Info

Publication number
KR102210659B1
KR102210659B1 KR1020190049348A KR20190049348A KR102210659B1 KR 102210659 B1 KR102210659 B1 KR 102210659B1 KR 1020190049348 A KR1020190049348 A KR 1020190049348A KR 20190049348 A KR20190049348 A KR 20190049348A KR 102210659 B1 KR102210659 B1 KR 102210659B1
Authority
KR
South Korea
Prior art keywords
user input
malicious
dynamic analysis
malicious app
app
Prior art date
Application number
KR1020190049348A
Other languages
Korean (ko)
Other versions
KR20200125286A (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 KR1020190049348A priority Critical patent/KR102210659B1/en
Publication of KR20200125286A publication Critical patent/KR20200125286A/en
Application granted granted Critical
Publication of KR102210659B1 publication Critical patent/KR102210659B1/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

Abstract

본 발명은 악성앱 탐지를 위한 동적 분석 입력 시스템에 관한 것으로, 악성앱에 대한 적어도 하나의 사용자 입력 데이터 및 상기 사용자 입력 데이터에 부여된 선호도 값을 저장하는 사용자 입력 데이터 저장부; 게임 이론에 기초한 상기 악성앱의 페이오프(payoff)의 최대값을 최소화하도록 상기 저장된 사용자 입력 데이터를 기반으로 상기 악성앱에 제공할 사용자 입력을 생성하는 사용자 입력 생성부; 및 상기 생성된 사용자 입력을 상기 악성앱으로 전달하는 사용자 입력 전달부를 포함한다.The present invention relates to a dynamic analysis input system for detecting a malicious app, comprising: a user input data storage unit for storing at least one user input data for a malicious app and a preference value assigned to the user input data; A user input generator for generating a user input to be provided to the malicious app based on the stored user input data to minimize a maximum value of the payoff of the malicious app based on game theory; And a user input delivery unit for transferring the generated user input to the malicious app.

Description

지능형 악성앱 탐지를 위한 게임이론 기반의 동적 분석 입력 시스템 및 방법{GAME THEORY BASED DYNAMIC ANALYSIS INPUT SYSTEM AND METHOD FOR INTELLIGENT MALICIOUS APP DETECTION}Game theory-based dynamic analysis input system and method for intelligent malicious app detection {GAME THEORY BASED DYNAMIC ANALYSIS INPUT SYSTEM AND METHOD FOR INTELLIGENT MALICIOUS APP DETECTION}

본 발명은 지능형 악성앱 탐지를 위한 게임이론 기반의 동적 분석 입력 시스템 및 방법에 관한 것이다.The present invention relates to a dynamic analysis input system and method based on game theory for detecting intelligent malicious apps.

안드로이드 스마트폰 상에서 동작하는 기존의 악성앱들은 사용자 입력이 주어지면 악성행위를 수행하는 기본적인 악성앱과 에뮬레이터 기반의 동적 분석 입력 시스템의 동작여부에 따라서 악성행위 여부를 결정하는 회피적인 악성앱으로 분류할 수 있으며, 종래의 제안된 악성앱 탐지 기법들은 기본적인 악성앱 및 회피적인 악성앱의 탐지에 초점을 맞추어 연구되고 있는 실정이다. 그런데, 상기와 같은 기법은 다음과 같은 문제가 있다.Existing malicious apps running on Android smartphones are classified as basic malicious apps that perform malicious actions when user input is given, and evasive malicious apps that determine whether or not malicious actions are based on the operation of the emulator-based dynamic analysis input system. In addition, conventional malicious app detection techniques are being studied focusing on detection of basic malicious apps and evasive malicious apps. However, the above technique has the following problems.

만약, 공격자가 지능적으로 악성행위를 제어하는 지능형 악성앱을 만들어낸다고 가정하면, 이러한 지능형 악성앱은 사용자 입력 값에 대한 지능적 판단을 통해서, 동적 분석 입력 시스템이 동작한다고 결정하면 악성행위를 수행하지 않고, 동작하지 않는다고 결정하면 악성행위를 수행하므로, 종래의 악성앱 탐지 기법으로는 지능형 악성앱을 탐지하기 어렵다.Assuming that an attacker creates an intelligent malicious app that intelligently controls malicious behavior, such an intelligent malicious app does not perform malicious behavior if it determines that the dynamic analysis input system operates through intelligent judgment on user input values. However, if it is determined that it does not work, it performs malicious actions, so it is difficult to detect intelligent malicious apps with conventional malicious app detection techniques.

본 발명의 실시예들은 상기와 같은 문제를 해결하기 위해 제안된 것으로서, 악성앱이 동적 분석 입력 시스템의 동작을 파악하지 못하게 하여, 악성행위 횟수의 증가로 인한 악성앱의 탐지 가능성을 높일 수 있는 악성앱 탐지를 위한 동적 분석 입력 시스템 및 방법을 제공하고자 한다.Embodiments of the present invention are proposed to solve the above problems, and prevent malicious apps from grasping the operation of the dynamic analysis input system, thereby increasing the possibility of detecting malicious apps due to an increase in the number of malicious actions. It is intended to provide a dynamic analysis input system and method for app detection.

본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템은 악성앱에 대한 적어도 하나의 사용자 입력 데이터 및 상기 사용자 입력 데이터에 부여된 선호도 값을 저장하는 사용자 입력 데이터 저장부; 게임 이론에 기초한 상기 악성앱의 페이오프(payoff)의 최대값을 최소화하도록 상기 저장된 사용자 입력 데이터를 기반으로 상기 악성앱에 제공할 사용자 입력을 생성하는 사용자 입력 생성부; 및 상기 생성된 사용자 입력을 상기 악성앱으로 전달하는 사용자 입력 전달부를 포함한다.A dynamic analysis input system for detecting a malicious app according to an embodiment of the present invention includes: a user input data storage unit for storing at least one user input data for a malicious app and a preference value assigned to the user input data; A user input generator for generating a user input to be provided to the malicious app based on the stored user input data to minimize a maximum value of the payoff of the malicious app based on game theory; And a user input delivery unit for transferring the generated user input to the malicious app.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템에서 상기 사용자 입력 데이터에 부여되는 상기 선호도 값은 해당 사용자 입력 데이터의 사용 빈도에 따라 결정될 수 있다.In addition, in the dynamic analysis input system for detecting malicious apps according to an embodiment of the present invention, the preference value given to the user input data may be determined according to the frequency of use of the corresponding user input data.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템에서 상기 악성앱은 신뢰 실행 환경 하에서 일반 영역(Normal World)에 설치되고, 상기 동적 분석 입력 시스템은 신뢰 실행 환경 하에서 상기 일반 영역과 분리된 보안 영역(Secure World)에 구비된다.In addition, in the dynamic analysis input system for detecting malicious apps according to an embodiment of the present invention, the malicious app is installed in a normal world under a trusted execution environment, and the dynamic analysis input system is installed in the normal world under a trusted execution environment. It is provided in a secure world separate from the realm.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템에서 상기 사용자 입력 생성부는 상기 일반 영역으로부터 마스크 불가능 인터럽트(non-maskable interrupt) 신호를 수신하면, 상기 저장된 사용자 입력 데이터를 기반으로 상기 악성앱에 제공할 사용자 입력을 생성할 수 있다.In addition, in the dynamic analysis input system for detecting malicious apps according to an embodiment of the present invention, when the user input generator receives a non-maskable interrupt signal from the general area, the stored user input data is As a result, a user input to be provided to the malicious app can be generated.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템에서 악성앱은 상기 사용자 입력 데이터에 부여된 상기 선호도 값을 사전에 알고 있으며, SPRT(Sequential Probability Ratio Test)를 기반으로 악성행위 수행 여부를 결정하되, 상기 동적 분석 입력 시스템으로부터 전달받은 상기 사용자 입력의 상기 선호도 값이 입력 선호도 임계값보다 작거나 같으면, 상기 SPRT에서 영 가설(H0)을 채택하여 악성행위를 수행하고, 상기 동적 분석 입력 시스템으로부터 전달받은 상기 사용자 입력의 상기 선호도 값이 상기 입력 선호도 임계값보다 크면, 상기 SPRT에서 대립 가설(H1)을 채택하여 정상행위를 수행한다.In addition, in the dynamic analysis input system for detecting malicious apps according to an embodiment of the present invention, the malicious app knows in advance the preference value given to the user input data, and is malicious based on the Sequential Probability Ratio Test (SPRT). Determine whether to perform an action, but if the preference value of the user input received from the dynamic analysis input system is less than or equal to the input preference threshold, the SPRT adopts the zero hypothesis (H 0 ) to perform the malicious action, When the preference value of the user input received from the dynamic analysis input system is greater than the input preference threshold value, the SPRT adopts an alternative hypothesis (H 1 ) to perform a normal behavior.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템에서 악성앱은 상기 동적 분석 입력 시스템으로부터 상기 사용자 입력을 전달받을 때마다 상기 입력 선호도 임계값을 갱신할 수 있다.In addition, in the dynamic analysis input system for detecting malicious apps according to an embodiment of the present invention, the malicious app may update the input preference threshold every time the user input is received from the dynamic analysis input system.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템에서 상기 사용자 입력 생성부는 상기 악성앱 및 상기 사용자 입력 생성부를 각각 제 1 및 제 2 플레이어로 가정하여 상기 제 1 및 제 2 플레이어 간의 미니맥스(Minimax) 게임 모델에서 상기 제 1 플레이어의 페이오프의 최대값을 상기 제 2 플레이어가 최소화하는 내쉬 균형(Nash Equilibrium) 조건에 따라 적어도 하나의 사용자 입력 중 하나를 선택한다.In addition, in the dynamic analysis input system for detecting malicious apps according to an embodiment of the present invention, the user input generation unit assumes the malicious app and the user input generation unit as first and second players, respectively, and the first and second players. In a minimax game model between players, one of at least one user input is selected according to a Nash Equilibrium condition in which the second player minimizes the maximum value of the payoff of the first player.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템에서 상기 사용자 입력 생성부는 k개의 서로 다른 사용자 입력 중 하나를 균등하고(uniform) 랜덤하게 선택하며, 여기서 k는 1보다 크거나 같은 자연수이다.In addition, in the dynamic analysis input system for detecting malicious apps according to an embodiment of the present invention, the user input generation unit uniformly and randomly selects one of k different user inputs, where k is greater than 1 It is a natural number like or.

본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 방법은 게임 이론에 기초한 상기 악성앱의 페이오프(payoff)의 최대값을 최소화하도록 미리 저장된 사용자 입력 데이터를 기반으로 상기 악성앱에 제공할 사용자 입력을 생성하는 단계; 및 상기 생성된 사용자 입력을 상기 악성앱으로 전달하는 단계를 포함할 수 있다.The dynamic analysis input method for detecting a malicious app according to an embodiment of the present invention is provided to the malicious app based on pre-stored user input data to minimize the maximum value of the payoff of the malicious app based on game theory. Generating a user input to be performed; And transmitting the generated user input to the malicious app.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 방법에서 사용자 입력을 생성하는 단계는 상기 악성앱 및 상기 사용자 입력 생성부를 각각 제 1 및 제 2 플레이어로 가정하여 상기 제 1 및 제 2 플레이어 간의 미니맥스(Minimax) 게임 모델에서 상기 제 1 플레이어의 페이오프의 최대값을 상기 제 2 플레이어가 최소화하는 내쉬 균형(Nash Equilibrium) 조건에 따라 적어도 하나의 사용자 입력 중 하나를 선택하는 단계를 포함한다.In addition, in the step of generating a user input in the dynamic analysis input method for detecting a malicious app according to an embodiment of the present invention, the first and second players are assumed to be the first and second players, respectively. Selecting one of at least one user input according to a Nash Equilibrium condition in which the second player minimizes the maximum value of the payoff of the first player in a Minimax game model between second players Includes.

또한, 본 발명의 일 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 방법에서 사용자 입력을 생성하는 단계는 k개의 서로 다른 사용자 입력 중 하나를 균등하고(uniform) 랜덤하게 선택하는 단계를 포함하고, 여기서 k는 1보다 크거나 같은 자연수이다.In addition, the step of generating a user input in the dynamic analysis input method for detecting a malicious app according to an embodiment of the present invention includes the step of uniformly and randomly selecting one of k different user inputs, Where k is a natural number greater than or equal to 1.

또한, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 악성앱 탐지를 위한 동적 분석 입력 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체를 포함할 수 있다.In addition, in the computer-readable recording medium, the present invention may include a recording medium in which a program for executing a dynamic analysis input method for detecting malicious apps with a computer is recorded.

본 발명의 실시예들에 따른 악성앱 탐지를 위한 동적 분석 입력 시스템은 악성앱이 동적 분석 입력 시스템의 동작을 파악하지 못하게 되어, 악성행위 횟수의 증가로 인해 악성앱의 탐지 가능성을 높일 수 있다.The dynamic analysis input system for detecting malicious apps according to embodiments of the present invention prevents malicious apps from grasping the operation of the dynamic analysis input system, thereby increasing the possibility of detecting malicious apps due to an increase in the number of malicious actions.

도 1은 본 발명의 일 실시예에 따른 신뢰 실행 환경 시스템의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 동적 분석 입력 시스템을 포함하는 신뢰 실행 환경 시스템의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 동적 분석 입력 시스템의 동작원리를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 지능형 악성앱의 동작원리를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 사용자 입력 생성부의 동작을 설명하기 위한 도면이다.
1 is a conceptual diagram of a trusted execution environment system according to an embodiment of the present invention.
2 is a block diagram of a trusted execution environment system including a dynamic analysis input system according to an embodiment of the present invention.
3 is a view showing the operating principle of the dynamic analysis input system according to an embodiment of the present invention.
4 is a diagram showing the operating principle of an intelligent malicious app according to an embodiment of the present invention.
5 is a diagram for describing an operation of a user input generator according to an embodiment of the present invention.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Other advantages and features of the present invention, and a method of achieving them will become apparent with reference to embodiments to be described later 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 this embodiment is intended to complete the disclosure of the present invention, and to provide ordinary knowledge in the technical field to which the present invention belongs. It is provided to completely inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims.

만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.Even if not defined, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by universal technology in the prior art to which this invention belongs. Terms defined by general dictionaries may be construed as having the same meaning as the related description and/or the text of this application, and not conceptualized or excessively formalized, even if not clearly defined herein. Won't.

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification,'includes' and/or various conjugated forms of this verb, for example,'includes','includes','includes','includes', etc. refer to the mentioned composition, ingredient, component, Steps, operations and/or elements do not preclude the presence or addition of one or more other compositions, components, components, steps, operations and/or elements. In the present specification, the term'and/or' refers to each of the listed components or various combinations thereof.

한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Meanwhile, terms such as'~ unit','~ group','~ block', and'~ module' used throughout this specification may refer to a unit that processes at least one function or operation. For example, it can mean software, hardware components such as FPGAs or ASICs. However,'~bu','~gi','~block', and'~module' are not limited to software or hardware. The'~ unit','~ group','~ block', and'~ module' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors.

따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.Therefore, as an example,'~ unit','~ group','~ block', and'~ module' are components such as software components, object-oriented software components, class components, and task components. S, processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and Include variables. The functions provided in the components and'~Boo','~Gi','~Block', and'~Module' include a smaller number of elements and'~Boo','~Gi','~Block. It may be combined into','~modules' or further separated into additional components and'~unit','~group','~block', and'~module'.

도 1은 본 발명의 일 실시예에 따른 신뢰 실행 환경 시스템의 개념도이다.1 is a conceptual diagram of a trusted execution environment system according to an embodiment of the present invention.

이하, 본 명세서에서 언급되는 신뢰 실행 환경 시스템은 ARM 주식회사의 ARM TrustZone 기술을 기초로 설명하나, 상기 신뢰 실행 환경 시스템은 해당 기술로 제한되는 것은 아니다.Hereinafter, the trusted execution environment system referred to in this specification will be described based on the ARM TrustZone technology of ARM Corporation, but the trusted execution environment system is not limited to the technology.

도 1을 참조하면, 신뢰 실행 환경은 하나의 물리 프로세서 코어가 보안영역(Secure World)과 비보안영역(Normal World)로 나누어질 수 있으며, 각각의 영역은 CPU의 레지스터가 분리되어 있고, 보안영역에서만 접근이 가능한 디바이스나 메모리 영역을 지정할 수 있다.Referring to FIG. 1, in a trusted execution environment, one physical processor core can be divided into a secure world and a normal world, and each area has a separate CPU register, and only in the secure area. You can designate accessible devices or memory areas.

또한, 신뢰 실행 환경은 인터럽트를 보안영역과 비보안영역으로 나눌 수 있으며, 현재 인터럽트가 보안영역일 때는 비보안영역에서 인터럽트는 발생하지 않고, 비보안영역일 때는 비보안영역 및 보안영역에서 인터럽트가 발생할 수 있다.In addition, the trusted execution environment can divide the interrupt into a secure area and a non-secure area. When the current interrupt is a security area, an interrupt does not occur in a non-secure area, and when the interrupt is a non-secure area, an interrupt can occur in the non-secure area and the security area.

이에 따라, 신뢰 실행 환경 기반의 보안영역과 비보안영역을 포함하는 시스템은 CPU, 주소 공간, 메모리, 디바이스를 각 영역마다 고립시킬 수 있다.Accordingly, a system including a secure area and a non-secure area based on a trusted execution environment can isolate CPU, address space, memory, and device for each area.

또한, 신뢰 실행 환경은 별도의 CPU모드에 기존의 FIQ, IRQ, Abort, Undefined, Kernel, User에 모니터(Monitor) 모드를 추가할 수 있고, 모니터 모드는 보안영역에만 존재한다. In addition, the trusted execution environment can add a monitor mode to the existing FIQ, IRQ, Abort, Undefined, Kernel, and User in a separate CPU mode, and the monitor mode exists only in the security area.

여기서, 모니터 모드에 진입하는 것은 보안영영역에 접근하는 것이며, 모니터 모드로의 접근은 SMC(Secure Monitor Call)명령이 실행된 경우이거나 IRQ 및 FIQ 발생 시 성립된다. Here, entering the monitor mode is to access the security zone, and the access to the monitor mode is established when the SMC (Secure Monitor Call) command is executed or when IRQ and FIQ occur.

또한, SMC 명령은 커널모드에서만 실행이 가능하므로 애플리케이션 레벨에서 영역 간의 전환은 할 수 없다.Also, since the SMC command can be executed only in kernel mode, it is not possible to switch between regions at the application level.

정리하면, 하나의 영역은 다른 영역에 영향을 끼칠 수 없으며, 비보안영역은 보안영역의 실행을 인터럽트나 장치를 사용하더라도 방해할 수 없다. 그렇기 때문에 일반적으로 루트킷으로부터 안전하게 보호하기 위한 높은 신뢰성이 요구되는 프로그램은 보안영역에서 실행하고, 그 외의 프로그램은 비보안영역에서 실행한다.In summary, one area cannot affect another area, and the non-security area cannot interfere with the execution of the security area even if an interrupt or device is used. Therefore, in general, programs that require high reliability for safe protection from rootkits are executed in a secure area, and other programs are executed in a non-security area.

도 2는 본 발명의 일 실시예에 따른 동적 분석 입력 시스템을 포함하는 신뢰 실행 환경 시스템의 블록도이다.2 is a block diagram of a trusted execution environment system including a dynamic analysis input system according to an embodiment of the present invention.

도 2를 참조하면, 신뢰 실행 환경 시스템(10)은 노말 영역(Normal World)과 보안 영역(secure World)으로 이루어지며, 노말 영역은 악성앱(100), 인터럽트 출력부(200) 및 사용자 입력 수신부(300)를 포함하고, 보안 영역은 동적 분석 입력 시스템(400)을 포함한다.Referring to FIG. 2, the trusted execution environment system 10 consists of a normal area and a secure world, and the normal area is a malicious app 100, an interrupt output unit 200, and a user input receiving unit. 300, and the security domain includes the dynamic analysis input system 400.

악성앱(100)은 동적 분석 입력 시스템(400)이 저장하고 있는 사용자 입력 데이터에 부여된 선호도 값을 알고 있으며, SPRT(Sequential Probability Ratio Test)를 기반으로 악성행위 수행 여부를 결정한다.The malicious app 100 knows the preference value assigned to the user input data stored by the dynamic analysis input system 400, and determines whether to perform a malicious action based on the Sequential Probability Ratio Test (SPRT).

인터럽트 출력부(200)는 사용자에 의해 마스크 불가능 인터럽트(non-maskable interrupt) 신호를 생성하여 동적 분석 입력 시스템(400)으로 전송할 수 있다.The interrupt output unit 200 may generate a non-maskable interrupt signal by a user and transmit it to the dynamic analysis input system 400.

마스크 불가능 인터럽트는 일반적으로 복구 불가능한 하드웨어 오류에 주위를 환기시키기 위해 발생하는 것으로, 서로 독립적으로 운영되는 신뢰 실행 환경 시스템(10) 하에서 노말 영역과 보안 영역사이의 통신을 위해 사용되나, 상기 노말 영역과 보안 영역사이의 안전한 통신이 가능한 신호이면, 이에 제한되지 않는다.The unmaskable interrupt is generally generated to alert the environment to an unrecoverable hardware error, and is used for communication between the normal domain and the security domain under the trusted execution environment system 10 operated independently of each other. A signal capable of secure communication between security areas is not limited thereto.

사용자 입력 수신부(300)는 동적 분석 입력 시스템(400)으로부터 사용자 입력을 수신하고, 상기 사용자 입력을 악성앱(100)으로 전달할 수 있다.The user input receiving unit 300 may receive a user input from the dynamic analysis input system 400 and transmit the user input to the malicious app 100.

다시 도 2를 참조하면, 동적 분석 입력 시스템(400)은 사용자 입력 데이터 저장부(410), 사용자 입력 생성부(420) 및 사용자 입력 전달부(430)를 포함할 수 있다.Referring back to FIG. 2, the dynamic analysis input system 400 may include a user input data storage unit 410, a user input generation unit 420, and a user input transmission unit 430.

동적 분석 입력 시스템(400)은 검사 대상인 악성앱(100)에 대한 다양한 형태를 가진 다수의 사용자 입력 데이터를 수집한 후, 정적 분석 기법과 딥 러닝(Deep Learning) 기법을 사용하여 분석한다.The dynamic analysis input system 400 collects a plurality of user input data of various types for the malicious app 100 to be scanned, and then analyzes it using a static analysis technique and a deep learning technique.

더하여, 동적 분석 입력 시스템(400)은 사용 빈도, 접근성 등의 다양한 요소들을 고려하여 각각의 사용자 입력 데이터에 대한 선호도 값을 부여할 수 있다.In addition, the dynamic analysis input system 400 may assign a preference value for each user input data in consideration of various factors such as frequency of use and accessibility.

본 발명의 일 실시예에 따르면, 사용자 입력 데이터에 부여되는 선호도 값은 해당 사용자 입력 데이터의 사용 빈도에 따라 결정된다.According to an embodiment of the present invention, a preference value assigned to user input data is determined according to a frequency of use of the user input data.

구체적으로, 사용자 입력 데이터에 부여되는 선호도 값은 사용 빈도가 높은 사용자 입력 데이터이거나 사용자가 직접 입력한 데이터에 가까울수록 높으며, 사용 빈도가 낮은 사용자 입력 데이터이거나 사용자가 잘못 입력한 데이터라고 판단될수록 낮아진다.Specifically, the preference value given to the user input data is higher as it is user input data with a high frequency of use or data directly input by the user, and decreases as it is determined that it is user input data with a low frequency of use or data incorrectly input by the user.

또한, 사용자 입력 데이터에 부여되는 선호도 값은 1 부터 10 까지의 자연수 중 하나로 선택될 수 있다.Also, the preference value assigned to the user input data may be selected as one of natural numbers from 1 to 10.

사용자 입력 데이터 저장부(410)는 악성앱(100)에 대한 적어도 하나의 사용자 입력 데이터 및 사용자 입력 데이터에 부여된 선호도 값을 저장할 수 있다.The user input data storage unit 410 may store at least one user input data for the malicious app 100 and a preference value assigned to the user input data.

사용자 입력 생성부(420)는 게임 이론에 기초한 악성앱(100)의 페이오프(payoff)의 최대값을 최소화하도록 저장된 사용자 입력 데이터를 기반으로 악성앱(100)에 제공할 사용자 입력을 생성한다.The user input generator 420 generates a user input to be provided to the malicious app 100 based on stored user input data to minimize the maximum value of the payoff of the malicious app 100 based on the game theory.

또한, 사용자 입력 생성부(420)는 일반 영역으로부터 마스크 불가능 인터럽트(non-maskable interrupt) 신호를 수신할 수 있다.Also, the user input generator 420 may receive a non-maskable interrupt signal from a general area.

또한, 사용자 입력 생성부(420)는 악성앱(100) 및 사용자 입력 생성부(420)를 각각 제 1 및 제 2 플레이어로 가정하여 상기 제 1 및 제 2 플레이어 간의 미니맥스(Minimax) 게임 모델에서 상기 제 1 플레이어의 페이오프의 최대값을 상기 제 2 플레이어가 최소화하는 내쉬 균형(Nash Equilibrium) 조건에 따라 적어도 하나의 사용자 입력 중 하나를 선택한다.In addition, the user input generation unit 420 assumes that the malicious app 100 and the user input generation unit 420 are the first and second players, respectively, in the Minimax game model between the first and second players. One of at least one user input is selected according to a Nash Equilibrium condition in which the second player minimizes the maximum value of the payoff of the first player.

또한, 사용자 입력 생성부(420)는 k개의 서로 다른 사용자 입력 중 하나를 균등하고(uniform) 랜덤하게 선택할 수 있으며, 여기서 k는 자연수이다.Also, the user input generator 420 may uniformly and randomly select one of k different user inputs, where k is a natural number.

사용자 입력 전달부(430)는 생성된 사용자 입력을 악성앱(100)으로 전달할 수 있다.The user input transmission unit 430 may transmit the generated user input to the malicious app 100.

도 3은 본 발명의 일 실시예에 따른 동적 분석 입력 시스템의 동작원리를 나타낸 도면이고, 도 4는 본 발명의 일 실시예에 따른 지능형 악성앱의 동작원리를 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 사용자 입력 생성부의 동작을 설명하기 위한 도면이다.3 is a view showing the operating principle of the dynamic analysis input system according to an embodiment of the present invention, Figure 4 is a view showing the operating principle of an intelligent malicious app according to an embodiment of the present invention, and Figure 5 is the present invention A diagram for describing an operation of a user input generator according to an embodiment of

도 3에 도시된 바와 같이, 동적 분석 입력 시스템(400)의 악성앱(100) 탐지를 위한 동적 분석 입력 방법은 악성앱(100)에 대한 적어도 하나의 사용자 입력 데이터 및 사용자 입력 데이터에 부여된 선호도 값을 저장하는 단계(S100), 일반 영역(Normal World)으로부터 마스크 불가능 인터럽트(non-maskable interrupt) 신호를 수신하면, 게임 이론에 기초한 악성앱(100)의 페이오프(payoff)의 최대값을 최소화하도록 저장된 사용자 입력 데이터를 기반으로 악성앱(100)에 제공할 사용자 입력을 생성하는 단계(S200), 생성된 사용자 입력을 악성앱(100)으로 전달하는 단계(S300)를 포함한다.As shown in FIG. 3, the dynamic analysis input method for detecting the malicious app 100 of the dynamic analysis input system 400 includes at least one user input data for the malicious app 100 and a preference given to the user input data. Storing the value (S100), when receiving a non-maskable interrupt signal from the normal world, minimizes the maximum value of the payoff of the malicious app 100 based on the game theory Generating a user input to be provided to the malicious app 100 based on the stored user input data (S200), and transmitting the generated user input to the malicious app 100 (S300).

도 4를 참조하면, 악성앱(100)이 악성행위를 들어낼지 여부를 판단하는 방식은 아래와 같다.Referring to FIG. 4, a method of determining whether the malicious app 100 detects malicious behavior is as follows.

악성앱(100)은 동적 분석 입력 시스템(400)으로부터 사용자 입력을 전달받을 때마다 입력 선호도 임계값을 갱신한다(S10).The malicious app 100 updates the input preference threshold every time a user input is received from the dynamic analysis input system 400 (S10).

더하여, 악성앱(100)은 사용자 입력을 수신하고, 상기 사용자 입력의 선호도 값을 기초로 동적 분석 입력 시스템(400)이 악성 행위를 쉽게 파악하지 못하는 범위 내에서 입력 선호도 임계값을 결정할 수 있다. In addition, the malicious app 100 may receive a user input and determine an input preference threshold within a range in which the dynamic analysis input system 400 does not readily recognize malicious behavior based on the preference value of the user input.

또한, 악성앱(100)은 동적 분석 입력 시스템(400)으로부터 전달받은 사용자 입력의 선호도 값이 입력 선호도 임계값보다 작거나 같은지 판단한다(S20).In addition, the malicious app 100 determines whether the preference value of the user input transmitted from the dynamic analysis input system 400 is less than or equal to the input preference threshold (S20).

이때, 사용자 선호도 값이 입력 선호도 임계값보다 작거나 같으면, SPRT에서 영 가설(H0)을 채택하여 악성행위를 수행하고(S30), 사용자 입력의 선호도 값이 입력 선호도 임계값보다 크면, SPRT에서 대립 가설(H1)을 채택하여 정상행위를 수행한다(S40).At this time, if the user preference value is less than or equal to the input preference threshold, SPRT adopts the zero hypothesis (H 0 ) to perform malicious behavior (S30), and if the preference value of the user input is greater than the input preference threshold, SPRT Adopt the alternative hypothesis (H 1 ) and perform the normal behavior (S40).

도 5를 참조하여, 사용자 입력 생성부(420)가 게임이론을 기반으로 악성앱(100) 탐지를 위한 사용자 입력을 처리하는 방법을 설명하면 아래와 같다.Referring to FIG. 5, a method of processing a user input for detecting a malicious app 100 by the user input generating unit 420 based on a game theory will be described below.

도 3에 도시된 바와 같이, 사용자 입력을 생성하는 단계(S200)에서 k개(k는 자연수)의 서로 다른 사용자 입력이 생성된 후, 사용자 입력을 생성하는 단계(S200)는, 사용자 입력 생성부(420)가 악성앱(100) 및 사용자 입력 생성부(420)를 각각 제 1 및 제 2 플레이어로 가정하여 제 1 및 제 2 플레이어 간의 미니맥스(Minimax) 게임 모델에서 제 1 플레이어의 페이오프의 최대값을 제 2 플레이어가 최소화하는 내쉬 균형(Nash Equilibrium) 조건에 따라 적어도 하나의 사용자 입력 중 하나를 선택하는 단계(S210)를 포함한다.As shown in FIG. 3, after k (k is a natural number) different user inputs are generated in the step of generating a user input (S200), the step of generating the user input (S200) includes a user input generating unit 420 assumes that the malicious app 100 and the user input generator 420 are the first and second players, respectively, and the payoff of the first player in the Minimax game model between the first and second players. And selecting one of at least one user input according to a Nash Equilibrium condition in which the second player minimizes the maximum value (S210).

또한, 사용자 입력을 생성하는 단계(S200)는, 사용자 입력 생성부(420)가 k개의 서로 다른 사용자 입력 중 하나를 균등하고(uniform) 랜덤하게 선택하는 단계(S220)를 포함한다.In addition, the step of generating the user input (S200) includes a step (S220) of uniformly and randomly selecting one of the k different user inputs by the user input generator 420.

또한, 서로 다른 사용자 입력의 개수가 k라고 가정하면, 내쉬 균형 조건에 따라, 최소화된 최종적인 악성앱(100)의 페이오프(

Figure 112019062024705-pat00001
)는 엔트로피(entropy)를 이용하여 다음과 같이 정의된다.In addition, assuming that the number of different user inputs is k, according to the Nash balance condition, the payoff of the final malicious app 100 minimized (
Figure 112019062024705-pat00001
) Is defined as follows using entropy.

Figure 112019043556715-pat00003
Figure 112019043556715-pat00003

여기서,

Figure 112019043556715-pat00004
는 악성앱(100)에서 동작하는 SPRT가 영 가설(H0)을 채택하였을 때 악성앱(100)의 페이오프의 값이고,
Figure 112019043556715-pat00005
는 악성앱(100)에서 SPRT가 대립 가설(H1)을 채택하였을 때 악성앱(100)의 페이오프의 값이며,
Figure 112019043556715-pat00006
는 임의의 값으로 설정되고,
Figure 112019043556715-pat00007
은 악성앱(100)에서 동작하는 SPRT가 결정에 도달하지 않고 진행중일 때 악성앱(100)의 페이오프의 값이다.here,
Figure 112019043556715-pat00004
Is the value of the payoff of the malicious app 100 when the SPRT operating in the malicious app 100 adopts the zero hypothesis (H 0 ),
Figure 112019043556715-pat00005
Is the value of the payoff of the malicious app 100 when the SPRT adopts the confrontational hypothesis (H 1 ) in the malicious app 100,
Figure 112019043556715-pat00006
Is set to an arbitrary value,
Figure 112019043556715-pat00007
Is a value of the payoff of the malicious app 100 when the SPRT operating in the malicious app 100 is in progress without reaching a decision.

또한,

Figure 112019043556715-pat00008
는 SPRT에서 false negative rate이고,
Figure 112019043556715-pat00009
은 H0 조건하에서 SPRT 결정을 위한 평균 샘플의 개수,
Figure 112019043556715-pat00010
은 H1 조건하에서 SPRT 결정을 위한 평균 샘플의 개수를 나타낸다.Also,
Figure 112019043556715-pat00008
Is the false negative rate in SPRT,
Figure 112019043556715-pat00009
Is the average number of samples for SPRT determination under H 0 condition,
Figure 112019043556715-pat00010
Represents the average number of samples for SPRT determination under the H 1 condition.

또한,

Figure 112019043556715-pat00011
는 악성앱(100)의 입력 선호도 임계값 설정 전략이고,
Figure 112019043556715-pat00012
는 사용자 입력 생성부(420)가 악성앱(100)에게 제공하는 사용자 입력 선택 전략이다.Also,
Figure 112019043556715-pat00011
Is the input preference threshold setting strategy of the malicious app 100,
Figure 112019043556715-pat00012
Is a user input selection strategy provided by the user input generator 420 to the malicious app 100.

다시 말해, 사용자 입력 생성부(420)는 내쉬 균형 조건 하에서, k개의 서로 다른 사용자 입력 중에서 하나의 입력을 균등하고 랜덤하게 선택하여 악성앱(100)에게 제공하고, 악성앱(100)은 k개의 입력 선호도 중에서 균등하고 랜덤하게 선택한 입력 선호도를 입력 선호도 임계값으로 결정한다.In other words, the user input generator 420 uniformly and randomly selects one input from k different user inputs under the Nash balance condition and provides it to the malicious app 100, and the malicious app 100 An evenly and randomly selected input preference among the input preferences is determined as the input preference threshold.

이에 따라, 악성앱(100)은 사용자 입력 생성부(420)로부터 내쉬 균형 조건 하에서, 균등하고 랜덤하게 선택된 사용자 입력을 제공받아, 입력 선호도 중에서 균등하고 랜덤하게 선택한 입력 선호도를 입력 선호도 임계값으로 갱신하게 되어, 사용자 입력 동적 분석 입력 시스템의 동작을 쉽게 파악하지 못하여 악성행위를 수행하게 되고, 악성행위 횟수의 증가와 함께 악성행위의 증거가 늘어나고, 동적 분석 입력 시스템(400)의 악성앱(100)의 탐지 가능성이 증대된다.Accordingly, the malicious app 100 receives an evenly and randomly selected user input from the user input generator 420 under the Nash balance condition, and updates the input preference uniformly and randomly selected from the input preferences to the input preference threshold. As a result, the operation of the user input dynamic analysis input system is not easily understood, and malicious behavior is performed, and evidence of malicious behavior increases with the increase in the number of malicious acts, and the malicious app 100 of the dynamic analysis input system 400 The possibility of detection is increased.

본 발명의 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한, 본 발명의 실시예에 따른 악성앱 탐지를 위한 동적 분석 입력 방법은 컴퓨터와 결합되어 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The dynamic analysis input method for detecting a malicious app according to an embodiment of the present invention may be produced as a program to be executed on a computer and stored in a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, and optical data storage devices. In addition, the dynamic analysis input method for detecting a malicious app according to an embodiment of the present invention may be implemented as a computer program stored in a medium to be combined with a computer and executed.

이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위 내에서 변경 또는 수정이 가능하다. 저술한 실시 예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.The detailed description above is illustrative of the present invention. In addition, the above description shows and describes preferred embodiments of the present invention, and the present invention can be used in various other combinations, modifications, and environments. That is, changes or modifications may be made within the scope of the concept of the invention disclosed in the present specification, the scope equivalent to the disclosed contents, and/or the skill or knowledge of the art. The embodiment described above describes the best state for implementing the technical idea of the present invention, and various changes required in the specific application fields and uses of the present invention are possible. Therefore, the detailed description of the invention is not intended to limit the invention to the disclosed embodiment. In addition, the appended claims should be construed as including other embodiments.

100: 악성앱
200: 인터럽트 출력부
300: 사용자 입력 수신부
400: 동적 분석 입력 시스템
410: 사용자 입력 데이터 저장부
420: 사용자 입력 생성부
430: 사용자 입력 전달부
100: malicious app
200: interrupt output
300: user input receiver
400: dynamic analysis input system
410: user input data storage unit
420: user input generator
430: user input transmission unit

Claims (12)

악성앱에 대한 적어도 하나의 사용자 입력 데이터 및 상기 사용자 입력 데이터에 부여된 선호도 값을 저장하는 사용자 입력 데이터 저장부;
게임 이론에 기초한 상기 악성앱의 페이오프(payoff)의 최대값을 최소화하도록 상기 저장된 사용자 입력 데이터를 기반으로 상기 악성앱에 제공할 사용자 입력을 생성하되, 내쉬 균형(Nash Equilibrium) 조건 하에서, 생성된 k(k는 1보다 크거나 같은 자연수)개의 서로 다른 사용자 입력 중 하나를 균등하고(uniform) 랜덤하게 선택하는 사용자 입력 생성부; 및
상기 생성된 사용자 입력을 상기 악성앱으로 전달하는 사용자 입력 전달부를 포함하는 악성앱 탐지를 위한 동적 분석 입력 시스템.
A user input data storage unit for storing at least one user input data for the malicious app and a preference value assigned to the user input data;
The user input to be provided to the malicious app is generated based on the stored user input data so as to minimize the maximum value of the payoff of the malicious app based on game theory, but generated under Nash Equilibrium conditions. a user input generator for uniformly and randomly selecting one of k (k is a natural number greater than or equal to 1) different user inputs; And
A dynamic analysis input system for detecting malicious apps, including a user input transmission unit for transferring the generated user input to the malicious app.
제 1 항에 있어서,
상기 사용자 입력 데이터에 부여되는 상기 선호도 값은 해당 사용자 입력 데이터의 사용 빈도에 따라 결정되는 악성앱 탐지를 위한 동적 분석 입력 시스템.
The method of claim 1,
A dynamic analysis input system for detecting malicious apps in which the preference value given to the user input data is determined according to the frequency of use of the user input data.
제 1 항에 있어서,
상기 악성앱은 신뢰 실행 환경 하에서 일반 영역(Normal World)에 설치되고,
상기 동적 분석 입력 시스템은 신뢰 실행 환경 하에서 상기 일반 영역과 분리된 보안 영역(Secure World)에 구비되는 악성앱 탐지를 위한 동적 분석 입력 시스템.
The method of claim 1,
The malicious app is installed in the normal world under a trusted execution environment,
The dynamic analysis input system is a dynamic analysis input system for detecting malicious apps provided in a secure world separated from the general area under a trusted execution environment.
제 3 항에 있어서,
상기 사용자 입력 생성부는:
상기 일반 영역으로부터 마스크 불가능 인터럽트(non-maskable interrupt) 신호가 수신되면, 상기 저장된 사용자 입력 데이터를 기반으로 상기 악성앱에 제공할 사용자 입력을 생성하는 악성앱 탐지를 위한 동적 분석 입력 시스템.
The method of claim 3,
The user input generating unit:
When a non-maskable interrupt signal is received from the general area, a dynamic analysis input system for detecting a malicious app generates a user input to be provided to the malicious app based on the stored user input data.
제 1 항에 있어서,
상기 악성앱은:
상기 사용자 입력 데이터에 부여된 상기 선호도 값을 사전에 알고 있으며,
SPRT(Sequential Probability Ratio Test)를 기반으로 악성행위 수행 여부를 결정하되,
상기 동적 분석 입력 시스템으로부터 전달받은 상기 사용자 입력의 상기 선호도 값이 입력 선호도 임계값보다 작거나 같으면, 상기 SPRT에서 영 가설(H0)을 채택하여 악성행위를 수행하고,
상기 동적 분석 입력 시스템으로부터 전달받은 상기 사용자 입력의 상기 선호도 값이 상기 입력 선호도 임계값보다 크면, 상기 SPRT에서 대립 가설(H1)을 채택하여 정상행위를 수행하는 악성앱 탐지를 위한 동적 분석 입력 시스템.
The method of claim 1,
The malicious app is:
Knowing in advance the preference value assigned to the user input data,
Determine whether or not to perform malicious actions based on the Sequential Probability Ratio Test (SPRT),
If the preference value of the user input received from the dynamic analysis input system is less than or equal to the input preference threshold, the SPRT adopts the zero hypothesis (H 0 ) to perform a malicious action,
When the preference value of the user input received from the dynamic analysis input system is greater than the input preference threshold, the SPRT adopts the confrontation hypothesis (H 1 ) to detect a malicious app that performs normal behavior. .
제 5 항에 있어서,
상기 악성앱은 상기 동적 분석 입력 시스템으로부터 상기 사용자 입력을 전달받을 때마다 상기 입력 선호도 임계값을 갱신하는 악성앱 탐지를 위한 동적 분석 입력 시스템.
The method of claim 5,
The malicious app is a dynamic analysis input system for detecting a malicious app to update the input preference threshold every time the user input is received from the dynamic analysis input system.
제 5 항에 있어서,
상기 사용자 입력 생성부는,
상기 악성앱 및 상기 사용자 입력 생성부를 각각 제 1 및 제 2 플레이어로 가정하여 상기 제 1 및 제 2 플레이어 간의 미니맥스(Minimax) 게임 모델에서 상기 제 1 플레이어의 페이오프의 최대값을 상기 제 2 플레이어가 최소화하는 내쉬 균형(Nash Equilibrium) 조건에 따라 적어도 하나의 사용자 입력 중 하나를 선택하는 악성앱 탐지를 위한 동적 분석 입력 시스템.
The method of claim 5,
The user input generating unit,
Assuming that the malicious app and the user input generator are the first and second players, respectively, in the Minimax game model between the first and second players, the maximum value of the payoff of the first player is determined by the second player. Dynamic analysis input system for detecting malicious apps that selects one of at least one user input according to the Nash Equilibrium condition minimized by.
삭제delete 게임 이론에 기초한 악성앱의 페이오프(payoff)의 최대값을 최소화하도록 미리 저장된 사용자 입력 데이터를 기반으로 상기 악성앱에 제공할 사용자 입력을 생성하되, 내쉬 균형(Nash Equilibrium) 조건 하에서, 생성된 k(k는 1보다 크거나 같은 자연수)개의 서로 다른 사용자 입력 중 하나를 균등하고(uniform) 랜덤하게 선택하는 단계; 및
상기 생성된 사용자 입력을 상기 악성앱으로 전달하는 단계를 포함하는 악성앱 탐지를 위한 동적 분석 입력 방법.
The user input to be provided to the malicious app is generated based on pre-stored user input data to minimize the maximum value of the payoff of the malicious app based on the game theory, but under the condition of Nash Equilibrium, the generated k uniformly and randomly selecting one of different user inputs (k is a natural number greater than or equal to 1); And
Dynamic analysis input method for detecting a malicious app comprising the step of transmitting the generated user input to the malicious app.
제 9 항에 있어서,
상기 사용자 입력을 생성하되, 내쉬 균형(Nash Equilibrium) 조건 하에서, 생성된 k(k는 1보다 크거나 같은 자연수)개의 서로 다른 사용자 입력 중 하나를 균등하고(uniform) 랜덤하게 선택하는 단계는:
악성앱 및 사용자 입력 생성부를 각각 제 1 및 제 2 플레이어로 가정하여 상기 제 1 및 제 2 플레이어 간의 미니맥스(Minimax) 게임 모델에서 상기 제 1 플레이어의 페이오프의 최대값을 상기 제 2 플레이어가 최소화하는 내쉬 균형(Nash Equilibrium) 조건에 따라 적어도 하나의 사용자 입력 중 하나를 선택하는 단계를 포함하는 악성앱 탐지를 위한 동적 분석 입력 방법.
The method of claim 9,
The step of generating the user input, but uniformly and randomly selecting one of the generated k (k is a natural number greater than or equal to 1) different user inputs under the Nash Equilibrium condition:
The second player minimizes the maximum value of the payoff of the first player in the Minimax game model between the first and second players, assuming that the malicious app and the user input generating unit are the first and second players, respectively. Dynamic analysis input method for detecting a malicious app, comprising the step of selecting one of at least one user input according to a Nash Equilibrium condition.
삭제delete 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
제 9 항에 따른 악성앱 탐지를 위한 동적 분석 입력 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체.
In a computer-readable recording medium,
A recording medium in which a program for executing the dynamic analysis input method for detecting malicious apps according to claim 9 with a computer is recorded.
KR1020190049348A 2019-04-26 2019-04-26 Game theory based dynamic analysis input system and method for intelligent malicious app detection KR102210659B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190049348A KR102210659B1 (en) 2019-04-26 2019-04-26 Game theory based dynamic analysis input system and method for intelligent malicious app detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190049348A KR102210659B1 (en) 2019-04-26 2019-04-26 Game theory based dynamic analysis input system and method for intelligent malicious app detection

Publications (2)

Publication Number Publication Date
KR20200125286A KR20200125286A (en) 2020-11-04
KR102210659B1 true KR102210659B1 (en) 2021-02-01

Family

ID=73571378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190049348A KR102210659B1 (en) 2019-04-26 2019-04-26 Game theory based dynamic analysis input system and method for intelligent malicious app detection

Country Status (1)

Country Link
KR (1) KR102210659B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140157415A1 (en) 2012-12-05 2014-06-05 Ut-Battelle, Llc Information security analysis using game theory and simulation
KR101461051B1 (en) 2013-06-11 2014-11-13 (주) 에스에스알 Method for detecting malignant code through web function analysis, and recording medium thereof
US20160026796A1 (en) 2013-03-05 2016-01-28 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for detecting a compromised computing host

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140026704A (en) * 2012-08-23 2014-03-06 에스케이플래닛 주식회사 Application providing service system and method, apparatus supporting the same
KR20140111943A (en) * 2013-03-12 2014-09-22 삼성전자주식회사 Secure environment apparatus and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140157415A1 (en) 2012-12-05 2014-06-05 Ut-Battelle, Llc Information security analysis using game theory and simulation
US20160026796A1 (en) 2013-03-05 2016-01-28 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for detecting a compromised computing host
KR101461051B1 (en) 2013-06-11 2014-11-13 (주) 에스에스알 Method for detecting malignant code through web function analysis, and recording medium thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bahman Rashidi et al, "A Game-Theoretic Model for Defending Against Malicious Users in RecDroid", IFIP/IEEE IM 2015 Workshop, pp. 1339-1344(2015.)*

Also Published As

Publication number Publication date
KR20200125286A (en) 2020-11-04

Similar Documents

Publication Publication Date Title
US11042647B1 (en) Software assurance system for runtime environments
EP3323074B1 (en) Computer security systems and methods using asynchronous introspection exceptions
US10083294B2 (en) Systems and methods for detecting return-oriented programming (ROP) exploits
US7930751B2 (en) Method and apparatus for detecting malicious code in an information handling system
US7721333B2 (en) Method and system for detecting a keylogger on a computer
ES2857102T3 (en) Malware behavior detection using an interpretation virtual machine
RU2530210C2 (en) System and method for detecting malware preventing standard user interaction with operating system interface
US8505099B2 (en) Machine-implemented method and system for determining whether a to-be-analyzed software is a known malware or a variant of the known malware
US7941861B2 (en) Permitting multiple tasks requiring elevated rights
JP2017174373A (en) System and method for performing antivirus scanning of files on virtual machine
Tuncay et al. See no evil: phishing for permissions with false transparency
US11397812B2 (en) System and method for categorization of .NET applications
KR102210659B1 (en) Game theory based dynamic analysis input system and method for intelligent malicious app detection
KR102161777B1 (en) Trusted execution environment system
KR20070108723A (en) Apparatus and method for providing security access control
US11361077B2 (en) Kernel-based proactive engine for malware detection
CN106203119B (en) Hide processing method, device and the electronic equipment of cursor
CN108985098B (en) Data processor
KR102161770B1 (en) System and method for obtaining memory information
CN106022111B (en) Processing method and device for hiding pop-up window and electronic equipment
US20230297671A1 (en) Computer-implemented automatic security methods and systems
GB2402515A (en) Controlling write access of an application to a storage medium
SudalaiMuthu Volatile Kernel Rootkit Hidden Process Detection in Cloud Computing
CN114282275A (en) Mode switching method, device, embedded system and storage medium
CN106203118B (en) Processing method and device for modifying flicker time of insertion mark and electronic equipment

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant