KR102393913B1 - 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템 - Google Patents

이상행위 탐지 장치, 방법 및 이를 포함하는 시스템 Download PDF

Info

Publication number
KR102393913B1
KR102393913B1 KR1020200051088A KR20200051088A KR102393913B1 KR 102393913 B1 KR102393913 B1 KR 102393913B1 KR 1020200051088 A KR1020200051088 A KR 1020200051088A KR 20200051088 A KR20200051088 A KR 20200051088A KR 102393913 B1 KR102393913 B1 KR 102393913B1
Authority
KR
South Korea
Prior art keywords
information
current process
network
learning
current
Prior art date
Application number
KR1020200051088A
Other languages
English (en)
Other versions
KR20210132545A (ko
Inventor
권창훈
Original Assignee
(주)세이퍼존
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)세이퍼존 filed Critical (주)세이퍼존
Priority to KR1020200051088A priority Critical patent/KR102393913B1/ko
Publication of KR20210132545A publication Critical patent/KR20210132545A/ko
Application granted granted Critical
Publication of KR102393913B1 publication Critical patent/KR102393913B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Technology Law (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시예에 따른 이상행위 탐지 장치는 현재 프로세스에 대한 정보 수집을 요청받으면, 상기 현재 프로세스의 정보 및 상기 현재 프로세스의 부모 프로세스의 정보를 수집하도록 구성된 정보 수집부; 상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부; 상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 상기 정보 수집부에 의해 수집된 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하도록 구성된 학습부; 상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및 상기 현재 프로세스에 대한 프로세스 실행이 요청되면 상기 정보 수집부에게 상기 현재 프로세스에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성된 제어부를 포함한다.

Description

이상행위 탐지 장치, 방법 및 이를 포함하는 시스템{APPARATUS AND METHOD FOR DETECTING ABNORMAL BEHAVIOR AND SYSTEM HAVING THE SAME}
본 발명은 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템에 관한 것으로, 비정상 프로세스의 실행 또는 비정상 네트워크의 접속을 차단하기 위한 장치, 방법 및 이를 포함하는 시스템에 관한 것이다.
악성 프로그램(Malicious Program)은 악의적인 목적을 위해 작성된 실행 가능한 코드의 통칭으로, 맬웨어(malware, malicious software), 악성코드(malicious code)라고도 하며, 자기 복제 능력과 감염 대상의 유무에 따라 바이러스(virus), 웜바이러스(worm virus), 트로이 목마(troian horse) 등으로 분류될 수 있다.
또한, 악성 프로그램과 유사한 스파이웨어(spyware)는 다른 사람의 컴퓨터에 잠입하여 개인정보 등을 추출해가는 소프트웨어로서, 최근 악용 사례가 증가하고 있다.
이러한 악성 프로그램은 네트워크 트래픽 발생, 시스템 성능 저하, 파일 삭제, 개인 정보 유출 등의 피해를 입힐 수 있고, 악성 프로그램으로 인한 증상이나 유포 방법이 점차 복잡해지고 지능화되고 있는 추세이다.
특허문헌 1은 이러한 악성 프로그램을 탐지하기 위한 악성 프로그램 탐지 장치 및 그 방법에 관한 것이다. 특허문헌 1은 실행 파일(PE 파일)의 헤더 분석을 통해 악성 프로그램이 가질 수 있는 특징을 기반으로, 해당 실행 파일의 악성 프로그램 여부를 판단하여 악성 프로그램을 탐지하는 구성을 개시하고 있다.
다만, 헤더와 같은 특정 코드 섹션의 바이트(byte)를 이용하여 악성 프로그램을 탐지하는 방법은, 악성 프로그램에 대한 코드 정보를 미리 알고 있어야 악성 프로그램인지 여부를 판단할 수 있는 문제가 있다. 즉, 특허문헌 1은 신종 악성코드 및 변종 악성코드를 탐지하는데 어려움이 있다.
KR 10-0942795 B1
본 발명은, 비정상 프로세스(악성 프로그램)의 실행을 차단하기 위하여, 실행되고자 하는 프로세스가 부모 프로세스로부터 생성된 이력이 있는지를 확인하고, 프로세스 자체의 평판을 판단함으로써, 신종 악성 프로그램 또는 변종 악성 프로그램 등의 실행 자체를 차단할 수 있는 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템에 관한 것이다.
또한, 본 발명은, 비정상 네트워크의 접속을 차단하기 위하여, 프로세스에서 네트워크로 접속한 이력이 있는지 또는 네트워크에서 프로세스로 접속한 이력이 있는지를 확인하고, 네트워크 자체의 평판을 판단함으로써, 유해 사이트 등의 비정상 네트워크의 접속 자체를 차단할 수 있는 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템에 관한 것이다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타난 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 측면에 따른 이상행위 탐지 장치는 현재 프로세스에 대한 정보 수집을 요청받으면, 상기 현재 프로세스의 정보 및 상기 현재 프로세스의 부모 프로세스의 정보를 수집하도록 구성된 정보 수집부; 상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부; 상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 상기 정보 수집부에 의해 수집된 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하도록 구성된 학습부; 상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및 상기 현재 프로세스에 대한 프로세스 실행이 요청되면 상기 정보 수집부에게 상기 현재 프로세스에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성된 제어부를 포함할 수 있다.
상기 정보 수집부는, 상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 사용자 단말 정보를 포함하는 상기 현재 프로세스의 정보를 수집하고, 상기 부모 프로세스의 ID를 포함하는 상기 부모 프로세스의 정보를 수집하도록 구성될 수 있다.
상기 식별 정보 생성부는, 상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 상기 사용자 단말 정보에 기반하여 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다.
상기 학습부는, 상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 부모 프로세스의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.
상기 학습된 관계 정보는, 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 해시값을 포함할 수 있다.
상기 제어부는, 상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되면 상기 현재 프로세스를 정상 프로세스로 판단하여, 상기 현재 프로세스를 실행할 수 있다.
상기 제어부는, 상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되지 않으면 상기 현재 프로세스를 비정상 프로세스로 판단하여, 상기 현재 프로세스의 실행을 차단할 수 있다.
상기 제어부는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 저장부에 상기 현재 프로세스에 대한 프로세스 식별 정보를 차단 정보로 저장시키도록 구성될 수 있다.
상기 제어부는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 현재 프로세스의 실행을 차단하기 전에 상기 현재 프로세스의 평판을 탐색하고, 탐색 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성될 수 있다.
상기 제어부는, 상기 현재 프로세스가 상기 정상 프로세스로 결정되면, 상기 현재 프로세스의 로그 정보를 수집하도록 상기 정보 수집부를 제어하고, 상기 정보 수집부에 의해 수집된 현재 프로세스의 로그 정보를 상기 저장부에 저장하고, 로그 출력 요청이 입력되면 상기 저장부에 저장된 복수의 로그 정보 중 상기 로그 출력 요청의 대상이 되는 프로세스에 대한 로그 정보를 출력하도록 구성될 수 있다.
본 발명의 다른 측면에 따른 이상행위 탐지 장치는 네트워크에 대한 정보 수집을 요청받으면, 현재 프로세스의 정보 및 네트워크의 정보를 수집하도록 구성된 정보 수집부; 상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부; 상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 정보 수집부에 의해 수집된 네트워크의 정보에 기반하여, 상기 현재 프로세스 및 상기 네트워크의 정보 간의 관계 정보를 생성하도록 구성된 학습부; 상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및 상기 현재 프로세스로부터 상기 네트워크로의 접속 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 네트워크와의 접속을 차단하도록 구성된 제어부를 포함할 수 있다.
상기 학습부는, 상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 네트워크의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 네트워크의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.
상기 제어부는, 상기 접속이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스의 정보에 기반하여 상기 현재 프로세스가 정상 프로세스인지를 판단하고, 상기 현재 프로세스가 정상 프로세스로 판단되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성될 수 있다.
본 발명의 또 다른 측면에 따른 이상행위 탐지 시스템은 본 발명에 따른 이상행위 탐지 장치가 구비된 사용자 단말이 포함된 사용자 단말 그룹; 및 상기 사용자 단말 그룹에 포함된 사용자 단말과 무선 또는 유선으로 연결되도록 구성된 중앙 서버를 포함할 수 있다.
상기 중앙 서버는, 상기 사용자 단말 그룹에 포함된 사용자 단말로부터 상기 저장부에 저장된 학습 결과를 수신하면, 수신한 학습 결과를 저장하고, 상기 수신한 학습 결과를 상기 사용자 단말 그룹에 속한 모든 사용자 단말에게 배포하도록 구성될 수 있다.
상기 사용자 단말은, 상기 중앙 서버에 의해 배포된 학습 결과 중 상기 저장부에 저장되지 않은 학습 결과를 선택적으로 저장하도록 구성될 수 있다.
본 발명의 또 다른 측면에 따른 이상행위 탐지 방법은 현재 프로세스에 대한 프로세스 실행이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스에 대한 정보를 수집하는 정보 수집 단계; 상기 정보 수집 단계에서 수집된 현재 프로세스의 정보 및 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하는 관계 정보 생성 단계; 기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및 상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 현재 프로세스의 실행을 차단하는 차단 단계를 포함할 수 있다.
상기 차단 단계는, 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 현재 프로세스에 대한 평판을 탐색하는 평판 탐색 단계; 및 상기 평판 탐색 단계에서 탐색된 현재 프로세스의 평판에 기반하여, 상기 현재 프로세스의 실행을 차단하는 프로세스 실행 차단 단계를 포함할 수 있다.
본 발명의 또 다른 측면에 따른 이상행위 탐지 방법은 현재 프로세스로부터 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면, 상기 현재 프로세스 및 상기 네트워크에 대한 정보를 수집하는 정보 수집 단계; 상기 정보 수집 단계에서 수집된 현재 프로세스의 정보 및 상기 네트워크의 정보에 기반하여, 상기 현재 프로세스와 상기 네트워크에 대한 관계 정보를 생성하는 관계 정보 생성 단계; 기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및 상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 네트워크로의 접속 및 상기 네트워크로부터의 접속을 차단하는 차단 단계를 포함할 수 있다.
상기 차단 단계는, 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 네트워크에 대한 평판을 탐색하는 평판 탐색 단계; 및 상기 평판 탐색 단계에서 탐색된 네트워크의 평판에 기반하여, 상기 네트워크의 접속을 차단하는 네트워크 접속 차단 단계를 포함할 수 있다.
본 발명의 일 측면에 따르면, 악성 프로그램 등의 비정상 프로세스에 포함된 특정 코드에 기반하지 않고, 비정상 프로세스와 부모 프로세스 간의 관계 정보에 기반하여 비정상 프로세스의 실행이 차단되기 때문에, 신종 또는 변종 악성 프로그램 등의 비정상 프로세스라고 하더라도 용이하게 차단될 수 있는 장점이 있다.
또한, 본 발명의 일 측면에 따르면, IP 주소 등 네트워크의 정보에만 기반하여 네트워크 접속을 차단하지 않고, 네트워크에 접속하려는 프로세스 또는 네트워크가 접속하려는 프로세스 등 네트워크와 관련된 프로세스의 정보를 함께 고려하여 네트워크가 비정상 네트워크인지를 판단할 수 있다. 따라서, 신종 유해 사이트 등의 비정상 네트워크의 접속이 용이하게 차단될 수 있는 장점이 있다.
또한, 본 발명의 일 측면에 따르면, 프로세스 및/또는 네트워크의 평판을 탐색하고, 이를 고려하여 2차적으로 비정상 프로세스 여부 및 비정상 네트워크 여부를 판단하기 때문에, 비정상 프로세스의 실행 및 비정상 네트워크의 접속의 차단의 정확도 및 신뢰도가 향상될 수 있는 장점이 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술되는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 이상행위 탐지 장치를 개략적으로 도시한 도면이다.
도 2는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템을 개략적으로 도시한 도면이다.
도 3은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 있어서, 비정상 프로세스의 실행을 차단하기 위한 실시예를 개략적으로 도시한 도면이다.
도 4는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 있어서, 비정상 네트워크의 접속을 차단하기 위한 일 실시예를 개략적으로 도시한 도면이다.
도 5 및 도 6은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 있어서, 비정상 네트워크의 접속을 차단하기 위한 다른 실시예를 개략적으로 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
또한, 본 발명을 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어들은, 다양한 구성요소들 중 어느 하나를 나머지와 구별하는 목적으로 사용되는 것이고, 그러한 용어들에 의해 구성요소들을 한정하기 위해 사용되는 것은 아니다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 제어부와 같은 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다.
도 1은 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)를 개략적으로 도시한 도면이다.
도 1을 참조하면, 정보 수집부(110), 식별 정보 생성부(120), 학습부(130), 저장부(140) 및 제어부(150)를 포함할 수 있다. 여기서, 제어부(150)는 정보 수집부(110), 식별 정보 생성부(120), 학습부(130) 및 저장부(140)와 연결되어, 각각을 제어할 수 있다.
정보 수집부(110)는 현재 프로세스에 대한 정보 수집 요청이 입력되면, 상기 현재 프로세스의 정보 및 상기 현재 프로세스의 부모 프로세스의 정보를 수집하도록 구성될 수 있다. 여기서, 정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한을 가지고 있을 수 있다. 바람직하게, 정보 수집부(110)는 컴퓨터 자원 정보에 대한 읽기 권한을 가지고 있을 수 있다.
정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한에 기반하여, 현재 프로세스에 대한 정보 수집이 요청되더라도, 현재 프로세스의 정보뿐만 아니라 현재 프로세스의 부모 프로세스의 정보까지 수집할 수 있다.
프로세스는 실행 중인 프로그램 또는 일(task)을 의미하고, 부모 프로세스에 의해 자식 프로세스가 생성될 수 있다. 따라서, 본 발명의 일 실시예에서 설명하는 현재 프로세스란 정보 수집의 요청 대상이 되는 프로세스로서, 현재 실행 중인 프로세스를 의미한다. 그리고, 부모 프로세스란 상기 현재 프로세스를 생성한 프로세스를 의미한다. 따라서, 정보 수집부(110)는 로그 데이터에 접근하여, 현재 프로세스의 정보뿐만 아니라 현재 프로세스의 부모 프로세스의 정보도 수집할 수 있다.
식별 정보 생성부(120)는 상기 정보 수집부(110)에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다. 여기서, 식별 정보란 상기 현재 프로세스를 특정할 수 있는 식별 정보로서, 현재 프로세스와 타 프로세스를 구분하기 위한 식별 정보를 의미한다.
바람직하게, 식별 정보 생성부(120)는 정보 수집부(110)에 의해 수집된 현재 프로세스의 아이디 등을 이용하여, 현재 프로세스를 특정할 수 있는 현재 프로세스에 대한 프로세스 식별 정보를 생성할 수 있다.
예컨대, A 프로세스가 X 프로세스 및 Y 프로세스에 의해 각각 생성되고, X 프로세스는 Y 프로세스와 다른 프로세스라고 가정한다. 이 경우, X 프로세스 및 Y 프로세스는 각각 A 프로세스의 부모 프로세스이다. 식별 정보 생성부(120)에서 생성하는 프로세스 식별 정보는, A 프로세스가 X 프로세스에 의해 생성된 프로세스인지 또는 Y 프로세스에 의해 생성된 프로세스인지를 식별하기 위한 정보일 수 있다. 따라서, 식별 정보 생성부(120)는 프로세스 식별 정보를 생성할 때, 현재 프로세스를 특정할 수 있는 유일한 정보들에 기반하여, 현재 프로세스에 대한 프로세스 식별 정보를 생성할 수 있다.
학습부(130)는 상기 식별 정보 생성부(120)에 의해 생성된 프로세스 식별 정보 및 상기 정보 수집부(110)에 의해 수집된 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스 및 상기 부모 프로세스 간의 관계 정보를 생성하도록 구성될 수 있다.
바람직하게, 학습부(130)는 현재 프로세스와 현재 프로세스를 실행한 부모 프로세스의 정보를 조합하여, 상기 관계 정보를 학습 및 생성할 수 있다.
예컨대, 앞선 예시와 같이, A 프로세스가 X 프로세스 및 Y 프로세스에 의해 각각 생성되고, X 프로세스는 Y 프로세스와 다른 프로세스이고, 현재 X 프로세스에 의해 생성된 A 프로세스만이 실행 중이라고 가정한다. 학습부(130)는 A 프로세스에 대한 프로세스 식별 정보와 X 프로세스의 정보에 기반하여, A 프로세스와 X 프로세스 간의 관계 정보를 학습할 수 있다. 즉, 학습부(130)는 현재 프로세스의 정보에만 기반하여 학습하지 않고, 현재 프로세스의 정보와 부모 프로세스의 정보에 기반하여 학습함으로써, 학습 대상이 되는 현재 프로세스와 부모 프로세스를 특정할 수 있다.
저장부(140)는 상기 학습부(130)에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성될 수 있다. 여기서, 학습부(130)에 의해 미리 학습된 학습 결과는, 학습부(130)에 의해 학습된 프로세스들 간의 관계 정보로서, 정상 프로세스들 간의 관계 정보가 저장될 수 있다.
예컨대, 현재 프로세스가 A 프로세스이고, 현재 프로세스의 부모 프로세스가 PA 프로세스이며, A 프로세스 및 PA 프로세스는 모두 정상 프로세스로 판단된 것으로 가정한다. 이 경우, 저장부(140)에는 PA 프로세스와 P 프로세스에 대해 미리 학습된 관계 정보가 저장되어 있을 수 있다.
즉, 저장부(140)에 저장된 학습 결과는 정상 프로세스들 간의 관계 정보로서, 학습부(130)에 의해 학습된 현재 프로세스와 부모 프로세스에 대한 관계 정보가 비교될 수 있는 정보이다. 예컨대, 저장부(140)에 저장된 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 부모 프로세스에 대한 관계 정보가 포함되면, 현재 프로세스는 정상 프로세스로 판단될 수 있다. 반대로, 저장부(140)에 저장된 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 부모 프로세스에 대한 관계 정보가 포함되지 않으면, 현재 프로세스는 비정상 프로세스로 판단될 수 있다.
저장부(140)는 제어부(150)의 전반적인 동작에 요구되는 데이터들, 명령어 및 소프트웨어뿐만 아니라, 학습부(130)에 의해 학습된 관계 정보 및 정보 수집부(110)에 의해 수집된 프로세스의 정보를 저장할 수 있다.
예컨대, 저장부(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) 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
제어부(150)는 상기 현재 프로세스에 대한 프로세스 실행이 요청되면 상기 정보 수집부(110)에게 상기 현재 프로세스에 대한 정보 수집을 요청하도록 구성될 수 있다.
예컨대, 제어부(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), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
제어부(150)는 사용자, 다른 프로세스 및/또는 외부 접속에 따른 프로세스 실행 요청을 수신하면, 정보 수집부(110)에게 실행의 대상이 되는 프로세스에 대한 정보 수집을 요청할 수 있다. 여기서, 정보 수집에 대상이 되는 프로세스는 실행의 대상이 되는 현재 프로세스이다.
예컨대, 제어부(150)가 A 프로세스에 대한 실행 요청을 수신하면, 제어부(150)는 정보 수집부(110)에게 A 프로세스에 대한 정보 수집을 요청할 수 있다. 정보 수집부(110)는 A 프로세스의 정보 및 A 프로세스의 부모 프로세서의 정보를 수집할 수 있다.
또한, 제어부(150)는 상기 저장부(140)에 저장된 복수의 학습 결과에 상기 학습된 관계 정보가 포함되어 있는지를 확인할 수 있다.
예컨대, 앞선 실시예와 같이, 현재 프로세스가 A 프로세스이고, 현재 프로세스의 부모 프로세스가 PA 프로세스라고 가정한다. 제어부(150)는 저장부(140)에 저장된 학습 결과에 PA 프로세스에 대한 학습 결과가 저장되어 있는지를 먼저 확인할 수 있다. 저장부(140)에 PA 프로세스에 대한 학습 결과가 저장되어 있는 경우, 제어부(150)는 학습부(130)에서 학습된 A 프로세스와 PA 프로세스에 대한 관계 정보가 저장부(140)에 저장되어 있는지를 확인할 수 있다. 즉, 제어부(150)는 PA 프로세스가 A 프로세스를 생성한 이력이 있는지 여부를 확인할 수 있다.
제어부(150)는 확인 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성될 수 있다.
예컨대, 앞선 실시예에서, PA 프로세스가 A 프로세스를 생성한 이력이 있는 경우에는, 저장부(140)에 저장된 학습 결과에 A 프로세스와 PA 프로세스에 대한 관계 정보가 포함되어 있을 수 있다. 따라서, 제어부(150)는 저장부(140)에 저장된 학습 결과에 A 프로세스와 PA 프로세스에 대한 관계 정보가 포함되어 있으면, A 프로세스를 정상 프로세스로 판단할 수 있다.
반대로, 제어부(150)는 저장부(140)에 저장된 학습 결과에 A 프로세스와 PA 프로세스에 대한 관계 정보가 포함되어 있지 않으면, A 프로세스를 비정상 프로세스로 판단할 수 있다. 그리고, 제어부(150)는 비정상 프로세스로 판단한 A 프로세스의 실행을 차단할 수 있다.
예컨대, 프로세스의 실행 차단은 프로세스의 경로에 기반한 실행 차단과 프로세스 자체에 대한 실행 차단으로 구분될 수 있다. 여기서, 프로세스의 경로에 기반한 실행 차단의 경우, 프로세스의 경로가 변경되면 해당 프로세스에 대한 실행 차단이 정확하게 이루어지지 않는 문제가 생길 수 있다. 따라서, 제어부(150)는 저장부(140)에 저장된 학습 결과에 기반하여 현재 프로세스의 실행을 차단함으로써, 현재 프로세스의 경로가 변경되더라도 프로세스의 실행을 차단할 수 있다.
따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 비정상 프로세스의 실행을 사전에 차단함으로써, 맬웨어 및 악성코드 등의 악성 프로그램의 실행을 차단할 수 있다. 따라서, 비정상 프로세스에 의한 개인정보 유출, 시스템 손상 등의 문제가 미연에 방지될 수 있는 장점이 있다.
정보 수집부(110)는, 상기 현재 프로세스의 ID(Process Identifier, PID), 상기 현재 프로세스의 생성 시간 및 사용자 단말 정보를 포함하는 상기 현재 프로세스의 정보를 수집할 수 있다. 여기서, 사용자 단말은 프로세스가 실행되는 PC(personal computer), 태블릿 PC 및 스마트폰 등을 포함할 수 있다.
정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한을 가지고 있으므로, 제어부(150)로부터 정보 수집을 요청받으면, 정보 수집의 요청 대상인 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보를 수집할 수 있다.
또한, 정보 수집부(110)는 상기 부모 프로세스의 ID(Parent Process Identifier, PPID)를 포함하는 상기 부모 프로세스의 정보를 수집하도록 구성될 수 있다. 여기서, 부모 프로세스는 현재 프로세스를 생성한 프로세스로서, 정보 수집부(110)는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보와 함께 부모 프로세스의 ID를 더 수집할 수 있다.
예컨대, 정보 수집부(110)는 현재 프로세스의 ID, 현재 프로세스의 생성 시간, MAC(Media Access Control) 주소 등 사용자 단말의 고유 번호 및 부모 프로세스의 ID를 수집할 수 있다.
식별 정보 생성부(120)는, 상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 상기 사용자 단말 정보에 기반하여 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다.
프로세스 식별 정보는 현재 프로세스를 특정하기 위한 정보이다. 따라서, 식별 정보 생성부(120)는 현재 프로세스를 특정할 수 있는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보를 조합하여 프로세스 식별 정보를 생성할 수 있다.
여기서, 프로세스 ID는 프로세스 식별자로서, 운영 체제 커널이 사용되는 번호이다. 즉, 프로세스 ID를 통해서 프로세스가 일시적으로 식별될 수 있다. 예컨대, X 프로세스의 프로세스 ID가 1000이었으나, 컴퓨터를 재부팅한 이후에는 X 프로세스의 프로세스 ID가 1100으로 변경될 수 있다. 따라서, 프로세스 ID만으로는 프로세스를 특정할 수 없는 문제가 있다. 또한 프로세스 생성 시간도 하나의 프로세스에 대한 유일한 값이 아니기 때문에, 프로세스를 특정하기 위한 단일 정보로는 사용되는데 어려움이 있다. 예컨대, 동일한 시간에 생성된 복수의 프로세스는 프로세스 생성 시간이 동일하기 때문에, 프로세스 생성 시간만으로는 프로세스를 특정할 수 없는 문제가 있다.
이렇듯 단일 정보에 기반한 프로세스 식별의 어려움을 해결하기 위하여, 식별 정보 생성부(120)는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말 정보를 조합하여, 현재 프로세스에 대한 식별 정보를 생성할 수 있다. 따라서, 식별 정보 생성부(120)에 의해 생성된 프로세스 식별 정보는 현재 프로세스를 특정할 수 있는 고유의 식별 정보일 수 있다. 다만, 본 발명의 일 실시예에서는 프로세스 식별 정보가 프로세스 ID, 프로세스 생성시간 및 사용자 단말 정보에 기반하여 생성되는 예시를 설명하지만, 프로세스 식별 정보를 생성하기 위해 이용되는 인자들은 제한되지 않는다. 즉, 해당 프로세스를 식별할 수 있는 프로세스 식별 정보를 생성할 수 있는 정보들의 조합이면 제한없이 적용될 수 있다.
본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스 ID, 프로세스 생성 시간 및 사용자 단말 등의 정보를 활용하여 현재 프로세스를 특정하는 프로세스 식별 정보를 생성할 수 있다. 따라서, 현재 프로세스 자체에 대해서 비정상 프로세스인지 여부에 대한 판단이 이루어지기 때문에, 현재 프로세스의 경로가 변경되더라도 현재 프로세스에 대한 판단 결과가 유지될 수 있는 장점이 있다.
학습부(130)는, 상기 식별 정보 생성부(120)에서 생성된 프로세스 식별 정보와 상기 부모 프로세스의 정보를 입력받도록 구성될 수 있다. 즉, 학습부(130)는 프로세스 식별 정보 및 부모 프로세스의 정보에 기반하여, 현재 프로세스와 부모 프로세스 간의 관계 정보를 학습할 수 있다.
이 경우, 학습부(130)는 현재 프로세스를 특정할 수 있는 프로세스 식별 정보를 이용하기 때문에, 현재 프로세스의 경로가 변경되더라도 학습 시의 현재 프로세스와 부모 프로세스를 대응관계가 유지될 수 있다.
예컨대, 현재 프로세스가 X 프로세스이고, 부모 프로세스가 PX 프로세스인 경우를 가정한다. X 프로세스의 경로가 어떠한 이유에 의해 변경된 경우라도, X 프로세스에 대한 프로세스 식별 정보는 변경되지 않을 수 있다. 따라서, X 프로세스의 경로가 바뀌더라도 X 프로세스와 PX 프로세스 간의 관계 정보는 유지될 수 있다.
또한, 학습부(130)는 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.
학습부(130)는 프로세스 식별 정보와 부모 프로세스의 정보를 조합할 때, 머신 러닝(Machine learning)을 이용할 수 있다. 여기서, 머신 러닝은 인공지능(Artificial Intelligence)의 연구 분야 중 하나로서, 경험적 데이터를 기반으로 학습하고 스스로의 성능을 향상시키는 기술을 의미한다. 일반적으로 머신 러닝은 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다. 특히, 머신 러닝은 빅데이터를 이용하여 학습할 데이터들을 사전 처리하고, 최적화하기 때문에, 머신 러닝을 이용한 빅데이터의 학습효과가 극대화될 수 있다.
예컨대, 사용자 단말이 PC일 경우, PC가 사용되는 중에는 많은 수의 프로세스들이 실행되고 있으며, 많은 수의 프로세스들의 실행이 요청될 수 있다. 이 경우, 제어부(150)에 의해 정보 수집이 요청되는 프로세스는 복수의 프로세스일 수 있기 때문에, 정보 수집부(110)에서 수집되는 프로세스 정보 및 해당 프로세스의 부모 프로세스의 정보는 규모가 방대한 빅데이터일 수 있다.
따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 머신 러닝에 기반하여 학습을 수행하고, 그 결과로 학습된 관계 정보를 출력함으로써, 정보 수집부(110)에 의해 수집된 방대한 규모의 현재 프로세스의 정보 및 부모 프로세스의 정보들을 효율적으로 학습 및 처리할 수 있는 장점이 있다.
바람직하게, 상기 학습된 관계 정보는, 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 해시값을 포함할 수 있다. 즉, 학습부(130)는 프로세스 식별 정보와 부모 프로세스의 정보가 조합된 해시값을 현재 프로세스와 부모 프로세스 간의 관계 정보로 출력할 수 있다.
예컨대, 학습부(130)는 머신 러닝을 이용하여, 입력된 프로세스 식별 정보 및 부모 프로세스의 정보에 대한 하나의 해시값을 생성하고, 생성한 해시값을 현재 프로세스와 부모 프로세스 간의 관계 정보로 출력할 수 있다. 이 경우, 해시값을 생성하기 위한 해시 함수 알고리즘(Hash Function Algorithm)은 생성된 해시값으로부터 프로세스 식별 정보 및 부모 프로세스의 정보를 유추할 수 없는 알고리즘이 적용될 수 있다.
따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스 식별 정보를 이루는 현재 프로세스의 ID, 현재 프로세스의 생성 시간 및 사용자 단말정보와 부모 프로세스의 정보에 대해서 유일한 관계 정보(해시값)를 생성할 수 있다. 따라서, 학습 결과에 대한 데이터 무결성이 보장될 수 있는 장점이 있다. 또한, 데이터 무결성이 보장되는 관계 정보가 학습 결과로 저장되고, 저장된 학습 결과에 기반하여 현재 프로세스가 비정상 프로세스인지 여부가 판단되기 때문에, 동일한 프로세스에 대해서는 신속하고 정확하게 이상행위가 탐지될 수 있는 장점이 있다.
제어부(150)는, 상기 학습된 관계 정보가 상기 저장부(140)에 저장된 복수의 학습 결과에 포함되면 상기 현재 프로세스를 정상 프로세스로 판단하고, 상기 현재 프로세스를 실행할 수 있다.
여기서, 학습된 관계 정보는 학습부(130)에 의해 학습된 정보로서, 현재 프로세스에 대한 프로세스 식별 정보와 부모 프로세스의 정보에 기반한 관계 정보이다. 따라서, 저장부(140)에 학습된 관계 정보가 포함된 경우는, 부모 프로세스에 의해 현재 프로세스가 생성된 이력이 있는 경우를 의미할 수 있다. 이 경우, 제어부(150)는 현재 프로세스가 이미 검증된 정상 프로세스인 것으로 판단하고, 입력된 현재 프로세스에 대한 실행 요청에 대한 응답에 따라 현재 프로세스를 실행시킬 수 있다.
반대로, 제어부(150)는, 상기 학습된 관계 정보가 상기 저장부(140)에 저장된 복수의 학습 결과에 포함되지 않으면 상기 현재 프로세스를 비정상 프로세스로 판단하고, 상기 현재 프로세스의 실행을 차단할 수 있다.
저장부(140)에 학습된 관계 정보가 포함되지 않은 경우는, 부모 프로세스에 의해 현재 프로세스가 생성된 이력이 전무한 경우를 의미할 수 있다. 이 경우, 제어부(150)는 현재 프로세스가 비정상 프로세스인 것으로 판단하고, 현재 프로세스의 실행을 차단할 수 있다.
본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 저장부(140)에 저장된 무결성이 보장된 학습 결과에 기반하여, 현재 프로세스가 정상 프로세스인지 여부를 판단할 수 있다. 따라서, 현재 프로세스에 대한 정상/비정상 판단이 정확하게 이루어질 수 있는 장점이 있다. 또한, 부모 프로세스가 현재 프로세스를 생성한 이력이 있는지에 따라 현재 프로세스에 대한 정상/비정상 판단이 이루어지므로, 상기 판단이 신속하게 이루어질 수 있는 장점이 있다.
상기 제어부(150)는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 저장부(140)에 상기 현재 프로세스에 대한 프로세스 식별 정보를 차단 정보로 저장시키도록 구성될 수 있다.
저장부(140)는 학습부(130)에 의해 출력된 현재 프로세스와 부모 프로세스 간의 관계 정보뿐만 아니라, 현재 프로세스에 대한 프로세스 식별 정보도 저장할 수 있다. 다만, 바람직하게, 현재 프로세스에 대한 프로세스 식별 정보는, 제어부(150)에 의해 현재 프로세스가 비정상 프로세스로 판단된 경우에 한하여 저장될 수 있다.
즉, 현재 프로세스가 정상 프로세스인 경우에는 현재 프로세스와 부모 프로세스가 서로 자식과 부모 사이로 관련되어 있으므로, 저장부(140)에는 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장될 수 있다. 반면, 현재 프로세스가 비정상 프로세스일 경우에는, 현재 프로세스를 식별할 수 있는 프로세스 식별 정보가 저장부(140)에 구비된 차단 리스트에 저장될 수 있다.
즉, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 비정상 프로세스에 대한 프로세스 식별 정보를 차단 리스트로 저장하고, 저장된 차단 리스트를 사용자 또는 외부에 제공할 수 있다. 따라서, 비정상 프로세스에 대한 정보가 공개되어, 비정상 프로세스에 의한 사용자 또는 제3자에 대한 피해가 방지될 수 있는 장점이 있다.
또한, 예컨대, 현재 프로세스가 정상 프로세스이지만 최초로 생성된 경우, 부모 프로세스와의 관계 정보가 저장부(140)에 저장되지 않기 때문에 차단 리스트에 저장될 수 있다. 이 경우, 사용자는 이상행위 탐지 장치(100)로부터 제공받은 차단 리스트를 확인하고, 사후적으로 현재 프로세스의 차단을 해제할 수 있다. 따라서, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스에 대한 차단 리스트를 제공함으로써, 프로세스에 대한 사후 관리가 용이하게 이루어질 수 있도록 하는 장점이 있다.
상기 제어부(150)는, 상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 현재 프로세스의 실행을 차단하기 전에 상기 현재 프로세스의 평판을 탐색하도록 구성될 수 있다.
제어부(150)는 저장부(140)에 미리 저장된 학습 결과에 현재 프로세스와 부모 프로세스 간의 관계 정보가 포함되지 않은 경우, 현재 프로세스를 비정상 프로세스로 판단할 수 있다. 이 경우, 제어부(150)는 현재 프로세스의 실행을 곧바로 차단하지 않고, 현재 프로세스의 평판을 탐색할 수 있다. 예컨대, 현재 프로세스는 정상 프로세스이지만, 사용자 단말에서 처음 생성되어 부모 프로세스 간의 관계 정보가 저장부(140)에 저장되어있지 않는 경우가 있을 수 있기 때문에, 제어부(150)는 현재 프로세스의 실행을 차단하기 전에 현재 프로세스의 평판을 탐색할 수 있다.
이 경우, 저장부(140)에는 프로세스에 대한 평판이 기록된 프로세스 평판 정보가 미리 저장될 수 있다. 프로세스 평판 정보는 외부 서버로부터 다운로드되어 저장부(140)에 저장된 정보일 수 있다. 제어부(150)는 저장부(140)에 저장된 프로세스 평판 정보에 접근하여, 현재 프로세스에 대한 평판을 탐색할 수 있다. 이와 달리, 제어부(150)는 프로세스에 대한 평판을 조회할 수 있는 외부 서버에 직접 접속하여, 현재 프로세스에 대한 평판을 탐색할 수도 있다.
제어부(150)는, 탐색 결과에 기반하여 상기 현재 프로세스의 실행을 차단하도록 구성될 수 있다.
즉, 제어부(150)가 현재 프로세스의 평판을 탐색한 결과, 현재 프로세스가 비정상 프로세스로 등록된 이력이 있으면, 제어부(150)는 현재 프로세스의 실행을 차단할 수 있다.
예컨대, 프로세스의 평판 탐색 결과는 정상 프로세스, 경고 프로세스 및 비정상 프로세스로 구분될 수 있다. 여기서, 정상 프로세스는 악성코드 등이 감지되지 않은 프로세스로서 정상적인 프로세스일 수 있다. 경고 프로세스는 악성코드 등의 감지된 이력이 없지만, 프로세스에 대한 접근 권한이 낮아 보안에 일부 문제가 발생될 가능성이 있거나 시스템 자원을 과도하게 사용하는 프로세스일 수 있다. 비정상 프로세스는 악성코드 등이 감지된 이력이 있는 프로세스로, 차단이 요구되는 비정상적인 프로세스일 수 있다. 제어부(150)는, 현재 프로세스의 평판 탐색 결과가 정상 프로세스 또는 경고 프로세스일 경우, 현재 프로세스를 정상 프로세스로 판단하여 실행시킬 수 있다. 반대로, 제어부(150)는, 현재 프로세스의 평판 탐색 결과가 비정상 프로세스일 경우, 현재 프로세스의 실행을 차단할 수 있다.
또한, 제어부(150)는 현재 프로세스의 탐색 결과를 사용자에게 제공할 수 있다. 예컨대, 현재 프로세스의 평판 탐색 결과가 경고 프로세스일 경우, 제어부(150)는 현재 프로세스를 실행하면서, 현재 프로세스가 경고 프로세스라는 정보를 사용자에게 제공할 수 있다. 이 경우, 사용자는 제공받은 정보에 기반하여 현재 프로세스를 종료함으로써, 발생될 수 있는 보안 문제 또는 시스템 자원의 과도한 사용을 방지할 수 있다.
다른 예로, 프로세스의 평판 탐색 결과는 1 단계 내지 10 단계로 구분될 수도 있다. 이 경우, 프로세스의 평판 탐색 결과가 1 단계에 가까울수록 정상 프로세스일 가능성이 높아지고, 10 단계에 가까울수록 비정상 프로세스일 가능성이 높아질 수 있다. 앞선 예시와 마찬가지로, 제어부(150)는 현재 프로세스의 탐색 결과를 사용자에게 제공할 수 있다. 사용자는 제어부(150)로부터 제공받은 현재 프로세스의 탐색 결과에 기반하여, 현재 프로세스의 차단 여부를 결정할 수 있다.
즉, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 현재 프로세스와 부모 프로세스 간의 관계 정보에 기반하여 현재 프로세스가 비정상 프로세스인지 여부를 1차적으로 판단할 수 있다. 그리고, 현재 프로세스의 평판을 탐색함으로써 현재 프로세스가 비정상 프로세스인지 여부를 2차적으로 판단할 수 있다. 따라서, 현재 프로세스가 비정상 프로세스인지 여부가 다양한 측면에서 판단되기 때문에, 현재 프로세스에 대한 판단의 신뢰도가 향상될 수 있는 장점이 있다.
상기 제어부(150)는, 상기 현재 프로세스가 상기 정상 프로세스로 판단되면, 상기 현재 프로세스의 로그 정보를 수집하도록 상기 정보 수집부(110)를 제어하도록 구성될 수 있다.
즉, 제어부(150)는 현재 프로세스를 정상 프로세스라고 판단한 경우에 한하여, 현재 프로세스의 로그 정보를 수집하도록 정보 수집부(110)를 제어할 수 있다.
또한, 제어부(150)는 상기 정보 수집부(110)에 의해 수집된 현재 프로세스의 로그 정보를 상기 저장부(140)에 저장하도록 구성될 수 있다.
예컨대, 현재 프로세스가 정상 프로세스라고 판단된 경우, 제어부(150)는 정보 수집부(110)에 의해 수집된 현재 프로세스의 로그 정보를 저장부(140)에 저장할 수 있다.
반대로, 현재 프로세스가 비정상 프로세스라고 판단된 경우, 제어부(150)는 현재 프로세스에 대한 프로세스 식별 정보를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다.
또한, 제어부(150)는 로그 출력 요청이 입력되면 상기 저장부(140)에 저장된 복수의 로그 정보 중 상기 로그 출력 요청의 대상이 되는 프로세스에 대한 로그 정보를 출력하도록 구성될 수 있다.
예컨대, 제어부(150)는 정상 프로세스에 대한 로그 출력 요청이 입력되면, 저장부(140)에 저장된 해당 프로세스에 대한 로그 정보를 출력할 수 있다. 이 경우, 사용자는 프로세스의 로그 정보를 확인함으로써, 프로세스의 생성 또는 실행 등의 정보를 제공받을 수 있다.
본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 사후적으로 프로세스가 관리될 수 있도록, 프로세스 로그 정보를 제공할 수 있다. 즉, 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)는 프로세스에 로그 정보를 제공함으로써, 프로세스에 대한 사후 관리가 용이하게 이루어질 수 있도록 하는 장점이 있다.
이하에서는, 본 발명의 다른 실시예에 따른 이상행위 탐지 장치(100)로서, 네트워크 접속의 이상행위를 탐지하는 장치에 대해 설명한다. 전술한 바와 같이, 이상행위 탐지 장치(100)는 현재 프로세스의 이상행위를 탐지하여 현재 프로세스의 실행을 차단할 수 있고, 이와 병렬적으로 네트워크 접속의 이상행위를 탐지할 수도 있다. 이하에서 설명하는 네트워크는, 프로세스에 접속을 시도한 원격지의 IP주소 또는 프로세스가 접속하고자 하는 원격지의 IP주소를 의미할 수 있다. 즉, 이하에서는 “네트워크”가 현재 프로세스와 관련된 네트워크 IP 주소를 의미하는 단어로 사용될 수 있다.
설명의 편의를 위해 상술한 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)에 대한 설명과 차이가 나는 부분에 대해서 구체적으로 설명한다.
정보 수집부(110)는 네트워크에 대한 정보 수집을 요청받으면, 현재 프로세스의 정보 및 네트워크의 정보를 수집하도록 구성될 수 있다.
여기서, 현재 프로세스는 정보 수집을 요청받은 네트워크로 접속하려는 프로세스 또는 정보 수집을 요청받은 네트워크를 통해 실행되려는 프로세스일 수 있다.
예컨대, A 프로세스가 N 네트워크로 접속하려고 하면, 정보 수집부(110)는 N 네트워크에 대한 정보 수집을 요청받을 수 있다. 그리고, 정보 수집부(110)는 A 프로세스의 정보 및 N 네트워크의 정보를 수집할 수 있다. 여기서 수집되는 N 네트워크의 정보는 N 네트워크의 IP 주소(Internet protocol address)일 수 있다.
식별 정보 생성부(120)는 상기 정보 수집부(110)에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성될 수 있다.
여기서, 현재 프로세스에 대한 프로세스 식별 정보는 현재 프로세스를 특정할 수 있는 식별 정보로서, 프로세스 ID, 프로세스 생성 시간 및 사용자 단말 정보의 조합으로 생성될 수 있다.
학습부(130)는 상기 식별 정보 생성부(120)에 의해 생성된 프로세스 식별 정보 및 정보 수집부(110)에 의해 수집된 네트워크의 정보에 기반하여, 상기 현재 프로세스 및 상기 네트워크의 정보 간의 관계 정보에 대해 생성하도록 구성될 수 있다.
앞서 설명한 바와 같이, 학습부(130)는 머신 러닝에 기반하여 프로세스 식별 정보 및 네트워크 정보 간의 관계 정보를 학습하고, 학습한 관계 정보를 출력할 수 있다.
저장부(140)는 상기 학습부(130)에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성될 수 있다. 여기서 저장부(140)에 저장된 학습 결과는 정상 프로세스로 판단된 프로세스와 정상 네트워크로 판단된 네트워크 간의 관계 정보일 수 있다.
예컨대, 저장부(140)에 저장된 학습 결과는 해시값으로 저장될 수 있다. 즉, 학습부(130)로부터 출력된 관계 정보는 해시값일 수 있으며, 이 해시값이 저장부(140)에 저장될 수 있다.
제어부(150)는 상기 현재 프로세스로부터 상기 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면 상기 정보 수집부(110)에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성될 수 있다.
그리고, 제어부(150)는 상기 저장부(140)에 저장된 복수의 학습 결과에 상기 학습부(130)에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 네트워크와의 접속을 차단하도록 구성될 수 있다.
즉, 저장부(140)에 저장된 복수의 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 네트워크에 대한 관계 정보가 포함되면, 제어부(150)는 네트워크를 정상 네트워크로 판단하고, 네트워크로의 접속을 허용할 수 있다.
반대로, 저장부(140)에 저장된 복수의 학습 결과에 학습부(130)에 의해 학습된 현재 프로세스와 네트워크에 대한 관계 정보가 포함되지 않으면, 제어부(150)는 네트워크를 비정상 네트워크로 판단하고, 네트워크로의 접속을 차단할 수 있다. 이때, 제어부(150)는 현재 프로세스로부터 비정상 네트워크로의 접속 및 네트워크로부터 현재 프로세스로의 접속을 모두 차단할 수 있다.
본 발명의 다른 실시예에 따른 이상행위 탐지 장치(100)는 네트워크 접속 허용을 위해 네트워크의 정상 또는 비정상 여부를 판단할 때, 프로세스와의 관계 정보를 고려할 수 있다. 따라서, 이상행위 탐지 장치(100)는 비정상 네트워크를 보다 신뢰도 높게 선별하여, 비정상 네트워크의 접속에 따른 여러 문제를 방지할 수 있는 장점이 있다.
상기 학습부(130)는, 상기 식별 정보 생성부(120)에서 생성된 프로세스 식별 정보와 상기 네트워크의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 네트워크의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성될 수 있다.
즉, 본 발명의 다른 실시예에 따른 이상행위 탐지 장치(100)는 머신 러닝을 이용하여 빅데이터를 처리할 수 있다. 특히, 이상행위 탐지 장치(100)는 무결성이 보장되는 프로세스 식별 정보와 네트워크의 정보 간의 관계 정보를 학습하기 때문에, 네트워크의 정상 또는 비정상 판단을 보다 정확하게 할 수 있는 장점이 있다.
제어부(150)는 상기 접속이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스의 정보에 기반하여 상기 현재 프로세스가 정상 프로세스인지를 판단할 수 있다.
예컨대, 현재 프로세스로부터 네트워크로의 접속 또는 네트워크로부터 현재 프로세스로의 접속이 요청되면, 제어부(150)는 현재 프로세스가 정상인지를 먼저 판단할 수 있다. 이 경우, 제어부(150)는 정보 수집부(110)에게 현재 프로세스에 대한 정보 수집을 요청하고, 정보 수집부(110)는 현재 프로세스 및 현재 프로세스의 부모 프로세스의 정보를 모두 수집할 수 있다.
본 발명의 일 실시예에 따라, 현재 프로세스의 정보 및 부모 프로세스의 정보에 기반하여, 현재 프로세스가 정상 프로세스인지 여부가 판단되는 과정은 앞서 설명하였으므로, 이하에서는 생략한다.
또한, 제어부(150)는 상기 현재 프로세스가 정상 프로세스로 판단되면 상기 정보 수집부(110)에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성될 수 있다.
즉, 제어부(150)는 1차적으로 현재 프로세스가 정상 프로세스인지를 먼저 판단하고, 2차적으로 현재 프로세스와 네트워크에 대한 관계 정보가 기저장된 학습 결과에 포함되는지를 판단하고, 3차적으로 네트워크의 평판을 판단함으로써, 비정상 네트워크의 접속을 차단할 수 있다.
따라서, 본 발명의 다른 실시예에 이상행위 탐지 장치(100)는 네트워크의 접속 허용을 위한 네트워크의 정상 여부 판단에 소요되는 시간을 감축할 수 있는 장점이 있다. 또한, 프로세스의 정상 여부를 먼저 판단한 후, 네트워크의 정상 여부가 판단되기 때문에, 네트워크의 정상 여부 판단의 신뢰도가 향상될 수 있는 장점이 있다.
도 2는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템을 개략적으로 도시한 도면이다.
도 2를 참조하면, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템은 사용자 단말(200a, 200b 및 200c)가 포함된 사용자 단말 그룹(200) 및 중앙 서버(300)를 포함할 수 있다.
도 2에 도시된 실시예에서는, 설명의 편의를 위하여, 사용자 단말 그룹(200)에 제1 사용자 단말(200a), 제2 사용자 단말(200b) 및 제3 사용자 단말(200c)이 포함된 예시를 도시하였으나, 사용자 단말 그룹(200)에 포함될 수 있는 사용자 단말의 개수는 제한이 없음을 유의한다.
사용자 단말 그룹(200)은 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)가 구비된 사용자 단말(200a, 200b 및 200c)이 포함될 수 있다. 예컨대, 도 2에 도시된 바와 같이, 사용자 단말 그룹(200)에는 3개의 사용자 단말(200a, 200b 및 200c)이 포함될 수 있다. 그리고, 사용자 단말(200a, 200b 및 200c) 각각은 이상행위 탐지 장치(100)를 구비할 수 있다.
중앙 서버(300)는 상기 사용자 단말 그룹(200)에 포함된 사용자 단말(200a, 200b 및 200c)과 무선 또는 유선으로 연결되도록 구성될 수 있다.
예컨대, 중앙 서버(300)는 사용자 단말과 연결된 인트라넷(intranet) 서버이거나 인터넷 서버일 수 있다. 이때 사용자 단말은 중앙 서버(300)와 유선으로 연결될 수 있고, WIFI, BLUETOOTH 또는 통신망 등을 이용하여 무선으로 연결될 수도 있다.
중앙 서버(300)는 사용자 단말 그룹(200)에 포함된 사용자 단말로부터 상기 저장부(140)에 저장된 학습 결과를 수신하면, 수신한 학습 결과를 저장할 수 있다.
여기서, 상기 저장부(140)는 사용자 단말(200a, 200b 및 200c)에 구비된 이상행위 탐지 장치(100)에 포함된 것으로서, 현재 프로세스와 부모 프로세스 간의 관계 정보 및/또는 현재 프로세스와 네트워크 간의 관계 정보가 저장된 메모리 유닛일 수 있다.
그리고, 중앙 서버(300)는 수신한 학습 결과를 상기 사용자 단말 그룹(200)에 속한 모든 사용자 단말(200a, 200b 및 200c)에게 배포하도록 구성될 수 있다.
예컨대, 도 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 학습 결과를 배포할 수 있다.
즉, 중앙 서버(300)는 사용자 단말 그룹(200)에 속한 사용자 단말(200a, 200b 및 200c) 간의 학습 결과를 공유하기 위한 허브 역할을 할 수 있다.
사용자 단말(200a, 200b 및 200c)은 상기 중앙 서버(300)에 의해 배포된 학습 결과 중 상기 저장부(140)에 저장되지 않은 학습 결과를 선택적으로 저장하도록 구성될 수 있다. 즉, 사용자 단말(200a, 200b 및 200c)은 중복된 학습 결과를 저장하지 않고, 신규한 학습 결과만을 선택적으로 저장할 수 있다.
예컨대, 제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)에 저장할 수 있다.
즉, 사용자 단말(200a, 200b 및 200c)은 중앙 서버(300)를 통해서, 직접 판단하지 않은 프로세스 및/또는 네트워크에 대해 학습된 정보를 수신하고 저장할 수 있다.
따라서, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 시스템은 사용자 단말 그룹(200)에 포함된 사용자 단말(200a, 200b 및 200c)들 간의 학습된 정보를 서로 공유함으로써, 악성 프로그램 또는 맬웨어 등의 비정상 프로세스와 유해 사이트 등의 비정상 네트워크를 미연에 차단할 수 있는 장점이 있다. 따라서, 사용자 단말 그룹(200)에 포함된 사용자 단말(200a, 200b 및 200c)의 프로세스 및 네트워크에 대한 보안이 강화될 수 있는 장점이 있다.
이하에서는, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법에 대해 설명한다. 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법은 본 발명의 일 실시예에 따른 이상행위 탐지 장치(100)에 의해 수행될 수 있다.
도 3은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S100)에 있어서, 비정상 프로세스의 실행을 차단하기 위한 실시예를 개략적으로 도시한 도면이다.
도 3을 참조하면, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S100)은 정보 수집 단계(S110), 관계 정보 생성 단계(S120), 관계 정보 확인 단계(S130) 및 차단 단계(S140)를 포함할 수 있다.
정보 수집 단계(S110)는 현재 프로세스에 대한 프로세스 실행이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스에 대한 정보를 수집하는 단계로서, 정보 수집부(110)에 의해 수행될 수 있다.
즉, 제어부(150)에 현재 프로세스에 대한 실행이 요청되면, 제어부(150)는 정보 수집부(110)에게 현재 프로세스에 대한 정보 수집을 요청할 수 있다.
정보 수집부(110)는 컴퓨터 자원 정보에 대한 접근 권한을 가지고 있기 때문에, 정보 수집부(110)는 정보 수집 요청의 대상이 되는 현재 프로세스의 정보뿐만 아니라, 현재 프로세스의 부모 프로세스에 대한 정보를 함께 수집할 수 있다.
관계 정보 생성 단계(S120)는 정보 수집 단계(S110)에서 수집된 현재 프로세스의 정보 및 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하는 단계로서, 학습부(130)에서 수행될 수 있다.
학습부(130)는 머신 러닝에 기반하여, 현재 프로세스와 부모 프로세스에 대한 관계 정보를 생성할 수 있다. 바람직하게, 학습부(130)는 현재 프로세스의 프로세스 식별 정보와 부모 프로세스에 대한 관계 정보를 생성하는데, 프로세스 식별 정보는 상기 현재 프로세스를 식별할 수 있는 정보로서 식별 정보 생성부(120)에 의해 생성될 수 있다.
예컨대, 식별 정보 생성부(120)는 현재 프로세스의 프로세스 ID, 프로세스 생성 시간 및 사용자 단말의 고유 정보에 기반하여 상기 프로세스 식별 정보를 생성할 수 있다. 그리고, 학습부(130)는 머신 러닝에 프로세스 식별 정보 및 부모 프로세스의 정보를 입력하여, 현재 프로세스와 부모 프로세스 간의 관계 정보를 학습 및 생성할 수 있다. 여기서, 부모 프로세스의 정보는 부모 프로세스의 ID가 이용될 수 있다.
관계 정보 확인 단계(S130)는 기저장된 학습 결과에 상기 관계 정보 생성 단계(S120)에서 생성된 관계 정보가 포함되는지 여부를 확인하는 단계로서, 제어부(150)에 의해 수행될 수 있다.
여기서, 기저장된 학습 결과는 학습부(130)에 의해 미리 학습 및 생성된 관계 정보로서, 저장부(140)에 미리 저장된 데이터일 수 있다.
바람직하게, 저장부(140)에 기저장된 학습 결과는 제어부(150)에 의해 정상 프로세스라고 판단된 프로세스와 해당 프로세스의 부모 프로세스와의 관계 정보일 수 있다.
예컨대, 자식 프로세스가 C 프로세스이고, 부모 프로세스가 PC 프로세스이라고 가정한다. 제어부(150)의 판단 결과 C 프로세스가 정상 프로세스로 판단되면, 제어부(150)는 학습부(130)에 의해 생성된 C 프로세스와 PC 프로세스 간의 관계 정보를 저장부(140)에 저장할 수 있다. 이러한 C 프로세스와 PC 프로세스 간의 관계 정보는 학습 결과로서 저장부(140)에 저장될 수 있다.
즉, 제어부(150)는 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장부(140)에 미리 저장되어 있는지 여부를 확인함으로써, 현재 프로세스가 정상 프로세스인지 여부를 1차적으로 판단할 수 있다.
상기 관계 정보 확인 단계(S130)의 확인 결과에 기반하여, 상기 현재 프로세스의 실행을 차단하는 차단 단계(S140)가 제어부(150)에 의해 수행될 수 있다. 예컨대, 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장부(140)에 기저장된 학습 결과에 포함되지 않으면, 제어부(150)는 현재 프로세스가 비정상 프로세스인 것으로 판단할 수 있다. 이 때, 제어부(150)는 현재 프로세스의 실행을 차단할 수 있다.
바람직하게, 차단 단계는, 평판 탐색 단계(S141), 프로세스 실행 차단 단계(S143), 관계 정보 저장 단계(S145) 및 프로세스 실행 단계(S147)를 더 포함할 수 있다.
평판 탐색 단계(S141)는 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 현재 프로세스에 대한 평판을 탐색하는 단계로서, 제어부(150)에 의해 수행될 수 있다.
예컨대, 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않는 경우에는, 사용자 단말에서 현재 프로세스가 처음 생성된 경우를 포함할 수 있다. 이 경우 현재 프로세스와 부모 프로세스 간의 관계 정보는 저장부(140)에 기저장된 학습 결과에 포함되지 않지만, 현재 프로세스는 정상 프로세스일 수 있다. 따라서 이러한 경우, 현재 프로세스를 비정상 프로세스로 잘못 판단하는 것을 방지하기 위하여, 제어부(150)는 현재 프로세스에 대한 평판을 탐색할 수 있다.
즉, 제어부(150)는 현재 프로세스에 대한 잘못된 판단을 방지하기 위하여, 1차적으로 관계 정보와 기저장된 학습 결과를 비교하고, 2차적으로 현재 프로세스의 평판을 탐색할 수 있다.
현재 프로세스에 대한 평판은 정상 프로세스 또는 비정상 프로세스로 판단되거나, 정상 프로세스, 경고 프로세스 또는 비정상 프로세스로 보다 세분화되게 판단될 수 있다.
프로세스 실행 차단 단계(S143)는 평판 탐색 결과 현재 프로세스가 비정상 프로세스로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다.
제어부(150)는 현재 프로세스의 실행을 차단할 수 있다. 그리고, 제어부(150)는 식별 정보 생성부(120)에 의해 생성된 현재 프로세스에 대한 프로세스 식별 정보를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다.
관계 정보 저장 단계(S145)는, 평판 탐색 결과 현재 프로세스가 정상 프로세스로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다. 관계 정보 저장 단계(S145)에서는, 학습부(130)에 의해 생성된 현재 프로세스와 부모 프로세스 간의 관계 정보가 저장부(140)에 저장될 수 있다.
예컨대, 관계 정보 저장 단계(S145)는, 사용자 단말에서 최초로 생성되었거나, 학습 결과가 존재하지 않은 정상 프로세스에 대해 수행될 수 있다. 즉, 현재 프로세스가 정상 프로세스이지만, 사용자 단말에서는 최초로 생성된 경우, 현재 프로세스에 대한 학습 결과가 저장부(140)에 저장되어 있지 않을 수 있다. 하지만, 현재 프로세스에 대한 평판 탐색 결과, 현재 프로세스가 정상 프로세스라고 판단된 경우, 제어부(150)는 현재 프로세스와 부모 프로세스 간의 관계 정보를 저장부(140)에 저장할 수 있다.
프로세스 실행 단계(S147)는 정상 프로세스로 판단된 현재 프로세스를 실행하는 단계로서, 제어부(150)에 의해 수행될 수 있다.
프로세스 실행 단계(S147)는 관계 정보 확인 단계(S130)에서 기저장된 학습 결과에 생성된 관계 정보가 포함된 경우 또는 관계 정보 저장 단계(S145) 이후에 수행될 수 있다.
추가적으로, 제어부(150)는 정상 프로세스로 판단한 현재 프로세스에 대한 로그 정보를 수집하도록 정보 수집부(110)를 제어할 수 있다. 그리고, 정보 수집부(110)에 의해 수집된 로그 정보를 저장부(140)에 저장할 수 있다. 이 후, 프로세스에 대한 로그 정보 출력 요청이 입력되면, 제어부(150)는 저장부(140)에 저장된 해당 프로세스의 로그 정보를 출력하여 제공할 수 있다.
본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S100)은 기저장된 학습 결과에 기반하여 현재 프로세스의 비정상 여부를 1차로 판단하고, 현재 프로세스의 평판에 기반하여 현재 프로세스의 비정상 여부를 2차로 판단할 수 있다. 따라서, 프로세스의 비정상 여부가 보다 다양한 측면에서 판단될 수 있으므로, 프로세스에 대한 오판의 가능성이 감소될 수 있는 장점이 있다.
도 4는 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S200)에 있어서, 비정상 네트워크의 접속을 차단하기 위한 일 실시예를 개략적으로 도시한 도면이다.
도 4를 참조하면, 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S200)은 정보 수집 단계(S210), 관계 정보 생성 단계(S220), 관계 정보 확인 단계(S230) 및 차단 단계(S240)를 포함할 수 있다.
정보 수집 단계(S210)는 현재 프로세스로부터 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면, 상기 현재 프로세스 및 상기 네트워크에 대한 정보를 수집하는 단계로서, 정보 수집부(110)에 의해 수행될 수 있다.
여기서는, 현재 프로세스가 외부 네트워크로 접속을 시도하는 경우뿐만 아니라 외부 네트워크가 현재 프로세스로 접속을 시도하는 경우가 모두 포함된다.
정보 수집부(110)에 의해 수집되는 정보는 현재 프로세스에 대한 프로세스 ID, 프로세스 생성 시간, 사용자 단말 정보 및 네트워크 IP 주소 등이 포함될 수 있다.
관계 정보 생성 단계(S220)는 정보 수집 단계(S210)에서 수집된 현재 프로세스의 정보 및 네트워크의 정보에 기반하여, 상기 현재 프로세스와 상기 네트워크에 대한 관계 정보를 생성하는 단계로서, 학습부(130)에서 수행될 수 있다.
학습부(130)는 머신 러닝에 기반하여, 현재 프로세스와 네트워크에 대한 관계 정보를 생성할 수 있다. 바람직하게, 학습부(130)는 현재 프로세스의 프로세스 식별 정보와 네트워크에 대한 관계 정보를 학습하고 생성할 수 있다.
관계 정보 확인 단계(S230)는 기저장된 학습 결과에 상기 관계 정보 생성 단계(S220)에서 생성된 관계 정보가 포함되는지 여부를 확인하는 단계로서, 제어부(150)에 의해 수행될 수 있다.
여기서, 기저장된 학습 결과는 학습부(130)에 의해 미리 학습 및 생성된 관계 정보로서, 저장부(140)에 미리 저장된 데이터일 수 있다. 바람직하게, 저장부(140)에 기저장된 학습 결과는 제어부(150)에 의해 정상 프로세스라고 판단된 프로세스와 상기 네트워크 간의 관계 정보일 수 있다.
예컨대, 현재 프로세스는 정상 프로세스인 C 프로세스이고, 네트워크의 IP 주소는 정상 주소인 X 주소라고 가정한다. X 주소는 C 프로세스가 접속하고자 하는 네트워크 IP 주소일 수 있고, C 프로세스로 접속하고자 하는 네트워크 IP 주소일 수도 있다. 두 경우 모두, 저장부(140)에 기저장된 학습 결과는 C 프로세스 식별정보와 X 주소 간의 관계 정보일 수 있다.
제어부(150)는 현재 프로세스와 네트워크 간의 관계 정보가 저장부(140)에 미리 저장되어 있는지 여부를 확인함으로써, 네트워크가 정상 네트워크인지 여부를 1차적으로 판단할 수 있다.
상기 관계 정보 확인 단계(S230)의 확인 결과에 기반하여, 상기 네트워크의 접속을 차단하는 차단 단계(S240)가 제어부(150)에 의해 수행될 수 있다. 예컨대, 현재 프로세스와 네트워크 간의 관계 정보가 저장부(140)에 기저장된 학습 결과에 포함되어 있지 않으면, 제어부(150)는 네트워크가 비정상 네트워크인 것으로 판단할 수 있다. 이 때, 제어부(150)는 네트워크로의 접속 및 네트워크로부터의 접속을 모두 차단할 수 있다.
바람직하게, 차단 단계는, 평판 탐색 단계(S241), 네트워크 접속 차단 단계(S243), 관계 정보 저장 단계(S245) 및 네트워크 접속 단계(S247)를 더 포함할 수 있다.
평판 탐색 단계(S241)는 상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 네트워크에 대한 평판을 탐색하는 단계로서, 제어부(150)에 의해 수행될 수 있다.
예컨대, 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되어 있지 않는 경우에는, 사용자 단말에서 현재 프로세스가 처음 생성된 경우, 현재 프로세스로부터 상기 네트워크로의 처음 접속을 시도한 경우 및 상기 네트워크에서 현재 프로세스로 처음 접속을 시도하는 경우 등이 포함될 수 있다. 이 경우 현재 프로세스와 네트워크 간의 관계 정보는 저장부(140)에 기저장된 학습 결과에 포함되어 있지 않지만, 네트워크는 정산 네트워크일 수 있다. 따라서 이러한 경우, 정상 네트워크를 비정상 네트워크로 잘못 판단하는 것을 방지하기 위하여, 제어부(150)는 상기 네트워크에 대한 평판을 탐색할 수 있다.
즉, 제어부(150)는 정상 네트워크에 대한 잘못된 판단을 방지하기 위하여, 1차적으로 관계 정보와 기저장된 학습 결과를 비교하고, 2차적으로 네트워크의 평판을 탐색할 수 있다.
네트워크 접속 차단 단계(S243)는 평판 탐색 결과 현재 프로세스가 접속하고자 하는 네트워크 또는 현재 프로세스로 접속하고자 하는 네트워크가 비정상 네트워크로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다.
이 경우, 제어부(150)는 현재 프로세스에 대한 네트워크의 접속 및 네트워크에 대한 현재 프로세스의 접속을 모두 차단할 수 있다. 그리고, 제어부(150)는 네트워크의 정보를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다. 예컨대, 제어부(150)는 네트워크의 IP 주소를 저장부(140)에 구비된 차단 리스트에 저장할 수 있다.
관계 정보 저장 단계(S245)는, 평판 탐색 결과 네트워크가 정상 네트워크로 판단된 경우, 제어부(150)에 의해 수행되는 단계이다. 관계 정보 저장 단계(S245)에서는, 학습부(130)에 의해 생성된 현재 프로세스와 네트워크 간의 관계 정보가 저장부(140)에 저장될 수 있다.
네트워크 접속 단계(S247)는 현재 프로세스에 대한 네트워크의 접속 및 네트워크에 대한 현재 프로세스의 접속을 허용하는 단계로서, 제어부(150)에 의해 수행될 수 있다.
네트워크 접속 단계(S247)는 관계 정보 확인 단계(S230)에서 기저장된 학습 결과에 생성된 관계 정보가 포함된 경우에도 수행될 수 있다.
본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S200)은 기저장된 학습 결과에 기반하여 현재 프로세스에서 접속하고자 하는 네트워크 또는 현재 프로세스로 접속하고자 하는 네트워크의 비정상 여부를 1차로 판단하고, 현재 프로세스의 평판에 기반하여 상기 네트워크의 비정상 여부를 2차로 판단할 수 있다. 따라서, 네트워크의 비정상 여부가 보다 다양한 측면에서 판단될 수 있으므로, 네트워크 상태 판단에 대한 오판 가능성이 감소될 수 있는 장점이 있다.
도 5 및 도 6은 본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S300)에 있어서, 비정상 네트워크의 접속을 차단하기 위한 다른 실시예를 개략적으로 도시한 도면이다. 이하에서는, 설명의 편의를 위하여, 도 4를 참조하여 설명한 이상행위 탐지 방법(S200)과 차이가 있는 부분에 대해서 중점적으로 설명한다.
도 5 및 도 6의 이상행위 탐지 방법(S300)에 포함된 정보 수집 단계(S320), 정보 생성 단계(S330), 관계 정보 확인 단계(S340), 평판 탐색 단계(S351), 네트워크 접속 차단 단계(S353), 관계 정보 저장 단계(S355) 및 네트워크 접속 단계(S357)는 각각 도 4의 이상행위 탐지 방법(S200)에 포함된 정보 수집 단계(S210), 정보 생성 단계(S220), 관계 정보 확인 단계(S230), 평판 탐색 단계(S241), 네트워크 접속 차단 단계(S243), 관계 정보 저장 단계(S245) 및 네트워크 접속 단계(S247)에 대응되는 단계일 수 있다.
즉, 도 5 및 도 6에 도시된 이상행위 탐지 방법(S300)은 도 4에 도시된 이상행위 탐지 방법(S200)에서 프로세스 판단 단계(S310)를 더 포함할 수 있다.
프로세스 판단 단계(S310)는 정보 수집 단계(S320) 이전에, 현재 프로세스가 정상 프로세스인지를 판단하는 단계로서, 제어부(150)에 의해 수행될 수 있다.
바람직하게, 프로세스 판단 단계(S310)는, 정보 수집부(110)에 의해 현재 프로세스와 네트워크에 대한 정보가 수집되기 전에, 현재 프로세스가 정상 프로세스인지 여부를 먼저 판단하는 단계이다.
예컨대, 현재 프로세스로의 네트워크 접속 또는 현재 프로세스로부터의 네트워크 접속이 요청되면, 제어부(150)는 정보 수집부(110)에게 현재 프로세스에 대한 정보 수집을 요청할 수 있다. 이 때, 정보 수집부(110)는 현재 프로세스 및 현재 프로세스의 부모 프로세스에 대한 정보를 모두 수집할 수 있다. 구체적으로, 프로세스 판단 단계(S310)에서는 도 3에 도시된 이상행위 탐지 방법(S100) 중 정보 수집 단계(S110), 관계 정보 생성 단계(S120), 관계 정보 학습 단계(S130), 평판 탐색 단계(S141) 및 관계 정보 저장 단계(S145)가 수행될 수 있다.
현재 프로세스가 비정상 프로세스로 판단되면, 정보 수집 단계(S320)가 수행되지 않기 때문에, 네트워크에 대한 정보가 수집되지도 않고, 네트워크 접속 차단 단계(S353)가 수행될 수 있다.
반대로, 현재 프로세스가 정상 프로세스로 판단되면, 현재 프로세스와 네트워크에 대한 정보를 수집하는 정보 수집 단계(S320)가 수행될 수 있다.
본 발명의 또 다른 실시예에 따른 이상행위 탐지 방법(S300)은 1차적으로 현재 프로세스의 정상 여부를 확인하고, 2차적으로 현재 프로세스와 네트워크에 대한 관계 정보가 미리 학습되었는지를 판단하고, 3차적으로 네트워크에 대한 평판을 탐색함으로써, 비정상 네트워크의 접속을 보다 정확하고 신뢰도 높게 차단할 수 있는 장점이 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
또한, 이상에서 설명한 본 발명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니라, 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수 있다.
100: 이상행위 탐지 장치
110: 정보 수집부
120: 식별 정보 생성부
130: 학습부
140: 저장부
150: 제어부
200: 사용자 단말 그룹
300: 중앙 서버

Claims (16)

  1. 현재 프로세스에 대한 정보 수집을 요청받으면, 상기 현재 프로세스의 정보 및 상기 현재 프로세스의 부모 프로세스의 정보를 수집하도록 구성된 정보 수집부;
    상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부;
    상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 상기 정보 수집부에 의해 수집된 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하도록 구성된 학습부;
    상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및
    상기 현재 프로세스에 대한 프로세스 실행이 요청되면 상기 정보 수집부에게 상기 현재 프로세스에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 현재 프로세스의 실행을 여부를 결정하도록 구성된 제어부를 포함하고,
    상기 학습부는,
    상기 프로세스 식별 정보와 상기 부모 프로세스의 정보를 조합하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보에 대한 유일한 관계 정보를 상기 관계 정보로 생성하도록 구성되고,
    상기 제어부는,
    상기 복수의 학습 결과와 상기 관계 정보를 비교함으로써, 상기 부모 프로세스에 의한 상기 현재 프로세스의 생성 이력이 있는지를 판단하고, 상기 생성 이력의 유무에 따라 상기 현재 프로세스의 실행 여부를 결정하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  2. 제1항에 있어서,
    상기 정보 수집부는,
    상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 사용자 단말 정보를 포함하는 상기 현재 프로세스의 정보를 수집하고, 상기 부모 프로세스의 ID를 포함하는 상기 부모 프로세스의 정보를 수집하도록 구성되고,
    상기 식별 정보 생성부는,
    상기 현재 프로세스의 ID, 상기 현재 프로세스의 생성 시간 및 상기 사용자 단말 정보에 기반하여 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  3. 제1항에 있어서,
    상기 학습부는,
    상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 부모 프로세스의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  4. 제3항에 있어서,
    상기 학습된 관계 정보는,
    상기 프로세스 식별 정보와 상기 부모 프로세스의 정보가 조합된 해시값을 포함하는 것을 특징으로 하는 이상행위 탐지 장치.
  5. 제1항에 있어서,
    상기 제어부는,
    상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되면 상기 현재 프로세스를 정상 프로세스로 판단하여, 상기 현재 프로세스를 실행하고,
    상기 학습된 관계 정보가 상기 저장부에 저장된 복수의 학습 결과에 포함되지 않으면 상기 현재 프로세스를 비정상 프로세스로 판단하여, 상기 현재 프로세스의 실행을 차단하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  6. 제5항에 있어서,
    상기 제어부는,
    상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 저장부에 상기 현재 프로세스에 대한 프로세스 식별 정보를 차단 정보로 저장시키도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  7. 제6항에 있어서,
    상기 제어부는,
    상기 현재 프로세스가 상기 비정상 프로세스로 판단되면, 상기 현재 프로세스의 실행을 차단하기 전에 상기 현재 프로세스의 평판을 탐색하고, 탐색 결과에 기반하여 상기 현재 프로세스의 실행 여부를 결정하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  8. 제5항에 있어서,
    상기 제어부는,
    상기 현재 프로세스가 상기 정상 프로세스로 결정되면,
    상기 현재 프로세스의 로그 정보를 수집하도록 상기 정보 수집부를 제어하고, 상기 정보 수집부에 의해 수집된 현재 프로세스의 로그 정보를 상기 저장부에 저장하고, 로그 출력 요청이 입력되면 상기 저장부에 저장된 복수의 로그 정보 중 상기 로그 출력 요청의 대상이 되는 프로세스에 대한 로그 정보를 출력하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  9. 네트워크에 대한 정보 수집을 요청받으면, 현재 프로세스의 정보 및 네트워크의 정보를 수집하도록 구성된 정보 수집부;
    상기 정보 수집부에 의해 수집된 정보에 기반하여, 상기 현재 프로세스에 대한 프로세스 식별 정보를 생성하도록 구성된 식별 정보 생성부;
    상기 식별 정보 생성부에 의해 생성된 프로세스 식별 정보 및 정보 수집부에 의해 수집된 네트워크의 정보에 기반하여, 상기 현재 프로세스 및 상기 네트워크의 정보 간의 관계 정보를 생성하도록 구성된 학습부;
    상기 학습부에 의해 미리 학습된 복수의 학습 결과가 저장되도록 구성된 저장부; 및
    상기 현재 프로세스로부터 상기 네트워크로의 접속 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하고, 상기 저장부에 저장된 복수의 학습 결과에 상기 학습부에 의해 학습된 관계 정보가 포함되어 있는지를 확인하고, 확인 결과에 기반하여 상기 네트워크와의 접속 여부를 결정하도록 구성된 제어부를 포함하고,
    상기 학습부는,
    상기 프로세스 식별 정보와 상기 네트워크의 정보를 조합하여 상기 프로세스 식별 정보와 상기 네트워크의 정보에 대한 유일한 관계 정보를 상기 관계 정보로 생성하도록 구성되고,
    상기 제어부는,
    상기 복수의 학습 결과와 상기 관계 정보를 비교함으로써, 상기 현재 프로세스와 상기 네트워크 간의 접속 이력이 있는지를 판단하고, 상기 접속 이력의 유무에 따라 상기 네트워크와의 접속 여부를 결정하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  10. 제9항에 있어서,
    상기 학습부는,
    상기 식별 정보 생성부에서 생성된 프로세스 식별 정보와 상기 네트워크의 정보를 입력받고, 머신 러닝에 기반하여 상기 프로세스 식별 정보와 상기 네트워크의 정보가 조합된 값을 상기 학습된 관계 정보로 출력하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  11. 제9항에 있어서,
    상기 제어부는,
    상기 접속이 요청되면, 상기 현재 프로세스 및 상기 현재 프로세스의 부모 프로세스의 정보에 기반하여 상기 현재 프로세스가 정상 프로세스인지를 판단하고, 상기 현재 프로세스가 정상 프로세스로 판단되면 상기 정보 수집부에게 상기 네트워크에 대한 정보 수집을 요청하도록 구성된 것을 특징으로 하는 이상행위 탐지 장치.
  12. 제1항 내지 제11항 중 어느 한 항에 따른 이상행위 탐지 장치가 구비된 사용자 단말이 포함된 사용자 단말 그룹; 및
    상기 사용자 단말 그룹에 포함된 사용자 단말과 무선 또는 유선으로 연결되도록 구성된 중앙 서버를 포함하고,
    상기 중앙 서버는,
    상기 사용자 단말 그룹에 포함된 사용자 단말로부터 상기 저장부에 저장된 학습 결과를 수신하면, 수신한 학습 결과를 저장하고, 상기 수신한 학습 결과를 상기 사용자 단말 그룹에 속한 모든 사용자 단말에게 배포하도록 구성되고,
    상기 사용자 단말은,
    상기 중앙 서버에 의해 배포된 학습 결과 중 상기 저장부에 저장되지 않은 학습 결과를 선택적으로 저장하도록 구성된 것을 특징으로 하는 이상행위 탐지 시스템.
  13. 현재 프로세스에 대한 프로세스 실행이 요청되면, 상기 현재 프로세스에 대한 프로세스 식별 정보 및 상기 현재 프로세스의 부모 프로세스에 대한 정보를 수집하는 정보 수집 단계;
    상기 정보 수집 단계에서 수집된 상기 프로세스 식별 정보 및 부모 프로세스의 정보에 기반하여, 상기 현재 프로세스와 상기 부모 프로세스에 대한 관계 정보를 생성하는 관계 정보 생성 단계;
    기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및
    상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 현재 프로세스의 실행 여부를 결정하는 실행 여부 결정 단계를 포함하고,
    상기 관계 정보 생성 단계는,
    상기 프로세스 식별 정보와 상기 부모 프로세스의 정보를 조합하여 상기 프로세스 식별 정보와 상기 부모 프로세스의 정보에 대한 유일한 관계 정보를 상기 관계 정보로 생성하는 단계를 포함하고,
    상기 관계 정보 확인 단계는,
    상기 기저장된 학습 결과와 상기 관계 정보를 비교함으로써, 상기 부모 프로세스에 의한 상기 현재 프로세스의 생성 이력이 있는지를 판단하는 단계를 포함하며,
    상기 실행 여부 결정 단계는,
    상기 생성 이력의 유무에 따라 상기 현재 프로세스의 실행 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
  14. 제13항에 있어서,
    상기 실행 여부 결정 단계는,
    상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 현재 프로세스에 대한 평판을 탐색하는 단계; 및
    탐색된 현재 프로세스의 평판에 기반하여, 상기 현재 프로세스의 실행 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
  15. 현재 프로세스로부터 네트워크로의 접속 요청 또는 상기 네트워크로부터 상기 현재 프로세스로의 접속이 요청되면, 상기 현재 프로세스에 대한 프로세스 식별 정보 및 상기 네트워크에 대한 정보를 수집하는 정보 수집 단계;
    상기 정보 수집 단계에서 수집된 프로세스 식별 정보 및 상기 네트워크의 정보에 기반하여, 상기 현재 프로세스와 상기 네트워크에 대한 관계 정보를 생성하는 관계 정보 생성 단계;
    기저장된 학습 결과에 상기 관계 정보 생성 단계에서 생성된 관계 정보가 포함되는지 여부를 확인하는 관계 정보 확인 단계; 및
    상기 관계 정보 확인 단계의 확인 결과에 기반하여, 상기 네트워크와의 접속 여부를 결정하는 접속 여부 결정 단계를 포함하고,
    상기 관계 정보 생성 단계는,
    상기 프로세스 식별 정보와 상기 네트워크의 정보를 조합하여 상기 프로세스 식별 정보와 상기 네트워크의 정보에 대한 유일한 관계 정보를 상기 관계 정보로 생성하는 단계를 포함하고,
    상기 관계 정보 확인 단계는,
    상기 기저장된 학습 결과와 상기 관계 정보를 비교함으로써, 상기 현재 프로세스와 상기 네트워크 간의 접속 이력이 있는지를 판단하는 단계를 포함하고,
    상기 접속 여부 결정 단계는,
    상기 접속 이력의 유무에 따라 상기 네트워크와의 접속 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
  16. 제15항에 있어서,
    상기 접속 여부 결정 단계는,
    상기 기저장된 학습 결과에 상기 생성된 관계 정보가 포함되지 않으면, 상기 네트워크에 대한 평판을 탐색하는 단계; 및
    탐색된 네트워크의 평판에 기반하여, 상기 네트워크의 접속 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 이상행위 탐지 방법.
KR1020200051088A 2020-04-27 2020-04-27 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템 KR102393913B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200051088A KR102393913B1 (ko) 2020-04-27 2020-04-27 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200051088A KR102393913B1 (ko) 2020-04-27 2020-04-27 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템

Publications (2)

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

Family

ID=78521846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200051088A KR102393913B1 (ko) 2020-04-27 2020-04-27 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템

Country Status (1)

Country Link
KR (1) KR102393913B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102630816B1 (ko) * 2021-12-28 2024-01-29 울산과학기술원 보안 설정 장치, 프로세스 단위의 보안 정책을 설정하는 보안 설정 방법 및 상기 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램
CN115941265B (zh) * 2022-11-01 2023-10-03 南京鼎山信息科技有限公司 一种应用于云服务的大数据攻击处理方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101057432B1 (ko) * 2010-02-23 2011-08-22 주식회사 이세정보 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체
KR101126532B1 (ko) * 2011-09-01 2012-03-22 주식회사 윈스테크넷 평판 정보를 이용한 포지티브 보안 기반의 악성코드 실행 방지 방법 및 이를 이용한 악성코드 실행 방지 시스템
KR101405831B1 (ko) * 2013-01-29 2014-06-11 주식회사 잉카인터넷 악성실행코드의 숙주 파일 탐지 시스템 및 방법
KR101654099B1 (ko) * 2011-06-01 2016-09-05 맥아피 인코퍼레이티드 악성 프로세스들의 비서명 기반 검출을 위한 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100942795B1 (ko) 2007-11-21 2010-02-18 한국전자통신연구원 악성프로그램 탐지장치 및 그 방법
KR102450834B1 (ko) * 2016-01-04 2022-10-05 한국전자통신연구원 다중 특징벡터를 이용하는 행위기반 악성코드 탐지 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101057432B1 (ko) * 2010-02-23 2011-08-22 주식회사 이세정보 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체
KR101654099B1 (ko) * 2011-06-01 2016-09-05 맥아피 인코퍼레이티드 악성 프로세스들의 비서명 기반 검출을 위한 시스템 및 방법
KR101126532B1 (ko) * 2011-09-01 2012-03-22 주식회사 윈스테크넷 평판 정보를 이용한 포지티브 보안 기반의 악성코드 실행 방지 방법 및 이를 이용한 악성코드 실행 방지 시스템
KR101405831B1 (ko) * 2013-01-29 2014-06-11 주식회사 잉카인터넷 악성실행코드의 숙주 파일 탐지 시스템 및 방법

Also Published As

Publication number Publication date
KR20210132545A (ko) 2021-11-04

Similar Documents

Publication Publication Date Title
US11086983B2 (en) System and method for authenticating safe software
WO2021109669A1 (zh) 恶意域名访问的检测方法、装置及计算机可读存储介质
US9652632B2 (en) Method and system for repairing file at user terminal
CN111274583A (zh) 一种大数据计算机网络安全防护装置及其控制方法
CN112534432A (zh) 不熟悉威胁场景的实时缓解
CN110445769B (zh) 业务***的访问方法及装置
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
CN103607385A (zh) 基于浏览器进行安全检测的方法和装置
US10904267B2 (en) Non-intrusive threat detection in a computer network
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
KR102393913B1 (ko) 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템
CN113179271A (zh) 一种内网安全策略检测方法及装置
US11652818B2 (en) Method and apparatus for accessing service system
US11533325B2 (en) Automatic categorization of IDPS signatures from multiple different IDPS systems
WO2019144548A1 (zh) 安全测试方法、装置、计算机设备和存储介质
WO2021139308A1 (zh) 云服务器监控方法、装置、设备及存储介质
CN112544054A (zh) 通过众包安全性解决方案自动生成威胁修复步骤
RU2491623C1 (ru) Система и способ проверки файлов на доверенность
US20190121975A1 (en) System and method for adapting patterns of malicious program behavior from groups of computer systems
CN105791250B (zh) 应用程序检测方法及装置
CN114138590A (zh) Kubernetes集群的运维处理方法、装置及电子设备
CN112069499A (zh) 一种检测方法、装置、存储介质及电子设备
CN111885088A (zh) 基于区块链的日志监测方法及装置
CN116522308A (zh) 数据库账号托管方法、装置、计算机设备及存储介质

Legal Events

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