KR102149711B1 - An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method - Google Patents

An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method Download PDF

Info

Publication number
KR102149711B1
KR102149711B1 KR1020180135537A KR20180135537A KR102149711B1 KR 102149711 B1 KR102149711 B1 KR 102149711B1 KR 1020180135537 A KR1020180135537 A KR 1020180135537A KR 20180135537 A KR20180135537 A KR 20180135537A KR 102149711 B1 KR102149711 B1 KR 102149711B1
Authority
KR
South Korea
Prior art keywords
program
camouflage
white
detected
ransomware
Prior art date
Application number
KR1020180135537A
Other languages
Korean (ko)
Other versions
KR20200052524A (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 KR1020180135537A priority Critical patent/KR102149711B1/en
Publication of KR20200052524A publication Critical patent/KR20200052524A/en
Application granted granted Critical
Publication of KR102149711B1 publication Critical patent/KR102149711B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Abstract

본 발명은 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다. 이러한 본 발명은 위장프로그램을 생성하여 실행시키는 위장프로그램생성모듈과, 상기 위장프로그램을 모니터링하여 상기 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되면, 상기 검출된 프로그램을 랜섬웨어로 판단하고, 상기 검출된 프로그램을 종료시키고, 격리시키는 위장프로그램감시모듈을 포함하는 랜섬웨어 행위 탐지 및 방지 장치와, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공한다. The present invention relates to an apparatus for detecting and preventing ransomware behavior using a camouflage process, a method therefor, and a computer-readable recording medium in which a program for performing the method is recorded. The present invention is a camouflage program generation module that generates and executes a camouflage program, and when a program that attempts to terminate the camouflage program by monitoring the camouflage program is detected, the detected program is determined as ransomware, and the detection A ransomware behavior detection and prevention device including a camouflage program monitoring module for terminating and quarantining a program, a method for the same, and a computer-readable recording medium in which a program performing the method is recorded.

Description

위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체{An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method} An apparatus for detecting and preventing ransomware behavior using a camouflage process, a method for the same, and a computer-readable recording medium in which a program performing the method is recorded. recordable medium storing program to perform the method}

본 발명은 랜섬웨어 행위 탐지 및 방지 기술에 관한 것으로, 보다 상세하게는, 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다. The present invention relates to a ransomware behavior detection and prevention technology, and more particularly, a ransomware behavior detection and prevention device using a camouflage process, a method therefor, and a computer-readable recording medium in which a program performing the method is recorded. About.

최근 유포되는 랜섬웨어의 경우 사용자의 데이터를 효과적으로 암호화하기 위해 각종 프로그램들을 암호화 전 종료시킨다. 즉, 최근의 랜섬웨어는 사용자 문서 파일 또는 데이터들을 타겟으로 암호화 하기에 앞서 해당 파일들을 실행시켜주는 프로그램들을 찾아 종료한다. 예컨대, 최근 유행하는 "Gandcrab" 랜섬웨어의 경우 랜섬 행위, 즉, 데이터를 암호화하는 행위를 하기 전에 실행되고 있는 모든 프로세스 목록에서 Office, SQL 관련 이름(실제 찾는 프로세스명 : oracle.exe, sqlservr.exe, mysqld.exe onenote.exe, outllok.exe, powerpnt.exe, excel.exe 등)을 찾아 종료한다. 열려있는 파일이 더욱 중요하고 가치 있는 문서일 수 있다는 공격자들의 판단이 고려되었음을 유추할 수 있다. In the case of recently distributed ransomware, various programs are terminated before encryption in order to effectively encrypt user data. In other words, the recent ransomware finds and terminates programs that execute the files before encrypting user document files or data as targets. For example, in the case of the recently popular "Gandcrab" ransomware, Office, SQL related names in the list of all processes running before the ransom act, that is, encrypting data, is performed (actual search process names: oracle.exe, sqlservr.exe) , mysqld.exe onenote.exe, outllok.exe, powerpnt.exe, excel.exe, etc.) and exit. It can be inferred that the judgment of attackers that an open file could be a more important and valuable document was taken into account.

종래 기술은 암호화 로직이 동작하는 시점에 행위를 탐지하기 때문에 행위를 탐지한 경우에도 일부 파일은 암호화가 진행될 수도 있다. 예컨대, 더미 파일을 감시하는 방어 로직은 곳곳에 더미 파일을 설치해야 할 뿐만 아니라 암호화되는 순서가 특정된 악성코드라면 랜섬행위를 막지 못 할 가능성이 존재한다. Since the prior art detects an action at a time when the encryption logic operates, some files may be encrypted even when the action is detected. For example, the defense logic that monitors dummy files not only requires dummy files to be installed everywhere, but also there is a possibility that ransom behavior cannot be prevented if the malicious code in which the order of encryption is specified is specified.

[선행기술문헌][Prior technical literature]

[특허문헌] 한국공개특허 제1850650호 2018년 04월 13일 등록 (명칭: 랜섬웨어탐지를 수행하는 이동식저장장치 및 이를 위한 방법) [Patent Literature] Registered Korean Patent Publication No. 1850650 on April 13, 2018 (Name: Mobile storage device that detects ransomware and method therefor)

본 발명의 목적은 랜섬웨어가 랜섬 행위를 시작하기 전에 탐지하여 랜섬 행위를 방지할 수 있는 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공함에 있다. An object of the present invention is to provide a device capable of preventing ransom behavior by detecting ransomware before starting a ransom behavior, a method therefor, and a computer-readable recording medium in which a program performing the method is recorded.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 랜섬웨어 행위 탐지 및 방지 장치는, 위장프로그램을 생성하여 실행시키는 위장프로그램생성모듈과, 상기 위장프로그램을 모니터링하여 상기 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되면, 상기 검출된 프로그램을 랜섬웨어로 판단하고, 상기 검출된 프로그램을 종료시키고, 격리시키는 위장프로그램감시모듈을 포함한다. A ransomware behavior detection and prevention apparatus according to a preferred embodiment of the present invention for achieving the above object includes a camouflage program generation module that generates and executes a camouflage program, and monitors the camouflage program to When a program attempting to terminate is detected, the detected program is determined as ransomware, and a camouflage program monitoring module terminates and isolates the detected program.

상기 위장프로그램감시모듈은 상기 위장프로그램의 프로세스 종료 함수를 후킹(hooking)하여 상기 위장프로그램에 대한 종료를 시도하는 프로그램을 검출하는 것을 특징으로 한다. The camouflage program monitoring module is characterized by detecting a program that attempts to terminate the camouflage program by hooking a process termination function of the camouflage program.

상기 랜섬웨어 행위 탐지 및 방지 장치는, 화이트프로그램을 선택하고, 선택된 화이트프로그램에 대한 식별정보를 포함하는 화이트프로그램 데이터베이스를 구성하는 화이트프로그램DB생성모듈을 더 포함한다. 이때, 상기 위장프로그램감시모듈은 상기 위장프로그램에 대한 종료를 시도하는 프로그램이 상기 화이트프로그램 데이터베이스에 포함되어 있으면, 상기 검출된 프로그램을 정상 프로그램으로 판단하고, 상기 검출된 프로그램에 대한 격리 프로세스를 중단하는 것을 특징으로 한다. The ransomware behavior detection and prevention apparatus further includes a white program DB generation module for selecting a white program and configuring a white program database including identification information for the selected white program. At this time, the camouflage program monitoring module determines the detected program as a normal program and stops the quarantine process for the detected program if a program attempting to terminate the camouflage program is included in the white program database. It features.

상기 화이트프로그램DB생성모듈은 윈도우 시스템 파일과 백신 프로그램을 검색하여 상기 화이트프로그램 데이터베이스에 포함시키는 것을 특징으로 한다. The white program DB generation module is characterized in that the search for a window system file and an anti-virus program is included in the white program database.

상기 화이트프로그램DB생성모듈은 사용자에 의해 선택된 프로그램을 상기 화이트프로그램 데이터베이스에 포함시키는 것을 특징으로 한다. The white program DB generation module is characterized in that the program selected by the user is included in the white program database.

상기 위장프로그램생성모듈은 상기 위장프로그램을 생성한 후, 상기 위장프로그램의 전체 경로가 포함된 정보를 암호화여 저장하는 것을 특징으로 한다. The camouflage program generation module is characterized in that after generating the camouflage program, the information including the entire path of the camouflage program is encrypted and stored.

상기 위장프로그램생성모듈은 랜덤 이름의 폴더를 자동으로 생성한 후, 생성된 폴더에 위장프로그램을 생성하는 것을 특징으로 한다. The camouflage program generation module is characterized in that after automatically generating a folder with a random name, the camouflage program is generated in the created folder.

상기 위장프로그램생성모듈은 사용자의 설정에 따라 사용자가 지정한 폴더에 위장프로그램 파일을 생성하는 것을 특징으로 한다. The camouflage program generation module is characterized in that it creates a camouflage program file in a folder designated by the user according to the user's setting.

상기 위장프로그램감시모듈은 랜섬웨어로 판단된 프로그램에 대해 이력 로그 파일을 생성하는 것을 특징으로 한다. The camouflage program monitoring module is characterized by generating a history log file for a program determined as ransomware.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 랜섬웨어 행위 탐지 및 방지 방법은 위장프로그램생성모듈이 위장프로그램을 실행시키는 단계와, 상기 위장프로그램감시모듈이 상기 위장프로그램을 모니터링하여 상기 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되는지 여부를 판별하는 단계와, 상기 판별 결과, 상기 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되면, 상기 위장프로그램감시모듈이 상기 검출된 프로그램이 화이트프로그램 데이터베이스에 포함된 프로그램인지 여부를 판단하는 단계와, 상기 판단 결과, 상기 검출된 프로그램이 상기 화이트프로그램 데이터베이스에 포함된 프로그램이 아니면, 위장프로그램감시모듈은 상기 검출된 프로그램을 랜섬웨어로 판단하고, 상기 검출된 프로그램을 종료시킨 후, 격리하는 단계를 포함한다. Ransomware behavior detection and prevention method according to a preferred embodiment of the present invention for achieving the above object includes the steps of a camouflage program generation module executing a camouflage program, and the camouflage program monitoring module monitors the camouflage program. The step of determining whether a program attempting to terminate the camouflage program is detected, and when a program attempting to terminate the camouflage program is detected as a result of the determination, the camouflage program monitoring module displays the detected program being white. Determining whether the program is included in the program database; and if the detected program is not a program included in the white program database as a result of the determination, the camouflage program monitoring module determines the detected program as ransomware, And isolating after terminating the detected program.

상기 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되는지 여부를 판별하는 단계는 상기 위장프로그램감시모듈이 상기 위장프로그램의 프로세스 종료 함수가 호출되면, 상기 위장프로그램의 프로세스 종료 함수에 삽입된 후킹 코드를 통해 상기 위장프로그램에 대한 종료를 시도하는 프로그램을 검출하는 단계를 포함한다.The step of determining whether a program that attempts to terminate the spoofing program is detected, when the spoofing program monitoring module calls the process termination function of the spoofing program, through a hooking code inserted into the process termination function of the spoofing program. And detecting a program that attempts to terminate the camouflage program.

상기 화이트프로그램 데이터베이스에 포함된 프로그램인지 여부를 판단하는 단계 후, 상기 판단 결과, 상기 검출된 프로그램이 상기 화이트프로그램 데이터베이스에 포함된 프로그램이면, 상기 검출된 프로그램을 정상 프로그램으로 판단하고, 상기 검출된 프로그램에 대한 격리 프로세스를 중단하는 단계를 더 포함한다. After the step of determining whether the program is included in the white program database, as a result of the determination, if the detected program is a program included in the white program database, the detected program is determined as a normal program, and the detected program And stopping the containment process for the.

상기 위장프로그램을 실행시키는 단계는 상기 위장프로그램생성모듈이 상기 위장프로그램을 생성하는 단계와, 상기 화이트프로그램DB생성모듈이 상기 화이트프로그램 데이터베이스를 구성하는 단계와, 상기 위장프로그램생성모듈이 상기 생성된 위장프로그램을 실행시키는 단계를 포함한다. Executing the camouflage program includes the steps of the camouflage program generation module generating the camouflage program, the white program DB generation module constructing the white program database, and the camouflage program generation module generating the camouflage program. And executing the program.

상기 위장프로그램을 생성하는 단계는 상기 위장프로그램생성모듈이 사용자의 설정에 따라 사용자가 지정한 폴더에 위장프로그램 파일을 생성하거나, 랜덤 이름의 폴더를 자동으로 생성한 후, 생성된 폴더에 위장프로그램을 생성하는 단계를 포함한다. In the step of generating the camouflage program, the camouflage program generation module creates a camouflage program file in a folder designated by the user according to the user's settings, or automatically creates a folder with a random name, and then creates a camouflage program in the created folder. It includes the step of.

상기 위장프로그램을 생성하는 단계는 상기 위장프로그램생성모듈이 상기 위장프로그램을 생성한 후, 상기 위장프로그램의 전체 경로가 포함된 정보를 암호화여 저장하는 단계를 포함한다. The generating of the camouflage program includes the step of encrypting and storing information including the entire path of the camouflage program after the camouflage program generation module generates the camouflage program.

상기 화이트프로그램 데이터베이스를 구성하는 단계는 상기 화이트프로그램DB생성모듈이 윈도우 시스템 파일과 백신 프로그램을 검색하여 상기 화이트프로그램 데이터베이스에 포함시키는 단계를 포함한다. The step of constructing the white program database includes, by the white program DB generation module, searching for a window system file and a vaccine program and including it in the white program database.

상기 화이트프로그램 데이터베이스를 구성하는 단계는 상기 화이트프로그램DB생성모듈이 사용자에 의해 선택된 프로그램을 상기 화이트프로그램 데이터베이스에 포함시키는 단계를 포함한다. The step of configuring the white program database includes the step of including, by the white program DB generation module, a program selected by the user into the white program database.

상기 격리하는 단계 후, 상기 위장프로그램감시모듈이 상기 격리된 프로그램에 대해 이력 로그 파일을 생성하는 단계를 더 포함한다. After the isolating step, the camouflage program monitoring module further comprises generating a history log file for the isolated program.

그리고 전술한 본 발명의 실시예에 따른 랜섬웨어 행위 탐지 및 방지 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공한다. In addition, a computer-readable recording medium in which a program for performing the method for detecting and preventing ransomware behavior according to the above-described embodiment of the present invention is recorded is provided.

본 발명은 랜섬웨어가 암호화 행위, 즉, 랜섬 행위를 하기 전, 데이터를 관리하는 응용프로그램들을 일제히 종료하는 점에 착안하여, 응용프로그램으로 위장한 프로그램, 즉, 위장프로그램을 실행시킨 후, 실행된 위장프로그램의 종료를 시도하는 프로그램을 검출하여, 그 프로그램을 차단하고, 종료시킴으로써 이후에 수행되는 랜섬 행위를 사전에 방어할 수 있다. The present invention focuses on the fact that the ransomware terminates the application programs that manage data at once before performing the encryption act, that is, the ransom act, and executes a program disguised as an application program, that is, after executing the disguised program. By detecting a program that attempts to terminate the program, blocking the program, and terminating the program, it is possible to prevent ransom actions performed later.

더욱이, 본 발명은 검출된 프로그램이 시스템 모듈, 백신 등과 같은 정상적인 프로그램일 수 있기 때문에, 화이트프로그램 데이터베이스를 통해 이러한 오인 탐지를 방지한다. 이에 따라, 정상 프로그램과 혼동 없이 랜섬웨어로부터 사용자 문서 및 데이터들을 보호할 수 있다. Moreover, in the present invention, since the detected program may be a normal program such as a system module, a vaccine, etc., such false detection is prevented through a white program database. Accordingly, user documents and data can be protected from ransomware without being confused with normal programs.

도 1은 본 발명의 실시 예에 따른 컴퓨팅 장치를 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 위장 프로세스를 실행하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 방법을 설명하기 위한 흐름도이다.
1 is a diagram illustrating a computing device according to an embodiment of the present invention.
2 is a block diagram illustrating an apparatus for detecting and preventing ransomware behavior using a camouflage process according to an embodiment of the present invention.
3 is a flowchart illustrating a method of executing a camouflage process according to an embodiment of the present invention.
4 is a flowchart illustrating a method of detecting and preventing ransomware behavior using a camouflage process according to an embodiment of the present invention.

본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. Prior to the detailed description of the present invention, terms or words used in the present specification and claims described below should not be construed as being limited to their usual or dictionary meanings, and the inventors shall use their own invention in the best way. For explanation, based on the principle that it can be appropriately defined as a concept of terms, it should be interpreted as a meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all the technical spirit of the present invention, and various equivalents that can replace them at the time of application It should be understood that there may be water and variations.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this case, it should be noted that the same components in the accompanying drawings are indicated by the same reference numerals as possible. In addition, detailed descriptions of known functions and configurations that may obscure the subject matter of the present invention will be omitted. For the same reason, some components in the accompanying drawings are exaggerated, omitted, or schematically illustrated, and the size of each component does not entirely reflect the actual size.

본 발명의 실시예는 컴퓨팅 연산을 수행하는 컴퓨팅 장치에서 실행될 수 있으며, 이러한 컴퓨터 시스템에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능 명령어, 관련 데이터 구조, 및 프로그램 모듈은 본 명세서에 개시된 발명의 행위를 실행하는 프로그램 코드 수단의 예를 나타낸다. 이에 따라, 본 발명이 구현될 수 있는 컴퓨팅 장치에 대한 설명을 제공하고자 한다. 도 1은 본 발명의 실시 예에 따른 컴퓨팅 장치를 설명하기 위한 도면이다. Embodiments of the present invention may be executed on a computing device that performs computing operations, and may be described in connection with computer executable instructions such as program modules being executed by such a computer system. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code means for executing the acts of the invention disclosed herein. Accordingly, it is intended to provide a description of a computing device in which the present invention may be implemented. 1 is a diagram illustrating a computing device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 컴퓨팅 장치는 프로세싱 유닛(11), 시스템 메모리(12), 및 시스템 메모리(12)를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(11)에 연결시키는 시스템 버스(10)를 포함한다. 1, a computing device according to an embodiment of the present invention is a system for connecting various system components including a processing unit 11, a system memory 12, and a system memory 12 to the processing unit 11 It includes a bus 10.

프로세싱 유닛(11)은 본 발명의 특징을 구현하도록 설계된 컴퓨터-실행가능 명령어를 실행시킬 수 있다. 프로세싱 유닛(11)은 중앙처리장치(CPU: Central Processing Unit), 애플리케이션 프로세서(Application Processor), 디지털신호처리기(DSP: Digital Signal Processor) 등을 예시할 수 있다. The processing unit 11 is capable of executing computer-executable instructions designed to implement features of the present invention. The processing unit 11 may be a central processing unit (CPU), an application processor, a digital signal processor (DSP), or the like.

시스템 버스(10)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇 가지 유형의 버스 구조 중의 임의의 것일 수 있다. 시스템 메모리(12)는 ROM(Read Only Memory)(12a) 및 RAM(Random Access Memory)(12b)을 포함한다. 시동 중에 컴퓨팅 장치 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)(13a)은 일반적으로 ROM(12a)에 저장될 수 있다.The system bus 10 may be any of several types of bus structures including a local bus, a peripheral bus, and a memory bus or memory controller using any of a variety of bus architectures. The system memory 12 includes a ROM (Read Only Memory) 12a and a RAM (Random Access Memory) 12b. A basic input/output system (BIOS) 13a containing basic routines to help transfer information between components in the computing device during startup may generally be stored in ROM 12a.

컴퓨팅 장치는 저장 수단을 포함할 수 있는데, 예를 들어, 하드디스크로부터 정보를 판독하거나 그 하드디스크에 정보를 기록하는 하드디스크 드라이브(15), 자기디스크로부터 정보를 판독하거나 그 자기디스크에 정보를 기록하는 자기디스크 드라이브(16), 및 예를 들면, CD-ROM 또는 기타 광 매체 등의 광디스크로부터 정보를 판독하거나 그 광디스크에 정보를 기록하는 광디스크 드라이브(17)를 포함할 수 있다. 하드디스크 드라이브(15), 자기디스크 드라이브(16), 및 광디스크 드라이브(17)는 각각 하드디스크 드라이브 인터페이스(18), 자기디스크 드라이브 인터페이스(19), 및 광드라이브 인터페이스(20)에 의해 시스템 버스(10)에 접속된다. The computing device may include storage means, for example, a hard disk drive 15 that reads information from or writes information to the hard disk, and reads information from or writes information to the magnetic disk. A magnetic disk drive 16 for recording, and an optical disk drive 17 for reading information from an optical disk such as a CD-ROM or other optical medium or recording information on the optical disk, for example. The hard disk drive 15, the magnetic disk drive 16, and the optical disk drive 17 are each connected to a system bus by a hard disk drive interface 18, a magnetic disk drive interface 19, and an optical drive interface 20, respectively. 10).

또한, 컴퓨팅 장치는 저장 수단으로서 외장 메모리(21)를 더 구비할 수 있다. 상기 외장 메모리(21)는 입출력 인터페이스(24)를 통해서 시스템 버스(10)에 접속될 수 있다.In addition, the computing device may further include an external memory 21 as a storage means. The external memory 21 may be connected to the system bus 10 through an input/output interface 24.

상술한 드라이브 및 그 드라이브에 의해 판독 및 기록되는 관련 컴퓨터 판독가능 매체는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장을 제공한다. 본 명세서에서 기술된 예시적인 환경은 하드디스크(15), 자기디스크(16) 및 광디스크(17)를 예시하고 있으나, 이외에 자기 카세트, 플래시 메모리 카드, DVD, 베르누이 카트리지(Bernoulli cartridge), RAM, ROM, SSD 등을 포함하는, 데이터를 저장하는 다른 유형의 컴퓨터 판독가능 매체가 이용될 수 있다. The above-described drives and associated computer-readable media read and written by the drives provide nonvolatile storage of computer executable instructions, data structures, program modules, and other data. Exemplary environments described herein illustrate the hard disk 15, the magnetic disk 16, and the optical disk 17, but in addition to magnetic cassette, flash memory card, DVD, Bernoulli cartridge, RAM, ROM Other types of computer-readable media for storing data may be used, including, SSD, and the like.

프로세싱 유닛(11)에 의해 로드되어 실행되는, 오퍼레이팅 시스템(13b), 하나 이상의 애플리케이션 프로그램(13c), 기타 프로그램 모듈(13d), 및 프로그램 데이터(13c)를 포함하는 하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 수단은 하드디스크(15), 자기디스크(16), 광디스크(17), ROM(12a) 또는 RAM(12b)에 저장될 수 있다. A program including an operating system 13b, one or more application programs 13c, other program modules 13d, and one or more program modules including program data 13c, loaded and executed by the processing unit 11 The code means may be stored in the hard disk 15, the magnetic disk 16, the optical disk 17, the ROM 12a or the RAM 12b.

아울러, 상기 컴퓨팅 시스템은, 키보드, 포인팅 장치, 마이크로폰, 조이 스틱, 게임 패드, 스캐너, 등과 같은 기타 입력 장치(22)를 통해 사용자로부터 명령 및 정보를 입력 받을 수 있다. 또한 카메라 모듈과 같은 이미지 입력 센서를 통해 촬영되고 있는 이미지를 입력 받을 수 있다. 이들 입력 장치(22)는 시스템 버스(10)에 연결된 입출력 인터페이스(24)를 통해 프로세싱 유닛(11)에 접속될 수 있다. 입출력 인터페이스(24)는 예를 들면, 직렬 포트 인터페이스, PS/2 인터페이스, 병렬 포트 인터페이스, USB 인터페이스, IEEE(Institute of Electrical and Electronics Engineers) 1394 인터페이스(즉, 파이어와이어(FireWire) 인터페이스)와 같은 매우 다양한 서로 다른 인터페이스 중 임의의 것을 논리적으로 나타내거나, 다른 인터페이스의 조합까지도 논리적으로 나타낼 수 있다. In addition, the computing system may receive commands and information from a user through other input devices 22 such as a keyboard, a pointing device, a microphone, a joy stick, a game pad, a scanner, and the like. Also, an image being photographed may be input through an image input sensor such as a camera module. These input devices 22 may be connected to the processing unit 11 through an input/output interface 24 connected to the system bus 10. The input/output interface 24 is, for example, a serial port interface, a PS/2 interface, a parallel port interface, a USB interface, an Institute of Electrical and Electronics Engineers (IEEE) 1394 interface (i.e., a FireWire interface). Any of a variety of different interfaces may be logically represented, or even a combination of different interfaces may be represented logically.

또한, 본 발명의 실시예에 따른 컴퓨팅 장치는 모니터 혹은 LCD와 같은 디스플레이 장치(26) 또는 스피커나 마이크로폰과 같은 오디오 장치(27)를 더 포함할 수 있다. 이들(26, 27)은 비디오/오디오 인터페이스(25)를 통해서 시스템 버스(10)에 접속된다. 예를 들면, 스피커 및 프린터 등의 도시되지 않은 기타 주변 출력 장치가 컴퓨팅 장치에 또한 접속될 수 있다. 비디오/오디오 인터페이스부(25)는 HDMI(High Definition Multimedia Interface), GDI(Graphics Device Interface) 등을 포함할 수 있다. In addition, the computing device according to an embodiment of the present invention may further include a display device 26 such as a monitor or LCD, or an audio device 27 such as a speaker or a microphone. These 26 and 27 are connected to the system bus 10 via a video/audio interface 25. Other peripheral output devices not shown, such as speakers and printers, for example, may also be connected to the computing device. The video/audio interface unit 25 may include a High Definition Multimedia Interface (HDMI), Graphics Device Interface (GDI), or the like.

또한, 본 발명을 실행하는 컴퓨팅 장치는 예를 들면, 사무실-광역 또는 기업-광역 컴퓨터 네트워크, 홈 네트워크, 인트라넷, 및/또는 인터넷과 같은 네트워크에 접속 가능하다. 컴퓨팅 장치는 이러한 네트워크를 통해, 예를 들면, 원격 컴퓨터 시스템, 원격 애플리케이션, 및/또는 원격 데이터베이스와 같은 외부 소스들과의 데이터를 교환할 수 있다. 이를 위해 본 발명이 적용되는 컴퓨팅 장치는 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송하는 네트워크 인터페이스(27)를 포함한다. In addition, the computing device implementing the present invention is capable of accessing a network such as, for example, an office-wide area or enterprise-wide area computer network, a home network, an intranet, and/or the Internet. The computing device can exchange data with external sources such as, for example, a remote computer system, a remote application, and/or a remote database, via such a network. To this end, the computing device to which the present invention is applied includes a network interface 27 for receiving data from an external source and/or transmitting data to an external source.

본 발명의 실시예에 따른 컴퓨팅 장치는 네트워크 인터페이스(28)를 통해서 원격지에 위치한 장치와 정보를 송수신할 수 있다. The computing device according to the embodiment of the present invention may transmit and receive information to and from a device located at a remote location through the network interface 28.

네트워크 인터페이스(28)는 예를 들면, 네트워크 인터페이스 카드 및 대응하는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: "NDIS") 스택과 같은 하나 이상의 소프트웨어 및/또는 하드웨어 모듈의 논리적 조합으로 나타낼 수 있다. The network interface 28 may be represented as a logical combination of one or more software and/or hardware modules, such as, for example, a network interface card and a corresponding Network Driver Interface Specification ("NDIS") stack.

마찬가지로, 컴퓨팅 장치는 입출력 인터페이스(24)를 통해 외부 소스로부터 데이터를 수신하거나 외부 소스로 데이터를 전송한다. 입출력 인터페이스(24)는 모뎀(23)(예를 들면, 표준 모뎀, 케이블 모뎀, 또는 디지털 가입자선(digital subscriber line: "DSL") 모뎀)에 연결될 수 있으며, 이러한 모뎀(23)을 통해 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송할 수 있다. Similarly, the computing device receives data from an external source or transmits data to an external source through the input/output interface 24. The input/output interface 24 may be connected to a modem 23 (eg, a standard modem, a cable modem, or a digital subscriber line (“DSL”) modem), through which an external source It may receive data from and/or transmit data to an external source.

도 1은 본 발명에 적절한 오퍼레이팅 환경을 나타내지만, 본 발명의 원리는, 필요하다면 적절한 수정으로, 본 발명의 원리를 구현할 수 있는 임의의 시스템에 채용될 수 있다. 도 1에 도시된 환경은 단지 예시적이며 본 발명의 원리가 구현될 수 있는 매우 다양한 환경의 작은 일부도 나타내지 못한다. Although Fig. 1 shows an operating environment suitable for the present invention, the principles of the present invention may be employed in any system capable of implementing the principles of the present invention, with suitable modifications, if necessary. The environment shown in FIG. 1 is exemplary only and does not represent a small portion of the very diverse environments in which the principles of the present invention may be implemented.

아울러, 본 발명의 실시예에 따라 발생되는 다양한 정보는 컴퓨팅 장치에 관련된 임의의 컴퓨터 판독가능 매체에 저장되고 액세스될 수 있다. 예를 들면, 이러한 프로그램 모듈들의 일부 및 관련 프로그램 데이터의 일부는, 시스템 메모리(12)에 저장하기 위해, 오퍼레이팅 시스템(13b), 애플리케이션 프로그램(13c), 프로그램 모듈(13d), 및/또는 프로그램 데이터(13e)에 포함될 수 있다.In addition, various information generated according to embodiments of the present invention may be stored and accessed on any computer-readable medium related to the computing device. For example, some of these program modules and some of the associated program data, in order to store in the system memory 12, the operating system 13b, the application program 13c, the program module 13d, and/or program data. It may be included in (13e).

또한, 하드 디스크와 같은 대용량(mass) 저장 장치가 컴퓨팅 시스템에 연결되면, 이러한 프로그램 모듈 및 관련 프로그램 데이터는 대용량 저장 장치에 저장될 수 있다. 네트워크 환경에서, 본 발명과 관련된 프로그램 모듈 또는 그 일부는 입출력 인터페이스(24)의 모뎀(23) 또는 네트워크 인터페이스(28)를 통해 연결된 원격 컴퓨터 시스템, 예를 들어, 클라우드 서버 혹은 분산형 서버의 컴퓨팅 시스템에 관련된 시스템 메모리 및/또는 대용량 저장 장치와 같은 원격 메모리 저장 장치에 저장될 수 있다. 이러한 모듈의 실행은 전술한 바와 같이 분산형 환경에서 수행될 수 있다. Further, when a mass storage device such as a hard disk is connected to the computing system, such program modules and related program data may be stored in the mass storage device. In a network environment, the program module related to the present invention or a part thereof is a remote computer system connected through the modem 23 of the input/output interface 24 or the network interface 28, for example, a computing system of a cloud server or a distributed server. It may be stored in a remote memory storage device such as a system memory and/or mass storage device associated with it. Execution of these modules may be performed in a distributed environment as described above.

다음으로, 보다 자세히, 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치에 대해서 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치를 설명하기 위한 블록도이다. Next, in more detail, an apparatus for detecting and preventing ransomware behavior using a camouflage process according to an embodiment of the present invention will be described. 2 is a block diagram illustrating an apparatus for detecting and preventing ransomware behavior using a camouflage process according to an embodiment of the present invention.

도 2를 참조하면, 프로세싱 유닛(11)은 위장프로그램생성모듈(100), 화이트프로그램DB생성모듈(200) 및 위장프로그램감시모듈(300)을 포함한다. 본 발명의 실시예에서 위장프로그램생성모듈(100), 화이트프로그램DB생성모듈(200) 및 위장프로그램감시모듈(300)은 프로세서 상에서 동작하는 개별 아키텍처와 같은 하드웨어로 설명될 것이지만, 본 발명을 이에 한정하는 것은 아니다. 즉, 본 발명의 다른 견지에 따르면, 위장프로그램생성모듈(100), 화이트프로그램DB생성모듈(200) 및 위장프로그램감시모듈(300)은 프로세싱 유닛(11)에 로드되어 실행되는 소프트웨어일 수 있다. 혹은, 위장프로그램생성모듈(100), 화이트프로그램DB생성모듈(200) 및 위장프로그램감시모듈(300)은 하드웨어와 소프트웨어의 조합으로 구현될 수도 있다. 2, the processing unit 11 includes a camouflage program generation module 100, a white program DB generation module 200, and a camouflage program monitoring module 300. In the embodiment of the present invention, the camouflage program generation module 100, the white program DB generation module 200, and the camouflage program monitoring module 300 will be described as hardware such as individual architectures operating on a processor, but the present invention is limited thereto. Is not. That is, according to another aspect of the present invention, the camouflage program generation module 100, the white program DB generation module 200, and the camouflage program monitoring module 300 may be software loaded and executed in the processing unit 11. Alternatively, the camouflage program generation module 100, the white program DB generation module 200, and the camouflage program monitoring module 300 may be implemented as a combination of hardware and software.

위장프로그램생성모듈(100)은 위장프로그램을 생성하고, 이를 실행시킨다. 일 실시예에 따르면, 위장프로그램생성모듈(100)은 사용자의 설정에 따라 사용자가 지정한 폴더에 위장프로그램 파일을 생성하고, 이를 실행시킬 수 있다. 다른 실시예에 따르면, 위장프로그램생성모듈(100)은 랜덤 이름의 폴더를 자동으로 생성한 후, 생성된 폴더에 위장프로그램을 생성하고, 이를 실행시킬 수 있다. 또한, 위장프로그램생성모듈(100)은 실행된 위장프로그램의 전체 경로가 포함된 위장프로그램 어드레스 정보를 암호화여 파일(DB)로 저장한다. 바람직하게, 위장프로그램생성모듈(100)은 위장프로그램의 전체 경로가 포함된 위장프로그램 어드레스 정보를 위장프로그램감시모듈(300)이 동작하는 폴더에 암호화하여 저장한다. 여기서, 위장프로그램 어드레스 정보를 암호화하는 것은 감시 설정에 대한 정보를 불필요하게 노출하지 않게 하기 위한 것이다. 위장프로그램생성모듈(100)은 위장프로그램을 실행시킨 후, 위장프로그램과 별도로 위장프로그램감시모듈(300)을 실행시킬 수 있다. The camouflage program generation module 100 generates a camouflage program and executes it. According to an embodiment, the camouflage program generation module 100 may generate and execute a camouflage program file in a folder designated by the user according to the user's setting. According to another embodiment, the camouflage program generation module 100 may automatically generate a folder with a random name, then generate a camouflage program in the created folder, and execute it. In addition, the camouflage program generation module 100 encrypts and stores the camouflage program address information including the full path of the executed camouflage program as a file (DB). Preferably, the camouflage program generation module 100 encrypts and stores the camouflage program address information including the full path of the camouflage program in a folder in which the camouflage program monitoring module 300 operates. Here, the encryption of the spoofing program address information is to prevent unnecessary exposure of information on monitoring settings. The camouflage program generation module 100 may execute the camouflage program and then execute the camouflage program monitoring module 300 separately from the camouflage program.

화이트프로그램DB생성모듈(200)은 화이트프로그램을 설정하기 위한 것이다. 즉, 화이트프로그램DB생성모듈(200)은 화이트프로그램을 선택하고, 선택된 화이트프로그램에 대한 식별정보를 포함하는 화이트프로그램 데이터베이스를 구성한다. 화이트프로그램DB생성모듈(200)은 윈도우 시스템 파일과 백신 프로그램을 검색하여 화이트프로그램 데이터베이스에 포함시킬 수 있다. 또한, 화이트프로그램DB생성모듈(200)은 사용자에 의해 선택된 프로그램을 화이트프로그램 데이터베이스에 포함시킬 수 있다. 화이트프로그램DB생성모듈(200)은 화이트프로그램 데이터베이스를 프로그램감시모듈(300)이 동작하는 폴더에 암호화하여 저장한다. The white program DB generation module 200 is for setting a white program. That is, the white program DB generation module 200 selects a white program and configures a white program database including identification information for the selected white program. The white program DB generation module 200 may search for a window system file and a vaccine program and include it in the white program database. In addition, the white program DB generation module 200 may include a program selected by a user in the white program database. The white program DB generation module 200 encrypts and stores the white program database in a folder in which the program monitoring module 300 operates.

위장프로그램감시모듈(300)은 위장프로그램을 비롯한 실행되는 모든 프로그램을 모니터링하기 위한 것이다. 위장프로그램감시모듈(300)은 위장프로그램과 별개로 위장프로그램생성모듈(100)에 의해 실행된다. 실행된 위장프로그램감시모듈(300)은 위장프로그램을 비롯한 실행되는 모든 프로그램을 모니터링한다. 모니터링에 따라, 위장프로그램감시모듈(300)은 프로세스 종료 함수를 후킹하며 OS에서 발생하는 모든 프로그램에 대한 종료 이벤트를 모니터링한다. 특히, 위장프로그램감시모듈(300)은 위장프로그램을 모니터링하여 위장프로그램에 대한 종료를 시도하는 프로그램을 검출하기 위한 것이다. 이를 위하여, 위장프로그램감시모듈(300)은 위장프로그램의 프로세스 종료 함수를 후킹(hooking)하여 위장프로그램에 대한 종료를 시도하는 프로그램을 검출할 수 있다. 위장프로그램감시모듈(300)은 위장프로그램의 프로세스 종료 함수를 후킹하며, 위장프로그램의 종료 이벤트가 발생되면, 후킹된 코드가 동작하여 위장프로그램에 대한 종료를 시도하는 프로그램을 검출한다. 예컨대, 위장프로그램의 프로세스 종료 함수에 삽입된 후킹 코드, 즉, 후킹된 코드는 프로세스 종료 함수를 호출하는 프로그램을 검출하는 것이 될 수 있다. 따라서 즉, 위장프로그램의 종료 이벤트가 발생하면, 위장프로그램의 프로세스 종료 함수가 호출되며, 위장프로그램의 프로세스 종료 함수에 삽입된 후킹 코드는 위장프로그램의 프로세스 종료 함수를 호출하는 프로그램을 검출할 수 있다. The camouflage program monitoring module 300 is for monitoring all programs to be executed including the camouflage program. The camouflage program monitoring module 300 is executed by the camouflage program generation module 100 separately from the camouflage program. The executed camouflage program monitoring module 300 monitors all programs to be executed including the camouflage program. According to the monitoring, the camouflage program monitoring module 300 hooks the process termination function and monitors termination events for all programs occurring in the OS. In particular, the camouflage program monitoring module 300 is for monitoring a camouflage program to detect a program that attempts to terminate the camouflage program. To this end, the camouflage program monitoring module 300 may detect a program that attempts to terminate the camouflage program by hooking a process termination function of the camouflage program. The camouflage program monitoring module 300 hooks the process termination function of the camouflage program, and when an end event of the camouflage program occurs, the hooked code operates to detect a program that attempts to terminate the camouflage program. For example, the hooking code inserted into the process termination function of the disguised program, that is, the hooked code may detect a program that calls the process termination function. Therefore, when an event to terminate the disguise program occurs, the process termination function of the disguise program is called, and the hooking code inserted into the process termination function of the disguise program can detect a program that calls the process termination function of the disguise program.

위장프로그램감시모듈(300)은 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되면, 검출된 프로그램을 랜섬웨어로 판단할 수 있다. 하지만, 검출된 프로그램이 화이트프로그램 데이터베이스에 포함된 프로그램인 경우, 검출된 프로그램을 랜섬웨어가 아닌 정상 프로그램으로 판단하고, 검출된 프로그램에 대한 격리 프로세스를 중단한다. 만약, 위장프로그램감시모듈(300)은 위장프로그램에 대한 종료를 시도하였으며, 화이트프로그램 데이터베이스에 포함된 프로그램이 아닌 경우, 검출된 프로그램을 랜섬웨어로 판단한다. 이어서, 위장프로그램감시모듈(300)은 랜섬웨어로 판단된 프로그램을 종료시킨 후, 격리시킨다. 그리고 위장프로그램감시모듈(300)은 격리된 프로그램에 대해 이력 로그 파일을 생성하여 저장한다. When a program attempting to terminate the camouflage program is detected, the camouflage program monitoring module 300 may determine the detected program as ransomware. However, if the detected program is a program included in the white program database, the detected program is determined as a normal program, not ransomware, and the quarantine process for the detected program is stopped. If the camouflage program monitoring module 300 attempts to terminate the camouflage program, and it is not a program included in the white program database, it determines the detected program as ransomware. Subsequently, the camouflage program monitoring module 300 terminates and isolates the program determined to be ransomware. In addition, the camouflage program monitoring module 300 creates and stores a history log file for the isolated program.

다음으로, 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 방법에 대해서 설명하기로 한다. 랜섬웨어 행위 탐지 및 방지 방법은 위장 프로세스를 실행하고, 위장 프로세스를 매개로 랜섬웨어 행위를 탐지하고, 랜섬 행위를 방지하는 순서로 이루어진다. Next, a method of detecting and preventing ransomware behavior using a camouflage process according to an embodiment of the present invention will be described. Ransomware behavior detection and prevention methods consist of executing a camouflage process, detecting ransomware behavior through the camouflage process, and preventing ransomware behavior.

먼저, 본 발명의 실시예에 따른 위장 프로세스를 실행하는 방법에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 위장 프로세스를 실행하는 방법을 설명하기 위한 흐름도이다. First, a method of executing a camouflage process according to an embodiment of the present invention will be described. 3 is a flowchart illustrating a method of executing a camouflage process according to an embodiment of the present invention.

도 3을 참조하면, 위장프로그램생성모듈(100)은 S110 단계에서 위장프로그램을 생성한다. 일 실시예에 따르면, 위장프로그램생성모듈(100)은 사용자의 설정에 따라 사용자가 지정한 폴더에 위장프로그램을 생성할 수 있다. 다른 실시예에 따르면, 위장프로그램생성모듈(100)은 랜덤 이름의 폴더를 자동으로 생성한 후, 생성된 폴더에 위장프로그램을 생성할 수 있다. 여기서, 위장프로그램생성모듈(100)은 위장프로그램을 생성한 후, 위장프로그램의 전체 경로가 포함된 위장프로그램 어드레스 정보를 위장프로그램감시모듈(300)의 폴더에 암호화하여 저장한다. Referring to Figure 3, the camouflage program generation module 100 generates a camouflage program in step S110. According to an embodiment, the camouflage program generation module 100 may generate a camouflage program in a folder designated by the user according to the user's setting. According to another embodiment, the camouflage program generation module 100 may automatically generate a folder with a random name and then generate a camouflage program in the created folder. Here, after the camouflage program generation module 100 generates the camouflage program, the camouflage program address information including the full path of the camouflage program is encrypted and stored in a folder of the camouflage program monitoring module 300.

위장프로그램이 생성된 후, 화이트프로그램DB생성모듈(200)은 S120 단계에서 화이트프로그램을 선택하고, 선택된 화이트프로그램에 대한 식별정보를 포함하는 화이트프로그램 데이터베이스를 구성한다. 일 실시예에 따르면, 화이트프로그램DB생성모듈(200)은 윈도우 시스템 파일과 백신 프로그램을 검색하여 화이트프로그램 데이터베이스에 포함시킬 수 있다. 또한, 다른 실시예에 따르면, 화이트프로그램DB생성모듈(200)은 사용자에 의해 선택된 프로그램을 화이트프로그램 데이터베이스에 포함시킬 수 있다. 이때, 화이트프로그램DB생성모듈(200)은 화이트프로그램 데이터베이스를 프로그램감시모듈(300)이 동작하는 폴더에 암호화하여 저장할 수 있다. After the camouflage program is generated, the white program DB generation module 200 selects a white program in step S120 and constructs a white program database including identification information for the selected white program. According to an embodiment, the white program DB generation module 200 may search for a window system file and a vaccine program and include it in the white program database. Also, according to another embodiment, the white program DB generation module 200 may include a program selected by a user in the white program database. In this case, the white program DB generation module 200 may encrypt and store the white program database in a folder in which the program monitoring module 300 operates.

다음으로, 위장프로그램생성모듈(100)은 S130 단계에서 앞서(S110) 생성된 위장프로그램을 실행시킨다. Next, the camouflage program generation module 100 executes the camouflage program created earlier (S110) in step S130.

다음으로, 위장프로그램생성모듈(100)은 S140 단계에서 앞서 실행시킨 위장프로그램과 별개로 위장프로그램감시모듈(300)을 실행시킨다. 실행된 위장프로그램감시모듈(300)은 위장프로그램을 비롯한 OS에서 실행되는 모든 프로그램을 모니터링한다. Next, the camouflage program generation module 100 executes the camouflage program monitoring module 300 separately from the camouflage program previously executed in step S140. The executed camouflage program monitoring module 300 monitors all programs executed in the OS including the camouflage program.

그러면, 다음으로, 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 방법에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 방법을 설명하기 위한 흐름도이다. Next, a method of detecting and preventing ransomware behavior using a camouflage process according to an embodiment of the present invention will be described. 4 is a flowchart illustrating a method of detecting and preventing ransomware behavior using a camouflage process according to an embodiment of the present invention.

도 4를 참조하면, 위장프로그램이 실행된 후, 프로세싱 유닛(11)에 위장프로그램생성모듈(100)에 의해 위장프로그램감시모듈(300)이 로드되어 실행되며(S140), 위장프로그램감시모듈(300)은 S210 단계에서 위장프로그램을 비롯한 실행되는 모든 프로그램에 대해 모니터링을 시작한다. 모니터링에 따라, 위장프로그램감시모듈(300)은 프로세스 종료 함수를 후킹하며 OS에서 발생하는 모든 프로그램에 대한 종료 이벤트를 모니터링 한다. 4, after the camouflage program is executed, the camouflage program monitoring module 300 is loaded and executed by the camouflage program generation module 100 in the processing unit 11 (S140), and the camouflage program monitoring module 300 ) Starts monitoring all programs that are executed including the camouflage program in step S210. According to the monitoring, the camouflage program monitoring module 300 hooks the process termination function and monitors termination events for all programs occurring in the OS.

위장프로그램감시모듈(300)은 S220 단계에서 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되는지 여부를 판단한다. 위장프로그램감시모듈(300)은 위장프로그램의 프로세스 종료 함수를 후킹하며, 위장프로그램의 종료 이벤트가 발생되어 위장프로그램의 프로세스 종료 함수가 호출되면, 위장프로그램의 프로세스 종료 함수에 삽입된 후킹 코드가 동작하여 위장프로그램에 대한 종료를 시도하는 프로그램, 즉, 위장프로그램의 프로세스 종료 함수를 호출한 프로그램을 검출할 수 있다. The camouflage program monitoring module 300 determines whether a program attempting to end the camouflage program is detected in step S220. The camouflage program monitoring module 300 hooks the process termination function of the camouflage program, and when the process termination function of the camouflage program is called when the end event of the camouflage program occurs, the hooking code inserted into the process termination function of the camouflage program operates. It is possible to detect a program that attempts to terminate the disguised program, that is, a program that called the process termination function of the disguised program.

따라서 S220 단계에서 위장프로그램에 대한 종료를 시도하는 프로그램이 검출되면, 위장프로그램감시모듈(300)은 S230 단계로 진행하여 검출된 프로그램이 화이트프로그램 데이터베이스에 포함된 프로그램인지 여부를 판단한다. Therefore, when a program attempting to end the camouflage program is detected in step S220, the camouflage program monitoring module 300 proceeds to step S230 to determine whether the detected program is a program included in the white program database.

S230 단계의 판단 결과, 검출된 프로그램이 화이트프로그램 데이터베이스에 포함된 프로그램이면, 위장프로그램감시모듈(300)은 검출된 프로그램이 랜섬웨어가 아닌 정상 프로그램, 즉, 화이트프로그램인 것으로 판단하고, S260 단계로 진행하여 해당 프로세스, 즉, 검출된 프로그램에 대한 격리 프로세스를 중단한다. As a result of the determination in step S230, if the detected program is a program included in the white program database, the camouflage program monitoring module 300 determines that the detected program is a normal program, that is, a white program, not ransomware, and proceeds to step S260. Go ahead and stop the process, that is, the quarantine process for the detected program.

반면, S230 단계의 판단 결과, 검출된 프로그램이 화이트프로그램 데이터베이스에 포함된 프로그램이 아니면, 위장프로그램감시모듈(300)은 검출된 프로그램이 랜섬웨어로 판단하고, S240 단계로 진행한다. On the other hand, as a result of the determination in step S230, if the detected program is not a program included in the white program database, the camouflage program monitoring module 300 determines that the detected program is ransomware, and proceeds to step S240.

위장프로그램감시모듈(300)은 S240 단계에서 검출된 프로그램, 즉, 랜섬웨어를 종료시킨 후, 격리한다. 그런 다음, 위장프로그램감시모듈(300)은 S250 단계에서 격리된 프로그램, 즉, 랜섬웨어로 판단된 프로그램에 대해 이력 로그 파일을 생성하고, 해당 이력 로그 파일을 저장한다. The camouflage program monitoring module 300 terminates and isolates the program detected in step S240, that is, ransomware. Then, the camouflage program monitoring module 300 generates a history log file for a program isolated in step S250, that is, a program determined as ransomware, and stores the corresponding history log file.

전술한 바와 같이, 본 발명은 랜섬웨어가 암호화 행위를 하기 전 데이터를 관리하는 응용프로그램들을 일제히 종료하는 점에 착안하여, 응용프로그램으로 위장한 프로그램, 즉, 위장프로그램을 실행시킨 후, 위장프로그램의 종료를 시도하는 프로그램을 검출하여, 그 프로그램을 차단하고, 종료시킴으로써 이후에 수행되는 램섬 행위를 사전에 방어할 수 있다. 더욱이, 본 발명은 검출된 프로그램이 시스템 모듈, 백신 등과 같은 정상적인 프로그램일 수 있기 때문에, 화이트프로그램 데이터베이스를 통해 이러한 오인 탐지를 방지한다. As described above, the present invention focuses on the fact that the ransomware terminates the application programs that manage data at once before performing encryption, and executes a program disguised as an application program, that is, the disguised program, and then terminates the disguised program. By detecting a program that attempts to do so, blocking the program, and terminating the program, it is possible to prevent the ramsum behavior performed later. Moreover, in the present invention, since the detected program may be a normal program such as a system module, a vaccine, etc., such false detection is prevented through a white program database.

한편, 앞서 설명된 본 발명의 실시예에 따른 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. Meanwhile, the ransomware behavior detection and prevention method using the camouflage process according to the embodiment of the present invention described above may be implemented in the form of a program that can be read through various computer means and recorded in a computer-readable recording medium. Here, the recording medium may include a program command, a data file, a data structure, or the like alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. For example, the recording medium includes magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic-optical media such as floptical disks ( magneto-optical media), and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include not only machine language wires such as those made by a compiler, but also high-level language wires that can be executed by a computer using an interpreter or the like. These hardware devices may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다. The present invention has been described above using several preferred embodiments, but these embodiments are illustrative and not limiting. As such, those of ordinary skill in the art to which the present invention pertains will understand that various changes and modifications can be made according to the equivalence theory without departing from the spirit of the present invention and the scope of the rights presented in the appended claims.

100: 위장프로그램생성모듈
200: 화이트프로그램DB생성모듈
300: 위장프로그램감시모듈
100: camouflage program generation module
200: White program DB generation module
300: camouflage program monitoring module

Claims (19)

랜섬웨어 행위 탐지 및 방지 장치에 있어서,
위장프로그램을 생성하여 실행시키는 위장프로그램생성모듈;
화이트프로그램을 선택하고, 선택된 화이트프로그램에 대한 식별정보를 포함하는 화이트프로그램 데이터베이스를 구성하는 화이트프로그램DB생성모듈; 및
상기 위장프로그램의 프로세스 종료 함수가 호출되면 상기 위장프로그램의 프로세스 종료 함수에 삽입된 후킹 코드를 통해 상기 위장프로그램에 대한 종료를 시도하는 프로그램을 검출하고, 상기 검출된 프로그램이 상기 화이트프로그램 데이터베이스에 포함된 프로그램인지 여부를 판단하고, 판단 결과 상기 검출된 프로그램이 상기 화이트프로그램 데이터베이스에 포함된 프로그램이 아니면 상기 검출된 프로그램을 랜섬웨어로 판단하여, 상기 검출된 프로그램을 종료 및 격리시키는 위장프로그램감시모듈;을 포함하는 것을 특징으로 하는,
랜섬웨어 행위 탐지 및 방지 장치.
In the ransomware behavior detection and prevention device,
A camouflage program generation module for generating and executing a camouflage program;
A white program DB generation module for selecting a white program and configuring a white program database including identification information for the selected white program; And
When the process termination function of the camouflage program is called, a program that attempts to terminate the camouflage program is detected through a hooking code inserted into the process termination function of the camouflage program, and the detected program is included in the white program database. A camouflage program monitoring module configured to determine whether the program is a program, and if the detected program is not a program included in the white program database, determine the detected program as ransomware, and terminate and isolate the detected program; Characterized in that it comprises,
Ransomware behavior detection and prevention device.
삭제delete 삭제delete 제1항에 있어서,
상기 화이트프로그램DB생성모듈은
윈도우 시스템 파일과 백신 프로그램을 검색하여 상기 화이트프로그램 데이터베이스에 포함시키는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 장치.
The method of claim 1,
The white program DB generation module
Searching for a window system file and an antivirus program and including it in the white program database
Ransomware behavior detection and prevention device.
제1항에 있어서,
상기 화이트프로그램DB생성모듈은
사용자에 의해 선택된 프로그램을 상기 화이트프로그램 데이터베이스에 포함시키는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 장치.
The method of claim 1,
The white program DB generation module
Including the program selected by the user in the white program database
Ransomware behavior detection and prevention device.
제1항에 있어서,
상기 위장프로그램생성모듈은
상기 위장프로그램을 생성한 후, 상기 위장프로그램의 전체 경로가 포함된 정보를 암호화여 저장하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 장치.
The method of claim 1,
The camouflage program generation module
After generating the camouflage program, the information including the entire path of the camouflage program is encrypted and stored.
Ransomware behavior detection and prevention device.
제6항에 있어서,
상기 위장프로그램생성모듈은
랜덤 이름의 폴더를 자동으로 생성한 후, 생성된 폴더에 위장프로그램을 생성하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 장치.
The method of claim 6,
The camouflage program generation module
After automatically creating a folder with a random name, a camouflage program is created in the created folder.
Ransomware behavior detection and prevention device.
제6항에 있어서,
상기 위장프로그램생성모듈은
사용자의 설정에 따라 사용자가 지정한 폴더에 위장프로그램 파일을 생성하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 장치.
The method of claim 6,
The camouflage program generation module
Characterized in that the camouflage program file is created in a folder designated by the user according to the user's settings.
Ransomware behavior detection and prevention device.
제1항에 있어서,
상기 위장프로그램감시모듈은
랜섬웨어로 판단된 프로그램에 대해 이력 로그 파일을 생성하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 장치.
The method of claim 1,
The camouflage program monitoring module
Characterized in that it creates a history log file for a program determined as ransomware
Ransomware behavior detection and prevention device.
랜섬웨어 행위 탐지 및 방지 방법에 있어서,
위장프로그램생성모듈이 위장프로그램을 생성하여 실행시키는 단계;
화이트프로그램DB생성모듈이 화이트프로그램에 대한 식별정보를 포함하는 화이트프로그램 데이터베이스를 구성하는 단계;
위장프로그램감시모듈이 상기 위장프로그램의 프로세스 종료 함수가 호출되면 상기 위장프로그램의 프로세스 종료 함수에 삽입된 후킹 코드를 통해 상기 위장프로그램에 대한 종료를 시도하는 프로그램을 검출하는 단계;
상기 위장프로그램에 대한 종료 함수를 호출하는 프로그램이 검출되면, 상기 위장프로그램감시모듈이 상기 검출된 프로그램이 상기 화이트프로그램 데이터베이스에 포함된 프로그램인지 여부를 판단하는 단계; 및
상기 판단 결과, 상기 검출된 프로그램이 상기 화이트프로그램 데이터베이스에 포함된 프로그램이 아니면, 위장프로그램감시모듈은 상기 검출된 프로그램을 랜섬웨어로 판단하고, 상기 검출된 프로그램을 종료시킨 후, 격리하는 단계;를 포함하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 방법.
In the ransomware behavior detection and prevention method,
Creating and executing the camouflage program by the camouflage program generation module;
Configuring, by the white program DB generation module, a white program database including identification information on the white program;
Detecting, by the spoofing program monitoring module, a program that attempts to terminate the spoofing program through a hooking code inserted in the process termination function of the spoofing program when the process termination function of the spoofing program is called;
Determining, by the camouflage program monitoring module, whether the detected program is a program included in the white program database when a program that calls an end function for the camouflage program is detected; And
As a result of the determination, if the detected program is not a program included in the white program database, the camouflage program monitoring module determines the detected program as ransomware, terminates the detected program, and isolates the detected program. Characterized in that it comprises
Ransomware behavior detection and prevention methods.
삭제delete 제10항에 있어서,
상기 화이트프로그램 데이터베이스에 포함된 프로그램인지 여부를 판단하는 단계 후,
상기 판단 결과, 상기 검출된 프로그램이 상기 화이트프로그램 데이터베이스에 포함된 프로그램이면, 상기 검출된 프로그램을 정상 프로그램으로 판단하고, 상기 검출된 프로그램에 대한 격리 프로세스를 중단하는 단계;를 더 포함하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 방법.
The method of claim 10,
After the step of determining whether the program is included in the white program database,
As a result of the determination, if the detected program is a program included in the white program database, determining the detected program as a normal program, and stopping the isolation process for the detected program; and further comprising doing
Ransomware behavior detection and prevention methods.
삭제delete 제10항에 있어서,
상기 위장프로그램을 생성하여 실행시키는 단계는
상기 위장프로그램생성모듈이 사용자의 설정에 따라 사용자가 지정한 폴더에 위장프로그램 파일을 생성하거나, 랜덤 이름의 폴더를 자동으로 생성한 후 생성된 폴더에 위장프로그램을 생성하는 단계;를 포함하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 방법.
The method of claim 10,
The step of creating and executing the camouflage program
And generating, by the camouflage program generation module, a camouflage program file in a folder designated by the user according to a user's setting or automatically generating a folder with a random name and then generating a camouflage program in the created folder; doing
Ransomware behavior detection and prevention methods.
제10항에 있어서,
상기 위장프로그램을 생성하여 실행시키는 단계는
상기 위장프로그램생성모듈이 상기 위장프로그램을 생성한 후, 상기 위장프로그램의 전체 경로가 포함된 정보를 암호화여 저장하는 단계;를 포함하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 방법.
The method of claim 10,
The step of creating and executing the camouflage program
And after the camouflage program generation module generates the camouflage program, encrypting and storing information including the entire path of the camouflage program.
Ransomware behavior detection and prevention methods.
제10항에 있어서,
상기 화이트프로그램 데이터베이스를 구성하는 단계는
상기 화이트프로그램DB생성모듈이 윈도우 시스템 파일과 백신 프로그램을 검색하여 상기 화이트프로그램 데이터베이스에 포함시키는 단계;를 포함하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 방법.
The method of claim 10,
The step of configuring the white program database
And including, by the white program DB generation module, searching for a window system file and an anti-virus program and including it in the white program database.
Ransomware behavior detection and prevention methods.
제10항에 있어서,
상기 화이트프로그램 데이터베이스를 구성하는 단계는
상기 화이트프로그램DB생성모듈이 사용자에 의해 선택된 프로그램을 상기 화이트프로그램 데이터베이스에 포함시키는 단계;를 포함하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 방법.
The method of claim 10,
The step of configuring the white program database
And including, by the white program DB generation module, a program selected by a user in the white program database.
Ransomware behavior detection and prevention methods.
제10항에 있어서,
상기 격리하는 단계 후,
상기 위장프로그램감시모듈이 상기 격리된 프로그램에 대해 이력 로그 파일을 생성하는 단계;를 더 포함하는 것을 특징으로 하는
랜섬웨어 행위 탐지 및 방지 방법.
The method of claim 10,
After the isolating step,
The camouflage program monitoring module generating a history log file for the isolated program; characterized in that it further comprises
Ransomware behavior detection and prevention methods.
컴퓨터에 의해 제10항, 제12항, 제14항 내지 제18항 중 어느 한 항에 따른 랜섬웨어 행위 탐지 및 방지 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체. A computer-readable recording medium on which a program for executing the method for detecting and preventing ransomware behavior according to any one of claims 10, 12, 14 to 18 by a computer is recorded.
KR1020180135537A 2018-11-07 2018-11-07 An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method KR102149711B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180135537A KR102149711B1 (en) 2018-11-07 2018-11-07 An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180135537A KR102149711B1 (en) 2018-11-07 2018-11-07 An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method

Publications (2)

Publication Number Publication Date
KR20200052524A KR20200052524A (en) 2020-05-15
KR102149711B1 true KR102149711B1 (en) 2020-08-31

Family

ID=70679116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180135537A KR102149711B1 (en) 2018-11-07 2018-11-07 An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method

Country Status (1)

Country Link
KR (1) KR102149711B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403303B1 (en) * 2021-08-19 2022-05-30 여동균 System for providing user authentication based ransomware encryption blocking service
CN116796308B (en) * 2023-02-03 2024-04-12 安芯网盾(北京)科技有限公司 Method and device for detecting executable program of camouflage process based on Linux kernel

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101086203B1 (en) * 2011-07-15 2011-11-23 에스지에이 주식회사 A proactive system against malicious processes by investigating the process behaviors and the method thereof
KR101869743B1 (en) * 2017-03-14 2018-07-20 주식회사 안랩 Pretecting system and methof for process

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101086203B1 (en) * 2011-07-15 2011-11-23 에스지에이 주식회사 A proactive system against malicious processes by investigating the process behaviors and the method thereof
KR101869743B1 (en) * 2017-03-14 2018-07-20 주식회사 안랩 Pretecting system and methof for process

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mark Russinovich, "RootkitRevealer v1.71", Windows Sysinternals(2017.08.)

Also Published As

Publication number Publication date
KR20200052524A (en) 2020-05-15

Similar Documents

Publication Publication Date Title
US9852289B1 (en) Systems and methods for protecting files from malicious encryption attempts
KR101289581B1 (en) Method and apparatus for secure scan of data storage device from remote server
JP6055574B2 (en) Context-based switching to a secure operating system environment
US9053321B2 (en) Antivirus system and method for removable media devices
US9111089B1 (en) Systems and methods for safely executing programs
JP2018041438A (en) System and method for detecting malicious codes in file
US9516056B2 (en) Detecting a malware process
US10783041B2 (en) Backup and recovery of data files using hard links
JP7144642B2 (en) Behavior-based VM resource capture for forensics
WO2014071867A1 (en) Program processing method and system, and client and server for program processing
US9411947B2 (en) Method for managing security of a data processing system with configurable security restrictions
US20130036431A1 (en) Constraining Execution of Specified Device Drivers
JP2010182196A (en) Information processing apparatus and file verification system
CN109997138B (en) System and method for detecting malicious processes on a computing device
US20180026986A1 (en) Data loss prevention system and data loss prevention method
US10339307B2 (en) Intrusion detection system in a device comprising a first operating system and a second operating system
US9202053B1 (en) MBR infection detection using emulation
KR102149711B1 (en) An apparatus for detecting and preventing ransom-ware behavior using camouflage process, a method thereof and computer recordable medium storing program to perform the method
US9967263B2 (en) File security management apparatus and management method for system protection
US8572742B1 (en) Detecting and repairing master boot record infections
JP7353346B2 (en) Systems and methods for preventing the injection of malicious processes into software
WO2022170966A1 (en) Method and apparatus for launching application program on target platform
US11277436B1 (en) Identifying and mitigating harm from malicious network connections by a container
CN116506222B (en) Safety protection system
US9280666B2 (en) Method and electronic device for protecting data

Legal Events

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