KR20210132545A - Apparatus and method for detecting abnormal behavior and system having the same - Google Patents

Apparatus and method for detecting abnormal behavior and system having the same Download PDF

Info

Publication number
KR20210132545A
KR20210132545A KR1020200051088A KR20200051088A KR20210132545A KR 20210132545 A KR20210132545 A KR 20210132545A KR 1020200051088 A KR1020200051088 A KR 1020200051088A KR 20200051088 A KR20200051088 A KR 20200051088A KR 20210132545 A KR20210132545 A KR 20210132545A
Authority
KR
South Korea
Prior art keywords
information
current process
network
learning
current
Prior art date
Application number
KR1020200051088A
Other languages
Korean (ko)
Other versions
KR102393913B1 (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 KR1020200051088A priority Critical patent/KR102393913B1/en
Publication of KR20210132545A publication Critical patent/KR20210132545A/en
Application granted granted Critical
Publication of KR102393913B1 publication Critical patent/KR102393913B1/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications

Abstract

According to one embodiment of the present invention, an abnormal behavior detection apparatus includes: an information collection part configured to collect information of a current process and information of a parent process of the current process when requested to collect information about the current process; an identification information generation part configured to generate process identification information about the current process based on the information collected by the information collection part; a learning part configured to generate relation information between the current process and the parent process, based on the process identification information generated by the identification information generation part and the information of the parent process collected by the information collection part; a storage part configured to store a plurality of learning results which are pre-learned by the learning part; and a control part configured to request the information collection part to collect the information about the current process when requested to execute the current process, and check whether the plurality of learning results stored in the storage part include the relation information learned by the learning part, and then, stop the execution of the current process based on a result of the checking operation. Therefore, the present invention is capable of preventing access to an abnormal network such as a malicious website or the like.

Description

이상행위 탐지 장치, 방법 및 이를 포함하는 시스템{APPARATUS AND METHOD FOR DETECTING ABNORMAL BEHAVIOR AND SYSTEM HAVING THE SAME}Abnormal behavior detection device, method, and system including the same

본 발명은 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템에 관한 것으로, 비정상 프로세스의 실행 또는 비정상 네트워크의 접속을 차단하기 위한 장치, 방법 및 이를 포함하는 시스템에 관한 것이다.The present invention relates to an apparatus, method, and system for detecting abnormal behavior, and to a system including the same, and to an apparatus, method, and system including the same for blocking execution of an abnormal process or access to an abnormal network.

악성 프로그램(Malicious Program)은 악의적인 목적을 위해 작성된 실행 가능한 코드의 통칭으로, 맬웨어(malware, malicious software), 악성코드(malicious code)라고도 하며, 자기 복제 능력과 감염 대상의 유무에 따라 바이러스(virus), 웜바이러스(worm virus), 트로이 목마(troian horse) 등으로 분류될 수 있다.A malicious program is a generic name for executable code written for malicious purposes, also called malware, malicious software, or malicious code. ), worm virus, and Trojan horse.

또한, 악성 프로그램과 유사한 스파이웨어(spyware)는 다른 사람의 컴퓨터에 잠입하여 개인정보 등을 추출해가는 소프트웨어로서, 최근 악용 사례가 증가하고 있다.In addition, spyware similar to a malicious program is software that infiltrates other people's computers and extracts personal information, and the number of abuse cases is increasing recently.

이러한 악성 프로그램은 네트워크 트래픽 발생, 시스템 성능 저하, 파일 삭제, 개인 정보 유출 등의 피해를 입힐 수 있고, 악성 프로그램으로 인한 증상이나 유포 방법이 점차 복잡해지고 지능화되고 있는 추세이다.These malicious programs can cause damage such as network traffic generation, system performance degradation, file deletion, and personal information leakage, and the symptoms and dissemination methods caused by malicious programs are becoming increasingly complex and intelligent.

특허문헌 1은 이러한 악성 프로그램을 탐지하기 위한 악성 프로그램 탐지 장치 및 그 방법에 관한 것이다. 특허문헌 1은 실행 파일(PE 파일)의 헤더 분석을 통해 악성 프로그램이 가질 수 있는 특징을 기반으로, 해당 실행 파일의 악성 프로그램 여부를 판단하여 악성 프로그램을 탐지하는 구성을 개시하고 있다.Patent Document 1 relates to a malicious program detection apparatus and method for detecting such a malicious program. Patent Document 1 discloses a configuration for detecting a malicious program by determining whether the executable file is a malicious program based on the characteristics that the malicious program may have through header analysis of the executable file (PE file).

다만, 헤더와 같은 특정 코드 섹션의 바이트(byte)를 이용하여 악성 프로그램을 탐지하는 방법은, 악성 프로그램에 대한 코드 정보를 미리 알고 있어야 악성 프로그램인지 여부를 판단할 수 있는 문제가 있다. 즉, 특허문헌 1은 신종 악성코드 및 변종 악성코드를 탐지하는데 어려움이 있다.However, a method of detecting a malicious program using bytes of a specific code section such as a header has a problem in that it is possible to determine whether a malicious program is a malicious program only when code information about the malicious program is known in advance. That is, Patent Document 1 has difficulty in detecting new malicious codes and variant malicious codes.

KR 10-0942795 B1KR 10-0942795 B1

본 발명은, 비정상 프로세스(악성 프로그램)의 실행을 차단하기 위하여, 실행되고자 하는 프로세스가 부모 프로세스로부터 생성된 이력이 있는지를 확인하고, 프로세스 자체의 평판을 판단함으로써, 신종 악성 프로그램 또는 변종 악성 프로그램 등의 실행 자체를 차단할 수 있는 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템에 관한 것이다.In order to block the execution of an abnormal process (malicious program), the present invention checks whether a process to be executed has a history generated from a parent process and determines the reputation of the process itself, such as a new malicious program or a variant malicious program. It relates to an abnormal behavior detection device and method capable of blocking the execution itself, and a system including the same.

또한, 본 발명은, 비정상 네트워크의 접속을 차단하기 위하여, 프로세스에서 네트워크로 접속한 이력이 있는지 또는 네트워크에서 프로세스로 접속한 이력이 있는지를 확인하고, 네트워크 자체의 평판을 판단함으로써, 유해 사이트 등의 비정상 네트워크의 접속 자체를 차단할 수 있는 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템에 관한 것이다.In addition, in order to block access to an abnormal network, the present invention checks whether there is a history of accessing from a process to a network or a history of accessing a network from a process, and judging the reputation of the network itself. It relates to an abnormal behavior detection apparatus and method capable of blocking access to an abnormal network itself, and a system including the same.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타난 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention may be understood by the following description, and will become more clearly understood by the examples of the present invention. In addition, it will be readily apparent that the objects and advantages of the present invention can be realized by means and combinations thereof indicated in the claims.

본 발명의 일 측면에 따른 이상행위 탐지 장치는 현재 프로세스에 대한 정보 수집을 요청받으면, 상기 현재 프로세스의 정보 및 상기 현재 프로세스의 부모 프로세스의 정보를 수집하도록 구성된 정보 수집부; 상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부; 상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 상기 정보 수집부에 의해 수집된 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하도록 구성된 학습부; 상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및 상기 현재 프로세스에 대한 프로세스 실행이 요청되면 상기 정보 수집부에게 상기 현재 프로세스에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성된 제어부를 포함할 수 있다.An apparatus for detecting abnormal behavior according to an aspect of the present invention includes: an information collection unit configured to collect information on the current process and information on a parent process of the current process when a request for collection of information on the current process is received; an identification information generation unit configured to generate process identification information for the current process based on the information collected by the information collection unit; a learning unit configured to generate relationship information about the current process and the parent process based on the process identification information generated by the identification information generating unit and the information of the parent process collected by the information collecting unit; a storage unit configured to store a plurality of learning results previously learned by the learning unit; and when a process execution for the current process is requested, the information collection unit is requested to collect information on the current process, and the plurality of learning results stored in the storage unit includes the relationship information learned by the learning unit. may include a control unit configured to check and block execution of the current process based on a result of the verification.

상기 정보 수집부는, 상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 사용자 단말 정보를 포함하는 상기 현재 프로세스의 정보를 수집하고, 상기 부모 프로세스의 ID를 포함하는 상기 부모 프로세스의 정보를 수집하도록 구성될 수 있다.The information collection unit is configured to collect information of the current process including the ID of the current process, the creation time of the current process, and user terminal information, and collect information of the parent process including the ID of the parent process can be

상기 식별 정보 생성부는, 상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 상기 사용자 단말 정보에 기반하여 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다.The identification information generator may be configured to generate process identification information for the current process based on an ID of the current process, a creation time of the current process, and the user terminal information.

상기 학습부는, 상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 부모 프로세스의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.The learning unit receives the process identification information and the parent process information generated by the identification information generation unit as input, and uses a combined value of the process identification information and the parent process information based on machine learning as the learned relationship information It may be configured to output as

상기 학습된 관계 정보는, 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 해시값을 포함할 수 있다.The learned relationship information may include a hash value in which the process identification information and information of the parent process are combined.

상기 제어부는, 상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되면 상기 현재 프로세스를 정상 프로세스로 판단하여, 상기 현재 프로세스를 실행할 수 있다.When the learned relationship information is included in the plurality of learning results stored in the storage unit, the controller may determine the current process as a normal process and execute the current process.

상기 제어부는, 상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되지 않으면 상기 현재 프로세스를 비정상 프로세스로 판단하여, 상기 현재 프로세스의 실행을 차단할 수 있다.When the learned relationship information is not included in the plurality of learning results stored in the storage unit, the controller determines that the current process is an abnormal process and blocks execution of the current process.

상기 제어부는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 저장부에 상기 현재 프로세스에 대한 프로세스 식별 정보를 차단 정보로 저장시키도록 구성될 수 있다.The controller may be configured to store, in the storage unit, process identification information for the current process as blocking information, when it is determined that the current process is the abnormal process.

상기 제어부는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 현재 프로세스의 실행을 차단하기 전에 상기 현재 프로세스의 평판을 탐색하고, 탐색 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성될 수 있다.The control unit may be configured to, if it is determined that the current process is the abnormal process, search for a reputation of the current process before blocking the execution of the current process, and block the execution of the current process based on the search result .

상기 제어부는, 상기 현재 프로세스가 상기 정상 프로세스로 결정되면, 상기 현재 프로세스의 로그 정보를 수집하도록 상기 정보 수집부를 제어하고, 상기 정보 수집부에 의해 수집된 현재 프로세스의 로그 정보를 상기 저장부에 저장하고, 로그 출력 요청이 입력되면 상기 저장부에 저장된 복수의 로그 정보 중 상기 로그 출력 요청의 대상이 되는 프로세스에 대한 로그 정보를 출력하도록 구성될 수 있다.When the current process is determined as the normal process, the controller controls the information collection unit to collect log information of the current process, and stores log information of the current process collected by the information collection unit in the storage unit and outputting log information on a process that is a target of the log output request among a plurality of log information stored in the storage unit when a log output request is input.

본 발명의 다른 측면에 따른 이상행위 탐지 장치는 네트워크에 대한 정보 수집을 요청받으면, 현재 프로세스의 정보 및 네트워크의 정보를 수집하도록 구성된 정보 수집부; 상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부; 상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 정보 수집부에 의해 수집된 네트워크의 정보에 기반하여, 상기 현재 프로세스 및 상기 네트워크의 정보 간의 관계 정보를 생성하도록 구성된 학습부; 상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및 상기 현재 프로세스로부터 상기 네트워크로의 접속 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 네트워크와의 접속을 차단하도록 구성된 제어부를 포함할 수 있다. An anomaly detection apparatus according to another aspect of the present invention includes: an information collection unit configured to collect information on a current process and information on a network when a request for collection of information on a network is received; an identification information generation unit configured to generate process identification information for the current process based on the information collected by the information collection unit; a learning unit configured to generate relationship information between the current process and the information of the network, based on the process identification information generated by the identification information generating unit and the network information collected by the information collecting unit; a storage unit configured to store a plurality of learning results previously learned by the learning unit; and when access to the network from the current process or access to the current process from the network is requested, the information collection unit requests the information collection unit to collect information on the network, and the learning is performed based on a plurality of learning results stored in the storage unit. It may include a control unit configured to check whether the relationship information learned by the unit is included, and to block access to the network based on the verification result.

상기 학습부는, 상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 네트워크의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 네트워크의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.The learning unit receives the process identification information and the network information generated by the identification information generation unit, and outputs a value obtained by combining the process identification information and the network information based on machine learning as the learned relationship information can be configured to

상기 제어부는, 상기 접속이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스의 정보에 기반하여 상기 현재 프로세스가 정상 프로세스인지를 판단하고, 상기 현재 프로세스가 정상 프로세스로 판단되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성될 수 있다.When the access is requested, the control unit determines whether the current process is a normal process based on information on the current process and a parent process of the current process, and if the current process is determined to be a normal process, sends the information collection unit It may be configured to request collection of information about the network.

본 발명의 또 다른 측면에 따른 이상행위 탐지 시스템은 본 발명에 따른 이상행위 탐지 장치가 구비된 사용자 단말이 포함된 사용자 단말 그룹; 및 상기 사용자 단말 그룹에 포함된 사용자 단말과 무선 또는 유선으로 연결되도록 구성된 중앙 서버를 포함할 수 있다.An abnormal behavior detection system according to another aspect of the present invention includes a user terminal group including a user terminal equipped with an abnormal behavior detection apparatus according to the present invention; and a central server configured to be wirelessly or wiredly connected to a user terminal included in the user terminal group.

상기 중앙 서버는, 상기 사용자 단말 그룹에 포함된 사용자 단말로부터 상기 저장부에 저장된 학습 결과를 수신하면, 수신한 학습 결과를 저장하고, 상기 수신한 학습 결과를 상기 사용자 단말 그룹에 속한 모든 사용자 단말에게 배포하도록 구성될 수 있다.When the central server receives the learning result stored in the storage unit from the user terminal included in the user terminal group, the central server stores the received learning result, and provides the received learning result to all user terminals belonging to the user terminal group. It can be configured to distribute.

상기 사용자 단말은, 상기 중앙 서버에 의해 배포된 학습 결과 중 상기 저장부에 저장되지 않은 학습 결과를 선택적으로 저장하도록 구성될 수 있다.The user terminal may be configured to selectively store the learning results not stored in the storage unit among the learning results distributed by the central server.

본 발명의 또 다른 측면에 따른 이상행위 탐지 방법은 현재 프로세스에 대한 프로세스 실행이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스에 대한 정보를 수집하는 정보 수집 단계; 상기 정보 수집 단계에서 수집된 현재 프로세스의 정보 및 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하는 관계 정보 생성 단계; 기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및 상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 현재 프로세스의 실행을 차단하는 차단 단계를 포함할 수 있다. An abnormal behavior detection method according to another aspect of the present invention comprises: an information collecting step of collecting information on the current process and a parent process of the current process when a process execution for the current process is requested; a relationship information generation step of generating relationship information on the current process and the parent process based on the information on the current process and the information on the parent process collected in the information collection step; a relationship information checking step of checking whether the relationship information generated in the relationship information generation step is included in the pre-stored learning result; and a blocking step of blocking execution of the current process based on a result of the checking of the relationship information checking step.

상기 차단 단계는, 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 현재 프로세스에 대한 평판을 탐색하는 평판 탐색 단계; 및 상기 평판 탐색 단계에서 탐색된 현재 프로세스의 평판에 기반하여, 상기 현재 프로세스의 실행을 차단하는 프로세스 실행 차단 단계를 포함할 수 있다.The blocking step may include a reputation search step of searching for a reputation for the current process when the generated relationship information is not included in the pre-stored learning result; and a process execution blocking step of blocking execution of the current process based on the reputation of the current process found in the reputation search step.

본 발명의 또 다른 측면에 따른 이상행위 탐지 방법은 현재 프로세스로부터 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면, 상기 현재 프로세스 및 상기 네트워크에 대한 정보를 수집하는 정보 수집 단계; 상기 정보 수집 단계에서 수집된 현재 프로세스의 정보 및 상기 네트워크의 정보에 기반하여, 상기 현재 프로세스와 상기 네트워크에 대한 관계 정보를 생성하는 관계 정보 생성 단계; 기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및 상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 네트워크로의 접속 및 상기 네트워크로부터의 접속을 차단하는 차단 단계를 포함할 수 있다.In an abnormal behavior detection method according to another aspect of the present invention, when an access request from a current process to a network or an access request from the network to the current process is requested, the information collecting step of collecting information about the current process and the network ; a relationship information generation step of generating relationship information about the current process and the network based on the information on the current process and the information on the network collected in the information collection step; a relationship information checking step of checking whether the relationship information generated in the relationship information generation step is included in the pre-stored learning result; and a blocking step of blocking access to and from the network based on a result of the checking of the relationship information checking step.

상기 차단 단계는, 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 네트워크에 대한 평판을 탐색하는 평판 탐색 단계; 및 상기 평판 탐색 단계에서 탐색된 네트워크의 평판에 기반하여, 상기 네트워크의 접속을 차단하는 네트워크 접속 차단 단계를 포함할 수 있다.The blocking step may include a reputation search step of searching for a reputation for the network when the generated relationship information is not included in the pre-stored learning result; and a network access blocking step of blocking access to the network based on the reputation of the network discovered in the reputation search step.

본 발명의 일 측면에 따르면, 악성 프로그램 등의 비정상 프로세스에 포함된 특정 코드에 기반하지 않고, 비정상 프로세스와 부모 프로세스 간의 관계 정보에 기반하여 비정상 프로세스의 실행이 차단되기 때문에, 신종 또는 변종 악성 프로그램 등의 비정상 프로세스라고 하더라도 용이하게 차단될 수 있는 장점이 있다.According to one aspect of the present invention, since the execution of the abnormal process is blocked based on the relationship information between the abnormal process and the parent process, rather than based on a specific code included in the abnormal process such as a malicious program, a new or variant malicious program, etc. Even if it is an abnormal process, it has the advantage that it can be easily blocked.

또한, 본 발명의 일 측면에 따르면, IP 주소 등 네트워크의 정보에만 기반하여 네트워크 접속을 차단하지 않고, 네트워크에 접속하려는 프로세스 또는 네트워크가 접속하려는 프로세스 등 네트워크와 관련된 프로세스의 정보를 함께 고려하여 네트워크가 비정상 네트워크인지를 판단할 수 있다. 따라서, 신종 유해 사이트 등의 비정상 네트워크의 접속이 용이하게 차단될 수 있는 장점이 있다.In addition, according to an aspect of the present invention, the network does not block network access based only on information of the network, such as an IP address, but also considers information on a process related to the network, such as a process to access the network or a process to access the network. It can be determined whether the network is abnormal. Accordingly, there is an advantage that access to an abnormal network such as a new harmful site can be easily blocked.

또한, 본 발명의 일 측면에 따르면, 프로세스 및/또는 네트워크의 평판을 탐색하고, 이를 고려하여 2차적으로 비정상 프로세스 여부 및 비정상 네트워크 여부를 판단하기 때문에, 비정상 프로세스의 실행 및 비정상 네트워크의 접속의 차단의 정확도 및 신뢰도가 향상될 수 있는 장점이 있다.In addition, according to one aspect of the present invention, since the reputation of the process and/or network is searched and secondarily whether the process and/or network is abnormal is determined in consideration of this, the execution of the abnormal process and the connection of the abnormal network are blocked. There is an advantage in that the accuracy and reliability of the

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술되는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 이상행위 탐지 장치를 개략적으로 도시한 도면이다.
도 2는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템을 개략적으로 도시한 도면이다.
도 3은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 있어서, 비정상 프로세스의 실행을 차단하기 위한 실시예를 개략적으로 도시한 도면이다.
도 4는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 있어서, 비정상 네트워크의 접속을 차단하기 위한 일 실시예를 개략적으로 도시한 도면이다.
도 5 및 도 6은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 있어서, 비정상 네트워크의 접속을 차단하기 위한 다른 실시예를 개략적으로 도시한 도면이다.
The following drawings attached to the present specification illustrate preferred embodiments of the present invention, and serve to further understand the technical spirit of the present invention together with the detailed description of the present invention to be described later, so the present invention is a matter described in such drawings should not be construed as being limited only to
1 is a diagram schematically illustrating an apparatus for detecting an abnormal behavior according to an embodiment of the present invention.
2 is a diagram schematically illustrating an abnormal behavior detection system according to another embodiment of the present invention.
3 is a diagram schematically illustrating an embodiment for blocking execution of an abnormal process in a method for detecting an abnormal behavior according to another embodiment of the present invention.
4 is a diagram schematically illustrating an embodiment for blocking access to an abnormal network in a method for detecting an abnormal behavior according to another embodiment of the present invention.
5 and 6 are diagrams schematically illustrating another embodiment for blocking access to an abnormal network in a method for detecting an anomaly according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, the terms or words used in the present specification and claims should not be construed as being limited to their ordinary or dictionary meanings, and the inventor should properly understand the concept of the term in order to best describe his invention. Based on the principle that can be defined, it should be interpreted as meaning and concept consistent with the technical idea of the present invention.

따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다. Therefore, the configuration shown in the embodiments and drawings described in the present specification is only the most preferred embodiment of the present invention and does not represent all of the technical spirit of the present invention, so at the time of the present application, various It should be understood that there may be equivalents and variations.

또한, 본 발명을 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In addition, in the description of the present invention, if it is determined that a detailed description of a related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등과 같이 서수를 포함하는 용어들은, 다양한 구성요소들 중 어느 하나를 나머지와 구별하는 목적으로 사용되는 것이고, 그러한 용어들에 의해 구성요소들을 한정하기 위해 사용되는 것은 아니다.Terms including an ordinal number such as 1st, 2nd, etc. are used for the purpose of distinguishing any one of various components from the others, and are not used to limit the components by such terms.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 제어부와 같은 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, a term such as a control unit described in the specification means a unit for processing at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software.

덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다.In addition, throughout the specification, when a part is "connected" with another part, it is not only "directly connected" but also "indirectly connected" with another element interposed therebetween. include

도 1은 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)를 개략적으로 도시한 도면이다.1 is a diagram schematically illustrating an anomaly detection apparatus 100 according to an embodiment of the present invention.

도 1을 참조하면, 정보 수집부(110), 식별 정보 생성부(120), 학습부(130), 저장부(140) 및 제어부(150)를 포함할 수 있다. 여기서, 제어부(150)는 정보 수집부(110), 식별 정보 생성부(120), 학습부(130) 및 저장부(140)와 연결되어, 각각을 제어할 수 있다.Referring to FIG. 1 , it may include an information collection unit 110 , an identification information generation unit 120 , a learning unit 130 , a storage unit 140 , and a control unit 150 . Here, the control unit 150 may be connected to the information collection unit 110 , the identification information generation unit 120 , the learning unit 130 , and the storage unit 140 to control each of them.

정보 수집부(110)는 현재 프로세스에 대한 정보 수집 요청이 입력되면, 상기 현재 프로세스의 정보 및 상기 현재 프로세스의 부모 프로세스의 정보를 수집하도록 구성될 수 있다. 여기서, 정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한을 가지고 있을 수 있다. 바람직하게, 정보 수집부(110)는 컴퓨터 자원 정보에 대한 읽기 권한을 가지고 있을 수 있다.The information collection unit 110 may be configured to collect information on the current process and information on a parent process of the current process when an information collection request for the current process is input. Here, the information collection unit 110 may have access to computer resource information. Preferably, the information collection unit 110 may have a read right for computer resource information.

정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한에 기반하여, 현재 프로세스에 대한 정보 수집이 요청되더라도, 현재 프로세스의 정보뿐만 아니라 현재 프로세스의 부모 프로세스의 정보까지 수집할 수 있다.The information collection unit 110 may collect information on the current process as well as information on the parent process of the current process, even if information collection on the current process is requested, based on the access right to the computer resource information.

프로세스는 실행 중인 프로그램 또는 일(task)을 의미하고, 부모 프로세스에 의해 자식 프로세스가 생성될 수 있다. 따라서, 본 발명의 일 실시예에서 설명하는 현재 프로세스란 정보 수집의 요청 대상이 되는 프로세스로서, 현재 실행 중인 프로세스를 의미한다. 그리고, 부모 프로세스란 상기 현재 프로세스를 생성한 프로세스를 의미한다. 따라서, 정보 수집부(110)는 로그 데이터에 접근하여, 현재 프로세스의 정보뿐만 아니라 현재 프로세스의 부모 프로세스의 정보도 수집할 수 있다.A process means a running program or task, and a child process may be created by a parent process. Accordingly, the current process described in an embodiment of the present invention refers to a process that is a request target for information collection and is currently running. And, the parent process means a process that created the current process. Accordingly, the information collection unit 110 may access log data to collect information on the parent process of the current process as well as information on the current process.

식별 정보 생성부(120)는 상기 정보 수집부(110)에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다. 여기서, 식별 정보란 상기 현재 프로세스를 특정할 수 있는 식별 정보로서, 현재 프로세스와 타 프로세스를 구분하기 위한 식별 정보를 의미한다.The identification information generating unit 120 may be configured to generate process identification information for the current process based on the information collected by the information collecting unit 110 . Here, the identification information is identification information for specifying the current process, and means identification information for distinguishing the current process from other processes.

바람직하게, 식별 정보 생성부(120)는 정보 수집부(110)에 의해 수집된 현재 프로세스의 아이디 등을 이용하여, 현재 프로세스를 특정할 수 있는 현재 프로세스에 대한 프로세스 식별 정보를 생성할 수 있다. Preferably, the identification information generating unit 120 may generate process identification information for the current process that can specify the current process by using the ID of the current process collected by the information collecting unit 110 .

예컨대, A 프로세스가 X 프로세스 및 Y 프로세스에 의해 각각 생성되고, X 프로세스는 Y 프로세스와 다른 프로세스라고 가정한다. 이 경우, X 프로세스 및 Y 프로세스는 각각 A 프로세스의 부모 프로세스이다. 식별 정보 생성부(120)에서 생성하는 프로세스 식별 정보는, A 프로세스가 X 프로세스에 의해 생성된 프로세스인지 또는 Y 프로세스에 의해 생성된 프로세스인지를 식별하기 위한 정보일 수 있다. 따라서, 식별 정보 생성부(120)는 프로세스 식별 정보를 생성할 때, 현재 프로세스를 특정할 수 있는 유일한 정보들에 기반하여, 현재 프로세스에 대한 프로세스 식별 정보를 생성할 수 있다.For example, it is assumed that process A is created by process X and process Y, respectively, and process X is a process different from process Y. In this case, process X and process Y are each a parent process of process A. The process identification information generated by the identification information generating unit 120 may be information for identifying whether the process A is a process generated by the X process or the Y process. Accordingly, when generating the process identification information, the identification information generating unit 120 may generate process identification information for the current process based on unique pieces of information that can specify the current process.

학습부(130)는 상기 식별 정보 생성부(120)에 의해 생성된 프로세스 식별 정보 및 상기 정보 수집부(110)에 의해 수집된 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스 및 상기 부모 프로세스 간의 관계 정보를 생성하도록 구성될 수 있다.Based on the process identification information generated by the identification information generation unit 120 and the parent process information collected by the information collection unit 110, the learning unit 130 is configured to configure the relationship between the current process and the parent process. may be configured to generate information.

바람직하게, 학습부(130)는 현재 프로세스와 현재 프로세스를 실행한 부모 프로세스의 정보를 조합하여, 상기 관계 정보를 학습 및 생성할 수 있다. Preferably, the learning unit 130 may learn and generate the relationship information by combining information on the current process and the parent process that has executed the current process.

예컨대, 앞선 예시와 같이, A 프로세스가 X 프로세스 및 Y 프로세스에 의해 각각 생성되고, X 프로세스는 Y 프로세스와 다른 프로세스이고, 현재 X 프로세스에 의해 생성된 A 프로세스만이 실행 중이라고 가정한다. 학습부(130)는 A 프로세스에 대한 프로세스 식별 정보와 X 프로세스의 정보에 기반하여, A 프로세스와 X 프로세스 간의 관계 정보를 학습할 수 있다. 즉, 학습부(130)는 현재 프로세스의 정보에만 기반하여 학습하지 않고, 현재 프로세스의 정보와 부모 프로세스의 정보에 기반하여 학습함으로써, 학습 대상이 되는 현재 프로세스와 부모 프로세스를 특정할 수 있다.For example, as in the previous example, it is assumed that process A is created by process X and process Y, respectively, process X is a different process from process Y, and only process A created by process X is currently running. The learning unit 130 may learn relationship information between process A and process X based on process identification information on process A and information on process X. That is, the learning unit 130 may specify the current process and the parent process to be learned by learning based on the information of the current process and the information of the parent process, rather than learning based only on the information of the current process.

저장부(140)는 상기 학습부(130)에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성될 수 있다. 여기서, 학습부(130)에 의해 미리 학습된 학습 결과는, 학습부(130)에 의해 학습된 프로세스들 간의 관계 정보로서, 정상 프로세스들 간의 관계 정보가 저장될 수 있다.The storage unit 140 may be configured to store a plurality of learning results previously learned by the learning unit 130 . Here, the learning result previously learned by the learning unit 130 is relation information between processes learned by the learning unit 130 , and relation information between normal processes may be stored.

예컨대, 현재 프로세스가 A 프로세스이고, 현재 프로세스의 부모 프로세스가 PA 프로세스이며, A 프로세스 및 PA 프로세스는 모두 정상 프로세스로 판단된 것으로 가정한다. 이 경우, 저장부(140)에는 PA 프로세스와 P 프로세스에 대해 미리 학습된 관계 정보가 저장되어 있을 수 있다.For example, it is assumed that the current process is the A process, the parent process of the current process is the PA process, and both the A process and the PA process are determined to be normal processes. In this case, pre-learned relationship information for the PA process and the P process may be stored in the storage unit 140 .

즉, 저장부(140)에 저장된 학습 결과는 정상 프로세스들 간의 관계 정보로서, 학습부(130)에 의해 학습된 현재 프로세스와 부모 프로세스에 대한 관계 정보가 비교될 수 있는 정보이다. 예컨대, 저장부(140)에 저장된 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 부모 프로세스에 대한 관계 정보가 포함되면, 현재 프로세스는 정상 프로세스로 판단될 수 있다. 반대로, 저장부(140)에 저장된 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 부모 프로세스에 대한 관계 정보가 포함되지 않으면, 현재 프로세스는 비정상 프로세스로 판단될 수 있다.That is, the learning result stored in the storage unit 140 is relationship information between normal processes, and is information that can be compared between the current process learned by the learning unit 130 and the relationship information on the parent process. For example, if the learning result stored in the storage 140 includes relationship information on the current process learned by the learning unit 130 and the parent process, the current process may be determined as a normal process. Conversely, if the learning result stored in the storage 140 does not include relationship information between the current process learned by the learning unit 130 and the parent process, the current process may be determined to be an abnormal process.

저장부(140)는 제어부(150)의 전반적인 동작에 요구되는 데이터들, 명령어 및 소프트웨어뿐만 아니라, 학습부(130)에 의해 학습된 관계 정보 및 정보 수집부(110)에 의해 수집된 프로세스의 정보를 저장할 수 있다. The storage unit 140 includes data, commands, and software required for the overall operation of the control unit 150 , as well as relationship information learned by the learning unit 130 and process information collected by the information collection unit 110 . can be saved.

예컨대, 저장부(140)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory) 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.For example, the storage unit 140 may include a flash memory type, a hard disk type, a solid state disk type (SSD), a silicon disk drive type (SDD), and a multimedia card micro type (multimedia). card micro type), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM) ) may include at least one type of storage medium.

제어부(150)는 상기 현재 프로세스에 대한 프로세스 실행이 요청되면 상기 정보 수집부(110)에게 상기 현재 프로세스에 대한 정보 수집을 요청하도록 구성될 수 있다. The controller 150 may be configured to request the information collection unit 110 to collect information on the current process when a process execution for the current process is requested.

예컨대, 제어부(150)는 정보 수집부(110), 식별 정보 생성부(120), 학습부(130) 및 저장부(140)와 연결되어, 데이터를 서로 주고 받을 수 있는 프로세서이다. 제어부(150)는 하드웨어적으로, ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.For example, the control unit 150 is a processor that is connected to the information collection unit 110 , the identification information generation unit 120 , the learning unit 130 , and the storage unit 140 to exchange data with each other. The controller 150 is hardware, ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), microprocessors ( microprocessors) and may be implemented using at least one of electrical units for performing other functions.

제어부(150)는 사용자, 다른 프로세스 및/또는 외부 접속에 따른 프로세스 실행 요청을 수신하면, 정보 수집부(110)에게 실행의 대상이 되는 프로세스에 대한 정보 수집을 요청할 수 있다. 여기서, 정보 수집에 대상이 되는 프로세스는 실행의 대상이 되는 현재 프로세스이다.When receiving a process execution request according to a user, another process, and/or external access, the control unit 150 may request the information collection unit 110 to collect information on a process to be executed. Here, the process targeted for information collection is the current process targeted for execution.

예컨대, 제어부(150)가 A 프로세스에 대한 실행 요청을 수신하면, 제어부(150)는 정보 수집부(110)에게 A 프로세스에 대한 정보 수집을 요청할 수 있다. 정보 수집부(110)는 A 프로세스의 정보 및 A 프로세스의 부모 프로세서의 정보를 수집할 수 있다.For example, when the controller 150 receives the execution request for the process A, the controller 150 may request the information collection unit 110 to collect information on the process A. The information collection unit 110 may collect information of process A and information of a parent processor of process A.

또한, 제어부(150)는 상기 저장부(140)에 저장된 복수의 학습 결과에 상기 학습된 관계 정보가 포함되어 있는지를 확인할 수 있다.Also, the controller 150 may check whether the learned relationship information is included in the plurality of learning results stored in the storage 140 .

예컨대, 앞선 실시예와 같이, 현재 프로세스가 A 프로세스이고, 현재 프로세스의 부모 프로세스가 PA 프로세스라고 가정한다. 제어부(150)는 저장부(140)에 저장된 학습 결과에 PA 프로세스에 대한 학습 결과가 저장되어 있는지를 먼저 확인할 수 있다. 저장부(140)에 PA 프로세스에 대한 학습 결과가 저장되어 있는 경우, 제어부(150)는 학습부(130)에서 학습된 A 프로세스와 PA 프로세스에 대한 관계 정보가 저장부(140)에 저장되어 있는지를 확인할 수 있다. 즉, 제어부(150)는 PA 프로세스가 A 프로세스를 생성한 이력이 있는지 여부를 확인할 수 있다. For example, as in the previous embodiment, it is assumed that the current process is the A process and the parent process of the current process is the PA process. The controller 150 may first check whether the learning result for the PA process is stored in the learning result stored in the storage unit 140 . When the learning result for the PA process is stored in the storage unit 140 , the control unit 150 determines whether the relationship information between the process A and the PA process learned in the learning unit 130 is stored in the storage unit 140 . can be checked. That is, the controller 150 may check whether the PA process has a history of generating the A process.

제어부(150)는 확인 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성될 수 있다. The control unit 150 may be configured to block execution of the current process based on a result of the check.

예컨대, 앞선 실시예에서, PA 프로세스가 A 프로세스를 생성한 이력이 있는 경우에는, 저장부(140)에 저장된 학습 결과에 A 프로세스와 PA 프로세스에 대한 관계 정보가 포함되어 있을 수 있다. 따라서, 제어부(150)는 저장부(140)에 저장된 학습 결과에 A 프로세스와 PA 프로세스에 대한 관계 정보가 포함되어 있으면, A 프로세스를 정상 프로세스로 판단할 수 있다.For example, in the previous embodiment, when the PA process has a history of generating the A process, the learning result stored in the storage 140 may include relationship information between the A process and the PA process. Accordingly, if the learning result stored in the storage unit 140 includes relationship information on the A process and the PA process, the controller 150 may determine that the A process is a normal process.

반대로, 제어부(150)는 저장부(140)에 저장된 학습 결과에 A 프로세스와 PA 프로세스에 대한 관계 정보가 포함되어 있지 않으면, A 프로세스를 비정상 프로세스로 판단할 수 있다. 그리고, 제어부(150)는 비정상 프로세스로 판단한 A 프로세스의 실행을 차단할 수 있다. Conversely, if the learning result stored in the storage unit 140 does not include relationship information on the A process and the PA process, the controller 150 may determine that the A process is an abnormal process. In addition, the controller 150 may block the execution of the process A determined to be an abnormal process.

예컨대, 프로세스의 실행 차단은 프로세스의 경로에 기반한 실행 차단과 프로세스 자체에 대한 실행 차단으로 구분될 수 있다. 여기서, 프로세스의 경로에 기반한 실행 차단의 경우, 프로세스의 경로가 변경되면 해당 프로세스에 대한 실행 차단이 정확하게 이루어지지 않는 문제가 생길 수 있다. 따라서, 제어부(150)는 저장부(140)에 저장된 학습 결과에 기반하여 현재 프로세스의 실행을 차단함으로써, 현재 프로세스의 경로가 변경되더라도 프로세스의 실행을 차단할 수 있다.For example, execution blocking of a process may be divided into execution blocking based on the path of the process and execution blocking of the process itself. Here, in the case of blocking execution based on the path of the process, if the path of the process is changed, there may be a problem in that execution blocking for the corresponding process is not accurately performed. Accordingly, the controller 150 blocks the execution of the current process based on the learning result stored in the storage 140 , thereby blocking the execution of the process even if the path of the current process is changed.

따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 비정상 프로세스의 실행을 사전에 차단함으로써, 맬웨어 및 악성코드 등의 악성 프로그램의 실행을 차단할 수 있다. 따라서, 비정상 프로세스에 의한 개인정보 유출, 시스템 손상 등의 문제가 미연에 방지될 수 있는 장점이 있다.Accordingly, the abnormal behavior detection apparatus 100 according to an embodiment of the present invention may block execution of malicious programs such as malware and malicious code by blocking the execution of an abnormal process in advance. Accordingly, there is an advantage that problems such as personal information leakage and system damage due to an abnormal process can be prevented in advance.

정보 수집부(110)는, 상기 현재 프로세스의 ID(Process Identifier, PID), 상기 현재 프로세스의 생성 시간 및 사용자 단말 정보를 포함하는 상기 현재 프로세스의 정보를 수집할 수 있다. 여기서, 사용자 단말은 프로세스가 실행되는 PC(personal computer), 태블릿 PC 및 스마트폰 등을 포함할 수 있다.The information collection unit 110 may collect information on the current process including a Process Identifier (PID) of the current process, a creation time of the current process, and user terminal information. Here, the user terminal may include a personal computer (PC), a tablet PC, a smart phone, etc. in which the process is executed.

정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한을 가지고 있으므로, 제어부(150)로부터 정보 수집을 요청받으면, 정보 수집의 요청 대상인 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보를 수집할 수 있다.Since the information collection unit 110 has access to computer resource information, when it receives a request for information collection from the control unit 150, it collects the ID of the current process that is the request for information collection, the generation time of the current process, and user terminal information. can do.

또한, 정보 수집부(110)는 상기 부모 프로세스의 ID(Parent Process Identifier, PPID)를 포함하는 상기 부모 프로세스의 정보를 수집하도록 구성될 수 있다. 여기서, 부모 프로세스는 현재 프로세스를 생성한 프로세스로서, 정보 수집부(110)는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보와 함께 부모 프로세스의 ID를 더 수집할 수 있다.Also, the information collection unit 110 may be configured to collect information on the parent process including a Parent Process Identifier (PPID) of the parent process. Here, the parent process is a process that generated the current process, and the information collection unit 110 may further collect the ID of the parent process together with the ID of the current process, the generation time of the current process, and user terminal information.

예컨대, 정보 수집부(110)는 현재 프로세스의 ID, 현재 프로세스의 생성 시간, MAC(Media Access Control) 주소 등 사용자 단말의 고유 번호 및 부모 프로세스의 ID를 수집할 수 있다.For example, the information collection unit 110 may collect the ID of the current process, the generation time of the current process, the unique number of the user terminal, such as a MAC (Media Access Control) address, and the ID of the parent process.

식별 정보 생성부(120)는, 상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 상기 사용자 단말 정보에 기반하여 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다.The identification information generating unit 120 may be configured to generate process identification information for the current process based on the ID of the current process, the generation time of the current process, and the user terminal information.

프로세스 식별 정보는 현재 프로세스를 특정하기 위한 정보이다. 따라서, 식별 정보 생성부(120)는 현재 프로세스를 특정할 수 있는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보를 조합하여 프로세스 식별 정보를 생성할 수 있다.The process identification information is information for specifying a current process. Accordingly, the identification information generating unit 120 may generate process identification information by combining the ID of the current process for specifying the current process, the generation time of the current process, and user terminal information.

여기서, 프로세스 ID는 프로세스 식별자로서, 운영 체제 커널이 사용되는 번호이다. 즉, 프로세스 ID를 통해서 프로세스가 일시적으로 식별될 수 있다. 예컨대, X 프로세스의 프로세스 ID가 1000이었으나, 컴퓨터를 재부팅한 이후에는 X 프로세스의 프로세스 ID가 1100으로 변경될 수 있다. 따라서, 프로세스 ID만으로는 프로세스를 특정할 수 없는 문제가 있다. 또한 프로세스 생성 시간도 하나의 프로세스에 대한 유일한 값이 아니기 때문에, 프로세스를 특정하기 위한 단일 정보로는 사용되는데 어려움이 있다. 예컨대, 동일한 시간에 생성된 복수의 프로세스는 프로세스 생성 시간이 동일하기 때문에, 프로세스 생성 시간만으로는 프로세스를 특정할 수 없는 문제가 있다.Here, the process ID is a process identifier and is a number used by the operating system kernel. That is, the process may be temporarily identified through the process ID. For example, the process ID of process X is 1000, but after rebooting the computer, the process ID of process X may be changed to 1100. Therefore, there is a problem that the process cannot be specified only by the process ID. Also, since the process creation time is not a unique value for one process, it is difficult to use it as single information for specifying the process. For example, since a plurality of processes generated at the same time have the same process creation time, there is a problem in that the process cannot be specified only by the process creation time.

이렇듯 단일 정보에 기반한 프로세스 식별의 어려움을 해결하기 위하여, 식별 정보 생성부(120)는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보를 조합하여, 현재 프로세스에 대한 식별 정보를 생성할 수 있다. 따라서, 식별 정보 생성부(120)에 의해 생성된 프로세스 식별 정보는 현재 프로세스를 특정할 수 있는 고유의 식별 정보일 수 있다. 다만, 본 발명의 일 실시예에서는 프로세스 식별 정보가 프로세스 ID, 프로세스 생성시간 및 사용자 단말 정보에 기반하여 생성되는 예시를 설명하지만, 프로세스 식별 정보를 생성하기 위해 이용되는 인자들은 제한되지 않는다. 즉, 해당 프로세스를 식별할 수 있는 프로세스 식별 정보를 생성할 수 있는 정보들의 조합이면 제한없이 적용될 수 있다.As such, in order to solve the difficulty of identifying a process based on single information, the identification information generating unit 120 may generate identification information for the current process by combining the ID of the current process, the generation time of the current process, and user terminal information. have. Accordingly, the process identification information generated by the identification information generating unit 120 may be unique identification information that can specify the current process. However, in an embodiment of the present invention, an example in which process identification information is generated based on a process ID, a process creation time, and user terminal information is described, but factors used to generate the process identification information are not limited. That is, any combination of information capable of generating process identification information capable of identifying a corresponding process may be applied without limitation.

본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스 ID, 프로세스 생성 시간 및 사용자 단말 등의 정보를 활용하여 현재 프로세스를 특정하는 프로세스 식별 정보를 생성할 수 있다. 따라서, 현재 프로세스 자체에 대해서 비정상 프로세스인지 여부에 대한 판단이 이루어지기 때문에, 현재 프로세스의 경로가 변경되더라도 현재 프로세스에 대한 판단 결과가 유지될 수 있는 장점이 있다.The abnormal behavior detection apparatus 100 according to an embodiment of the present invention may generate process identification information for specifying a current process by utilizing information such as a process ID, a process creation time, and a user terminal. Accordingly, since the determination of whether the current process itself is an abnormal process is made, there is an advantage that the determination result of the current process can be maintained even if the path of the current process is changed.

학습부(130)는, 상기 식별 정보 생성부(120)에서 생성된 프로세스 식별 정보와 상기 부모 프로세스의 정보를 입력받도록 구성될 수 있다. 즉, 학습부(130)는 프로세스 식별 정보 및 부모 프로세스의 정보에 기반하여, 현재 프로세스와 부모 프로세스 간의 관계 정보를 학습할 수 있다.The learning unit 130 may be configured to receive the process identification information generated by the identification information generation unit 120 and information on the parent process. That is, the learning unit 130 may learn relationship information between the current process and the parent process based on the process identification information and the parent process information.

이 경우, 학습부(130)는 현재 프로세스를 특정할 수 있는 프로세스 식별 정보를 이용하기 때문에, 현재 프로세스의 경로가 변경되더라도 학습 시의 현재 프로세스와 부모 프로세스를 대응관계가 유지될 수 있다.In this case, since the learning unit 130 uses the process identification information that can specify the current process, even if the path of the current process is changed, the corresponding relationship between the current process and the parent process during learning may be maintained.

예컨대, 현재 프로세스가 X 프로세스이고, 부모 프로세스가 PX 프로세스인 경우를 가정한다. X 프로세스의 경로가 어떠한 이유에 의해 변경된 경우라도, X 프로세스에 대한 프로세스 식별 정보는 변경되지 않을 수 있다. 따라서, X 프로세스의 경로가 바뀌더라도 X 프로세스와 PX 프로세스 간의 관계 정보는 유지될 수 있다.For example, it is assumed that the current process is an X process and the parent process is a PX process. Even if the path of the X process is changed for any reason, the process identification information for the X process may not be changed. Accordingly, even if the path of the X process is changed, the relationship information between the X process and the PX process may be maintained.

또한, 학습부(130)는 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.Also, the learning unit 130 may be configured to output a value obtained by combining the process identification information and the parent process information as the learned relationship information based on machine learning.

학습부(130)는 프로세스 식별 정보와 부모 프로세스의 정보를 조합할 때, 머신 러닝(Machine learning)을 이용할 수 있다. 여기서, 머신 러닝은 인공지능(Artificial Intelligence)의 연구 분야 중 하나로서, 경험적 데이터를 기반으로 학습하고 스스로의 성능을 향상시키는 기술을 의미한다. 일반적으로 머신 러닝은 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다. 특히, 머신 러닝은 빅데이터를 이용하여 학습할 데이터들을 사전 처리하고, 최적화하기 때문에, 머신 러닝을 이용한 빅데이터의 학습효과가 극대화될 수 있다.The learning unit 130 may use machine learning when combining the process identification information and the parent process information. Here, machine learning is one of the research fields of artificial intelligence, and refers to a technology that learns based on empirical data and improves its own performance. In general, machine learning can take the approach of building specific models to make predictions or decisions based on input data. In particular, since machine learning pre-processes and optimizes data to be learned using big data, the learning effect of big data using machine learning can be maximized.

예컨대, 사용자 단말이 PC일 경우, PC가 사용되는 중에는 많은 수의 프로세스들이 실행되고 있으며, 많은 수의 프로세스들의 실행이 요청될 수 있다. 이 경우, 제어부(150)에 의해 정보 수집이 요청되는 프로세스는 복수의 프로세스일 수 있기 때문에, 정보 수집부(110)에서 수집되는 프로세스 정보 및 해당 프로세스의 부모 프로세스의 정보는 규모가 방대한 빅데이터일 수 있다. For example, when the user terminal is a PC, a large number of processes are being executed while the PC is being used, and execution of a large number of processes may be requested. In this case, since the process for which information collection is requested by the control unit 150 may be a plurality of processes, the process information collected by the information collection unit 110 and the information of the parent process of the corresponding process may be large-scale big data. can

따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 머신 러닝에 기반하여 학습을 수행하고, 그 결과로 학습된 관계 정보를 출력함으로써, 정보 수집부(110)에 의해 수집된 방대한 규모의 현재 프로세스의 정보 및 부모 프로세스의 정보들을 효율적으로 학습 및 처리할 수 있는 장점이 있다. Therefore, the abnormal behavior detection apparatus 100 according to an embodiment of the present invention performs learning based on machine learning, and outputs the learned relationship information as a result, so that the vast amount of information collected by the information collection unit 110 is obtained. There is an advantage of efficiently learning and processing the information of the current process of the scale and the information of the parent process.

바람직하게, 상기 학습된 관계 정보는, 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 해시값을 포함할 수 있다. 즉, 학습부(130)는 프로세스 식별 정보와 부모 프로세스의 정보가 조합된 해시값을 현재 프로세스와 부모 프로세스 간의 관계 정보로 출력할 수 있다. Preferably, the learned relationship information may include a hash value in which the process identification information and information of the parent process are combined. That is, the learning unit 130 may output a hash value in which the process identification information and the information of the parent process are combined as relationship information between the current process and the parent process.

예컨대, 학습부(130)는 머신 러닝을 이용하여, 입력된 프로세스 식별 정보 및 부모 프로세스의 정보에 대한 하나의 해시값을 생성하고, 생성한 해시값을 현재 프로세스와 부모 프로세스 간의 관계 정보로 출력할 수 있다. 이 경우, 해시값을 생성하기 위한 해시 함수 알고리즘(Hash Function Algorithm)은 생성된 해시값으로부터 프로세스 식별 정보 및 부모 프로세스의 정보를 유추할 수 없는 알고리즘이 적용될 수 있다.For example, the learning unit 130 uses machine learning to generate one hash value for the input process identification information and information of the parent process, and output the generated hash value as relationship information between the current process and the parent process. can In this case, as a hash function algorithm for generating a hash value, an algorithm that cannot infer process identification information and information of a parent process from the generated hash value may be applied.

따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스 식별 정보를 이루는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말정보와 부모 프로세스의 정보에 대해서 유일한 관계 정보(해시값)를 생성할 수 있다. 따라서, 학습 결과에 대한 데이터 무결성이 보장될 수 있는 장점이 있다. 또한, 데이터 무결성이 보장되는 관계 정보가 학습 결과로 저장되고, 저장된 학습 결과에 기반하여 현재 프로세스가 비정상 프로세스인지 여부가 판단되기 때문에, 동일한 프로세스에 대해서는 신속하고 정확하게 이상행위가 탐지될 수 있는 장점이 있다.Accordingly, the abnormal behavior detection apparatus 100 according to an embodiment of the present invention provides unique relationship information (hash value) with respect to the ID of the current process constituting the process identification information, the creation time of the current process, and the user terminal information and the information of the parent process. ) can be created. Accordingly, there is an advantage that data integrity for the learning result can be guaranteed. In addition, since relationship information with guaranteed data integrity is stored as a learning result, and whether the current process is an abnormal process is determined based on the stored learning result, anomalies can be detected quickly and accurately for the same process. have.

제어부(150)는, 상기 학습된 관계 정보가 상기 저장부(140)에 저장된 복수의 학습 결과에 포함되면 상기 현재 프로세스를 정상 프로세스로 판단하고, 상기 현재 프로세스를 실행할 수 있다.When the learned relationship information is included in the plurality of learning results stored in the storage unit 140 , the controller 150 may determine the current process as a normal process and execute the current process.

여기서, 학습된 관계 정보는 학습부(130)에 의해 학습된 정보로서, 현재 프로세스에 대한 프로세스 식별 정보와 부모 프로세스의 정보에 기반한 관계 정보이다. 따라서, 저장부(140)에 학습된 관계 정보가 포함된 경우는, 부모 프로세스에 의해 현재 프로세스가 생성된 이력이 있는 경우를 의미할 수 있다. 이 경우, 제어부(150)는 현재 프로세스가 이미 검증된 정상 프로세스인 것으로 판단하고, 입력된 현재 프로세스에 대한 실행 요청에 대한 응답에 따라 현재 프로세스를 실행시킬 수 있다.Here, the learned relationship information is information learned by the learning unit 130 , and is relationship information based on process identification information for a current process and information on a parent process. Accordingly, when the learned relationship information is included in the storage 140 , it may mean that there is a history of a current process being generated by a parent process. In this case, the controller 150 may determine that the current process is a verified normal process, and execute the current process according to a response to the input request for execution of the current process.

반대로, 제어부(150)는, 상기 학습된 관계 정보가 상기 저장부(140)에 저장된 복수의 학습 결과에 포함되지 않으면 상기 현재 프로세스를 비정상 프로세스로 판단하고, 상기 현재 프로세스의 실행을 차단할 수 있다.Conversely, if the learned relationship information is not included in the plurality of learning results stored in the storage unit 140 , the controller 150 may determine the current process as an abnormal process and block execution of the current process.

저장부(140)에 학습된 관계 정보가 포함되지 않은 경우는, 부모 프로세스에 의해 현재 프로세스가 생성된 이력이 전무한 경우를 의미할 수 있다. 이 경우, 제어부(150)는 현재 프로세스가 비정상 프로세스인 것으로 판단하고, 현재 프로세스의 실행을 차단할 수 있다.When the learned relationship information is not included in the storage unit 140 , it may mean that there is no history of a current process being generated by a parent process. In this case, the controller 150 may determine that the current process is an abnormal process, and may block execution of the current process.

본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 저장부(140)에 저장된 무결성이 보장된 학습 결과에 기반하여, 현재 프로세스가 정상 프로세스인지 여부를 판단할 수 있다. 따라서, 현재 프로세스에 대한 정상/비정상 판단이 정확하게 이루어질 수 있는 장점이 있다. 또한, 부모 프로세스가 현재 프로세스를 생성한 이력이 있는지에 따라 현재 프로세스에 대한 정상/비정상 판단이 이루어지므로, 상기 판단이 신속하게 이루어질 수 있는 장점이 있다.The abnormal behavior detection apparatus 100 according to an embodiment of the present invention may determine whether the current process is a normal process based on the integrity-guaranteed learning result stored in the storage unit 140 . Accordingly, there is an advantage in that normal/abnormal determination for the current process can be accurately made. In addition, since normal/abnormal determination is made for the current process depending on whether the parent process has a history of generating the current process, there is an advantage in that the determination can be made quickly.

상기 제어부(150)는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 저장부(140)에 상기 현재 프로세스에 대한 프로세스 식별 정보를 차단 정보로 저장시키도록 구성될 수 있다.When it is determined that the current process is the abnormal process, the control unit 150 may be configured to store process identification information on the current process as blocking information in the storage unit 140 .

저장부(140)는 학습부(130)에 의해 출력된 현재 프로세스와 부모 프로세스 간의 관계 정보뿐만 아니라, 현재 프로세스에 대한 프로세스 식별 정보도 저장할 수 있다. 다만, 바람직하게, 현재 프로세스에 대한 프로세스 식별 정보는, 제어부(150)에 의해 현재 프로세스가 비정상 프로세스로 판단된 경우에 한하여 저장될 수 있다.The storage unit 140 may store not only the relationship information between the current process and the parent process output by the learning unit 130 , but also process identification information for the current process. However, preferably, the process identification information for the current process may be stored only when the controller 150 determines that the current process is an abnormal process.

즉, 현재 프로세스가 정상 프로세스인 경우에는 현재 프로세스와 부모 프로세스가 서로 자식과 부모 사이로 관련되어 있으므로, 저장부(140)에는 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장될 수 있다. 반면, 현재 프로세스가 비정상 프로세스일 경우에는, 현재 프로세스를 식별할 수 있는 프로세스 식별 정보가 저장부(140)에 구비된 차단 리스트에 저장될 수 있다.That is, when the current process is a normal process, since the current process and the parent process are related between the child and the parent, the storage unit 140 may store relationship information between the current process and the parent process. On the other hand, when the current process is an abnormal process, process identification information for identifying the current process may be stored in the block list provided in the storage unit 140 .

즉, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 비정상 프로세스에 대한 프로세스 식별 정보를 차단 리스트로 저장하고, 저장된 차단 리스트를 사용자 또는 외부에 제공할 수 있다. 따라서, 비정상 프로세스에 대한 정보가 공개되어, 비정상 프로세스에 의한 사용자 또는 제3자에 대한 피해가 방지될 수 있는 장점이 있다. That is, the abnormal behavior detection apparatus 100 according to an embodiment of the present invention may store process identification information for an abnormal process as a block list and provide the stored block list to the user or the outside. Accordingly, there is an advantage in that information on the abnormal process is disclosed, and damage to the user or a third party by the abnormal process can be prevented.

또한, 예컨대, 현재 프로세스가 정상 프로세스이지만 최초로 생성된 경우, 부모 프로세스와의 관계 정보가 저장부(140)에 저장되지 않기 때문에 차단 리스트에 저장될 수 있다. 이 경우, 사용자는 이상행위 탐지 장치(100)로부터 제공받은 차단 리스트를 확인하고, 사후적으로 현재 프로세스의 차단을 해제할 수 있다. 따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스에 대한 차단 리스트를 제공함으로써, 프로세스에 대한 사후 관리가 용이하게 이루어질 수 있도록 하는 장점이 있다.Also, for example, when the current process is a normal process, but is initially created, the relationship information with the parent process is not stored in the storage unit 140 , so it may be stored in the block list. In this case, the user may check the block list provided from the abnormal behavior detection apparatus 100 and subsequently release the block of the current process. Accordingly, the apparatus 100 for detecting anomalies according to an embodiment of the present invention has an advantage in that the post management of the process can be easily performed by providing a block list for the process.

상기 제어부(150)는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 현재 프로세스의 실행을 차단하기 전에 상기 현재 프로세스의 평판을 탐색하도록 구성될 수 있다.When it is determined that the current process is the abnormal process, the control unit 150 may be configured to search the reputation of the current process before blocking execution of the current process.

제어부(150)는 저장부(140)에 미리 저장된 학습 결과에 현재 프로세스와 부모 프로세스 간의 관계 정보가 포함되지 않은 경우, 현재 프로세스를 비정상 프로세스로 판단할 수 있다. 이 경우, 제어부(150)는 현재 프로세스의 실행을 곧바로 차단하지 않고, 현재 프로세스의 평판을 탐색할 수 있다. 예컨대, 현재 프로세스는 정상 프로세스이지만, 사용자 단말에서 처음 생성되어 부모 프로세스 간의 관계 정보가 저장부(140)에 저장되어있지 않는 경우가 있을 수 있기 때문에, 제어부(150)는 현재 프로세스의 실행을 차단하기 전에 현재 프로세스의 평판을 탐색할 수 있다.When the relationship information between the current process and the parent process is not included in the learning result previously stored in the storage 140 , the controller 150 may determine the current process as an abnormal process. In this case, the controller 150 may search the reputation of the current process without immediately blocking the execution of the current process. For example, although the current process is a normal process, since there may be a case where relationship information between parent processes is not stored in the storage 140 after being first created in the user terminal, the controller 150 prevents the execution of the current process. You can explore the reputation of the current process before.

이 경우, 저장부(140)에는 프로세스에 대한 평판이 기록된 프로세스 평판 정보가 미리 저장될 수 있다. 프로세스 평판 정보는 외부 서버로부터 다운로드되어 저장부(140)에 저장된 정보일 수 있다. 제어부(150)는 저장부(140)에 저장된 프로세스 평판 정보에 접근하여, 현재 프로세스에 대한 평판을 탐색할 수 있다. 이와 달리, 제어부(150)는 프로세스에 대한 평판을 조회할 수 있는 외부 서버에 직접 접속하여, 현재 프로세스에 대한 평판을 탐색할 수도 있다.In this case, process reputation information in which a reputation for a process is recorded may be previously stored in the storage unit 140 . The process reputation information may be information downloaded from an external server and stored in the storage unit 140 . The controller 150 may access the process reputation information stored in the storage 140 to search for a reputation for the current process. Alternatively, the controller 150 may search for a reputation for a current process by directly accessing an external server capable of inquiring a reputation for a process.

제어부(150)는, 탐색 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성될 수 있다.The controller 150 may be configured to block execution of the current process based on the search result.

즉, 제어부(150)가 현재 프로세스의 평판을 탐색한 결과, 현재 프로세스가 비정상 프로세스로 등록된 이력이 있으면, 제어부(150)는 현재 프로세스의 실행을 차단할 수 있다.That is, as a result of the controller 150 searching for the reputation of the current process, if there is a history of registering the current process as an abnormal process, the controller 150 may block the execution of the current process.

예컨대, 프로세스의 평판 탐색 결과는 정상 프로세스, 경고 프로세스 및 비정상 프로세스로 구분될 수 있다. 여기서, 정상 프로세스는 악성코드 등이 감지되지 않은 프로세스로서 정상적인 프로세스일 수 있다. 경고 프로세스는 악성코드 등의 감지된 이력이 없지만, 프로세스에 대한 접근 권한이 낮아 보안에 일부 문제가 발생될 가능성이 있거나 시스템 자원을 과도하게 사용하는 프로세스일 수 있다. 비정상 프로세스는 악성코드 등이 감지된 이력이 있는 프로세스로, 차단이 요구되는 비정상적인 프로세스일 수 있다. 제어부(150)는, 현재 프로세스의 평판 탐색 결과가 정상 프로세스 또는 경고 프로세스일 경우, 현재 프로세스를 정상 프로세스로 판단하여 실행시킬 수 있다. 반대로, 제어부(150)는, 현재 프로세스의 평판 탐색 결과가 비정상 프로세스일 경우, 현재 프로세스의 실행을 차단할 수 있다. For example, the reputation search result of the process may be divided into a normal process, a warning process, and an abnormal process. Here, the normal process is a process in which no malicious code or the like is detected, and may be a normal process. Although the warning process does not have a detected history of malicious code, etc., there is a possibility that some security problems may occur due to low access rights to the process, or it may be a process that uses excessive system resources. An abnormal process is a process with a history of detecting malicious code, etc., and may be an abnormal process requiring blocking. When the reputation search result of the current process is a normal process or a warning process, the controller 150 may determine that the current process is a normal process and execute it. Conversely, when the reputation search result of the current process is an abnormal process, the controller 150 may block execution of the current process.

또한, 제어부(150)는 현재 프로세스의 탐색 결과를 사용자에게 제공할 수 있다. 예컨대, 현재 프로세스의 평판 탐색 결과가 경고 프로세스일 경우, 제어부(150)는 현재 프로세스를 실행하면서, 현재 프로세스가 경고 프로세스라는 정보를 사용자에게 제공할 수 있다. 이 경우, 사용자는 제공받은 정보에 기반하여 현재 프로세스를 종료함으로써, 발생될 수 있는 보안 문제 또는 시스템 자원의 과도한 사용을 방지할 수 있다.Also, the controller 150 may provide a search result of the current process to the user. For example, when the reputation search result of the current process is a warning process, the controller 150 may provide information that the current process is a warning process to the user while executing the current process. In this case, the user may prevent a security problem or excessive use of system resources by terminating the current process based on the provided information.

다른 예로, 프로세스의 평판 탐색 결과는 1 단계 내지 10 단계로 구분될 수도 있다. 이 경우, 프로세스의 평판 탐색 결과가 1 단계에 가까울수록 정상 프로세스일 가능성이 높아지고, 10 단계에 가까울수록 비정상 프로세스일 가능성이 높아질 수 있다. 앞선 예시와 마찬가지로, 제어부(150)는 현재 프로세스의 탐색 결과를 사용자에게 제공할 수 있다. 사용자는 제어부(150)로부터 제공받은 현재 프로세스의 탐색 결과에 기반하여, 현재 프로세스의 차단 여부를 결정할 수 있다.As another example, the reputation search result of the process may be divided into steps 1 to 10. In this case, the closer the reputation search result of the process is to step 1, the more likely it is to be a normal process, and the closer to step 10, the more likely it is to be an abnormal process. As in the previous example, the controller 150 may provide a search result of the current process to the user. The user may determine whether to block the current process based on the search result of the current process provided from the controller 150 .

즉, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 현재 프로세스와 부모 프로세스 간의 관계 정보에 기반하여 현재 프로세스가 비정상 프로세스인지 여부를 1차적으로 판단할 수 있다. 그리고, 현재 프로세스의 평판을 탐색함으로써 현재 프로세스가 비정상 프로세스인지 여부를 2차적으로 판단할 수 있다. 따라서, 현재 프로세스가 비정상 프로세스인지 여부가 다양한 측면에서 판단되기 때문에, 현재 프로세스에 대한 판단의 신뢰도가 향상될 수 있는 장점이 있다. That is, the abnormal behavior detection apparatus 100 according to an embodiment of the present invention may primarily determine whether the current process is an abnormal process based on relationship information between the current process and the parent process. Then, by searching the reputation of the current process, it is possible to determine whether the current process is an abnormal process secondarily. Accordingly, since whether the current process is an abnormal process is determined from various aspects, there is an advantage in that the reliability of the judgment of the current process can be improved.

상기 제어부(150)는, 상기 현재 프로세스가 상기 정상 프로세스로 판단되면, 상기 현재 프로세스의 로그 정보를 수집하도록 상기 정보 수집부(110)를 제어하도록 구성될 수 있다.The controller 150 may be configured to control the information collection unit 110 to collect log information of the current process when it is determined that the current process is the normal process.

즉, 제어부(150)는 현재 프로세스를 정상 프로세스라고 판단한 경우에 한하여, 현재 프로세스의 로그 정보를 수집하도록 정보 수집부(110)를 제어할 수 있다.That is, the controller 150 may control the information collection unit 110 to collect log information of the current process only when it is determined that the current process is a normal process.

또한, 제어부(150)는 상기 정보 수집부(110)에 의해 수집된 현재 프로세스의 로그 정보를 상기 저장부(140)에 저장하도록 구성될 수 있다.Also, the control unit 150 may be configured to store log information of the current process collected by the information collection unit 110 in the storage unit 140 .

예컨대, 현재 프로세스가 정상 프로세스라고 판단된 경우, 제어부(150)는 정보 수집부(110)에 의해 수집된 현재 프로세스의 로그 정보를 저장부(140)에 저장할 수 있다.For example, when it is determined that the current process is a normal process, the control unit 150 may store log information of the current process collected by the information collection unit 110 in the storage unit 140 .

반대로, 현재 프로세스가 비정상 프로세스라고 판단된 경우, 제어부(150)는 현재 프로세스에 대한 프로세스 식별 정보를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다.Conversely, when it is determined that the current process is an abnormal process, the control unit 150 may store process identification information on the current process in the block list provided in the storage unit 140 .

또한, 제어부(150)는 로그 출력 요청이 입력되면 상기 저장부(140)에 저장된 복수의 로그 정보 중 상기 로그 출력 요청의 대상이 되는 프로세스에 대한 로그 정보를 출력하도록 구성될 수 있다.Also, when a log output request is input, the controller 150 may be configured to output log information about a process that is a target of the log output request among a plurality of log information stored in the storage 140 .

예컨대, 제어부(150)는 정상 프로세스에 대한 로그 출력 요청이 입력되면, 저장부(140)에 저장된 해당 프로세스에 대한 로그 정보를 출력할 수 있다. 이 경우, 사용자는 프로세스의 로그 정보를 확인함으로써, 프로세스의 생성 또는 실행 등의 정보를 제공받을 수 있다. For example, when a log output request for a normal process is input, the controller 150 may output log information about the corresponding process stored in the storage 140 . In this case, the user may be provided with information such as process creation or execution by checking log information of the process.

본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 사후적으로 프로세스가 관리될 수 있도록, 프로세스 로그 정보를 제공할 수 있다. 즉, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스에 로그 정보를 제공함으로써, 프로세스에 대한 사후 관리가 용이하게 이루어질 수 있도록 하는 장점이 있다.The abnormal behavior detection apparatus 100 according to an embodiment of the present invention may provide process log information so that the process can be managed post-mortem. That is, the apparatus 100 for detecting anomaly according to an embodiment of the present invention has the advantage of providing log information to the process, so that the post management of the process can be easily performed.

이하에서는, 본 발명의 다른 실시예에 따른 이상행위 탐지 장치(100)로서, 네트워크 접속의 이상행위를 탐지하는 장치에 대해 설명한다. 전술한 바와 같이, 이상행위 탐지 장치(100)는 현재 프로세스의 이상행위를 탐지하여 현재 프로세스의 실행을 차단할 수 있고, 이와 병렬적으로 네트워크 접속의 이상행위를 탐지할 수도 있다. 이하에서 설명하는 네트워크는, 프로세스에 접속을 시도한 원격지의 IP주소 또는 프로세스가 접속하고자 하는 원격지의 IP주소를 의미할 수 있다. 즉, 이하에서는 “네트워크”가 현재 프로세스와 관련된 네트워크 IP 주소를 의미하는 단어로 사용될 수 있다.Hereinafter, as the abnormal behavior detection apparatus 100 according to another embodiment of the present invention, an apparatus for detecting an abnormal behavior in a network connection will be described. As described above, the abnormal behavior detection apparatus 100 may detect the abnormal behavior of the current process and block the execution of the current process, and may detect the abnormal behavior of the network connection in parallel thereto. A network to be described below may mean an IP address of a remote location that has attempted to access a process or an IP address of a remote location that a process wants to access. That is, hereinafter, “network” may be used as a word meaning a network IP address related to the current process.

설명의 편의를 위해 상술한 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)에 대한 설명과 차이가 나는 부분에 대해서 구체적으로 설명한다. For convenience of explanation, a part different from the description of the abnormal behavior detection apparatus 100 according to an embodiment of the present invention described above will be described in detail.

정보 수집부(110)는 네트워크에 대한 정보 수집을 요청받으면, 현재 프로세스의 정보 및 네트워크의 정보를 수집하도록 구성될 수 있다.The information collection unit 110 may be configured to collect information on a current process and information on a network when receiving a request to collect information on the network.

여기서, 현재 프로세스는 정보 수집을 요청받은 네트워크로 접속하려는 프로세스 또는 정보 수집을 요청받은 네트워크를 통해 실행되려는 프로세스일 수 있다.Here, the current process may be a process to access the information collection requested network or a process to be executed through the information collection requested network.

예컨대, A 프로세스가 N 네트워크로 접속하려고 하면, 정보 수집부(110)는 N 네트워크에 대한 정보 수집을 요청받을 수 있다. 그리고, 정보 수집부(110)는 A 프로세스의 정보 및 N 네트워크의 정보를 수집할 수 있다. 여기서 수집되는 N 네트워크의 정보는 N 네트워크의 IP 주소(Internet protocol address)일 수 있다.For example, when process A attempts to access the N network, the information collection unit 110 may be requested to collect information on the N network. In addition, the information collection unit 110 may collect information of process A and information of network N. The information of the N network collected here may be an IP address (Internet protocol address) of the N network.

식별 정보 생성부(120)는 상기 정보 수집부(110)에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다.The identification information generating unit 120 may be configured to generate process identification information for the current process based on the information collected by the information collecting unit 110 .

여기서, 현재 프로세스에 대한 프로세스 식별 정보는 현재 프로세스를 특정할 수 있는 식별 정보로서, 프로세스 ID, 프로세스 생성 시간 및 사용자 단말 정보의 조합으로 생성될 수 있다.Here, the process identification information for the current process is identification information for specifying the current process, and may be generated by a combination of a process ID, a process creation time, and user terminal information.

학습부(130)는 상기 식별 정보 생성부(120)에 의해 생성된 프로세스 식별 정보 및 정보 수집부(110)에 의해 수집된 네트워크의 정보에 기반하여, 상기 현재 프로세스 및 상기 네트워크의 정보 간의 관계 정보에 대해 생성하도록 구성될 수 있다.Based on the process identification information generated by the identification information generating unit 120 and the network information collected by the information collecting unit 110 , the learning unit 130 provides relation information between the current process and the information of the network. can be configured to generate for

앞서 설명한 바와 같이, 학습부(130)는 머신 러닝에 기반하여 프로세스 식별 정보 및 네트워크 정보 간의 관계 정보를 학습하고, 학습한 관계 정보를 출력할 수 있다. As described above, the learning unit 130 may learn relationship information between process identification information and network information based on machine learning, and may output the learned relationship information.

저장부(140)는 상기 학습부(130)에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성될 수 있다. 여기서 저장부(140)에 저장된 학습 결과는 정상 프로세스로 판단된 프로세스와 정상 네트워크로 판단된 네트워크 간의 관계 정보일 수 있다.The storage unit 140 may be configured to store a plurality of learning results previously learned by the learning unit 130 . Here, the learning result stored in the storage unit 140 may be relationship information between a process determined as a normal process and a network determined as a normal network.

예컨대, 저장부(140)에 저장된 학습 결과는 해시값으로 저장될 수 있다. 즉, 학습부(130)로부터 출력된 관계 정보는 해시값일 수 있으며, 이 해시값이 저장부(140)에 저장될 수 있다.For example, the learning result stored in the storage unit 140 may be stored as a hash value. That is, the relationship information output from the learning unit 130 may be a hash value, and the hash value may be stored in the storage unit 140 .

제어부(150)는 상기 현재 프로세스로부터 상기 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면 상기 정보 수집부(110)에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성될 수 있다.The control unit 150 may be configured to request the information collection unit 110 to collect information on the network when a connection request from the current process to the network or a connection to the current process from the network is requested.

그리고, 제어부(150)는 상기 저장부(140)에 저장된 복수의 학습 결과에 상기 학습부(130)에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 네트워크와의 접속을 차단하도록 구성될 수 있다.Then, the control unit 150 checks whether the relationship information learned by the learning unit 130 is included in the plurality of learning results stored in the storage unit 140 , and connects to the network based on the verification result can be configured to block.

즉, 저장부(140)에 저장된 복수의 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 네트워크에 대한 관계 정보가 포함되면, 제어부(150)는 네트워크를 정상 네트워크로 판단하고, 네트워크로의 접속을 허용할 수 있다.That is, when the plurality of learning results stored in the storage unit 140 include the current process learned by the learning unit 130 and relationship information on the network, the control unit 150 determines that the network is a normal network and converts the network into a network. can allow access.

반대로, 저장부(140)에 저장된 복수의 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 네트워크에 대한 관계 정보가 포함되지 않으면, 제어부(150)는 네트워크를 비정상 네트워크로 판단하고, 네트워크로의 접속을 차단할 수 있다. 이때, 제어부(150)는 현재 프로세스로부터 비정상 네트워크로의 접속 및 네트워크로부터 현재 프로세스로의 접속을 모두 차단할 수 있다.Conversely, if the plurality of learning results stored in the storage 140 do not include the relationship information on the network and the current process learned by the learning unit 130 , the controller 150 determines that the network is an abnormal network, You can block access to In this case, the controller 150 may block both access from the current process to the abnormal network and from the network to the current process.

본 발명의 다른 실시예에 따른 이상행위 탐지 장치(100)는 네트워크 접속 허용을 위해 네트워크의 정상 또는 비정상 여부를 판단할 때, 프로세스와의 관계 정보를 고려할 수 있다. 따라서, 이상행위 탐지 장치(100)는 비정상 네트워크를 보다 신뢰도 높게 선별하여, 비정상 네트워크의 접속에 따른 여러 문제를 방지할 수 있는 장점이 있다.When determining whether the network is normal or abnormal to allow network access, the abnormal behavior detection apparatus 100 according to another embodiment of the present invention may consider relationship information with a process. Accordingly, the abnormal behavior detection apparatus 100 has the advantage of being able to select the abnormal network with higher reliability and prevent various problems due to the connection of the abnormal network.

상기 학습부(130)는, 상기 식별 정보 생성부(120)에서 생성된 프로세스 식별 정보와 상기 네트워크의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 네트워크의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.The learning unit 130 receives the process identification information and the network information generated by the identification information generation unit 120, and calculates a value obtained by combining the process identification information and the network information based on machine learning. It may be configured to output the learned relationship information.

즉, 본 발명의 다른 실시예에 따른 이상행위 탐지 장치(100)는 머신 러닝을 이용하여 빅데이터를 처리할 수 있다. 특히, 이상행위 탐지 장치(100)는 무결성이 보장되는 프로세스 식별 정보와 네트워크의 정보 간의 관계 정보를 학습하기 때문에, 네트워크의 정상 또는 비정상 판단을 보다 정확하게 할 수 있는 장점이 있다.That is, the abnormal behavior detection apparatus 100 according to another embodiment of the present invention may process big data using machine learning. In particular, the abnormal behavior detection apparatus 100 has an advantage in that it can more accurately determine whether the network is normal or abnormal because it learns the relationship information between the process identification information for which integrity is guaranteed and the information on the network.

제어부(150)는 상기 접속이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스의 정보에 기반하여 상기 현재 프로세스가 정상 프로세스인지를 판단할 수 있다.When the access is requested, the controller 150 may determine whether the current process is a normal process based on information on the current process and a parent process of the current process.

예컨대, 현재 프로세스로부터 네트워크로의 접속 또는 네트워크로부터 현재 프로세스로의 접속이 요청되면, 제어부(150)는 현재 프로세스가 정상인지를 먼저 판단할 수 있다. 이 경우, 제어부(150)는 정보 수집부(110)에게 현재 프로세스에 대한 정보 수집을 요청하고, 정보 수집부(110)는 현재 프로세스 및 현재 프로세스의 부모 프로세스의 정보를 모두 수집할 수 있다. For example, when an access from the current process to the network or access from the network to the current process is requested, the controller 150 may first determine whether the current process is normal. In this case, the control unit 150 may request the information collection unit 110 to collect information on the current process, and the information collection unit 110 may collect information on both the current process and the parent process of the current process.

본 발명의 일 실시예에 따라, 현재 프로세스의 정보 및 부모 프로세스의 정보에 기반하여, 현재 프로세스가 정상 프로세스인지 여부가 판단되는 과정은 앞서 설명하였으므로, 이하에서는 생략한다.According to an embodiment of the present invention, the process of determining whether the current process is a normal process based on the information of the current process and the information of the parent process has been described above, and thus will be omitted hereinafter.

또한, 제어부(150)는 상기 현재 프로세스가 정상 프로세스로 판단되면 상기 정보 수집부(110)에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성될 수 있다.Also, when the current process is determined to be a normal process, the controller 150 may be configured to request the information collection unit 110 to collect information on the network.

즉, 제어부(150)는 1차적으로 현재 프로세스가 정상 프로세스인지를 먼저 판단하고, 2차적으로 현재 프로세스와 네트워크에 대한 관계 정보가 기저장된 학습 결과에 포함되는지를 판단하고, 3차적으로 네트워크의 평판을 판단함으로써, 비정상 네트워크의 접속을 차단할 수 있다.That is, the control unit 150 firstly determines whether the current process is a normal process, secondly determines whether relation information about the current process and the network is included in the pre-stored learning result, and thirdly determines the reputation of the network By determining , it is possible to block access to the abnormal network.

따라서, 본 발명의 다른 실시예에 이상행위 탐지 장치(100)는 네트워크의 접속 허용을 위한 네트워크의 정상 여부 판단에 소요되는 시간을 감축할 수 있는 장점이 있다. 또한, 프로세스의 정상 여부를 먼저 판단한 후, 네트워크의 정상 여부가 판단되기 때문에, 네트워크의 정상 여부 판단의 신뢰도가 향상될 수 있는 장점이 있다.Therefore, the abnormal behavior detection apparatus 100 according to another embodiment of the present invention has the advantage of reducing the time required for determining whether the network is normal for allowing access to the network. In addition, since it is determined whether the network is normal after first determining whether the process is normal, there is an advantage in that the reliability of determining whether the network is normal can be improved.

도 2는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템을 개략적으로 도시한 도면이다. 2 is a diagram schematically illustrating an abnormal behavior detection system according to another embodiment of the present invention.

도 2를 참조하면, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템은 사용자 단말(200a, 200b 및 200c)가 포함된 사용자 단말 그룹(200) 및 중앙 서버(300)를 포함할 수 있다.Referring to FIG. 2 , an abnormal behavior detection system according to another embodiment of the present invention may include a user terminal group 200 including user terminals 200a , 200b and 200c and a central server 300 .

도 2에 도시된 실시예에서는, 설명의 편의를 위하여, 사용자 단말 그룹(200)에 제1 사용자 단말(200a), 제2 사용자 단말(200b) 및 제3 사용자 단말(200c)이 포함된 예시를 도시하였으나, 사용자 단말 그룹(200)에 포함될 수 있는 사용자 단말의 개수는 제한이 없음을 유의한다.In the embodiment shown in FIG. 2 , for convenience of explanation, an example in which the first user terminal 200a, the second user terminal 200b, and the third user terminal 200c are included in the user terminal group 200 is illustrated. Although illustrated, it should be noted that the number of user terminals that may be included in the user terminal group 200 is not limited.

사용자 단말 그룹(200)은 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)가 구비된 사용자 단말(200a, 200b 및 200c)이 포함될 수 있다. 예컨대, 도 2에 도시된 바와 같이, 사용자 단말 그룹(200)에는 3개의 사용자 단말(200a, 200b 및 200c)이 포함될 수 있다. 그리고, 사용자 단말(200a, 200b 및 200c) 각각은 이상행위 탐지 장치(100)를 구비할 수 있다.The user terminal group 200 may include user terminals 200a, 200b, and 200c equipped with the abnormal behavior detection apparatus 100 according to an embodiment of the present invention. For example, as shown in FIG. 2 , the user terminal group 200 may include three user terminals 200a , 200b and 200c . In addition, each of the user terminals 200a, 200b, and 200c may include the abnormal behavior detection apparatus 100 .

중앙 서버(300)는 상기 사용자 단말 그룹(200)에 포함된 사용자 단말(200a, 200b 및 200c)과 무선 또는 유선으로 연결되도록 구성될 수 있다.The central server 300 may be configured to be connected to the user terminals 200a , 200b and 200c included in the user terminal group 200 wirelessly or by wire.

예컨대, 중앙 서버(300)는 사용자 단말과 연결된 인트라넷(intranet) 서버이거나 인터넷 서버일 수 있다. 이때 사용자 단말은 중앙 서버(300)와 유선으로 연결될 수 있고, WIFI, BLUETOOTH 또는 통신망 등을 이용하여 무선으로 연결될 수도 있다.For example, the central server 300 may be an intranet server connected to the user terminal or an Internet server. In this case, the user terminal may be connected to the central server 300 by wire or wirelessly using WIFI, BLUETOOTH, or a communication network.

중앙 서버(300)는 사용자 단말 그룹(200)에 포함된 사용자 단말로부터 상기 저장부(140)에 저장된 학습 결과를 수신하면, 수신한 학습 결과를 저장할 수 있다.When receiving the learning result stored in the storage unit 140 from the user terminal included in the user terminal group 200, the central server 300 may store the received learning result.

여기서, 상기 저장부(140)는 사용자 단말(200a, 200b 및 200c)에 구비된 이상행위 탐지 장치(100)에 포함된 것으로서, 현재 프로세스와 부모 프로세스 간의 관계 정보 및/또는 현재 프로세스와 네트워크 간의 관계 정보가 저장된 메모리 유닛일 수 있다. Here, the storage unit 140 is included in the anomaly detection apparatus 100 provided in the user terminals 200a, 200b, and 200c, and includes relationship information between a current process and a parent process and/or a relationship between the current process and the network. It may be a memory unit in which information is stored.

그리고, 중앙 서버(300)는 수신한 학습 결과를 상기 사용자 단말 그룹(200)에 속한 모든 사용자 단말(200a, 200b 및 200c)에게 배포하도록 구성될 수 있다.In addition, the central server 300 may be configured to distribute the received learning result to all the user terminals 200a, 200b, and 200c belonging to the user terminal group 200 .

예컨대, 도 2의 실시예에서, 중앙 서버(300)가 제1 사용자 단말(200a)로부터, 제1 사용자 단말(200a)에 포함된 저장부(140)에 저장된 제1 학습 결과 및 제2 학습 결과를 수신하였다고 가정한다. 중앙 서버(300)는 제1 사용자 단말(200a)로부터 수신한 제1 학습 결과 및 제2 학습 결과를 저장하고, 제1 학습 결과 및 제2 학습 결과를 사용자 단말 그룹(200)에 속한 사용자 단말(200a, 200b 및 200c)에게 배포할 수 있다. 바람직하게, 중앙 서버(300)는 사용자 단말 그룹(200)에 속한 사용자 단말(200a, 200b 및 200c) 중 제2 사용자 단말(200b) 및 제3 사용자 단말(200c)에게만 제1 학습 결과 및 제2 학습 결과를 배포할 수 있다.For example, in the embodiment of FIG. 2 , the central server 300 stores the first learning result and the second learning result stored in the storage unit 140 included in the first user terminal 200a from the first user terminal 200a. Assume that you have received The central server 300 stores the first learning result and the second learning result received from the first user terminal 200a, and stores the first learning result and the second learning result in the user terminal ( 200a, 200b and 200c). Preferably, the central server 300 provides only the second user terminal 200b and the third user terminal 200c among the user terminals 200a, 200b and 200c belonging to the user terminal group 200, the first learning result and the second Learning results can be distributed.

즉, 중앙 서버(300)는 사용자 단말 그룹(200)에 속한 사용자 단말(200a, 200b 및 200c) 간의 학습 결과를 공유하기 위한 허브 역할을 할 수 있다.That is, the central server 300 may serve as a hub for sharing the learning results among the user terminals 200a , 200b and 200c belonging to the user terminal group 200 .

사용자 단말(200a, 200b 및 200c)은 상기 중앙 서버(300)에 의해 배포된 학습 결과 중 상기 저장부(140)에 저장되지 않은 학습 결과를 선택적으로 저장하도록 구성될 수 있다. 즉, 사용자 단말(200a, 200b 및 200c)은 중복된 학습 결과를 저장하지 않고, 신규한 학습 결과만을 선택적으로 저장할 수 있다.The user terminals 200a, 200b, and 200c may be configured to selectively store learning results not stored in the storage 140 among the learning results distributed by the central server 300 . That is, the user terminals 200a, 200b, and 200c may selectively store only new learning results without storing duplicate learning results.

예컨대, 제1 사용자 단말(200a)이 중앙 서버(300)로 송신한 제1 학습 결과는 A 프로세스(자식 프로세스) 및 a1 프로세스(부모 프로세스) 간의 연결 관계에 대한 학습결과인 것으로 가정한다. 제2 사용자 단말(200b)은 중앙 서버(300)로부터 제1 학습 결과를 수신할 수 있다. 만약, 제2 사용자 단말(200b)에 A 프로세스와 a1 프로세스 간의 연결 관계에 대한 학습결과가 저장되지 않은 경우, 제2 사용자 단말(200b)은 중앙 서버(300)로부터 수신한 제1 학습 결과를 저장할 수 있다. 바람직하게, 제2 사용자 단말(200b)은 저장부(140)에 저장된 학습 결과들(해시값들)에 제1 학습 결과(A 프로세스와 a1 프로세스의 조합에 의해 생성된 해시값)가 포함되는지를 판단할 수 있다. 그리고, 제2 사용자 단말(200b)은 저장부(140)에 제1 학습 결과가 포함되지 않으면, 제1 학습 결과를 저장부(140)에 저장할 수 있다.For example, it is assumed that the first learning result transmitted by the first user terminal 200a to the central server 300 is a learning result on the connection relationship between process A (child process) and process a1 (parent process). The second user terminal 200b may receive the first learning result from the central server 300 . If the learning result for the connection relationship between process A and process a1 is not stored in the second user terminal 200b, the second user terminal 200b stores the first learning result received from the central server 300 can Preferably, the second user terminal 200b determines whether the first learning result (a hash value generated by the combination of the A process and the a1 process) is included in the learning results (hash values) stored in the storage unit 140 . can judge And, if the first learning result is not included in the storage unit 140 , the second user terminal 200b may store the first learning result in the storage unit 140 .

즉, 사용자 단말(200a, 200b 및 200c)은 중앙 서버(300)를 통해서, 직접 판단하지 않은 프로세스 및/또는 네트워크에 대해 학습된 정보를 수신하고 저장할 수 있다. That is, the user terminals 200a , 200b , and 200c may receive and store information learned about processes and/or networks that are not directly determined through the central server 300 .

따라서, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템은 사용자 단말 그룹(200)에 포함된 사용자 단말(200a, 200b 및 200c)들 간의 학습된 정보를 서로 공유함으로써, 악성 프로그램 또는 맬웨어 등의 비정상 프로세스와 유해 사이트 등의 비정상 네트워크를 미연에 차단할 수 있는 장점이 있다. 따라서, 사용자 단말 그룹(200)에 포함된 사용자 단말(200a, 200b 및 200c)의 프로세스 및 네트워크에 대한 보안이 강화될 수 있는 장점이 있다.Therefore, the abnormal behavior detection system according to another embodiment of the present invention shares the learned information between the user terminals 200a, 200b, and 200c included in the user terminal group 200 with each other to detect malicious programs or malware. It has the advantage of being able to block abnormal networks such as abnormal processes and harmful sites in advance. Accordingly, there is an advantage in that the security of the process and network of the user terminals 200a , 200b and 200c included in the user terminal group 200 can be strengthened.

이하에서는, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 대해 설명한다. 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법은 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)에 의해 수행될 수 있다.Hereinafter, an abnormal behavior detection method according to another embodiment of the present invention will be described. The abnormal behavior detection method according to another embodiment of the present invention may be performed by the abnormal behavior detection apparatus 100 according to an embodiment of the present invention.

도 3은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S100)에 있어서, 비정상 프로세스의 실행을 차단하기 위한 실시예를 개략적으로 도시한 도면이다. 3 is a diagram schematically illustrating an embodiment for blocking the execution of an abnormal process in the abnormal behavior detection method S100 according to another embodiment of the present invention.

도 3을 참조하면, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S100)은 정보 수집 단계(S110), 관계 정보 생성 단계(S120), 관계 정보 확인 단계(S130) 및 차단 단계(S140)를 포함할 수 있다.Referring to FIG. 3 , the abnormal behavior detection method ( S100 ) according to another embodiment of the present invention includes an information collection step ( S110 ), a relationship information generation step ( S120 ), a relationship information confirmation step ( S130 ), and a blocking step ( S140 ). ) may be included.

정보 수집 단계(S110)는 현재 프로세스에 대한 프로세스 실행이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스에 대한 정보를 수집하는 단계로서, 정보 수집부(110)에 의해 수행될 수 있다.The information collecting step S110 is a step of collecting information on the current process and a parent process of the current process when a process execution for the current process is requested, and may be performed by the information collecting unit 110 .

즉, 제어부(150)에 현재 프로세스에 대한 실행이 요청되면, 제어부(150)는 정보 수집부(110)에게 현재 프로세스에 대한 정보 수집을 요청할 수 있다. That is, when execution of the current process is requested from the controller 150 , the controller 150 may request the information collection unit 110 to collect information on the current process.

정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한을 가지고 있기 때문에, 정보 수집부(110)는 정보 수집 요청의 대상이 되는 현재 프로세스의 정보뿐만 아니라, 현재 프로세스의 부모 프로세스에 대한 정보를 함께 수집할 수 있다.Since the information collection unit 110 has access to computer resource information, the information collection unit 110 collects information on the parent process of the current process as well as information on the current process that is the target of the information collection request. can be collected

관계 정보 생성 단계(S120)는 정보 수집 단계(S110)에서 수집된 현재 프로세스의 정보 및 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하는 단계로서, 학습부(130)에서 수행될 수 있다.The relationship information generation step (S120) is a step of generating relationship information about the current process and the parent process based on the information of the current process and the information of the parent process collected in the information collection step (S110). 130) can be carried out.

학습부(130)는 머신 러닝에 기반하여, 현재 프로세스와 부모 프로세스에 대한 관계 정보를 생성할 수 있다. 바람직하게, 학습부(130)는 현재 프로세스의 프로세스 식별 정보와 부모 프로세스에 대한 관계 정보를 생성하는데, 프로세스 식별 정보는 상기 현재 프로세스를 식별할 수 있는 정보로서 식별 정보 생성부(120)에 의해 생성될 수 있다.The learner 130 may generate relationship information about a current process and a parent process based on machine learning. Preferably, the learning unit 130 generates process identification information of the current process and relationship information on the parent process, and the process identification information is information that can identify the current process and is generated by the identification information generation unit 120 . can be

예컨대, 식별 정보 생성부(120)는 현재 프로세스의 프로세스 ID, 프로세스 생성 시간 및 사용자 단말의 고유 정보에 기반하여 상기 프로세스 식별 정보를 생성할 수 있다. 그리고, 학습부(130)는 머신 러닝에 프로세스 식별 정보 및 부모 프로세스의 정보를 입력하여, 현재 프로세스와 부모 프로세스 간의 관계 정보를 학습 및 생성할 수 있다. 여기서, 부모 프로세스의 정보는 부모 프로세스의 ID가 이용될 수 있다.For example, the identification information generator 120 may generate the process identification information based on the process ID of the current process, the process creation time, and unique information of the user terminal. In addition, the learning unit 130 may input process identification information and parent process information into machine learning to learn and generate relationship information between the current process and the parent process. Here, as the information of the parent process, the ID of the parent process may be used.

관계 정보 확인 단계(S130)는 기저장된 학습 결과에 상기 관계 정보 생성 단계(S120)에서 생성된 관계 정보가 포함되는지 여부를 확인하는 단계로서, 제어부(150)에 의해 수행될 수 있다.The relationship information checking step ( S130 ) is a step of checking whether the relationship information generated in the relationship information generation step ( S120 ) is included in the pre-stored learning result, and may be performed by the controller 150 .

여기서, 기저장된 학습 결과는 학습부(130)에 의해 미리 학습 및 생성된 관계 정보로서, 저장부(140)에 미리 저장된 데이터일 수 있다.Here, the pre-stored learning result is relation information previously learned and generated by the learning unit 130 , and may be data stored in advance in the storage unit 140 .

바람직하게, 저장부(140)에 기저장된 학습 결과는 제어부(150)에 의해 정상 프로세스라고 판단된 프로세스와 해당 프로세스의 부모 프로세스와의 관계 정보일 수 있다.Preferably, the learning result pre-stored in the storage 140 may be relationship information between a process determined as a normal process by the controller 150 and a parent process of the corresponding process.

예컨대, 자식 프로세스가 C 프로세스이고, 부모 프로세스가 PC 프로세스이라고 가정한다. 제어부(150)의 판단 결과 C 프로세스가 정상 프로세스로 판단되면, 제어부(150)는 학습부(130)에 의해 생성된 C 프로세스와 PC 프로세스 간의 관계 정보를 저장부(140)에 저장할 수 있다. 이러한 C 프로세스와 PC 프로세스 간의 관계 정보는 학습 결과로서 저장부(140)에 저장될 수 있다.For example, assume that the child process is a C process and the parent process is a PC process. As a result of the determination of the control unit 150 , if the C process is determined to be a normal process, the control unit 150 may store relationship information between the C process and the PC process generated by the learning unit 130 in the storage unit 140 . The relationship information between the C process and the PC process may be stored in the storage unit 140 as a learning result.

즉, 제어부(150)는 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장부(140)에 미리 저장되어 있는지 여부를 확인함으로써, 현재 프로세스가 정상 프로세스인지 여부를 1차적으로 판단할 수 있다.That is, the controller 150 may determine whether the current process is a normal process by checking whether the relationship information between the current process and the parent process is previously stored in the storage 140 .

상기 관계 정보 확인 단계(S130)의 확인 결과에 기반하여, 상기 현재 프로세스의 실행을 차단하는 차단 단계(S140)가 제어부(150)에 의해 수행될 수 있다. 예컨대, 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장부(140)에 기저장된 학습 결과에 포함되지 않으면, 제어부(150)는 현재 프로세스가 비정상 프로세스인 것으로 판단할 수 있다. 이 때, 제어부(150)는 현재 프로세스의 실행을 차단할 수 있다.Based on the result of the confirmation of the relationship information confirmation step ( S130 ), the blocking step ( S140 ) of blocking the execution of the current process may be performed by the controller 150 . For example, if the relationship information between the current process and the parent process is not included in the learning result previously stored in the storage 140 , the controller 150 may determine that the current process is an abnormal process. In this case, the controller 150 may block the execution of the current process.

바람직하게, 차단 단계는, 평판 탐색 단계(S141), 프로세스 실행 차단 단계(S143), 관계 정보 저장 단계(S145) 및 프로세스 실행 단계(S147)를 더 포함할 수 있다.Preferably, the blocking step may further include a reputation search step (S141), a process execution blocking step (S143), a relationship information storage step (S145), and a process execution step (S147).

평판 탐색 단계(S141)는 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 현재 프로세스에 대한 평판을 탐색하는 단계로서, 제어부(150)에 의해 수행될 수 있다.The reputation search step ( S141 ) is a step of searching for a reputation for the current process when the generated relationship information is not included in the pre-stored learning result, and may be performed by the controller 150 .

예컨대, 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않는 경우에는, 사용자 단말에서 현재 프로세스가 처음 생성된 경우를 포함할 수 있다. 이 경우 현재 프로세스와 부모 프로세스 간의 관계 정보는 저장부(140)에 기저장된 학습 결과에 포함되지 않지만, 현재 프로세스는 정상 프로세스일 수 있다. 따라서 이러한 경우, 현재 프로세스를 비정상 프로세스로 잘못 판단하는 것을 방지하기 위하여, 제어부(150)는 현재 프로세스에 대한 평판을 탐색할 수 있다. For example, when the generated relationship information is not included in the pre-stored learning result, it may include a case in which the current process is first generated in the user terminal. In this case, the relationship information between the current process and the parent process is not included in the learning result previously stored in the storage 140 , but the current process may be a normal process. Accordingly, in this case, in order to prevent erroneously determining the current process as an abnormal process, the controller 150 may search for a reputation for the current process.

즉, 제어부(150)는 현재 프로세스에 대한 잘못된 판단을 방지하기 위하여, 1차적으로 관계 정보와 기저장된 학습 결과를 비교하고, 2차적으로 현재 프로세스의 평판을 탐색할 수 있다.That is, in order to prevent erroneous judgment on the current process, the controller 150 may first compare the relationship information with the pre-stored learning result, and secondarily search the reputation of the current process.

현재 프로세스에 대한 평판은 정상 프로세스 또는 비정상 프로세스로 판단되거나, 정상 프로세스, 경고 프로세스 또는 비정상 프로세스로 보다 세분화되게 판단될 수 있다.The reputation of the current process may be determined as a normal process or an abnormal process, or may be further subdivided into a normal process, a warning process, or an abnormal process.

프로세스 실행 차단 단계(S143)는 평판 탐색 결과 현재 프로세스가 비정상 프로세스로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다.The process execution blocking step S143 is a step performed by the controller 150 when it is determined that the current process is an abnormal process as a result of the reputation search.

제어부(150)는 현재 프로세스의 실행을 차단할 수 있다. 그리고, 제어부(150)는 식별 정보 생성부(120)에 의해 생성된 현재 프로세스에 대한 프로세스 식별 정보를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다.The controller 150 may block execution of the current process. In addition, the control unit 150 may store process identification information on the current process generated by the identification information generation unit 120 in the block list provided in the storage unit 140 .

관계 정보 저장 단계(S145)는, 평판 탐색 결과 현재 프로세스가 정상 프로세스로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다. 관계 정보 저장 단계(S145)에서는, 학습부(130)에 의해 생성된 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장부(140)에 저장될 수 있다. The relationship information storage step ( S145 ) is a step performed by the controller 150 when it is determined that the current process is a normal process as a result of the reputation search. In the relation information storage step S145 , relation information between the current process and the parent process generated by the learning unit 130 may be stored in the storage unit 140 .

예컨대, 관계 정보 저장 단계(S145)는, 사용자 단말에서 최초로 생성되었거나, 학습 결과가 존재하지 않은 정상 프로세스에 대해 수행될 수 있다. 즉, 현재 프로세스가 정상 프로세스이지만, 사용자 단말에서는 최초로 생성된 경우, 현재 프로세스에 대한 학습 결과가 저장부(140)에 저장되어 있지 않을 수 있다. 하지만, 현재 프로세스에 대한 평판 탐색 결과, 현재 프로세스가 정상 프로세스라고 판단된 경우, 제어부(150)는 현재 프로세스와 부모 프로세스 간의 관계 정보를 저장부(140)에 저장할 수 있다.For example, the relation information storage step ( S145 ) may be performed for a normal process that was initially generated in the user terminal or does not have a learning result. That is, although the current process is a normal process, when the user terminal is first generated, the learning result for the current process may not be stored in the storage 140 . However, when it is determined that the current process is a normal process as a result of the reputation search for the current process, the controller 150 may store relationship information between the current process and the parent process in the storage 140 .

프로세스 실행 단계(S147)는 정상 프로세스로 판단된 현재 프로세스를 실행하는 단계로서, 제어부(150)에 의해 수행될 수 있다.The process execution step S147 is a step of executing the current process determined to be a normal process, and may be performed by the controller 150 .

프로세스 실행 단계(S147)는 관계 정보 확인 단계(S130)에서 기저장된 학습 결과에 생성된 관계 정보가 포함된 경우 또는 관계 정보 저장 단계(S145) 이후에 수행될 수 있다.The process execution step ( S147 ) may be performed when the relationship information generated in the pre-stored learning result is included in the relationship information checking step ( S130 ) or after the relationship information storage step ( S145 ).

추가적으로, 제어부(150)는 정상 프로세스로 판단한 현재 프로세스에 대한 로그 정보를 수집하도록 정보 수집부(110)를 제어할 수 있다. 그리고, 정보 수집부(110)에 의해 수집된 로그 정보를 저장부(140)에 저장할 수 있다. 이 후, 프로세스에 대한 로그 정보 출력 요청이 입력되면, 제어부(150)는 저장부(140)에 저장된 해당 프로세스의 로그 정보를 출력하여 제공할 수 있다.Additionally, the control unit 150 may control the information collection unit 110 to collect log information about the current process determined to be a normal process. In addition, log information collected by the information collection unit 110 may be stored in the storage unit 140 . Thereafter, when a request for outputting log information for a process is input, the controller 150 may output and provide log information of the corresponding process stored in the storage 140 .

본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S100)은 기저장된 학습 결과에 기반하여 현재 프로세스의 비정상 여부를 1차로 판단하고, 현재 프로세스의 평판에 기반하여 현재 프로세스의 비정상 여부를 2차로 판단할 수 있다. 따라서, 프로세스의 비정상 여부가 보다 다양한 측면에서 판단될 수 있으므로, 프로세스에 대한 오판의 가능성이 감소될 수 있는 장점이 있다.The abnormal behavior detection method S100 according to another embodiment of the present invention primarily determines whether the current process is abnormal based on a pre-stored learning result, and secondarily determines whether the current process is abnormal based on the reputation of the current process. can judge Accordingly, since the abnormality of the process can be determined from more various aspects, there is an advantage in that the possibility of erroneous judgment on the process can be reduced.

도 4는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S200)에 있어서, 비정상 네트워크의 접속을 차단하기 위한 일 실시예를 개략적으로 도시한 도면이다. 4 is a diagram schematically illustrating an embodiment for blocking access to an abnormal network in the abnormal behavior detection method S200 according to another embodiment of the present invention.

도 4를 참조하면, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S200)은 정보 수집 단계(S210), 관계 정보 생성 단계(S220), 관계 정보 확인 단계(S230) 및 차단 단계(S240)를 포함할 수 있다.Referring to FIG. 4 , the abnormal behavior detection method ( S200 ) according to another embodiment of the present invention includes an information collection step ( S210 ), a relationship information generation step ( S220 ), a relationship information confirmation step ( S230 ) and a blocking step ( S240 ). ) may be included.

정보 수집 단계(S210)는 현재 프로세스로부터 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면, 상기 현재 프로세스 및 상기 네트워크에 대한 정보를 수집하는 단계로서, 정보 수집부(110)에 의해 수행될 수 있다.The information collection step (S210) is a step of collecting information on the current process and the network when a connection request from the current process to the network or a connection to the current process from the network is requested. The information collection unit 110 can be performed by

여기서는, 현재 프로세스가 외부 네트워크로 접속을 시도하는 경우뿐만 아니라 외부 네트워크가 현재 프로세스로 접속을 시도하는 경우가 모두 포함된다.Here, both cases in which the current process attempts to access the external network as well as cases in which the external network attempts to connect to the current process are included.

정보 수집부(110)에 의해 수집되는 정보는 현재 프로세스에 대한 프로세스 ID, 프로세스 생성 시간, 사용자 단말 정보 및 네트워크 IP 주소 등이 포함될 수 있다.The information collected by the information collection unit 110 may include a process ID for a current process, a process creation time, user terminal information, and a network IP address.

관계 정보 생성 단계(S220)는 정보 수집 단계(S210)에서 수집된 현재 프로세스의 정보 및 네트워크의 정보에 기반하여, 상기 현재 프로세스와 상기 네트워크에 대한 관계 정보를 생성하는 단계로서, 학습부(130)에서 수행될 수 있다.The relationship information generation step (S220) is a step of generating relationship information about the current process and the network based on the information of the current process and the network information collected in the information collection step (S210), and the learning unit 130 can be performed in

학습부(130)는 머신 러닝에 기반하여, 현재 프로세스와 네트워크에 대한 관계 정보를 생성할 수 있다. 바람직하게, 학습부(130)는 현재 프로세스의 프로세스 식별 정보와 네트워크에 대한 관계 정보를 학습하고 생성할 수 있다.The learner 130 may generate relationship information about the current process and the network based on machine learning. Preferably, the learning unit 130 may learn and generate process identification information of the current process and relationship information on the network.

관계 정보 확인 단계(S230)는 기저장된 학습 결과에 상기 관계 정보 생성 단계(S220)에서 생성된 관계 정보가 포함되는지 여부를 확인하는 단계로서, 제어부(150)에 의해 수행될 수 있다.The relationship information checking step ( S230 ) is a step of checking whether the relationship information generated in the relationship information generation step ( S220 ) is included in the pre-stored learning result, and may be performed by the controller 150 .

여기서, 기저장된 학습 결과는 학습부(130)에 의해 미리 학습 및 생성된 관계 정보로서, 저장부(140)에 미리 저장된 데이터일 수 있다. 바람직하게, 저장부(140)에 기저장된 학습 결과는 제어부(150)에 의해 정상 프로세스라고 판단된 프로세스와 상기 네트워크 간의 관계 정보일 수 있다.Here, the pre-stored learning result is relation information previously learned and generated by the learning unit 130 , and may be data stored in advance in the storage unit 140 . Preferably, the learning result pre-stored in the storage 140 may be relationship information between a process determined by the controller 150 to be a normal process and the network.

예컨대, 현재 프로세스는 정상 프로세스인 C 프로세스이고, 네트워크의 IP 주소는 정상 주소인 X 주소라고 가정한다. X 주소는 C 프로세스가 접속하고자 하는 네트워크 IP 주소일 수 있고, C 프로세스로 접속하고자 하는 네트워크 IP 주소일 수도 있다. 두 경우 모두, 저장부(140)에 기저장된 학습 결과는 C 프로세스 식별정보와 X 주소 간의 관계 정보일 수 있다.For example, it is assumed that the current process is process C, which is a normal process, and the IP address of the network is address X, which is a normal address. The X address may be the network IP address that the C process wants to access, or may be the network IP address that the C process wants to access. In both cases, the learning result pre-stored in the storage unit 140 may be relationship information between the C process identification information and the X address.

제어부(150)는 현재 프로세스와 네트워크 간의 관계 정보가 저장부(140)에 미리 저장되어 있는지 여부를 확인함으로써, 네트워크가 정상 네트워크인지 여부를 1차적으로 판단할 수 있다.The control unit 150 may determine whether the network is a normal network by checking whether the relationship information between the current process and the network is previously stored in the storage unit 140 .

상기 관계 정보 확인 단계(S230)의 확인 결과에 기반하여, 상기 네트워크의 접속을 차단하는 차단 단계(S240)가 제어부(150)에 의해 수행될 수 있다. 예컨대, 현재 프로세스와 네트워크 간의 관계 정보가 저장부(140)에 기저장된 학습 결과에 포함되어 있지 않으면, 제어부(150)는 네트워크가 비정상 네트워크인 것으로 판단할 수 있다. 이 때, 제어부(150)는 네트워크로의 접속 및 네트워크로부터의 접속을 모두 차단할 수 있다.Based on the result of the confirmation of the relationship information confirmation step ( S230 ), the blocking step ( S240 ) of blocking the access to the network may be performed by the controller 150 . For example, if the relationship information between the current process and the network is not included in the learning result pre-stored in the storage unit 140 , the controller 150 may determine that the network is an abnormal network. In this case, the controller 150 may block both the access to the network and the access from the network.

바람직하게, 차단 단계는, 평판 탐색 단계(S241), 네트워크 접속 차단 단계(S243), 관계 정보 저장 단계(S245) 및 네트워크 접속 단계(S247)를 더 포함할 수 있다.Preferably, the blocking step may further include a reputation search step (S241), a network access block step (S243), a relationship information storage step (S245), and a network access step (S247).

평판 탐색 단계(S241)는 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 네트워크에 대한 평판을 탐색하는 단계로서, 제어부(150)에 의해 수행될 수 있다.The reputation search step ( S241 ) is a step of searching for a reputation for the network when the generated relationship information is not included in the pre-stored learning result, and may be performed by the controller 150 .

예컨대, 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되어 있지 않는 경우에는, 사용자 단말에서 현재 프로세스가 처음 생성된 경우, 현재 프로세스로부터 상기 네트워크로의 처음 접속을 시도한 경우 및 상기 네트워크에서 현재 프로세스로 처음 접속을 시도하는 경우 등이 포함될 수 있다. 이 경우 현재 프로세스와 네트워크 간의 관계 정보는 저장부(140)에 기저장된 학습 결과에 포함되어 있지 않지만, 네트워크는 정산 네트워크일 수 있다. 따라서 이러한 경우, 정상 네트워크를 비정상 네트워크로 잘못 판단하는 것을 방지하기 위하여, 제어부(150)는 상기 네트워크에 대한 평판을 탐색할 수 있다. For example, when the generated relationship information is not included in the pre-stored learning result, when a current process is first created in the user terminal, when a first access to the network is attempted from the current process, and when the network returns to the current process This may include a case of trying to connect for the first time. In this case, the relationship information between the current process and the network is not included in the learning result pre-stored in the storage unit 140 , but the network may be a settlement network. Accordingly, in this case, in order to prevent a normal network from being incorrectly determined as an abnormal network, the controller 150 may search for a reputation for the network.

즉, 제어부(150)는 정상 네트워크에 대한 잘못된 판단을 방지하기 위하여, 1차적으로 관계 정보와 기저장된 학습 결과를 비교하고, 2차적으로 네트워크의 평판을 탐색할 수 있다.That is, in order to prevent an erroneous determination of a normal network, the controller 150 may first compare the relationship information with a pre-stored learning result, and secondarily search the reputation of the network.

네트워크 접속 차단 단계(S243)는 평판 탐색 결과 현재 프로세스가 접속하고자 하는 네트워크 또는 현재 프로세스로 접속하고자 하는 네트워크가 비정상 네트워크로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다.The network access blocking step S243 is a step performed by the controller 150 when it is determined that the network to which the current process wants to access or the network to which the current process wants to access is an abnormal network as a result of the reputation search.

이 경우, 제어부(150)는 현재 프로세스에 대한 네트워크의 접속 및 네트워크에 대한 현재 프로세스의 접속을 모두 차단할 수 있다. 그리고, 제어부(150)는 네트워크의 정보를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다. 예컨대, 제어부(150)는 네트워크의 IP 주소를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다.In this case, the controller 150 may block both the network access to the current process and the current process access to the network. In addition, the control unit 150 may store network information in a block list provided in the storage unit 140 . For example, the control unit 150 may store the IP address of the network in the block list provided in the storage unit 140 .

관계 정보 저장 단계(S245)는, 평판 탐색 결과 네트워크가 정상 네트워크로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다. 관계 정보 저장 단계(S245)에서는, 학습부(130)에 의해 생성된 현재 프로세스와 네트워크 간의 관계 정보가 저장부(140)에 저장될 수 있다. The relation information storage step ( S245 ) is a step performed by the controller 150 when it is determined that the network is a normal network as a result of the reputation search. In the relation information storage step ( S245 ), relation information between the current process and the network generated by the learning unit 130 may be stored in the storage unit 140 .

네트워크 접속 단계(S247)는 현재 프로세스에 대한 네트워크의 접속 및 네트워크에 대한 현재 프로세스의 접속을 허용하는 단계로서, 제어부(150)에 의해 수행될 수 있다.The network access step ( S247 ) is a step of allowing the access of the network to the current process and the access of the current process to the network, and may be performed by the controller 150 .

네트워크 접속 단계(S247)는 관계 정보 확인 단계(S230)에서 기저장된 학습 결과에 생성된 관계 정보가 포함된 경우에도 수행될 수 있다.The network access step ( S247 ) may be performed even when the relationship information generated in the relationship information check step ( S230 ) is included in the pre-stored learning result.

본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S200)은 기저장된 학습 결과에 기반하여 현재 프로세스에서 접속하고자 하는 네트워크 또는 현재 프로세스로 접속하고자 하는 네트워크의 비정상 여부를 1차로 판단하고, 현재 프로세스의 평판에 기반하여 상기 네트워크의 비정상 여부를 2차로 판단할 수 있다. 따라서, 네트워크의 비정상 여부가 보다 다양한 측면에서 판단될 수 있으므로, 네트워크 상태 판단에 대한 오판 가능성이 감소될 수 있는 장점이 있다.The abnormal behavior detection method S200 according to another embodiment of the present invention primarily determines whether a network to be accessed in the current process or a network to be accessed in the current process is abnormal based on a pre-stored learning result, and the current process Whether the network is abnormal may be secondarily determined based on the reputation of . Accordingly, since the abnormality of the network can be determined from various aspects, there is an advantage in that the possibility of erroneous determination of the network state can be reduced.

도 5 및 도 6은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S300)에 있어서, 비정상 네트워크의 접속을 차단하기 위한 다른 실시예를 개략적으로 도시한 도면이다. 이하에서는, 설명의 편의를 위하여, 도 4를 참조하여 설명한 이상행위 탐지 방법(S200)과 차이가 있는 부분에 대해서 중점적으로 설명한다.5 and 6 are diagrams schematically illustrating another embodiment for blocking access to an abnormal network in the abnormal behavior detection method S300 according to another embodiment of the present invention. Hereinafter, for the convenience of explanation, a part different from the abnormal behavior detection method S200 described with reference to FIG. 4 will be mainly described.

도 5 및 도 6의 이상행위 탐지 방법(S300)에 포함된 정보 수집 단계(S320), 정보 생성 단계(S330), 관계 정보 확인 단계(S340), 평판 탐색 단계(S351), 네트워크 접속 차단 단계(S353), 관계 정보 저장 단계(S355) 및 네트워크 접속 단계(S357)는 각각 도 4의 이상행위 탐지 방법(S200)에 포함된 정보 수집 단계(S210), 정보 생성 단계(S220), 관계 정보 확인 단계(S230), 평판 탐색 단계(S241), 네트워크 접속 차단 단계(S243), 관계 정보 저장 단계(S245) 및 네트워크 접속 단계(S247)에 대응되는 단계일 수 있다.The information collection step (S320), the information generation step (S330), the relationship information check step (S340), the reputation search step (S351), the network connection blocking step (S320) included in the abnormal behavior detection method (S300) of FIGS. 5 and 6 S353), the relationship information storage step (S355) and the network access step (S357) are the information collection step (S210), the information generation step (S220), and the relationship information confirmation step included in the abnormal behavior detection method (S200) of FIG. 4, respectively. (S230), the reputation search step (S241), the network connection blocking step (S243), the relationship information storage step (S245) and may be steps corresponding to the network access step (S247).

즉, 도 5 및 도 6에 도시된 이상행위 탐지 방법(S300)은 도 4에 도시된 이상행위 탐지 방법(S200)에서 프로세스 판단 단계(S310)를 더 포함할 수 있다.That is, the abnormal behavior detection method S300 illustrated in FIGS. 5 and 6 may further include a process determination step S310 in the abnormal behavior detection method S200 illustrated in FIG. 4 .

프로세스 판단 단계(S310)는 정보 수집 단계(S320) 이전에, 현재 프로세스가 정상 프로세스인지를 판단하는 단계로서, 제어부(150)에 의해 수행될 수 있다. The process determination step ( S310 ) is a step of determining whether the current process is a normal process before the information collection step ( S320 ), and may be performed by the controller 150 .

바람직하게, 프로세스 판단 단계(S310)는, 정보 수집부(110)에 의해 현재 프로세스와 네트워크에 대한 정보가 수집되기 전에, 현재 프로세스가 정상 프로세스인지 여부를 먼저 판단하는 단계이다. Preferably, the process determination step S310 is a step of first determining whether the current process is a normal process before information on the current process and the network is collected by the information collecting unit 110 .

예컨대, 현재 프로세스로의 네트워크 접속 또는 현재 프로세스로부터의 네트워크 접속이 요청되면, 제어부(150)는 정보 수집부(110)에게 현재 프로세스에 대한 정보 수집을 요청할 수 있다. 이 때, 정보 수집부(110)는 현재 프로세스 및 현재 프로세스의 부모 프로세스에 대한 정보를 모두 수집할 수 있다. 구체적으로, 프로세스 판단 단계(S310)에서는 도 3에 도시된 이상행위 탐지 방법(S100) 중 정보 수집 단계(S110), 관계 정보 생성 단계(S120), 관계 정보 학습 단계(S130), 평판 탐색 단계(S141) 및 관계 정보 저장 단계(S145)가 수행될 수 있다.For example, when a network connection to the current process or a network connection from the current process is requested, the controller 150 may request the information collection unit 110 to collect information on the current process. In this case, the information collection unit 110 may collect information on both the current process and the parent process of the current process. Specifically, in the process determination step (S310), the information collection step (S110), the relationship information generation step (S120), the relationship information learning step (S130), the reputation search step (S100) of the abnormal behavior detection method (S100) shown in FIG. S141) and the relation information storage step (S145) may be performed.

현재 프로세스가 비정상 프로세스로 판단되면, 정보 수집 단계(S320)가 수행되지 않기 때문에, 네트워크에 대한 정보가 수집되지도 않고, 네트워크 접속 차단 단계(S353)가 수행될 수 있다. If it is determined that the current process is an abnormal process, since the information collection step S320 is not performed, information on the network is not collected, and the network connection blocking step S353 may be performed.

반대로, 현재 프로세스가 정상 프로세스로 판단되면, 현재 프로세스와 네트워크에 대한 정보를 수집하는 정보 수집 단계(S320)가 수행될 수 있다.Conversely, when it is determined that the current process is a normal process, the information collection step S320 of collecting information on the current process and the network may be performed.

본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S300)은 1차적으로 현재 프로세스의 정상 여부를 확인하고, 2차적으로 현재 프로세스와 네트워크에 대한 관계 정보가 미리 학습되었는지를 판단하고, 3차적으로 네트워크에 대한 평판을 탐색함으로써, 비정상 네트워크의 접속을 보다 정확하고 신뢰도 높게 차단할 수 있는 장점이 있다.The abnormal behavior detection method ( S300 ) according to another embodiment of the present invention primarily checks whether the current process is normal, secondly determines whether relation information about the current process and the network has been previously learned, and tertiarily It has the advantage of being able to block access to an abnormal network more accurately and reliably by searching for the reputation of the network.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiment of the present invention described above is not implemented only through the apparatus and method, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded. The implementation can be easily implemented by those skilled in the art to which the present invention pertains from the description of the above-described embodiments.

이상에서 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.In the above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited thereto and will be described below with the technical idea of the present invention by those of ordinary skill in the art to which the present invention pertains. Of course, various modifications and variations are possible within the scope of equivalents of the claims.

또한, 이상에서 설명한 본 발명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니라, 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수 있다.In addition, since the present invention described above can be various substitutions, modifications and changes within the scope that does not depart from the technical spirit of the present invention for those of ordinary skill in the art to which the present invention pertains, the above-described embodiments and attachments It is not limited by the illustrated drawings, and all or part of each embodiment may be selectively combined and configured so that various modifications may be made.

100: 이상행위 탐지 장치
110: 정보 수집부
120: 식별 정보 생성부
130: 학습부
140: 저장부
150: 제어부
200: 사용자 단말 그룹
300: 중앙 서버
100: anomaly detection device
110: information collection unit
120: identification information generating unit
130: study unit
140: storage
150: control unit
200: user terminal group
300: central server

Claims (16)

현재 프로세스에 대한 정보 수집을 요청받으면, 상기 현재 프로세스의 정보 및 상기 현재 프로세스의 부모 프로세스의 정보를 수집하도록 구성된 정보 수집부;
상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부;
상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 상기 정보 수집부에 의해 수집된 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하도록 구성된 학습부;
상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및
상기 현재 프로세스에 대한 프로세스 실행이 요청되면 상기 정보 수집부에게 상기 현재 프로세스에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성된 제어부를 포함하는 것을 특징으로 하는 이상행위 탐지 장치.
an information collection unit configured to collect information on the current process and information on a parent process of the current process when receiving a request to collect information on the current process;
an identification information generation unit configured to generate process identification information for the current process based on the information collected by the information collection unit;
a learning unit configured to generate relationship information about the current process and the parent process based on the process identification information generated by the identification information generating unit and the information of the parent process collected by the information collecting unit;
a storage unit configured to store a plurality of learning results previously learned by the learning unit; and
When a process execution for the current process is requested, the information collection unit is requested to collect information on the current process, and it is determined whether the relationship information learned by the learning unit is included in the plurality of learning results stored in the storage unit. and a control unit configured to check and block execution of the current process based on a result of the confirmation.
제1항에 있어서,
상기 정보 수집부는,
상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 사용자 단말 정보를 포함하는 상기 현재 프로세스의 정보를 수집하고, 상기 부모 프로세스의 ID를 포함하는 상기 부모 프로세스의 정보를 수집하도록 구성되고,
상기 식별 정보 생성부는,
상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 상기 사용자 단말 정보에 기반하여 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
According to claim 1,
The information collection unit,
and collecting information of the current process including the ID of the current process, the creation time of the current process and user terminal information, and collecting information of the parent process including the ID of the parent process,
The identification information generating unit,
and generating process identification information for the current process based on the ID of the current process, the generation time of the current process, and the user terminal information.
제1항에 있어서,
상기 학습부는,
상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 부모 프로세스의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
According to claim 1,
The learning unit,
configured to receive the process identification information and the parent process information generated by the identification information generating unit, and output a combined value of the process identification information and the parent process information as the learned relationship information based on machine learning Abnormal behavior detection device, characterized in that.
제3항에 있어서,
상기 학습된 관계 정보는,
상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 해시값을 포함하는 것을 특징으로 하는 이상행위 탐지 장치.
4. The method of claim 3,
The learned relationship information is,
and a hash value in which the process identification information and the parent process information are combined.
제1항에 있어서,
상기 제어부는,
상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되면 상기 현재 프로세스를 정상 프로세스로 판단하여, 상기 현재 프로세스를 실행하고,
상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되지 않으면 상기 현재 프로세스를 비정상 프로세스로 판단하여, 상기 현재 프로세스의 실행을 차단하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
According to claim 1,
The control unit is
When the learned relationship information is included in the plurality of learning results stored in the storage unit, the current process is determined as a normal process, and the current process is executed,
and when the learned relationship information is not included in the plurality of learning results stored in the storage unit, the current process is determined as an abnormal process, and the execution of the current process is blocked.
제5항에 있어서,
상기 제어부는,
상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 저장부에 상기 현재 프로세스에 대한 프로세스 식별 정보를 차단 정보로 저장시키도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
6. The method of claim 5,
The control unit is
and when it is determined that the current process is the abnormal process, store process identification information on the current process as blocking information in the storage unit.
제6항에 있어서,
상기 제어부는,
상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 현재 프로세스의 실행을 차단하기 전에 상기 현재 프로세스의 평판을 탐색하고, 탐색 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
7. The method of claim 6,
The control unit is
When it is determined that the current process is the abnormal process, the reputation of the current process is searched before blocking the execution of the current process, and the execution of the current process is blocked based on the search result. Device.
제5항에 있어서,
상기 제어부는,
상기 현재 프로세스가 상기 정상 프로세스로 결정되면,
상기 현재 프로세스의 로그 정보를 수집하도록 상기 정보 수집부를 제어하고, 상기 정보 수집부에 의해 수집된 현재 프로세스의 로그 정보를 상기 저장부에 저장하고, 로그 출력 요청이 입력되면 상기 저장부에 저장된 복수의 로그 정보 중 상기 로그 출력 요청의 대상이 되는 프로세스에 대한 로그 정보를 출력하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
6. The method of claim 5,
The control unit is
When the current process is determined to be the normal process,
control the information collection unit to collect log information of the current process, store log information of the current process collected by the information collection unit in the storage unit, and when a log output request is input, a plurality of Anomaly detection apparatus, characterized in that the log information is configured to output log information on a process that is a target of the log output request.
네트워크에 대한 정보 수집을 요청받으면, 현재 프로세스의 정보 및 네트워크의 정보를 수집하도록 구성된 정보 수집부;
상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부;
상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 정보 수집부에 의해 수집된 네트워크의 정보에 기반하여, 상기 현재 프로세스 및 상기 네트워크의 정보 간의 관계 정보를 생성하도록 구성된 학습부;
상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및
상기 현재 프로세스로부터 상기 네트워크로의 접속 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 네트워크와의 접속을 차단하도록 구성된 제어부를 포함하는 것을 특징으로 하는 이상행위 탐지 장치.
an information collection unit configured to collect information on a current process and information on a network when requested to collect information on the network;
an identification information generation unit configured to generate process identification information for the current process based on the information collected by the information collection unit;
a learning unit configured to generate relationship information between the current process and the information of the network, based on the process identification information generated by the identification information generating unit and the information of the network collected by the information collecting unit;
a storage unit configured to store a plurality of learning results previously learned by the learning unit; and
When access from the current process to the network or access from the network to the current process is requested, the information collection unit is requested to collect information on the network, and the learning unit records a plurality of learning results stored in the storage unit. and a control unit configured to check whether the relationship information learned by
제9항에 있어서,
상기 학습부는,
상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 네트워크의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 네트워크의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
10. The method of claim 9,
The learning unit,
and receiving the process identification information and the network information generated by the identification information generating unit, and outputting a combined value of the process identification information and the network information based on machine learning as the learned relationship information. an anomaly detection device.
제9항에 있어서,
상기 제어부는,
상기 접속이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스의 정보에 기반하여 상기 현재 프로세스가 정상 프로세스인지를 판단하고, 상기 현재 프로세스가 정상 프로세스로 판단되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
10. The method of claim 9,
The control unit is
When the access is requested, it is determined whether the current process is a normal process based on information on the current process and a parent process of the current process. Anomaly detection device, characterized in that configured to request information collection.
제1항 내지 제11항 중 어느 한 항에 따른 이상행위 탐지 장치가 구비된 사용자 단말이 포함된 사용자 단말 그룹; 및
상기 사용자 단말 그룹에 포함된 사용자 단말과 무선 또는 유선으로 연결되도록 구성된 중앙 서버를 포함하고,
상기 중앙 서버는,
상기 사용자 단말 그룹에 포함된 사용자 단말로부터 상기 저장부에 저장된 학습 결과를 수신하면, 수신한 학습 결과를 저장하고, 상기 수신한 학습 결과를 상기 사용자 단말 그룹에 속한 모든 사용자 단말에게 배포하도록 구성되고,
상기 사용자 단말은,
상기 중앙 서버에 의해 배포된 학습 결과 중 상기 저장부에 저장되지 않은 학습 결과를 선택적으로 저장하도록 구성된 것을 특징으로 하는 이상행위 탐지 시스템.
A user terminal group including a user terminal equipped with an abnormal behavior detection device according to any one of claims 1 to 11; and
A central server configured to be connected to a user terminal included in the user terminal group wirelessly or by wire,
The central server,
When receiving the learning result stored in the storage unit from the user terminal included in the user terminal group, store the received learning result, and is configured to distribute the received learning result to all user terminals belonging to the user terminal group,
The user terminal is
Abnormal behavior detection system, characterized in that configured to selectively store the learning results not stored in the storage unit among the learning results distributed by the central server.
현재 프로세스에 대한 프로세스 실행이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스에 대한 정보를 수집하는 정보 수집 단계;
상기 정보 수집 단계에서 수집된 현재 프로세스의 정보 및 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하는 관계 정보 생성 단계;
기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및
상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 현재 프로세스의 실행을 차단하는 차단 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
an information collecting step of collecting information on the current process and a parent process of the current process when a process execution for the current process is requested;
a relationship information generation step of generating relationship information on the current process and the parent process based on the information on the current process and the information on the parent process collected in the information collection step;
a relationship information checking step of checking whether the relationship information generated in the relationship information generation step is included in the pre-stored learning result; and
and a blocking step of blocking execution of the current process based on a result of the checking of the relationship information checking step.
제13항에 있어서,
상기 차단 단계는,
상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 현재 프로세스에 대한 평판을 탐색하는 평판 탐색 단계; 및
상기 평판 탐색 단계에서 탐색된 현재 프로세스의 평판에 기반하여, 상기 현재 프로세스의 실행을 차단하는 프로세스 실행 차단 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
14. The method of claim 13,
The blocking step is
a reputation search step of searching for a reputation for the current process when the generated relationship information is not included in the pre-stored learning result; and
and a process execution blocking step of blocking execution of the current process based on the reputation of the current process found in the reputation search step.
현재 프로세스로부터 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면, 상기 현재 프로세스 및 상기 네트워크에 대한 정보를 수집하는 정보 수집 단계;
상기 정보 수집 단계에서 수집된 현재 프로세스의 정보 및 상기 네트워크의 정보에 기반하여, 상기 현재 프로세스와 상기 네트워크에 대한 관계 정보를 생성하는 관계 정보 생성 단계;
기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및
상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 네트워크로의 접속 및 상기 네트워크로부터의 접속을 차단하는 차단 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
an information collection step of collecting information on the current process and the network when a connection request from the current process to the network or access to the current process from the network is requested;
a relationship information generation step of generating relationship information on the current process and the network based on the information on the current process and the information on the network collected in the information collection step;
a relationship information checking step of checking whether the relationship information generated in the relationship information generation step is included in the pre-stored learning result; and
and a blocking step of blocking access to and from the network based on a result of checking the relationship information check step.
제15항에 있어서,
상기 차단 단계는,
상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 네트워크에 대한 평판을 탐색하는 평판 탐색 단계; 및
상기 평판 탐색 단계에서 탐색된 네트워크의 평판에 기반하여, 상기 네트워크의 접속을 차단하는 네트워크 접속 차단 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
16. The method of claim 15,
The blocking step is
a reputation search step of searching for a reputation for the network when the generated relationship information is not included in the pre-stored learning result; and
and a network access blocking step of blocking access to the network based on the reputation of the network discovered in the reputation search step.
KR1020200051088A 2020-04-27 2020-04-27 Apparatus and method for detecting abnormal behavior and system having the same KR102393913B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200051088A KR102393913B1 (en) 2020-04-27 2020-04-27 Apparatus and method for detecting abnormal behavior and system having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200051088A KR102393913B1 (en) 2020-04-27 2020-04-27 Apparatus and method for detecting abnormal behavior and system having the same

Publications (2)

Publication Number Publication Date
KR20210132545A true KR20210132545A (en) 2021-11-04
KR102393913B1 KR102393913B1 (en) 2022-05-03

Family

ID=78521846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200051088A KR102393913B1 (en) 2020-04-27 2020-04-27 Apparatus and method for detecting abnormal behavior and system having the same

Country Status (1)

Country Link
KR (1) KR102393913B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941265A (en) * 2022-11-01 2023-04-07 南京鼎山信息科技有限公司 Big data attack processing method and system applied to cloud service
KR20230100483A (en) * 2021-12-28 2023-07-05 울산과학기술원 Security setting device, method of set per-process security policy, and computer program for the method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100942795B1 (en) 2007-11-21 2010-02-18 한국전자통신연구원 A method and a device for malware detection
KR101057432B1 (en) * 2010-02-23 2011-08-22 주식회사 이세정보 System, method, program and recording medium for detection and blocking the harmful program in a real-time throught behavior analysis of the process
KR101126532B1 (en) * 2011-09-01 2012-03-22 주식회사 윈스테크넷 Malware execution preventing method based on positive security using reputation information and system thereof
KR101405831B1 (en) * 2013-01-29 2014-06-11 주식회사 잉카인터넷 system and method for detecting host file of malicious execution code
KR101654099B1 (en) * 2011-06-01 2016-09-05 맥아피 인코퍼레이티드 System and method for non-signature based detection of malicious processes
KR20170081386A (en) * 2016-01-04 2017-07-12 한국전자통신연구원 Behavior-based malicious code detection apparatus and method using multiple feature vector

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100942795B1 (en) 2007-11-21 2010-02-18 한국전자통신연구원 A method and a device for malware detection
KR101057432B1 (en) * 2010-02-23 2011-08-22 주식회사 이세정보 System, method, program and recording medium for detection and blocking the harmful program in a real-time throught behavior analysis of the process
KR101654099B1 (en) * 2011-06-01 2016-09-05 맥아피 인코퍼레이티드 System and method for non-signature based detection of malicious processes
KR101126532B1 (en) * 2011-09-01 2012-03-22 주식회사 윈스테크넷 Malware execution preventing method based on positive security using reputation information and system thereof
KR101405831B1 (en) * 2013-01-29 2014-06-11 주식회사 잉카인터넷 system and method for detecting host file of malicious execution code
KR20170081386A (en) * 2016-01-04 2017-07-12 한국전자통신연구원 Behavior-based malicious code detection apparatus and method using multiple feature vector

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230100483A (en) * 2021-12-28 2023-07-05 울산과학기술원 Security setting device, method of set per-process security policy, and computer program for the method
CN115941265A (en) * 2022-11-01 2023-04-07 南京鼎山信息科技有限公司 Big data attack processing method and system applied to cloud service
CN115941265B (en) * 2022-11-01 2023-10-03 南京鼎山信息科技有限公司 Big data attack processing method and system applied to cloud service

Also Published As

Publication number Publication date
KR102393913B1 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
WO2021109669A1 (en) Method and device for detecting malicious domain name access, and computer readable storage medium
US11086983B2 (en) System and method for authenticating safe software
US9596257B2 (en) Detection and prevention of installation of malicious mobile applications
RU2680736C1 (en) Malware files in network traffic detection server and method
CN111274583A (en) Big data computer network safety protection device and control method thereof
CN103607385A (en) Method and apparatus for security detection based on browser
CN113489713B (en) Network attack detection method, device, equipment and storage medium
CN108664793B (en) Method and device for detecting vulnerability
CN112534432A (en) Real-time mitigation of unfamiliar threat scenarios
TW201642135A (en) Detecting malicious files
CN110445769B (en) Access method and device of business system
EP3270317B1 (en) Dynamic security module server device and operating method thereof
US10839074B2 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
US11785044B2 (en) System and method for detection of malicious interactions in a computer network
CN112544054B (en) Automatically generating threat remediation steps through crowd-sourced security solutions
US10073980B1 (en) System for assuring security of sensitive data on a host
KR102393913B1 (en) Apparatus and method for detecting abnormal behavior and system having the same
WO2019144548A1 (en) Security test method, apparatus, computer device and storage medium
WO2021139308A1 (en) Cloud server monitoring method, apparatus and device, and storage medium
WO2021121382A1 (en) Security management of an autonomous vehicle
CN105378745A (en) Disabling and initiating nodes based on security issue
CN114138590A (en) Operation and maintenance processing method and device for Kubernetes cluster and electronic equipment
CN112069499A (en) Detection method, detection device, storage medium and electronic equipment
CN111885088A (en) Log monitoring method and device based on block chain
CN116049822A (en) Application program supervision method, system, electronic device and storage medium

Legal Events

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