KR20210147570A - Apparatus for recognizing malware through process mining - Google Patents

Apparatus for recognizing malware through process mining Download PDF

Info

Publication number
KR20210147570A
KR20210147570A KR1020200065000A KR20200065000A KR20210147570A KR 20210147570 A KR20210147570 A KR 20210147570A KR 1020200065000 A KR1020200065000 A KR 1020200065000A KR 20200065000 A KR20200065000 A KR 20200065000A KR 20210147570 A KR20210147570 A KR 20210147570A
Authority
KR
South Korea
Prior art keywords
log
activity
malicious code
xes
mining
Prior art date
Application number
KR1020200065000A
Other languages
Korean (ko)
Inventor
팜딘람
안현
김광훈
조은누리
전지혜
장태우
Original Assignee
경기대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경기대학교 산학협력단 filed Critical 경기대학교 산학협력단
Priority to KR1020200065000A priority Critical patent/KR20210147570A/en
Publication of KR20210147570A publication Critical patent/KR20210147570A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention provides a device for recognizing a malicious code through process mining, which includes: an XES log conversion unit which collects a system event log of an operating system and converts the log into a process activity log in the XES log format; and a process analysis unit which analyzes the process activity log with process mining techniques to identify processes performing abnormal activities. A malicious code is detected from the system event log collected in the operating system.

Description

프로세스 마이닝을 통한 악성코드 인식장치{APPARATUS FOR RECOGNIZING MALWARE THROUGH PROCESS MINING}Malicious code recognition device through process mining {APPARATUS FOR RECOGNIZING MALWARE THROUGH PROCESS MINING}

악성코드 탐지 기술에 관한 것으로, 보다 상세하게는 운영체제의 시스템 이벤트 로그를 XES 포맷의 로그로 변환한 후 프로세스 마이닝을 통해 악성코드를 탐지하는 장치에 관한 것이다.It relates to a technology for detecting malicious code, and more particularly, to a device for detecting malicious code through process mining after converting a system event log of an operating system into an XES format log.

악성코드(Malware)는 악의적인 목적으로 만들어진 모든 코드를 총칭하는 것으로 컴퓨터 바이러스, 트로이목마, 웜 형태로 구현되었다. 최근에는 악성코드가 보안 절차를 회피하도록 여러 수단을 동시에 적용하면서 변화하고 있기 때문에 앞서 언급한 3가지 구현방식으로 분류하기 어려워지고 있다.Malware is a generic term for all codes created for malicious purposes and is implemented in the form of computer viruses, Trojan horses, and worms. Recently, it is becoming difficult to classify into the three implementation methods mentioned above because malicious codes are changing while simultaneously applying various means to evade security procedures.

악성코드는 사용자에게 피해를 입힐 목적으로 만들어지는 것이 일반적이므로 컴퓨터에서 실행되는 프로그램들이 악성코드를 포함하고 있는지 탐지하는 것이 중요하다. 특정 프로그램이 악성코드를 포함하고 있는지 탐지하는 방법은 정적 분석을 기반으로 하는 방법과 동적 분석을 기반으로 하는 방법으로 분류할 수 있다. 정적 분석을 기반으로 하는 방법은 이미 수집된 악성코드의 특징을 분석해 해당 악성코드의 시그니처를 생성하고, AV(Anti-Virus) 스캔으로 프로그램이 악성코드의 시그니처를 포함하고 있는지 여부로 판정하거나 프로그램 파일 헤어 및 바이너리 내 문자열을 분석하는 방법 등을 사용한다. 동적 분석을 기반으로 하는 방법은 악성코드 수행하는 행위를 분석하는 방법으로 API 함수를 후킹(hooking)하는 방식과 시스템에서 자동으로 호출되는 이벤트 알림 루틴(notification routine)을 모니터링하는 방식 등을 사용한다.Since malicious codes are generally created for the purpose of harming users, it is important to detect whether programs running on the computer contain malicious codes. Methods for detecting whether a specific program contains malicious code can be classified into a method based on static analysis and a method based on dynamic analysis. The method based on static analysis generates a signature of the malicious code by analyzing the characteristics of the already collected malicious code, and determines whether the program contains the signature of the malicious code by AV (Anti-Virus) scan or program file Hair and methods of analyzing strings in binary are used. A method based on dynamic analysis is a method of analyzing the behavior of malicious code, and a method of hooking an API function and a method of monitoring an event notification routine automatically called from the system are used.

대한민국 공개특허 제10-2015-0085741호는 악성코드 탐지장치가 프로그램의 행위를 분석하는 방법으로 악성코드를 탐지하는 방법이 개시된다. 프로그램에서 실행되는 행위를 문자열로 정규화하여 기 저장된 악성코드의 문자열과 비교하여 악성코드를 탐지한다. 이러한 종래의 방법은 검색대상의 문자열을 모두 탐색해야 하며 탐지 규칙에 의존적이므로 범용성 및 확장성이 떨어지는 문제점이 있다.Korean Patent Application Laid-Open No. 10-2015-0085741 discloses a method for detecting a malicious code in a way that a malicious code detection device analyzes the behavior of a program. Malicious code is detected by normalizing the action executed in the program to a string and comparing it with the pre-stored string of malicious code. Such a conventional method has to search for all strings of a search target, and is dependent on detection rules, so there is a problem in versatility and scalability.

공개특허번호 제10-2015-0085741호(2015.07.24. 공개)Publication No. 10-2015-0085741 (published on July 24, 2015)

본 발명은 악성코드를 탐지하기 위해 사전에 탐지규칙을 정의하지 않고도 운영체제로부터 수집된 시스템 이벤트 로그로부터 악성코드 감염여부를 프로세스 마이닝 기법을 통해 탐지할 수 있는 장치를 제공하는 것을 목적으로 한다.An object of the present invention is to provide an apparatus capable of detecting whether or not a malicious code is infected from a system event log collected from an operating system through a process mining technique without defining a detection rule in advance to detect malicious code.

본 발명의 일 양상에 따르면, 프로세스 마이닝을 통한 악성코드 인식장치는 XES 로그 변환부와, 프로세스 분석부를 포함하여 운영체제에 수집된 시스템 이벤트 로그로부터 악성코드를 탐지한다.According to an aspect of the present invention, an apparatus for recognizing malicious codes through process mining detects malicious codes from a system event log collected in an operating system, including an XES log conversion unit and a process analysis unit.

XES 로그 변환부는 운영체제의 시스템 이벤트 로그를 수집하여 XES 로그 포맷의 프로세스 활동 로그로 변환한다.The XES log conversion unit collects the system event log of the operating system and converts it into a process activity log in XES log format.

프로세스 분석부는 프로세스 마이닝 기법으로 프로세스 활동 로그를 분석하여 비정상 활동을 수행하는 프로세스를 식별한다.The process analysis unit identifies processes performing abnormal activities by analyzing process activity logs using process mining techniques.

본 발명의 다른 양상에 따르면, 프로세스 마이닝을 통한 악성코드 인식장치의 프로세스 분석부는 비정상 활동을 수행하는 것으로 식별된 프로세스를 프로세스 활동 로그에 기초하여 다른 프로세스의 활동과 비교하여 이상 활동 여부를 최종적으로 판단할 수 있다.According to another aspect of the present invention, the process analysis unit of the apparatus for recognizing malicious code through process mining compares the process identified as performing the abnormal activity with the activity of another process based on the process activity log to finally determine whether the abnormal activity is present can do.

본 발명의 또 다른 양상에 따르면, 프로세스 마이닝을 통한 악성코드 인식장치는 프로세스 활동 로그를 시각화하여 표시하는 로그 시각화부를 더 포함할 수 있다.According to another aspect of the present invention, the apparatus for recognizing malicious code through process mining may further include a log visualization unit that visualizes and displays a process activity log.

본 발명의 또 다른 양상에 따르면, 프로세스 마이닝을 통한 악성코드 인식장치는 악성코드 종류에 따른 비정상 활동 패턴을 저장하는 활동 패턴 DB와, 비정상 활동을 수행하는 프로세스의 활동 패턴을 활동 패턴 DB에서 검색하여 악성코드 종류를 판단하는 악성코드 탐색부를 더 포함할 수 있다.According to another aspect of the present invention, the malicious code recognition device through process mining searches the activity pattern DB for storing abnormal activity patterns according to the types of malicious codes and the activity patterns of processes performing abnormal activities in the activity pattern DB. It may further include a malicious code search unit for determining the type of malicious code.

본 발명에 의하면 악성코드를 탐지하기 위해 사전에 탐지규칙을 정의할 필요가 없으며 운영체제로부터 수집된 시스템 이벤트 로그로부터 변환된 XES 로그에 대하여 프로세스 마이닝 기법을 적용하여 범용적이면서도 확장성이 있는 방법으로 악성코드 감염여부를 탐지할 수 있다.According to the present invention, there is no need to define a detection rule in advance to detect malicious code, and the process mining technique is applied to the XES log converted from the system event log collected from the operating system. Code infection can be detected.

도 1은 일 실시 예에 따른 프로세스 마이닝을 통한 악성코드 인식장치의 구성을 도시한 블록도이다.
도 2는 운영체제의 시스템 이벤트 로그를 XES 포맷으로 변환하는 개념을 예시적으로 도시한 것이다.
도 3은 프로세스 활동 로그를 시각화한 그래프의 예시이다.
도 4는 일 실시 예에 따라 프로세스 마이닝을 통한 악성코드를 인식하는 절차를 도시한 절차도이다.
도 5는 또 다른 실시 예에 따라 악성코드 종류를 판단하는 절차를 포함하는 악성코드 인식 절차를 도시한 절차도이다.
1 is a block diagram illustrating a configuration of an apparatus for recognizing malicious codes through process mining according to an embodiment.
2 exemplarily illustrates the concept of converting a system event log of an operating system into an XES format.
3 is an example of a graph visualizing a process activity log.
4 is a flowchart illustrating a procedure for recognizing a malicious code through process mining according to an embodiment.
5 is a flowchart illustrating a malicious code recognition procedure including a procedure for determining a malicious code type according to another embodiment.

전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시 예들을 통해 구체화된다. 각 실시 예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시 예 내에서 다양한 조합이 가능한 것으로 이해된다. 블록도의 각 블록은 어느 경우에 있어서 물리적인 부품을 표현할 수 있으나 또 다른 경우에 있어서 하나의 물리적인 부품의 기능의 일부 혹은 복수의 물리적인 부품에 걸친 기능의 논리적인 표현일 수 있다. 때로는 블록 혹은 그 일부의 실체는 프로그램 명령어들의 집합(set)일 수 있다. 이러한 블록들은 전부 혹은 일부가 하드웨어, 소프트웨어 혹은 이들의 결합에 의해 구현될 수 있다.The foregoing and additional aspects are embodied through embodiments described with reference to the accompanying drawings. It is understood that various combinations of elements of each embodiment are possible within the embodiments as long as there is no contradiction between them or other mentions. Each block in the block diagram may represent a physical part in some cases, but in other cases may be a part of the function of one physical part or a logical representation of a function across a plurality of physical parts. Sometimes a block or part of an entity may be a set of program instructions. All or a part of these blocks may be implemented by hardware, software, or a combination thereof.

도 1은 일 실시 예에 따른 프로세스 마이닝을 통한 악성코드 인식장치의 구성을 도시한 블록도이다. 본 발명의 일 양상에 따르면, 프로세스 마이닝을 통한 악성코드 인식장치(100)는 XES 로그 변환부(110)와, 프로세스 분석부(130)를 포함하여 운영체제에 수집된 시스템 이벤트 로그로부터 악성코드를 탐지한다.1 is a block diagram illustrating a configuration of an apparatus for recognizing a malicious code through process mining according to an embodiment. According to an aspect of the present invention, the apparatus 100 for recognizing malicious code through process mining includes the XES log conversion unit 110 and the process analysis unit 130 to detect malicious code from a system event log collected in the operating system. do.

악성코드 인식장치(100)는 프로세서, 메모리, 입출력 장치, 네트워크 장치, 디스플레이 등을 포함하는 컴퓨팅 장치일 수 있다. PC나 서버 장치일 수 있으며, 각 기능 블록들은 적어도 일부분이 프로세서에서 실행되는 프로그램 명령어 세트로 구현될 수 있다.The malicious code recognition device 100 may be a computing device including a processor, a memory, an input/output device, a network device, a display, and the like. It may be a PC or a server device, and each functional block may be implemented as a set of program instructions, at least a part of which is executed in a processor.

XES 로그 변환부(110)는 운영체제의 시스템 이벤트 로그를 수집하여 XES 로그 포맷의 프로세스 활동 로그로 변환한다.The XES log conversion unit 110 collects the system event log of the operating system and converts it into a process activity log in the XES log format.

운영체제의 시스템 이벤트 로그는 운영체제가 실행되는 컴퓨터 시스템에서 발생하는 이벤트에 대한 로그로 응용 프로그램에 대한 로그를 포함한다. 또한 시스템 이벤트 로그는 프로세스의 내부 작업에 대한 세부 정보를 획득할 수 있는 프로세스 모니터링 툴의 로그를 포함한다. 일 예로 운영체제가 마이크로소프트사의 윈도우인 경우 시스템 이벤트 로그는 응용 프로그램 로그, 보안 로그, 시스템 로그를 포함하고, 본 발명에서는 윈도우에서 제공하는 프로세서 모니터 도구의 프로세스 로그를 시스템 이벤트 로그에 포함시킨다. 일반적으로 마이크로소프트사의 윈도우를 비롯한 운영체제의 응용 프로그램 로그 정보에는 프로세스 이름, 실행 시간 등의 기본 정보에 대한 세부 정보만 포함하고 있습니다. 운영체제에 대하여 프로세스의 내부 작업에 대한 정보를 확인하기 위하여 프로세스 모니터 도구가 제공되며, 마이크로소프트사의 윈도우는 프로세스 모니터를 제공한다. 이 프로세스 모니터는 파일 시스템, 레지스트리 및 프로세스/스레드 작업 내용을 자세하게 제공하며, 각 프로세스 작업에 대한 전체 스레드 스택을 제공할 수 있다.The system event log of the operating system is a log of events occurring in the computer system in which the operating system is running, and includes a log of application programs. The system event log also includes a log of a process monitoring tool that allows you to obtain detailed information about the internal workings of a process. For example, when the operating system is Microsoft's Windows, the system event log includes an application program log, a security log, and a system log, and in the present invention, the process log of the processor monitor tool provided by Windows is included in the system event log. In general, application log information of operating systems including Microsoft's Windows contains only detailed information about basic information such as process name and execution time. A process monitor tool is provided to check information on the internal operation of a process with respect to the operating system, and Microsoft's Windows provides a process monitor. This process monitor provides detailed file system, registry and process/thread operations, and can provide a full thread stack for each process operation.

XES(eXtensible Event Stream) 로그 포맷은 프로세스 마이닝에서 사용하는 기본적인 파일 포맷이다. MXML의 스키마를 가지며, 이벤트 로그와 이벤트스트림의 구조를 표현하는데 특화된 파일 형태이다. 대부분의 프로세스 마이닝 툴들은 XES 로그 포맷을 입력으로 받아 프로세스 마이닝을 진행한다.The XES (eXtensible Event Stream) log format is a basic file format used in process mining. It has an MXML schema and is a specialized file format to express the structure of the event log and event stream. Most process mining tools receive XES log format as input and process mining.

XES 로그 변환부(110)는 운영체제에 의해 관리되는 프로세스들의 실행 과정을 로그 형태로 기록한 시스템 이벤트 로그를 XES 로그 포맷으로 변환한다. 변환된 XES 로그 포맷의 로그를 프로세스 활동 로그로 정의한다. The XES log conversion unit 110 converts a system event log that records the execution process of processes managed by the operating system in a log format into an XES log format. The converted XES log format log is defined as the process activity log.

도 2는 운영체제의 시스템 이벤트 로그를 XES 포맷으로 변환하는 개념을 예시적으로 도시한 것이다. 도 2의 (a)는 마이크로소프트사의 윈도우 운영체제에서 수집되어 특정 프로세스의 실행과정을 기록하고 있는 시스템 이벤트 로그를 도시하고 있고, (b)는 XES 포맷을 도식화하여 표현하고 있다. (a)에 도시된 시스템 이벤트 로그는 프로세스의 단일 실행을 EventID로 구분하며 EventID 하위에 EventData로 해당 프로세스의 특정 동작에 대한 내용을 기록하고 있다. 도 2에 도시된 것과 같이 XES 로그 변환부(110)가 EventID를 XES 로그 포맷 내의 <trace> 태그에 저장하고, EventData를 <trace> 태그 하위의 <Event> 태그에 저장하도록 변환한다.2 exemplarily illustrates the concept of converting a system event log of an operating system into an XES format. (a) of FIG. 2 shows a system event log that is collected from Microsoft's Windows operating system and records the execution process of a specific process, and (b) is a diagrammatic representation of the XES format. The system event log shown in (a) classifies a single execution of a process by EventID, and records the specific operation of the process as EventData under EventID. As shown in FIG. 2 , the XES log conversion unit 110 converts the EventID to be stored in the <trace> tag in the XES log format and the EventData to be stored in the <Event> tag under the <trace> tag.

프로세스 분석부(130)는 프로세스 마이닝 기법으로 프로세스 활동 로그를 분석하여 비정상 활동을 수행하는 프로세스를 식별한다.The process analysis unit 130 analyzes a process activity log using a process mining technique to identify a process performing an abnormal activity.

프로세스 마이닝은 프로세스를 지원하는 정보시스템의 로그를 분석하여 현재 프로세스를 분석하고, 그 결과를 토대로 성과를 평가하고 개선방향을 도출하는 기법입니다. 본 발명은 컴퓨터 운영체제 상에서 실행되는 응용 프로그램의 프로세스를 정보시스템의 프로세스처럼 간주하고 운영체제의 시스템 이벤트 로그(XES 포맷으로 변환 후)에 프로세스 마이닝 기법을 적용한다.Process mining is a technique that analyzes the current process by analyzing the log of the information system that supports the process, and evaluates the performance based on the result and draws a direction for improvement. The present invention regards the process of the application program executed on the computer operating system as the process of the information system and applies the process mining technique to the system event log (after conversion to XES format) of the operating system.

프로세스 분석부(130)는 XES 로그 변환부(110)가 변환한 XES 로그 포맷을 파싱하여 분석한다. 프로세스 분석부(130)는 XES 로그를 파싱하며 XES 로그로부터 프로세스 마이닝에 필요한 정보들을 추출한다. 이후 프로세스 분석부(130)는 프로세스 마이닝 기법을 적용하여 프로세스의 실행 순서에 따라 기록된 이벤트들로부터 프로세스 실행 흐름(control-flow)을 도출한다. 프로세스 분석부(130)는 도출된 실행 흐름을 분석하는 병목현상 분석 및/또는 반복실행 분석을 적용하여 비정상적인 프로세스 동작을 탐지하여 비정상 활동을 하는 프로세스를 식별한다. The process analysis unit 130 parses and analyzes the XES log format converted by the XES log conversion unit 110 . The process analysis unit 130 parses the XES log and extracts information necessary for process mining from the XES log. Then, the process analysis unit 130 derives a process execution flow (control-flow) from events recorded according to the execution order of the process by applying the process mining technique. The process analysis unit 130 identifies an abnormal process by detecting an abnormal process operation by applying a bottleneck analysis and/or repeated execution analysis that analyzes the derived execution flow.

본 발명의 다른 양상에 따르면, 프로세스 분석부(130)는 비정상 활동을 수행하는 것으로 식별된 프로세스를 프로세스 활동 로그에 기초하여 분석한 프로세스의 분석결과와 다른 프로세스의 활동 로그에 기초하여 분석한 프로세스의 분석 결과를 비교하여 이상 활동 여부를 최종적으로 판단할 수 있다.According to another aspect of the present invention, the process analysis unit 130 analyzes the process identified as performing the abnormal activity based on the process activity log and the analysis result of the process analyzed based on the activity log of another process. By comparing the analysis results, it is possible to finally determine whether there is an abnormal activity.

본 발명의 또 다른 양상에 따르면, 프로세스 마이닝을 통한 악성코드 인식장치(100)는 프로세스 활동 로그를 시각화하여 표시하는 로그 시각화부(150)를 더 포함할 수 있다. 로그 시각화부(150)는 프로세스 활동 로그에 기록된 전체 프로세스들의 실행 흐름을 네트워크 그래프 형태로 시각화하고, 탐지된 비정상적인 프로세스 활동을 강조하여 표시하여 정상적인 프로세스 활동을 하는 다른 프로세스와 구분되도록 시각화할 수 있다.According to another aspect of the present invention, the apparatus 100 for recognizing malicious code through process mining may further include a log visualization unit 150 that visualizes and displays a process activity log. The log visualization unit 150 visualizes the execution flow of all processes recorded in the process activity log in the form of a network graph, and highlights and displays the detected abnormal process activity to be visualized to be distinguished from other processes performing normal process activity. .

도 3은 프로세스 활동 로그를 시각화한 그래프의 예시이다. 도 3은 마이크로소프트사의 윈도우 운영체제 상에서 본 발명을 실행하여 획득한 결과의 예시이다. 도 3의 예에서는 iserv.exe와 n5client.exe 실행파일의 프로세스가 비정상적인 루프를 수행하는 것을 확인할 수 있다. 이때 프로세스 분석부(130)는 두 프로세스를 비정상 활동을 수행하는 프로세스로 탐지했을 것이다.3 is an example of a graph visualizing a process activity log. 3 is an example of results obtained by executing the present invention on Microsoft's Windows operating system. In the example of FIG. 3 , it can be seen that the processes of the iserv.exe and n5client.exe executable files perform an abnormal loop. At this time, the process analysis unit 130 may have detected the two processes as processes performing an abnormal activity.

도 4는 일 실시 예에 따라 프로세스 마이닝을 통한 악성코드를 인식하는 절차를 도시한 절차도이다. 도 4를 참조하여 설명하면, 운영체제에 의해 프로세스들의 실행 과정이 시스템 이벤트 로그 형태로 실시간으로 기록된다(S1000). XES 로그 변환부(110)는 운영체제의 시스템 이벤트 로그를 수집하여 XES 포맷의 프로세스 활동 로그로 변환한다(S1020). 시스템 이벤트 로그에 포함된 특정 프로세스의 EventID는 프로세스의 단일 실행 건을 나타내며, 해당 정보는 XES 포맷의 프로세스 활동 로그 내의 <Trace> 태그에 저장되고, 해당 EventID에 포함된 프로세스의 특정 동작 결과를 나타내는 EventData는 XES 포맷의 프로세스 활동 로그 내의 해당 <Trace> 태그 내의 <Event> 태그에 저장되도록 변환된다.4 is a flowchart illustrating a procedure for recognizing a malicious code through process mining according to an embodiment. Referring to FIG. 4 , the execution process of the processes is recorded in real time in the form of a system event log by the operating system (S1000). The XES log conversion unit 110 collects the system event log of the operating system and converts it into an XES format process activity log ( S1020 ). The EventID of a specific process included in the system event log indicates a single execution of the process, the information is stored in the <Trace> tag in the process activity log in XES format, and EventData indicating the specific operation result of the process included in the EventID is converted to be stored in the <Event> tag within the corresponding <Trace> tag in the process activity log in XES format.

프로세스 분석부(130)는 XES 포맷의 프로세스 활동 로그를 파싱하고 분석한다. 프로세스 분석부(130)는 XES 포맷의 프로세스 활동 로그를 파싱하며 XES 포맷의 프로세스 활동 로그로부터 프로세스 마이닝에 필요한 정보들을 추출한다. 이후에, 프로세스 분석부(130)는 프로세스 마이닝 기법을 적용하여 실행 순서에 따라 기록된 이벤트들로부터 프로세스 실행 흐름을 도출하고, 실행 흐름을 분석하는 프로세스 마이닝 기법인 병목현상 분석 및/또는 반복실행 분석 등의 기법을 적용하여 비정상적인 프로세스 동작을 탐지한다(S1040).The process analysis unit 130 parses and analyzes the process activity log in the XES format. The process analyzer 130 parses the process activity log in the XES format and extracts information necessary for process mining from the process activity log in the XES format. Thereafter, the process analysis unit 130 applies a process mining technique to derive a process execution flow from events recorded according to the execution order, and analyzes a bottleneck and/or repeat execution analysis, which is a process mining technique for analyzing the execution flow. An abnormal process operation is detected by applying a technique such as S1040.

로그 시각화부(150)는 악성코드 탐지 결과를 시각화한다. 로그 시각화부(150) 전체 프로세스들의 실행 흐름을 네트워크 그래프 형태로 시각화한다(S1060).The log visualization unit 150 visualizes the malicious code detection result. The log visualization unit 150 visualizes the execution flow of all processes in the form of a network graph (S1060).

본 발명의 또 다른 양상에 따르면, 프로세스 마이닝을 통한 악성코드 인식장치(100)는 악성코드 종류에 따른 비정상 활동 패턴을 저장하는 활동 패턴 DB(190)와, 비정상 활동을 수행하는 프로세스의 활동 패턴을 활동 패턴 DB(190)에서 검색하여 악성코드 종류를 판단하는 악성코드 탐색부(170)를 더 포함할 수 있다. 본 발명은 악성코드를 탐지하기 위하여 사전에 탐지 규칙을 정의할 필요가 없다. 즉, 종래 기술처럼 신종 악성코드 출현 시 이를 탐지하기 위한 규칙을 새롭게 정의할 필요 없이 정확한 악성코드의 종류는 모르더라도 비정상 활동을 수행하는 프로세스를 탐지하고 해당 프로세스의 실행코드인 응용 프로그램 등이 악성코드를 포함하고 있음을 사용자에게 알릴 수 있다. 다만, 이 양상에서는 응용 프로그램이 이미 알려져 있는 악성코드를 포함하고 있는 경우에는 탐지된 악성코드의 종류를 판단할 수 있도록 악성코드를 포함하는 프로세스의 활동 패턴을 데이터베이스인 활동 패턴 DB(190)에 저장하고, 악성코드 탐지 시 악성코드 탐색부(170)가 동일하거나 유사한 패턴의 활동 패턴이 저장되어 있는지 검색하는 방법으로 악성코드의 종류를 판단할 수 있다.According to another aspect of the present invention, the apparatus 100 for recognizing malicious codes through process mining includes an activity pattern DB 190 that stores abnormal activity patterns according to types of malicious codes, and activity patterns of processes performing abnormal activities. It may further include a malicious code search unit 170 that determines the type of malicious code by searching the activity pattern DB (190). In the present invention, there is no need to define a detection rule in advance to detect malicious code. In other words, there is no need to define a new rule to detect new types of malicious code when a new type of malicious code appears, as in the prior art. You can notify the user that it contains . However, in this aspect, when the application program contains known malicious code, the activity pattern of the process containing the malicious code is stored in the activity pattern DB 190, which is a database, so that the type of the detected malicious code can be determined. and, when detecting malicious code, the malicious code search unit 170 may determine the type of malicious code by searching whether an activity pattern of the same or similar pattern is stored.

도 5는 또 다른 실시 예에 따라 악성코드 종류를 판단하는 절차를 포함하는 악성코드 인식 절차를 도시한 절차도이다. 도 4에 도시된 절차에서 악성코드 탐색부(170)가 악성코드에 감염된 프로세스의 활동 패턴이 저장된 활동 패턴 DB(190)에서 현재 탐지된 프로세스의 비정상 활동 패턴을 검색하여 악성코드의 종류를 판단하는 단계(S2080)를 더 포함한다. 이미 알려진 악성코드의 경우 활동 패턴 DB(190)를 통해 악성코드의 종류까지 판단이 가능하나 새로 출현한 악성코드의 경우 유사한 활동 패턴을 검색하지 못할 수 있다. 이 경우 사용자에 의해 해당 활동 패턴을 활동 패턴 DB(190)에 저장하여, 동일한 악성코드 탐지 시 종류를 판단할 수 있도록 한다.5 is a flowchart illustrating a malicious code recognition procedure including a procedure for determining a malicious code type according to another embodiment. In the procedure shown in FIG. 4 , the malicious code search unit 170 determines the type of malicious code by searching the abnormal activity pattern of the currently detected process in the activity pattern DB 190 in which the activity pattern of the malicious code-infected process is stored. It further includes a step (S2080). In case of known malicious code, it is possible to determine the type of malicious code through the activity pattern DB 190, but in the case of newly emerged malicious code, it may not be possible to search for a similar activity pattern. In this case, the corresponding activity pattern is stored in the activity pattern DB 190 by the user so that the type can be determined when the same malicious code is detected.

앞서 설명한 바와 같이 본 발명은 프로세스 마이닝을 통해 악성코드를 탐지하므로 사전에 정의된 규칙을 기반으로 탐지를 수행하는 종래의 악성코드 탐지 기술들과 달리 신종 악성코드 및 바이러스 출현 시 탐지 규칙을 새롭게 정의할 필요가 없어 범용성 및 확장성을 가진다.As described above, the present invention detects malicious code through process mining, so unlike conventional malicious code detection technologies that perform detection based on predefined rules, detection rules can be newly defined when new malicious codes and viruses appear. There is no need for versatility and extensibility.

이상에서 본 발명을 첨부된 도면을 참조하는 실시 예들을 통해 설명하였지만 이에 한정되는 것은 아니며, 이들로부터 당업자라면 자명하게 도출할 수 있는 다양한 변형 예들을 포괄하도록 해석되어야 한다. 특허청구범위는 이러한 변형 예들을 포괄하도록 의도되었다.Although the present invention has been described above with reference to the accompanying drawings, the present invention is not limited thereto, and it should be construed to encompass various modifications that can be apparent from those skilled in the art. The claims are intended to cover such variations.

100 : 악성코드 인식장치
110 : XES 로그 변환부
130 : 프로세스 분석부
150 : 로그 시각화부
170 : 악성코드 탐색부
190 : 활동 패턴 DB
100: Malware recognition device
110: XES log conversion unit
130: process analysis unit
150: log visualization unit
170: Malware search unit
190: activity pattern DB

Claims (4)

운영체제(OS)의 시스템 이벤트 로그를 수집하여 XES(eXtensible Event Stream) 로그 포맷의 프로세스 활동 로그로 변환하는 XES 로그 변환부; 및
프로세스 마이닝 기법으로 프로세스 활동 로그를 분석하여 비정상 활동을 수행하는 프로세스를 식별하는 프로세스 분석부;
를 포함하는 프로세스 마이닝을 통한 악성코드 인식장치.
an XES log conversion unit that collects the system event log of the operating system (OS) and converts it into a process activity log in an XES (eXtensible Event Stream) log format; and
a process analysis unit that analyzes a process activity log using a process mining technique to identify a process performing an abnormal activity;
Malicious code recognition device through process mining including
제 1 항에 있어서,
프로세스 분석부는 비정상 활동을 수행하는 것으로 식별된 프로세스를 프로세스 활동 로그에 기초하여 다른 프로세스의 활동과 비교하여 이상 활동 여부를 최종적으로 판단하는 프로세스 마이닝을 통한 악성코드 인식장치.
The method of claim 1,
The process analysis unit compares the process identified as performing the abnormal activity with the activity of other processes based on the process activity log to finally determine whether the abnormal activity is a malicious code recognition device through process mining.
제 1 항에 있어서,
프로세스 활동 로그를 시각화하여 표시하는 로그 시각화부;
를 더 포함하는 프로세스 마이닝을 통한 악성코드 인식장치.
The method of claim 1,
a log visualization unit that visualizes and displays the process activity log;
Malicious code recognition device through process mining further comprising a.
제 1 항에 있어서.
악성코드 종류에 따른 비정상 활동 패턴을 저장하는 활동 패턴 DB; 및
비정상 활동을 수행하는 프로세스의 활동 패턴을 활동 패턴 DB에서 검색하여 악성코드 종류를 판단하는 악성코드 탐색부;
를 더 포함하는 프로세스 마이닝을 통한 악성코드 인식장치.
The method of claim 1 .
Activity pattern DB that stores abnormal activity patterns according to the type of malicious code; and
a malicious code search unit that determines the type of malicious code by searching the activity pattern DB for an activity pattern of a process performing an abnormal activity;
Malicious code recognition device through process mining further comprising a.
KR1020200065000A 2020-05-29 2020-05-29 Apparatus for recognizing malware through process mining KR20210147570A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200065000A KR20210147570A (en) 2020-05-29 2020-05-29 Apparatus for recognizing malware through process mining

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200065000A KR20210147570A (en) 2020-05-29 2020-05-29 Apparatus for recognizing malware through process mining

Publications (1)

Publication Number Publication Date
KR20210147570A true KR20210147570A (en) 2021-12-07

Family

ID=78867955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065000A KR20210147570A (en) 2020-05-29 2020-05-29 Apparatus for recognizing malware through process mining

Country Status (1)

Country Link
KR (1) KR20210147570A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893942A (en) * 2023-07-06 2023-10-17 九科信息技术(深圳)有限公司 Method, device, equipment and storage medium for converting format of log data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150085741A (en) 2014-01-16 2015-07-24 한국과학기술정보연구원 Method for normalizing dynamic behavior of process and detecting malicious code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150085741A (en) 2014-01-16 2015-07-24 한국과학기술정보연구원 Method for normalizing dynamic behavior of process and detecting malicious code

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893942A (en) * 2023-07-06 2023-10-17 九科信息技术(深圳)有限公司 Method, device, equipment and storage medium for converting format of log data

Similar Documents

Publication Publication Date Title
Galal et al. Behavior-based features model for malware detection
US11423146B2 (en) Provenance-based threat detection tools and stealthy malware detection
US8762948B1 (en) System and method for establishing rules for filtering insignificant events for analysis of software program
US8484727B2 (en) System and method for computer malware detection
US8949797B2 (en) Optimizing performance of integrity monitoring
KR100951852B1 (en) Apparatus and Method for Preventing Anomaly of Application Program
US8898775B2 (en) Method and apparatus for detecting the malicious behavior of computer program
RU2430411C1 (en) System and method of detecting malware
US11989292B2 (en) Analysis function imparting device, analysis function imparting method, and recording medium
KR101086203B1 (en) A proactive system against malicious processes by investigating the process behaviors and the method thereof
CN109101815B (en) Malicious software detection method and related equipment
Cabau et al. Malware classification based on dynamic behavior
NL2026782B1 (en) Method and system for determining affiliation of software to software families
Yücel et al. Imaging and evaluating the memory access for malware
WO2020014663A1 (en) Systems and methods for detecting obfuscated malware in obfuscated just-in-time (jit) compiled code
CN109684833A (en) Make the system and method for program hazardous act mode adaptive user machine system
Eskandari et al. To incorporate sequential dynamic features in malware detection engines
Sanz et al. Instance-based anomaly method for Android malware detection
Ahmed et al. Medusa: Malware detection using statistical analysis of system's behavior
O'Kane et al. N-gram density based malware detection
Kaur et al. A complete dynamic malware analysis
US11003772B2 (en) System and method for adapting patterns of malicious program behavior from groups of computer systems
KR20210147570A (en) Apparatus for recognizing malware through process mining
Guerra-Manzanares et al. Differences in android behavior between real device and emulator: a malware detection perspective
Maleki et al. An improved method for packed malware detection using PE header and section table information

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E601 Decision to refuse application