KR102254283B1 - 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체 - Google Patents

멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR102254283B1
KR102254283B1 KR1020200151022A KR20200151022A KR102254283B1 KR 102254283 B1 KR102254283 B1 KR 102254283B1 KR 1020200151022 A KR1020200151022 A KR 1020200151022A KR 20200151022 A KR20200151022 A KR 20200151022A KR 102254283 B1 KR102254283 B1 KR 102254283B1
Authority
KR
South Korea
Prior art keywords
cluster
information
clustering
access
unit
Prior art date
Application number
KR1020200151022A
Other languages
English (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 KR1020200151022A priority Critical patent/KR102254283B1/ko
Priority to PCT/KR2020/018040 priority patent/WO2022102854A1/ko
Priority to EP20845768.9A priority patent/EP4246350A1/en
Priority to JP2021505305A priority patent/JP7315180B2/ja
Priority to US17/269,905 priority patent/US20230334151A1/en
Application granted granted Critical
Publication of KR102254283B1 publication Critical patent/KR102254283B1/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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체에 관한 것으로, 더욱 상세하게는 운영시스템(Operating System: OS)의 커널(Kernel) 레벨에서 생성되는 프로세스들에 할당된 클러스터에 대한 클러스터 ID를 생성하고, 클러스터 ID별로 하나의 부모 프로세스에서 분기된 프로세스, 프로세스가 읽고 쓰는 정보를 클러스터링하고, 클러스터링된 정보의 변경 및 훼손 여부에 따라 랜섬웨어 공격을 탐지 및 차단하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체에 관한 것이다.

Description

멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체{Multi-process clustering based ransomware attack detecting apparatus, and method thereof, and recording medium for recording program for executing the method}
본 발명은 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체에 관한 것으로, 더욱 상세하게는 운영시스템(Operating System: OS)의 커널(Kernel) 레벨에서 하나의 부모 프로세스로부터 생성되는 프로세스들 및 상기 프로세스가 읽고 쓰는 정보를 하나의 클러스터(Cluster) 식별정보(Identification: 이하 "ID"라 함)에 기반하여 클러스터링하고, 클러스터 단위로 클러스터링된 정보의 변경 및 훼손 여부에 따라 랜섬웨어 공격을 탐지 및 차단하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체에 관한 것이다.
현대인 및 기업에 있어서, 각종 서버는 물론 엔드포인트 장치인 스마트폰 등의 통신 단말기 및 노트북, 데스크톱 컴퓨터, 개인용 컴퓨터 등의 컴퓨터 단말기는 필수품이다.
이러한 각종 서버 및 엔드포인트 장치에는 개인, 기업 등의 중요한 정보들을 저장하고 있는 것이 일반적이다.
이러한 이유로 해커들은 다양한 악성코드들을 각종 서버 및 엔드포인트 장치에 심어 해당 장치를 고장나게 하거나 해당 장치에 저장되어 있는 중요 문서 등의 정보들을 암호화 또는 훼손시키고 있다.
이러한 악성코드 중 대표적인 악성코드가 랜섬웨어(Ransomeware)이다.
랜섬웨어는 몸값(Ransome)과 제품(Ware)의 합성어로, 사용자의 컴퓨터 또는 스마트폰에 저장된 사용자의 개인적인 문서를 사용하지 못하도록 하는 악성 프로그램의 일종이다. 랜섬웨어 배포자는 랜섬웨어에 의해 사용할 수 없도록 암호화된 사용자의 개인적인 문서를 해독할 수 있는 백신을 제공하는 대가로 금전을 요구하는 것이 일반적이다.
이러한 랜섬웨어는 시간이 지날수록 정교하고, 지능화되고 있으며, 표적화되고 있다. 일부 공격은 이제 새로운 데이터 유출 방법을 획득했는데, 이로 인해 기업은 기존의 랜섬웨어로 인한 전통적인 데이터 손실보다 더 큰 피해를 볼 수 있다. 특히 이런 공격은 사라지지 않고 더 증가할 가능성이 커지고 있다.
많은 랜섬웨어 감염은 워크스테이션 감염부터 시작되기 때문에 이러한 램섬웨어를 방지하기 위해 엔드포인트 안티악성코드 소프트웨어를 사용한다.
이러한 엔드포인트 안티악성코드 소프트웨어는 운영시스템(Operating System: OS) 계층의 상위 레벨인 어플리케이션 계층에서 구동되는 응용 소프트웨어이다.
그러나 어플리케이션 계층에서 구동되는 각종 서버 및 엔드포인트 안티악성코드 소프트웨어는 백신의 업데이트 이전까지 최신의 랜섬웨어에 대해서는 검출하지 못하는 문제점이 있었다.
최근에는 OS 계층에서 구동되는 랜섬웨어 공격 탐지 장치가 개발되고 있으나, 프로세스의 접근 권한을 설정하고, 그 접근 권한을 확인하여 랜섬웨어 여부를 판단하는 것으로 모든 프로세스에 대해 접근 권한을 확인하여야 하므로 많은 시간이 소요되고, 모든 프로세스에 접근권한을 설정하여야 하므로 번거롭고, 접근 권한을 설정하지 않은 프로세스에 대해 랜섬웨어로 오인할 수 있는 문제점이 있었다.
백신의 업데이트 없이도 그리고 권한 설정 없이도 최신의 랜섬웨어를 빠르게 검출할 수 있는 방안이 요구되고 있다.
대한민국 공개특허 제10-2019-0021673호(2019.03.06. 공개)
따라서 본 발명의 목적은 운영시스템(Operating System: OS)의 커널(Kernel) 레벨에서 생성되는 프로세스들을 클러스터링하기 위하여 클러스터 ID를 생성하고, 클러스터 ID별로 하나의 부모 프로세스에서 분기된 프로세스, 프로세스가 읽고 쓰는 정보를 클러스터링하고, 클러스터 단위로 클러스터링된 정보의 변경 및 훼손 여부에 따라 랜섬웨어 공격을 탐지 및 차단하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체를 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치는: 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링부; 클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성부; 생성된 상기 프로세스에 클러스터 식별정보(Identification: ID)를 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당부; 상기 클러스터 내 임의의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링부; 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적부; 및 상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 해당 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출부를 포함하는 것을 특징으로 한다.
상기 장치는: 시스템의 구동 시 초기 프로세스 및 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스의 클러스터 ID는 0으로 초기화하고 미사용 클러스터 집합(FreeC)은 클러스터 ID가 0인 것만을 제외한 나머지 전체 클러스터 ID를 가지도록 초기화하고, 사용 클러스터 집합(AssignedC)은 클러스터 ID가 0인 것만을 포함하는 것으로 초기화하는 초기화부를 더 포함하는 것을 특징으로 한다.
상기 클러스터 할당부는, 상기 생성된 프로세스의 부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 집합에서 가장 최근에 할당된 클러스터 ID의 다음 클러스터 ID를 획득하여 할당하고, 상기 부모 프로세스의 클러스터 ID가 0이 아니면 상기 부모 프로세스의 클러스터 ID를 획득하고, 상기 클러스터 ID를 상기 프로세스에 할당한 후, 상기 클러스터 ID의 클러스터 집합에 상기 프로세스를 추가하여 상기 프로세스와 관련된 프로세스들을 해당 클러스터에 클러스터링하는 것을 특징으로 한다.
상기 클러스터 할당부는, 부모 클러스터 ID가 0이면 최근 클러스터 ID 값과 증분치(Δ)의 합을 모듈러 연산하여 사용할 유일한 클러스터 ID 값을 산출하는 것을 특징으로 한다.
상기 접근 정보 클러스터링부는, 상기 이벤트 모니터링부를 통해 상기 클러스터 ID에 대한 클러스터 집합의 임의의 프로세스에 의한 정보 접근이 발생되면 접근한 정보를 획득하는 프로세스 접근 정보 획득부; 및 상기 획득된 정보를 상기 클러스터 ID에 대한 클러스터 정보 집합에 추가하는 접근 정보 클러스터 추가부를 포함하는 것을 특징으로 한다.
상기 접근 정보 상태 추적부는, 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 상기 클러스터에 속한 프로세스가 기 접근한 정보에 접근하는지를 판단하여, 상기 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하는 점검 대상 판단부; 상기 점검 대상 정보의 발생이 변경 행위로 감지되면 상기 점검 대상 정보를 발생시킨 프로세스를 클러스터링하고 있는 해당 클러스터의 정보 변경 횟수를 카운트하는 정보 변경 추적부; 및 훼손 행위로 감지되면 상기 클러스터의 정보 훼손 횟수를 카운트하는 정보 훼손 추적부를 포함하는 것을 특징으로 한다.
상기 정보는 데이터 및 파일인 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법은: 이벤트 모니터링부가 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링 과정; 프로세스 생성부가 클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성 과정; 클러스터 할당부가 생성된 상기 프로세스의 부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 ID를 할당하고, 부모 프로세스의 클러스터 iD가 0이 아니면 부모 프로세스의 클러스터 ID를 상기 프로세스에 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당 과정; 접근 정보 클러스터링부가 상기 클러스터의 임의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링 과정; 접근 정보 상태 추적부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 다른 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적 과정; 및 랜섬웨어 검출부가 상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 해당 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출 과정을 포함하는 것을 특징으로 한다.
상기 방법은: 초기화부가 시스템의 구동 시 초기 프로세스 및 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스의 클러스터 ID는 0으로 초기화되고 미사용 클러스터 집합(FreeC)은 클러스터 ID가 0인 것만을 제외한 나머지 전체 클러스터 ID를 가지도록 초기화되고, 사용 클러스터 집합(AssignedC)은 클러스터 ID가 0인 것만을 포함하는 것으로 초기화하는 초기화 과정을 더 포함하는 것을 특징으로 한다.
상기 클러스터 할당 과정은, 생성된 상기 프로세스의 부모 프로세스 클러스터 ID 획득 단계; 부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 집합에서 가장 최근에 할당된 클러스터 ID의 다음 클러스터 ID를 획득하여 할당하는 신규 클러스터 할당 단계; 상기 부모 프로세스의 클러스터 ID가 0이 아니면 상기 클러스터 ID를 상기 프로세스에 할당하는 기존 클러스터 할당 단계; 상기 클러스터 할당 후, 상기 클러스터 ID의 클러스터 집합에 상기 프로세스를 추가하여 상기 프로세스와 관련된 프로세스들을 클러스터링하는 프로세스 클러스터링 단계를 포함하는 것을 특징으로 한다.
상기 부모 프로세스 클러스터 할당 단계에서 부모 클러스터 ID가 0이면 클러스터 할당부가 최근 클러스터 ID 값과 증분치(Δ)의 합을 최대 클러스터 ID 값으로 모듈러 연산하여 사용할 클러스터 ID 값을 산출하는 것을 특징으로 한다.
상기 접근 정보 클러스터링 과정은, 프로세스 접근 정보 획득부가 상기 이벤트 모니터링부를 통해 상기 클러스터 ID에 대한 클러스터(집합)의 임의의 프로세스에 의한 정보 접근이 발생되면 접근한 정보를 획득하는 프로세스 접근 정보 획득 단계; 및 클러스터 추가부가 상기 획득된 정보를 상기 클러스터 ID에 대한 클러스터 정보 집합에 추가하는 접근 정보 클러스터 추가 단계를 포함하는 것을 특징으로 한다.
상기 접근 정보 상태 추적 과정은, 점검 대상 판단부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 다른 프로세스가 기 접근한 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하는 점검 대상 판단 단계; 정보 변경 추적부가 상기 점검 대상 프로세스로 판단된 프로세스를 클러스터링하고 있는 클러스터의 정보 변경 횟수를 카운트하는 정보 변경 추적 단계; 및 정보 훼손 추적부가 상기 클러스터의 정보 훼손 횟수를 카운트하는 정보 훼손 추적 단계를 포함하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법을 실현하기 위한 프로그램을 기록한 기록매체는: 이벤트 모니터링부가 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링 과정; 프로세스 생성부가 클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성 과정; 클러스터 할당부가 생성된 상기 프로세스에 클러스터 식별정보(Identification: ID)를 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당 과정; 접근 정보 클러스터링부가 상기 클러스터의 임의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링 과정; 접근 정보 상태 추적부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 다른 프로세스가 기 접근한 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적 과정; 및 랜섬웨어 검출부가 상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출 과정을 포함하는 것을 특징으로 한다.
본 발명은 운영체제(OS)의 커널 계층에서 동작하므로 랜섬웨어를 빠르게 탐지하여 차단할 수 있는 효과가 있다.
또한, 본 발명은 프로세스의 일반적인 동작에 따른 해당 프로세스 및 상기 프로세스의 부모 프로세스를 연관지어 정보의 접근, 변경 등을 클러스터링하여 하나의 클러스터 단위로 관리하므로, 별도의 백신 업데이트 과정 없이도 새로운 랜섬웨어에 대한 프로세스를 빠르고 정확하게 감지할 수 있는 효과가 있다.
또한, 본 발명은 랜섬웨어인 프로세스의 정보 접근 시 원본 파일 백업 및 복구를 통해 랜섬웨어인 프로세스의 공격에 대응할 수 있는 효과가 있다.
도 1은 본 발명에 따른 커널계층에서 동작하는 랜섬웨어 탐지 장치를 포함하는 각종 서버 또는 엔드포인트 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치의 구성을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지를 위한 프로세스에 클러스터를 할당하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법을 나타낸 흐름도이다.
도 5는 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법 중 랜섬웨어 판단 방법을 나타낸 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치의 구성 및 동작을 설명하고, 상기 장치에서의 프로세스 생성에 따른 클러스터 할당 방법, 랜섬웨어 판단 방법 등을 포함하는 랜섬웨어 공격 탐지 방법을 설명한다. 이하 설명에서 정보는 데이터(Data) 및 파일(File)을 포함하는 용어로 사용된다.
도 1은 본 발명에 따른 커널계층에서 동작하는 랜섬웨어 탐지 장치를 포함하는 각종 서버 또는 엔드포인트 시스템의 구성을 나타낸 도면이고, 도 2는 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치의 구성을 나타낸 도면이며, 도 3은 본 발명의 일실시예에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지를 위한 프로세스에 클러스터를 할당하는 방법을 설명하기 위한 도면이다. 이하 도 1 내지 도 3을 참조하여 설명한다.
본 발명에 따른 엔드포인트 시스템은 데스크톱 컴퓨터, 개인용 컴퓨터, 노트북 컴퓨터 등의 컴퓨터 단말기, 스마트폰, 스마트패드 등의 스마트 단말기 등과 같이 엔드포인트에 구성되는 시스템을 의미한다.
각종 서버 또는 엔드포인트 시스템은 도 1에서 나타낸 바와 같이 하드웨어 계층부(10), 운영시스템(Operating System: OS) 계층부(20) 및 어플리케이션(응용) 계층부(30)를 포함한다. 그리고 운영시스템 계층부(20)는 커널 계층부(21) 및 시스템 운영 계층부(22)를 포함한다.
본 발명에 따른 랜섬웨어 공격 탐지 장치(100)는 운영 시스템 계층부(20)의 커널 계층부(21)에 구성된다.
커널 계층부(21)는 하드웨어 계층부(10)부와 시스템 운영 계층부(22) 사이에 구성되어 프로세스의 생성 및 제거, 파일의 생성, 변경 및 제거, 데이터 입출력, 메모리 등의 자원 관리 등을 수행한다.
본 발명의 랜섬웨어 공격 탐지 장치(100)는 커널 계층부(21)에서 생성되는 프로세스들을 최초 발생되는 부모 프로세스 및 상기 부모 프로세스가 생성하는 자손 프로세스들에 고유의 클러스터 ID를 할당한다. 이와 같이 함으로써 동일한 클러스터 ID를 가지는 클러스터에는 부모 프로세스 및 자손 프로세스들을 포함하는 일족 프로세스들이 클러스터링된다.
또한, 랜섬웨어 공격 탐지 장치(100)는 하나의 클러스터에 클러스터링된 프로세스들이 접근하는 정보를 클러스터 단위로 클러스터링하여 관리한다.
랜섬웨어 공격 탐지 장치(100)는 클러스터 단위로 일족 프로세스들 및 그 일족 프로세스들이 접근하는 정보들을 클러스터링하여 관리하므로 클러스터 단위로 프로세스들의 정보 접근, 정보 변경, 정보 훼손 여부를 모니터링할 수 있다.
이를 이용하여 랜섬웨어 공격 탐지 장치(100)는 클러스터 단위의 프로세스들(일족 프로세스들에 의한)의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하고, 카운트된 정보 변경 횟수 및 정보 훼손 횟수에 의해 상기 클러스터의 프로세스들이 랜섬웨어인지를 판단한다.
랜섬웨어인 것으로 판단되면 랜섬웨어 공격 탐지 장치(100)는 해당 클러스터의 프로세스들을 종료하여 랜섬웨어를 차단한다.
구체적으로 도 2를 참조하여 설명하면, 본 발명의 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치(100)는 초기화부(110), 이벤트 모니터링부(120), 프로세스 생성부(130), 클러스터 할당부(140), 접근 정보 클러스터링부(150), 접근정보 상태 추적부(160) 및 랜섬웨어 검출부(170)를 포함한다.
이하 설명에서 생성된 프로세스는 하기 수학식 1과 같이 Ppid로 나타내고, 클러스터 ID는 수학식 2와 같이 cid로 나타낸다.
Figure 112020121246967-pat00001
Figure 112020121246967-pat00002
상기 pid는 프로세스 ID이며, cid는 클러스터 ID를 나타낸다.
상기 pid는 0(zero) 이상의 정수이다. 본 발명에서 p0는 OS에서 프로세스 ID가 0인 초기 프로세스를 의미한다. 단, OS 종류에 따라 0이 아닌 다른 프로세스 ID값을 가질 수도 있을 것이다.
상기 cid 또한 0 이상의 정수이다. 단, 초기 프로세스의 경우에 한하여 클러스터 ID(cid)는 0으로 설정한다. 또한, 초기 프로세스가 생성한 데몬(Daemon) 프로세스 및 서비스 프로세스에 대해서도 클러스터 ID를 0으로 설정한다.
현재 생성되어 있는 프로세스들은 하기 수학식 3과 같이 프로세스 집합(P)로 정의하여 관리한다.
Figure 112020121246967-pat00003
초기화부(110)는 각종 서버 및 엔드포인트 시스템의 초기 구동 시 본 발명에 따른 프로세스 ID(pid), 클러스터 ID(cid), 초기 프로세스(P0), 초기 클러스터(C0), 미사용 클러스터 집합(FreeC), 사용 클러스터 집합(AssignedC), 프로세스 집합(P) 등과 같은 다양한 파라미터들을 초기화한다. 상기 프로세스 ID 및 클러스터 ID는 0으로 초기화되고, 미사용 클러스터 집합은 클러스터 ID가 0인 것만을 제외한 나머지 전체 클러스터를 포함하도록 초기화되며, 사용 클러스터 집합은 클러스터 ID가 0인 것만을 포함하는 것으로 초기화될 것이다.
이벤트 모니터링부(120)는 커널 계층부(21)에서 클러스터링 이벤트가 발생되는지를 모니터링한다. 상기 클러스터링 이벤트란 랜섬웨어 검출을 위한 클러스터링을 수행하여야 하는 이벤트로서, 프로세스(ppid) 생성 요청, 프로세스 종료 요청, 정보 접근, 점검 대상 정보 감지 등에 의해 발생될 수 있을 것이다.
프로세스 생성부(130)는 상기 이벤트 모니터링부(120)를 통해 프로세스 생성 요청에 의한 클러스터링 이벤트가 발생되면 프로세스(ppid)를 생성하고, 프로세스 집합(P)에 등록한다.
클러스터 할당부(140)는 상기 프로세스 생성부(130)에서 프로세스(ppid)가 생성되면 하기 수학식 4와 같이 표시되는 getPCID(Ppid)함수를 적용하여 부모 프로세스의 클러스터 ID 할당 결과를 판단한다.
Figure 112020121246967-pat00004
판단결과, 부모 프로세스에 할당된 클러스터 ID가 0이면 클러스터 할당부(140)는 하기 수학식 5와 같이 표시되는 미사용 클러스터 집합(FreeC)의 클러스터 ID를 획득한 후, 상기 프로세스(ppid)에 할당하고, 사용 클러스터 집합(AssignedC)에 클러스터 ID를 등록한다.
Figure 112020121246967-pat00005
OS의 동작 전에는 미사용 클러스터 집합(FreeC)에는 모든 클러스터가 포함되며, OS 초기 기동 시 초기 프로세스와 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스에 대해서는 클러스터 ID 값이 0으로 설정되므로 FreeC에는 C0가 포함되지 않는다.
사용 클러스터 집합(AssignedC)는 프로세스에 할당되어 사용되고 있는 클러스터 ID들의 집합을 나타낸다. 그러므로, OS 동작 전에 사용 클러스터 집합은 공집합으로 설정되고, OS 초기 기동 시 초기 프로세스, 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스에 대하여 클러스터 ID 값이 0으로 설정되므로 사용 클러스터 집합(AssignedC)에 C0가 포함된다.
반면, 부모 프로세스의 할당된 클러스터 ID가 0가 아닌 경우는 상기 생성된 프로세스(ppid), 즉 자손 프로세스(ppid)에 상기 부모 프로세스의 클러스터 ID를 할당한다.
하기 수학식 6은 상기 과정을 수행하는 genCID() 함수이다.
Figure 112020121246967-pat00006
여기서 Δ는 증분치를 의미하며, 일정값으로 설정하거나 또는 클러스터 ID(cid) 산출에 대한 예측을 어렵게 하기 위해 랜덤하게 설정될 수 있다.
genCID()는 생성된 프로세스에 대한 클러스터 ID(cid)를 산출하여 리턴하는 함수이다.
genCID() 함수는 생성된 프로세스(ppid)에 대한 부모 프로세스의 클러스터(Pcid)가 0보다 크면 생성된 프로세스(ppid)에 대한 부모 프로세스의 클러스터 ID(Pcid)값을 상속받아 생성된 프로세스(ppid)에 대한 클러스터 ID 값으로 산출하여 리턴한다.
genCID() 함수는 생성된 프로세스(ppid)에 대한 부모 프로세스의 클러스터 ID가 0이면 최근 클러스터 ID(latestCID) 값과 증분치(Δ)의 합을 모듈러 연산(mod m)하여 클러스터 ID 값을 산출하고, 산출된 클러스터 ID(cid) 값이 0이 아니고 사용되지 않은 클러스터 ID들의 집합(FreeC)에 포함되어 있으면 FreeC 집합에서 해당 클러스터(Ccid)를 제거하고 AssignedC 집합에 해당 클러스터(Ccid)를 추가한 후 산출한 클러스터 ID(cid) 값을 리턴한다.
상기 최근 클러스터 ID(latestCID)는 하기 수학식 7에 의해 획득되고 갱신될 수 있을 것이다.
Figure 112020121246967-pat00007
상기 getLCID() 함수는 가장 최근에 생성된 최근 클러스터 ID(latestCID) 값을 구하여 리턴한다.
updateLCID()는 최근 클러스터 ID(latestCID) 값을 입력된 cid 값으로 갱신하는 함수이다.
상기 클러스터 ID 할당 방법을 도 3을 참조하여 좀 더 개념적으로 설명한다.
도 3은 사용 클러스터 집합(AssignedC)은 {0, 1, 2}이고, 미사용 클러스터 집합(FreeC)은 [3,...,m](대략 m=1000)이고, 증분값(Δ)는 1이고, latestCID=2인 경우를 나타낸 것이다.
프로세스(pid: 300)의 클러스터 ID(프로세스(300)cid)는 부모 프로세스의 클러스터 ID(Pcid)는 0이므로, (2(최근 클러스터 ID)+1(증분값)) mod 1000 =3이 되고, 사용 클러스터 집합(AssignedC)은 {0, 1, 2, 3}이 되고, 미사용 클러스터 집합(FreeC)은 [4,...,m]이 된다.
프로세스(pid:301)의 클러스터 ID(프로세스(301)cid)는 Pcid>0이므로 프로세스(301)Pcid <- Pcid =3이 된다.
클러스터 ID가 프로세스에 할당되면 클러스터 할당부(140)는 하기 수학식 8을 적용하여 동일 클러스터 ID를 갖는 프로세스들의 집합을 생성한다. 단, 초기 프로세스의 클러스터 ID는 0로 설정하며, 초기 프로세스가 생성한 데몬 및 서비스 프로세스에 대해서도 클러스터 ID는 0으로 설정된다. 즉. 클러스터 ID가 0인 프로세스 집합 C0는 클러스터 ID가 0 프로세스들의 집합으로, 초기 프로세스, 데몬 프로세스 및 서비스 프로세스를 포함한다.
Figure 112020121246967-pat00008
여기서 C0는 미사용 클러스터 집합(FreeC)에 포함되지 않는다.
접근 정보 클러스터링부(150)는 프로세스 접근 정보 획득부(151) 및 접근 정보 클러스터 추가부(152)를 포함하여, 상기 클러스터 ID별로 클러스터 내 임의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가한다.
이벤트 모니터링부(120)는 임의 프로세스가 하기 수학식 9와 같은 파일을 읽기 위한 정보 접근에 따른 클러스터링 이벤트를 감지할 것이다.
Figure 112020121246967-pat00009
수학식 9의 ReadFile()함수는 프로세스(ppid)가 파일(rfile)로부터 데이터(rdata)를 읽는 함수이다.
이때, 접근 정보 획득부(151)는 상기 프로세스(ppid)가 읽은 정보를 획득한다. 상기 정보는 읽은 데이터(rdata), 읽은 파일(rfile) 등이 될 수 있다.
접근 정보 클러스터 추가부(152)는 접근 정보 획득부(151)에서 획득한 정보를 클러스터링하여 정보 집합을 생성한다. 정보 집합은 정보의 종류(Data, File)에 따라 읽은 데이터 정보 집합(ReadDatacid) 및 읽은 파일 정보 집합(ReadFilecid) 등으로 구분될 수 있을 것이다. 하기 수학식 10에서 addReadData(Ppid, rdata) 및 addReadFile(Ppid, rfile)을 수행하여 정보를 해당 정보 집합에 추가한다.
Figure 112020121246967-pat00010
여기서, addReadData(Ppid, rdata)는 프로세스(ppid)의 클러스터 ID(cid) 값을 구하고, 해당 클러스터 ID에 대한 ReadDatacid 집합에 읽은 데이터(rdata)를 추가하는 함수이다.
addReadFile(Ppid, rfile)는 프로세스(ppid)의 클러스터 ID(cid) 값을 구하고, 해당 클러스터 ID에 대한 ReadFilecid 집합에 읽은 파일(rfile)을 추가하는 함수이다.
접근 정보 상태 추적부(160)는 점검 대상 판단부(161), 정보 변경 추적부(162) 및 정보 훼손 추적부(163)를 포함하여, 점검 대상 정보, 점검 대상 정보의 정보 변경 횟수 및 정보 훼손 횟수를 카운트하여 출력한다.
구체적으로 설명하면, 점검 대상 판단부(161)는 하기 수학식 11을 적용하여 프로세스(ppid)와 관련된 cid를 가지는 클러스터의 정보 집합에 점검 대상 정보가 발생하는지를 검사한다.
Figure 112020121246967-pat00011
compareData() 함수는 프로세스(ppid)와 관련된 ReadDatacid에 점검 대상 데이터(cdata)가 포함되어 있으면 TRUE를 리턴하고, 그렇지 않은 경우 FALSE를 리턴한다.
isReadFile() 함수는 프로세스(ppid)와 관련된 ReadDatacid에 점검대상 파일(cfile)이 포함되어 있는 경우 TRUE를 리턴하고, 그렇지 않은 경우 FALSE를 리턴한다.
정보 변경 추적부(162)는 상기 점검 대상 판단부(161)에서 점검 대상 정보가 발생되면, 하기 수학식 12를 적용하여 점검 대상 정보를 발생시킨 프로세스(ppid)가 속한 클러스터 단위로 해당 점검 대상 정보의 정보 변경 횟수를 카운트한다.
Figure 112020121246967-pat00012
여기서, AlterCountcid는 해당 클러스터 ID(cid)의 변경 카운터를 의미하는 것으로, 클러스터 ID가 cid인 프로세스들이 파일에 변경(write)을 실행한 횟수(이하 "정보 변경 횟수"라 함)를 나타낸다.
AlterCountSet은 각 클러스터 ID(cid)에 관련된 정보 변경 횟수(AlterCountcid)의 집합을 의미한다.
incAlterCount(Ppid) 함수는 프로세스(ppid)의 클러스터 ID(cid) 값을 구하여 해당 클러스터 ID의 정보 변경 횟수(AlterCountcid)를 1만큼 증가시킨다.
또한, incAlterCount(Ppid) 함수는 해당 클러스터 ID의 정보 변경 횟수가 AlterCountSet 집합에 포함되어 있지 않을 경우 AlterCountSet 집합에 해당 클러스터 ID의 정보 변경 횟수를 추가한다.
정보 훼손 추적부(163)는 점검 대상 판단부(161)를 통해 점검 대상 정보가 있는 것으로 판단되면 하기 수학식 13을 적용하여 점검 대상 정보의 정보 훼손 횟수를 카운트한다.
Figure 112020121246967-pat00013
여기서, DamageCountcid는 해당 클러스터 ID(cid)의 훼손카운터를 의미하는 것으로, 클러스터 ID가 cid인 프로세스들이 파일을 훼손(delete, overwrite, truncate 등)한 횟수(이하 "정보 훼손 횟수"라 함)를 나타낸다.
DamageCountSet은 각 클러스터 ID(cid)에 관련된 정보 훼손 횟수(DamageCountcid)의 집합을 의미한다.
incDamageCount(Ppid) 함수는 프로세스(ppid)의 클러스터 ID(cid) 값을 구하여 해당 클러스터 ID의 정보 훼손 횟수(DamageCountcid)를 1만큼 증가시키고, DamageCountSet 집합에 해당 클러스터 ID의 정보 훼손 횟수(DamageCountcid)가 포함되어 있지 않을 경우 DamageCountSet 집합에 정보 훼손 횟수를 추가한다.
랜섬웨어 검출부(170)는 하기 수학식 14 및 수학식 15와 같은 정보의 출력(Write) 및 변경(Alter)에 대해 상기 정보 변경 추적부(162)에서 카운트된 정보 변경 횟수와 정보 훼손 횟수 각각을 임계치(변경 임계치(tAlter), 훼손 임계치(tDamage))와 비교하여 상기 점검 대상 정보에 접근한 프로세스가 랜섬웨어인지를 판단한다.
Figure 112020121246967-pat00014
여기서, writeFile()은 프로세스(ppid)가 파일(wfile)에 데이터(wdata)를 출력하는 함수를 의미한다. writeFile() 함수는 isReadFile() 함수 호출 결과가 TRUE인 경우 파일 훼손 행위로 판단하여 해당 파일(wfile)을 임시 보관소에 백업하고, incDamageCount() 함수를 호출하여 프로세스(ppid)와 관련된 클러스터의 훼손카운터(DamageCountcid)인 정보 훼손 횟수를 증가시킨다. 그 이후, 프로세스(ppid)와 관련된 클러스터의 정보 변경 횟수(AlterCountcid)가 변경 (행위) 임계치(tAlter)를 초과하고, 프로세스(ppid)와 관련된 클러스터의 정보 훼손 횟수(DamageCountcid)가 훼손 (행위) 임계치(tDamage)를 초과하는 경우 프로세스(ppid)는 랜섬웨어로 판정되므로 하기 수학식 16을 적용하여 프로세스(ppid)에 대응되는 해당 클러스터에 포함된 모든 프로세스들을 종료시키고 백업된 해당 파일(wfile)을 복구한다.
랜섬웨어로 판단되지 않는 경우에는 해당 파일(wfile)에 데이터(wdata)를 출력하고, compareData() 함수를 호출하여 그 결과가 FALSE인 경우 파일 복사 행위가 아닌 파일 변경 행위로 판단하고 incAlterCount() 함수를 호출하여 프로세스(ppid)와 관련된 클러스터의 정보 변경 횟수(AlterCountcid)를 증가시킨다.
Figure 112020121246967-pat00015
여기서, alterFile()은 프로세스(ppid)가 파일(xfile)에 변경(delete, xdata로 overwrite, truncate 등)을 실행하는 함수를 의미한다. alterFile() 함수는 isReadFile() 함수 호출 결과가 TRUE인 경우 파일 훼손 행위로 판단하여 해당 파일(xfile)을 임시 보관소에 백업하고, incDamageCount() 함수를 호출하여 프로세스(ppid)와 관련된 클러스터의 정보 훼손 횟수(DamageCountcid)를 증가시킨다.
그 이후, 프로세스(ppid)와 관련된 클러스터의 정보 변경 횟수(AlterCountcid)가 변경 (행위) 임계치(tAlter)를 초과하고, 프로세스(ppid)와 관련된 클러스터의 정보 훼손 횟수(DamageCountcid)가 훼손 (행위) 임계치(tDamage)를 초과하는 경우 프로세스(ppid)는 랜섬웨어로 판정되므로 하기 수학식 16을 적용하여 프로세스에 대응되는 해당 클러스터에 포함된 모든 프로세스들을 종료시키고 백업된 해당 파일(xfile)을 복구한다.
랜섬웨어로 판단되지 않는 경우에는 파일(xfile)에 대한 변경(delete, xdata로 overwrite, 또는 truncate 등)을 실행하고, 파일 변경 행위로 판단하여 incAlterCount() 함수를 호출하여 프로세스(ppid)와 관련된 클러스터의 정보 변경 횟수(AlterCountcid)를 증가시킨다.
Figure 112020121246967-pat00016
exitProcess() 함수는 프로세스를 종료(exit)시키고, 프로세스 집합 P에서 종료(exit)된 프로세스(ppid)를 제거하고, 해당 Ccid 집합에서 종료(exit)된 프로세스(ppid)를 제거한다. 그리고 해당 Ccid 집합이 공집합({
Figure 112020121246967-pat00017
})이면 FreeC 집합에 해당 Ccid를 추가하고, AssignedC 집합에서 해당 Ccid를 제거하고, ReadDatacid 및 ReadFilecid 집합을 공집합({
Figure 112020121246967-pat00018
})으로 설정한다.
도 4는 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법을 나타낸 흐름도이다. 도 4를 찹조하여 설명함에 있어서, 상기 도 1 내지 도 3에서 상술한 기술에 대해 간략하게만 설명한다.
초기화부(110)는 본 발명에 따른 커널 파라미터를 초기화한다(S111). 상기 커널 파라미터는 프로세스 ID(pid), 클러스터 ID(cid), 초기 프로세스(P0), 초기 클러스터(C0), 미사용 클러스터 집합(FreeC), 사용 클러스터 집합(AssignedC), 프로세스 집합(P) 등이 될 수 있을 것이다.
파라미터 초기화 후, 이벤트 모니터링부(120)는 동작 이벤트, 즉 클러스터링 이벤트가 발생되는지를 모니터링한다(S113).
클러스터링 이벤트가 발생되면 이벤트 모니터링부(120)는 상기 클러스터링 이벤트가 프로세스 생성 요청(S115), 정보 접근(S117), 점검 대상 판단부(161)를 통한 점검 대상 정보 발생(S119), 프로세스 종료 요청(S121) 중 어느 것에 의해 발생한 것인지를 판단한다.
상술한 S115, S117, S119, S121 중 어느 하나도 감지되지 않으면 이벤트 모니터링부(120)는 발생된 동작 이벤트에 대한 해당 동작을 수행할 수 있도록 한다(S122).
프로세스 생성 요청에 의해 발생된 것이면 이벤트 모니터링부(120)는 프로세스 생성부(130)를 활성한다.
활성화된 프로세스 생성부(130)는 프로세스(ppid)를 생성한 후 클러스터 할당부(140)를 활성화한다.
활성화된 클러스터 할당부(140)는 상기 프로세스(ppid)의 부모 프로세스의 클러스터 ID를 획득하여 부모 프로세스의 클러스터 ID가 0이면 새로운 클러스터 ID를 상기 생성된 프로세스에 할당하고, 부모 프로세스의 클러스터 ID가 0이 아닌 경우 부모 프로세스의 클러스터 ID를 상기 생성된 프로세스에 할당한다(S125).
상기 프로세스(ppid)에 클러스터 ID(cid)가 할당되면 클러스터 할당부(140)는 상기 클러스터 ID, cid에 대한 클러스터 집합(Ccid)을 생성하여 클러스터 ID에 대한 프로세스(ppid)들을 클러스터링한다(S127).
반면, 정보 접근에 의한 클러스터링 이벤트가 발생되면 이벤트 모니터링부(120)는 접근 정보 클러스터링부(150)를 활성화한다.
활성화된 접근 정보 클러스터링부(150)는 상기 정보에 접근한 프로세스가 접근한 정보를 획득한(S129) 후, 클러스터 ID에 대응하는 정보 집합에 클러스터링한다(S131).
그리고 점검 대상 정보 발생에 의한 클러스터링 이벤트가 발생하면 이벤트 모니터링부(120)는 접근정보 상태 추적부(160) 및 랜섬웨어 검출부(170)를 통해 상기 프로세스(ppid)가 랜섬웨어인지를 판단하고, 랜섬웨어인 것으로 판단되면 상기 프로세스가 속한 클러스터 ID의 클러스터 집합에 속해 있는 모든 프로세스들에 대한 프로세스 종료 이벤트를 발생시킨다(S133).
상기 랜섬웨어 판단 방법은 다음의 도 5를 참조하여 상세히 설명한다.
클러스터링 이벤트가 프로세스 종료 이벤트에 발생된 것이면 이벤트 모니터링부(120)는 프로세스 종료 처리 동작을 수행한다.
도 5는 본 발명에 따른 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법 중 랜섬웨어 판단 방법을 나타낸 흐름도이다.
도 5를 참조하면, 점검 대상 판단부(161)는 점검 대상 정보가 훼손된 것인지 아니면 변경된 것인지를 판단한다(S211).
점검 대상 정보의 훼손인 것으로 판단되면 점검 대상 판단부(161)는 정보 훼손 추적부(163)를 활성화한다.
활성화된 정보 훼손 추적부(163)는 상기 프로세스(ppid)의 클러스터 ID를 획득한다(S213).
클러스터 ID가 획득되면 정보 훼손 추적부(163)는 해당 클러스터 ID의 훼손 카운터, 즉 정보 훼손 횟수를 1 증가시킨다(S215).
정보 훼손 횟수의 증가 후 정보 훼손 추적부(163)는 상기 클러스터 ID의 정보 훼손 횟수가 훼손 카운트 세트(집합)의 원소인지를 판단한다(S217).
판단 결과 원소가 아니면 정보 훼손 추적부(163)는 상기 클러스터 ID의 정보 훼손 횟수를 훼손 카운트 세트에 추가한다(S219).
상기 정보 훼손 카운트 세트에 추가되면 랜섬웨어 검출부(170)를 활성화한다. 활성화된 랜섬웨어 검출부(170)는 해당 클러스터 ID의 정보 변경 횟수가 변경 임계치를 초과하고(S221), 상기 클러스터 ID의 정보 훼손 횟수가 훼손 임계치를 초과(S223)하는지를 판단한다.
상기 판단 결과, 정보 변경 횟수가 변경 임계치를 초과하고 정보 훼손 횟수가 훼손 임계치를 초과하면 랜섬웨어 검출부(170)는 상기 프로세스(ppid)를 랜섬웨어로 결정하고, 상기 프로세스에 할당된 클러스터 ID에 속해 있는 모든 프로세스들에 대한 프로세스 종료 이벤트를 발생한다(S225).
반면, 정보 변경 횟수가 변경 임계치를 초과하지 않거나 정보 훼손 횟수가 훼손 임계치를 초과하지 않으면 랜섬웨어 검출부(170)는 해당 정보 접근을 허용한다(S227).
점검 대상 정보가 변경된 것이면, 점검 대상 판단부(161)는 정보 변경 추적부(162)를 활성화한다.
활성화된 정보 변경 추적부(162)는 해당 프로세스의 클러스터 ID를 획득한다(S231).
상기 클러스터 ID가 획득되면 정보 변경 추적부(162)는 해당 클러스터 ID의 변경 카운터, 즉 정보 변경 횟수를 1증가시킨다(S233).
상기 정보 변경 횟수의 증가 후 정보 변경 추적부(162)는 변경 카운터 세트(집합)에 해당 클러스터 ID의 정보 변경 횟수가 포함되어 있는지를 판단한다(S235).
판단 결과 클러스터 ID의 정보 변경 횟수가 변경 카운터 세트(집합)의 원소가 아니면 정보 변경 추적부(162)는 상기 정보 변경 횟수를 추가한다(S237).
한편, 본 발명은 전술한 전형적인 바람직한 실시예에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다.
10: 하드웨어 계층부 20: 운영시스템 계층부
21: 커널 계층부 22: 시스템 운영 계층부
30: 응용 계층부 100: 랜섬웨어 공격 탐지 장치
110: 초기화부 120: 이벤트 모니터링부
130: 프로세스 생성부 140: 클러스터 할당부
150: 접근 정보 클러스터링부 151: 프로세스 접근 정보 획득부
152: 접근 정보 클러스터 추가부160: 접근 정보 상태 추적부
161: 점검 대상 판단부 162: 정보 변경 추적부
163: 정보 훼손 추적부 170: 랜섬웨어 검출부

Claims (19)

  1. 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링부;
    클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성부;
    생성된 상기 프로세스가 부모 프로세스인지를 판단하고 부모 프로세스이면 사용되지 않은 클러스터 식별정보(Identification: ID)를 할당하고, 부모 프로세스가 아니면 상기 프로세스의 부모 프로세스에 할당된 클러스터 ID를 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당부;
    상기 클러스터의 임의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링부;
    상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적부; 및
    상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 해당 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출부를 포함하되,
    상기 클러스터 할당부는,
    상기 생성된 프로세스의 부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 집합에서 가장 최근에 할당된 클러스터 ID의 다음 클러스터 ID를 획득하여 할당하고,
    상기 부모 프로세스의 클러스터 ID가 0이 아니면 상기 부모 프로세스의 클러스터 ID를 획득하고,
    상기 클러스터 ID를 상기 프로세스에 할당한 후,
    상기 클러스터 ID의 클러스터 집합에 상기 프로세스를 추가하여 상기 프로세스와 관련된 프로세스들을 하나의 클러스터에 클러스터링하고,
    상기 접근 정보 클러스터링부는,
    상기 이벤트 모니터링부를 통해 상기 클러스터 ID에 대한 클러스터 집합의 임의의 프로세스에 의한 정보 접근이 발생되면 접근한 정보를 획득하는 프로세스 접근 정보 획득부; 및
    상기 획득된 정보를 상기 클러스터 ID에 대한 클러스터 정보 집합에 추가하는 접근 정보 클러스터 추가부를 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치.
  2. 제1항에 있어서,
    시스템의 구동 시 초기 프로세스 및 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스의 클러스터 ID는 0으로 초기화하고 미사용 클러스터 집합(FreeC)은 클러스터 ID가 0인 것만을 제외한 나머지 전체 클러스터 ID를 가지도록 초기화하고, 사용 클러스터 집합(AssignedC)은 클러스터 ID가 0인 것만을 포함하는 것으로 초기화하는 초기화부를 더 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치.
  3. 삭제
  4. 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링부;
    클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성부;
    생성된 상기 프로세스가 부모 프로세스인지를 판단하고 부모 프로세스이면 사용되지 않은 클러스터 식별정보(Identification: ID)를 할당하고, 부모 프로세스가 아니면 상기 프로세스의 부모 프로세스에 할당된 클러스터 ID를 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당부;
    상기 클러스터의 임의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링부;
    상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적부; 및
    상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 해당 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출부를 포함하되,
    상기 클러스터 할당부는,
    상기 생성된 프로세스의 부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 집합에서 가장 최근에 할당된 클러스터 ID의 다음 클러스터 ID를 획득하여 할당하고,
    상기 부모 프로세스의 클러스터 ID가 0이 아니면 상기 부모 프로세스의 클러스터 ID를 획득하고,
    상기 클러스터 ID를 상기 프로세스에 할당한 후,
    상기 클러스터 ID의 클러스터 집합에 상기 프로세스를 추가하여 상기 프로세스와 관련된 프로세스들을 하나의 클러스터에 클러스터링하고,
    상기 클러스터 할당부는,
    부모 클러스터 ID가 0이면 최근 클러스터 ID 값과 증분치(Δ)의 합을 모듈러 연산하여 사용할 유일한 클러스터 ID 값을 산출하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치.
  5. 삭제
  6. 제1항에 있어서,
    상기 접근 정보 상태 추적부는,
    상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하는 점검 대상 판단부;
    상기 점검 대상 정보의 발생이 감지되면 상기 점검 대상 정보를 발생시킨 프로세스를 클러스터링하고 있는 클러스터의 프로세스들에 대한 점검 대상 정보의 정보 변경 횟수를 카운트하는 정보 변경 추적부; 및
    상기 클러스터의 프로세스들에 대한 점검 대상 정보의 정보 훼손 횟수를 카운트하는 정보 훼손 추적부를 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치.
  7. 제6항에 있어서,
    상기 정보는 데이터 및 파일인 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치.
  8. 초기화부가 시스템의 구동 시 초기 프로세스 및 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스의 클러스터 ID는 0으로 초기화되고 미사용 클러스터 집합(FreeC)은 클러스터 ID가 0인 것만을 제외한 나머지 전체 클러스터 ID를 가지도록 초기화되고, 사용 클러스터 집합(AssignedC)은 클러스터 ID가 0인 것만을 포함하는 것으로 초기화하는 초기화 과정;
    이벤트 모니터링부가 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링 과정;
    프로세스 생성부가 클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성 과정;
    클러스터 할당부가 생성된 상기 프로세스의 부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 ID를 할당하고, 부모 프로세스의 클러스터 ID가 0이 아니면 부모 프로세스의 클러스터 ID를 상기 프로세스에 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당 과정;
    접근 정보 클러스터링부가 상기 클러스터의 임의의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링 과정;
    접근 정보 상태 추적부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적 과정; 및
    랜섬웨어 검출부가 상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 해당 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출 과정을 포함하고,
    상기 클러스터 할당 과정은,
    생성된 상기 프로세스의 부모 프로세스가 존재하는지를 판단하는 부모 프로세스 존재 판단 단계;
    부모 프로세스가 존재하지 않으면 사용되지 않은 클러스터 집합에서 가장 최근에 할당된 클러스터 ID의 다음 클러스터 ID를 획득하여 할당하는 신규 클러스터 할당 단계;
    상기 프로세스의 부모 프로세스가 존재하면 상기 부모 프로세스의 클러스터 ID를 획득하고, 상기 클러스터 ID를 상기 프로세스에 할당하는 부모 프로세스 클러스터 할당 단계;
    상기 클러스터 할당 후, 상기 클러스터 ID의 클러스터 집합에 상기 프로세스를 추가하여 상기 프로세스와 관련된 프로세스들을 클러스터링하는 프로세스 클러스터링 단계를 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법.
  9. 삭제
  10. 삭제
  11. 제8항에 있어서,
    상기 부모 프로세스 클러스터 할당 단계에서 부모 클러스터 ID가 0이면 클러스터 할당부가 최근 클러스터 ID 값과 증분치(Δ)의 합을 모듈러 연산하여 사용할 클러스터 ID 값을 산출하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법.
  12. 제8항에 있어서,
    상기 접근 정보 클러스터링 과정은,
    프로세스 접근 정보 획득부가 상기 이벤트 모니터링부를 통해 상기 클러스터 ID에 대한 클러스터(집합)의 임의의 프로세스에 의한 정보 접근이 발생되면 접근한 정보를 획득하는 프로세스 접근 정보 획득 단계; 및
    클러스터 추가부가 상기 획득된 정보를 상기 클러스터 ID에 대한 클러스터 정보 집합에 추가하는 접근 정보 클러스터 추가 단계를 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법.
  13. 제12항에 있어서,
    상기 접근 정보 상태 추적 과정은,
    점검 대상 판단부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하는 점검 대상 판단 단계;
    정보 변경 추적부가 상기 점검 대상 프로세스로 판단된 프로세스를 클러스터링하고 있는 클러스터의 프로세스들에 대한 상기 정보의 정보 변경 횟수를 카운트하는 정보 변경 추적 단계; 및
    정보 훼손 추적부가 상기 클러스터의 프로세스들에 대한 상기 정보의 정보 훼손 횟수를 카운트하는 정보 훼손 추적 단계를 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법.
  14. 초기화부가 시스템의 구동 시 초기 프로세스 및 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스의 클러스터 ID는 0으로 초기화되고 미사용 클러스터 집합(FreeC)은 클러스터 ID가 0인 것만을 제외하고 나머지 전체 클러스터 ID를 가지도록 초기화되고, 사용 클러스터 집합(AssignedC)은 클러스터 ID가 0인 것만을 포함하는 것으로 초기화하는 초기화 과정;
    이벤트 모니터링부가 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링 과정;
    프로세스 생성부가 클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성 과정;
    클러스터 할당부가 생성된 상기 프로세스에 상기 프로세스의 부모 프로세스에 할당된 클러스터 식별정보(Identification: ID)를 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당 과정;
    접근 정보 클러스터링부가 상기 클러스터의 임의의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링 과정;
    접근 정보 상태 추적부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적 과정; 및
    랜섬웨어 검출부가 상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출 과정을 포함하고,
    상기 클러스터 할당 과정은,
    생성된 상기 프로세스의 부모 프로세스의 클러스터 ID를 획득하는 부모 프로세스 클러스터 ID 획득 단계;
    부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 집합에서 가장 최근에 할당된 클러스터 ID의 다음 클러스터 ID를 획득하여 할당하는 신규 클러스터 할당 단계;
    상기 프로세스의 부모 프로세스의 클러스터 ID가 0이면 상기 부모 프로세스의 클러스터 ID를 상기 프로세스에 할당하는 부모 프로세스 클러스터 할당 단계;
    상기 클러스터 할당 후, 상기 클러스터 ID의 클러스터 집합에 상기 프로세스를 추가하여 상기 프로세스와 관련된 프로세스들을 클러스터링하는 프로세스 클러스터링 단계를 포함하되,
    상기 부모 프로세스 클러스터 할당 단계에서 부모 클러스터 ID가 0이면 클러스터 할당부가 최근 클러스터 ID 값과 증분치(Δ)의 합을 모듈러 연산하여 사용할 클러스터 ID 값을 산출하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법을 실현하기 위한 프로그램을 기록한 기록매체.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 초기화부가 시스템의 구동 시 초기 프로세스 및 초기 프로세스가 생성한 데몬 프로세스 및 서비스 프로세스의 클러스터 ID는 0으로 초기화되고 미사용 클러스터 집합(FreeC)은 클러스터 ID가 0인 것만을 제외하고 나머지 전체 클러스터 ID를 가지도록 초기화되고, 사용 클러스터 집합(AssignedC)은 클러스터 ID가 0인 것만을 포함하는 것으로 초기화하는 초기화 과정;
    이벤트 모니터링부가 프로세스 생성 요청 및 정보 접근에 따른 클러스터링 이벤트가 발생되는지를 모니터링하는 이벤트 모니터링 과정;
    프로세스 생성부가 클러스터링 이벤트가 프로세스 생성 요청에 의해 발생된 것이면 프로세스를 생성하는 프로세스 생성 과정;
    클러스터 할당부가 생성된 상기 프로세스에 상기 프로세스의 부모 프로세스에 할당된 클러스터 식별정보(Identification: ID)를 할당하여 상기 클러스터 ID의 클러스터에 관련된 프로세스들을 클러스터링하는 클러스터 할당 과정;
    접근 정보 클러스터링부가 상기 클러스터의 임의의 프로세스가 접근하는 정보를 클러스터링하여 상기 클러스터에 대한 정보 집합에 추가하는 접근 정보 클러스터링 과정;
    접근 정보 상태 추적부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하고, 감지된 점검 대상 정보와 관련된 클러스터의 정보 변경 횟수 및 정보 훼손 횟수를 카운팅하는 접근 정보 상태 추적 과정; 및
    랜섬웨어 검출부가 상기 정보 변경 횟수 및 정보 훼손 횟수 각각이 각각의 임계치를 초과하면 상기 프로세스를 랜섬웨어로 결정하고 상기 프로세스가 클러스터링되어 있는 클러스터의 프로세스들을 종료하는 랜섬웨어 검출 과정을 포함하고,
    상기 클러스터 할당 과정은,
    생성된 상기 프로세스의 부모 프로세스의 클러스터 ID를 획득하는 부모 프로세스 클러스터 ID 획득 단계;
    부모 프로세스의 클러스터 ID가 0이면 사용되지 않은 클러스터 집합에서 가장 최근에 할당된 클러스터 ID의 다음 클러스터 ID를 획득하여 할당하는 신규 클러스터 할당 단계;
    상기 프로세스의 부모 프로세스의 클러스터 ID가 0이면 상기 부모 프로세스의 클러스터 ID를 상기 프로세스에 할당하는 부모 프로세스 클러스터 할당 단계;
    상기 클러스터 할당 후, 상기 클러스터 ID의 클러스터 집합에 상기 프로세스를 추가하여 상기 프로세스와 관련된 프로세스들을 클러스터링하는 프로세스 클러스터링 단계를 포함하되,
    상기 접근 정보 클러스터링 과정은,
    프로세스 접근 정보 획득부가 상기 이벤트 모니터링부를 통해 상기 클러스터 ID에 대한 클러스터(집합)의 임의의 프로세스에 의한 정보 접근이 발생되면 접근한 정보를 획득하는 프로세스 접근 정보 획득 단계; 및
    클러스터 추가부가 상기 획득된 정보를 상기 클러스터 ID에 대한 클러스터 정보 집합에 추가하는 접근 정보 클러스터 추가 단계를 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법을 실현하기 위한 프로그램을 기록한 기록매체.
  19. 제18항에 있어서,
    상기 접근 정보 상태 추적 과정은,
    점검 대상 판단부가 상기 클러스터에 대해 클러스터링된 프로세스 중 임의의 프로세스가 클러스터 내의 다른 프로세스가 접근한 정보에 접근하는지를 판단하여, 상기 임의의 프로세스의 상기 정보 접근을 점검 대상 정보의 발생으로 감지하는 점검 대상 판단 단계;
    정보 변경 추적부가 상기 점검 대상 프로세스로 판단된 프로세스를 클러스터링하고 있는 클러스터의 프로세스들에 대한 상기 정보의 정보 변경 횟수를 카운트하는 정보 변경 추적 단계; 및
    정보 훼손 추적부가 상기 클러스터의 프로세스들에 대한 상기 정보의 정보 훼손 횟수를 카운트하는 정보 훼손 검출 단계를 포함하는 것을 특징으로 하는 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 방법을 실현하기 위한 프로그램을 기록한 기록매체.
KR1020200151022A 2020-11-12 2020-11-12 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체 KR102254283B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200151022A KR102254283B1 (ko) 2020-11-12 2020-11-12 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체
PCT/KR2020/018040 WO2022102854A1 (ko) 2020-11-12 2020-12-10 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체
EP20845768.9A EP4246350A1 (en) 2020-11-12 2020-12-10 Multiprocess clustering-based ransomware attack detection device and method, and recording medium for recording program for implementing method
JP2021505305A JP7315180B2 (ja) 2020-11-12 2020-12-10 マルチプロセスクラスタリングに基づくランサムウェア攻撃検知装置、方法、およびその方法を実現するためのプログラムを記録した記録媒体
US17/269,905 US20230334151A1 (en) 2020-11-12 2020-12-10 Multi-process clustering-based ransomware attack detection device and method, and recording medium for recording program for implementing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200151022A KR102254283B1 (ko) 2020-11-12 2020-11-12 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체

Publications (1)

Publication Number Publication Date
KR102254283B1 true KR102254283B1 (ko) 2021-05-21

Family

ID=76157382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200151022A KR102254283B1 (ko) 2020-11-12 2020-11-12 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체

Country Status (5)

Country Link
US (1) US20230334151A1 (ko)
EP (1) EP4246350A1 (ko)
JP (1) JP7315180B2 (ko)
KR (1) KR102254283B1 (ko)
WO (1) WO2022102854A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182019A (ja) * 2009-02-04 2010-08-19 Kddi Corp 異常検知装置およびプログラム
KR20130101956A (ko) * 2012-02-22 2013-09-16 숭실대학교산학협력단 프로세스의 접근 제어를 이용한 응용 소프트웨어의 불법 복제 방지 방법 및 장치
KR101899149B1 (ko) * 2018-04-30 2018-09-14 에스엠테크놀러지(주) 비정상 프로세스 감시 및 통제 시스템 및 방법, 상기 방법을 수행하기 위한 기록 매체
KR20190021673A (ko) 2017-08-23 2019-03-06 주식회사 수산아이앤티 랜섬웨어 방지 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4823813B2 (ja) * 2006-08-28 2011-11-24 Kddi株式会社 異常検知装置、異常検知プログラム、および記録媒体
US10089465B2 (en) 2015-07-24 2018-10-02 Bitdefender IPR Management Ltd. Systems and methods for tracking malicious behavior across multiple software entities
KR101883713B1 (ko) * 2016-09-22 2018-07-31 주식회사 위드네트웍스 콘텐츠 파일 접근 제어를 이용한 랜섬웨어 차단 장치 및 차단 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182019A (ja) * 2009-02-04 2010-08-19 Kddi Corp 異常検知装置およびプログラム
KR20130101956A (ko) * 2012-02-22 2013-09-16 숭실대학교산학협력단 프로세스의 접근 제어를 이용한 응용 소프트웨어의 불법 복제 방지 방법 및 장치
KR20190021673A (ko) 2017-08-23 2019-03-06 주식회사 수산아이앤티 랜섬웨어 방지 장치 및 방법
KR101899149B1 (ko) * 2018-04-30 2018-09-14 에스엠테크놀러지(주) 비정상 프로세스 감시 및 통제 시스템 및 방법, 상기 방법을 수행하기 위한 기록 매체

Also Published As

Publication number Publication date
JP7315180B2 (ja) 2023-07-26
WO2022102854A1 (ko) 2022-05-19
JP2023506101A (ja) 2023-02-15
US20230334151A1 (en) 2023-10-19
EP4246350A1 (en) 2023-09-20

Similar Documents

Publication Publication Date Title
US11611586B2 (en) Systems and methods for detecting a suspicious process in an operating system environment using a file honeypots
US9852289B1 (en) Systems and methods for protecting files from malicious encryption attempts
EP3374922B1 (en) Systems and methods for protecting backed-up data from ransomware attacks
CN107851155B (zh) 用于跨越多个软件实体跟踪恶意行为的系统及方法
US9245123B1 (en) Systems and methods for identifying malicious files
Min et al. Amoeba: An autonomous backup and recovery SSD for ransomware attack defense
EP3430559B1 (en) Systems and methods for generating tripwire files
US9571510B1 (en) Systems and methods for identifying security threat sources responsible for security events
JP6703616B2 (ja) セキュリティ脅威を検出するためのシステム及び方法
US11314864B2 (en) Memory layout based monitoring
US11494491B2 (en) Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector
US9298561B1 (en) Systems and methods for prioritizing restoration speed with deduplicated backups
US10735468B1 (en) Systems and methods for evaluating security services
US10678917B1 (en) Systems and methods for evaluating unfamiliar executables
US9483643B1 (en) Systems and methods for creating behavioral signatures used to detect malware
US10742668B2 (en) Network attack pattern determination apparatus, determination method, and non-transitory computer readable storage medium thereof
EP3350715B1 (en) Systems and methods for provisioning frequently used image segments from caches
CN111428240B (zh) 一种用于检测软件的内存违规访问的方法及装置
KR102254283B1 (ko) 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체
US11227052B2 (en) Malware detection with dynamic operating-system-level containerization
KR101988747B1 (ko) 하이브리드 분석을 통한 머신러닝 기반의 랜섬웨어 탐지 방법 및 장치
US9659176B1 (en) Systems and methods for generating repair scripts that facilitate remediation of malware side-effects
EP4258144A1 (en) Block-based protection from ransomware
US11968222B2 (en) Supply chain attack detection
CN1427344A (zh) 一种计算机防火墙的设置方法及其系统

Legal Events

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