WO2018164503A1 - 상황 인식 기반의 랜섬웨어 탐지 - Google Patents

상황 인식 기반의 랜섬웨어 탐지 Download PDF

Info

Publication number
WO2018164503A1
WO2018164503A1 PCT/KR2018/002758 KR2018002758W WO2018164503A1 WO 2018164503 A1 WO2018164503 A1 WO 2018164503A1 KR 2018002758 W KR2018002758 W KR 2018002758W WO 2018164503 A1 WO2018164503 A1 WO 2018164503A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
target file
change
malicious code
log
Prior art date
Application number
PCT/KR2018/002758
Other languages
English (en)
French (fr)
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 주식회사 체크멀
Publication of WO2018164503A1 publication Critical patent/WO2018164503A1/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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • 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/602Providing cryptographic facilities or services

Definitions

  • This specification relates to ransomware detection based on context awareness.
  • Some malicious programs have a direct goal of damaging users or organizations of electronic devices by deleting or altering files or information.However, recent malicious programs encrypt files on the system and do so after the attacker receives the payment from the victim. There is a form of decoding.
  • the present disclosure discloses a method of determining whether a program installed in a computing device is malicious code, and restoring it without damaging it if determined to be malicious code.
  • a method of protecting a system includes storing a log of a prior act of a process executed on a system; Detecting that the process intends to change a target file; Determining whether the target file change of the process corresponds to suspicious behavior based at least in part on the log of the prior act; If it is determined that the change of the target file corresponds to suspicious behavior, backing up the target file; Determining whether the process corresponds to malicious code; If it is determined that the process corresponds to malicious code, stopping the execution of the process; Restoring the target file backed up due to the process; And restoring the prior behavior of the process based on the log of the prior behavior.
  • the one embodiment or the other embodiments may include any of the following features.
  • the suspicious behavior corresponds to at least one of a file extension including a file extension in the log of the preliminary behavior, a setting of a program to be linked and executed, a file name change of an encryption mark, a copy of a file generated by the process, and a payment guide. It may be determined based on whether one is included. In addition, whether the process corresponds to malicious code includes file header content, file header structure, content of a body, size of a body, entropy of a body, a file name, and the like, for the target file. The determination may be based on at least one of abnormal changes including a file update time. In addition, whether the process corresponds to a malicious code may be determined based on the abnormal change caused by the process occurring for a specific number of files or more.
  • Whether the process corresponds to a malicious code may be determined based on whether the process performs an operation of encrypting the target file. Also, the process may be ransomware that encrypts the target file using a public key encryption algorithm. In addition, storing a log of the prior behavior of the process may include recording at least a part of a name change, creation, modification, and deletion of a file through a file I / O call of the process. How to protect your system.
  • control unit for executing a mini filter engine for implementing the method.
  • An electronic device including a storage unit for storing a log of prior actions, a target file, and a backup file is disclosed.
  • a distribution server for distributing a program for executing any one of the above methods on a computer is disclosed.
  • blocking and recovery may be performed even for ransomware whose pattern or feature information is unknown in a computing device.
  • ransomware that may be difficult to detect may be detected by a conventional ransomware detection method such as signature-based, bait file-based, and sandbox-based.
  • an attempt to change a file resulting from malicious code of a remote device that may occur within a computing device may be prevented.
  • FIG 1 illustrates an operating environment of an electronic device to which the technology disclosed herein may be applied.
  • FIG 2 illustrates the architecture of an electronic device in which the techniques disclosed herein may be employed.
  • FIG. 3 is a flowchart of a method of protecting a system from malicious processes by a malicious code detection module according to an embodiment disclosed herein.
  • the technology disclosed herein can be applied to system protection devices.
  • the technology disclosed herein is not limited thereto, and may be applied to all electronic devices and methods to which the technical spirit of the technology may be applied.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • FIG 1 illustrates an operating environment of an electronic device to which the technology disclosed herein may be applied.
  • the electronic device 110 may receive and install a malicious program from the distribution server 120 due to carelessness of a user.
  • the distribution server 120 is a device for transmitting a malicious program to a plurality of unspecified devices, for example, a device in the form of a server connected to the Internet for the purpose of providing files such as a web server, a file server, a cloud service, a mail server, and the like. It may be, but is not limited to the specific form of the device may be any type of device that provides a file containing malicious code.
  • a user of the electronic device 110 may transmit a program including a malicious code to the electronic device 110 and install it without the user of the electronic device 110 aware. It may be placed on the distribution server 120 disguised as ordinary programs or data.
  • the electronic device 110 can receive an external program from the distribution server 120 or the like.
  • the external program may be received and installed by a user of, inadvertently executing the attachment, or executing an external program delivered to the electronic device 110 through an auxiliary storage device or a connection device between devices. Can be.
  • the malicious program installed in the electronic device 110 may include malicious code that causes damage to the system.
  • Malicious code may refer to a program that damages files or information stored in storage.
  • the malicious code may be stored in a local storage mounted inside the electronic device 110 or a file stored in an external storage having access to and modified by the electronic device 110. Information can be compromised.
  • ransomware that is installed on the victim device and then runs in the background to encrypt the target files so that the user of the victim device cannot use the target file and decrypts it. To notify you of payment for doing so.
  • a monetary or other paid attacker can provide the victim device with a key and / or tool that can decrypt the encrypted target file.
  • the ransomware may be a malicious program based on an asymmetric encryption algorithm.
  • the malicious program installed in a victim device may use one of asymmetric key pairs generated by an attacker, for example, the public device using a public key.
  • the target file encrypted by the malicious program can be accessed only by a restoration tool having another one of the asymmetric key pairs generated by the attacker, for example, a private key.
  • the system protection techniques disclosed herein can be used to detect malicious programs, which are a type of trapdoor or backdoor program installed on a computer device, and to recover from the damage.
  • the system protection technology disclosed in the present specification may be used to cope with malicious programs in the form of cryptographic trapdoors designed to be accessible only to persons having a specific authority by using an encryption function.
  • the electronic device 110 may access the recovery server 130 to pay an attacker for the encrypted target file or to receive a key or a tool for decrypting the encrypted target file.
  • the malicious program may include access information in the recovery server 130 which the malicious program has to receive a key or a tool for restoring the encrypted file according to the attacker's instructions.
  • Ransomware can contain distinguishable information within malicious code.
  • the distinguishable information includes, for example, access information such as an external URL for later access by the ransomware or system information such as a file name, a registry value, a path, and the like. Therefore, the conventional method of detecting a malicious program is a signature based detection method for detecting the presence of malicious code based on a unique hash of a malicious code part including distinguishable information, and performed by the malicious code.
  • Behavior based detection method to pattern and detect specific behaviors sandbox detection method based on behaviors that appear after executing malicious code in a virtual environment, and other communication information on the network. There are ways to detect malware based on this.
  • the existing malware detection technology detects whether the malicious code is malicious based on the distinguishable information of each malicious code, and the prevention program must build a database of distinguishable information according to each malicious code in advance. This can be detected. Therefore, a method of detecting malicious code based on distinguishable information may cause a problem that a newly appeared malicious program cannot detect due to lack of information about it. That is, in order to cope with new malicious programs that bypass signature information changes, behavior-based rules, metadata, sandboxes, and the like, a prevention program may not be able to detect a database because it cannot establish a database.
  • the system protection techniques disclosed herein can protect a system or files or information accessible from the system from malicious programs.
  • the system protection technology disclosed herein can protect a system from malicious programs designed to block access to a target file using a cryptographic function and to unblock it using only restoration information or tools provided by an attacker. have.
  • the system protection techniques disclosed herein allow a remote attacker to control malware installed on a victim device based on the feature that the asymmetric cryptographic algorithm uses a key pair of different asymmetric keys. It can protect your system from designed malicious program.
  • Ransomware which operates as a cryptographic trapdoor, is characterized by a function that performs a function of encrypting a target file to be decrypted later or for notifying an attacker to pay a decryption price for design purposes. Therefore, unlike the conventional prevention program to block the inflow and installation path of the ransomware, or to detect the malicious activity itself to prevent damage, the electronic device following the exemplary protection technology of the present disclosure is a common preliminary preparation of the ransomware Context awareness based detection may be performed on the target behaviors.
  • an electronic device may track change of a file name for encryption detection after extension bypass bypass, anticipated for design purposes of ransomware, create a self-replicating file, and delete a decryption payment guide file.
  • File creation tracking for tracking, original file backup for recovery of encrypted files before detection, non-encrypted file corruption, normal file modification behavior recognition, creation / modification / overwrite / delete status linkage analysis, process linkage tracking etc. Leave a log of proactive actions of suspicious processes.
  • the system protection techniques disclosed herein may make a preliminary determination of whether a particular process is malicious, based on predicted proactive behavior of malicious programs in the form of cryptographic trapdoors.
  • the electronic device may then perform a rollback of the proactive actions based on a log of the proactive action of the specific process when the specific process is determined to be malicious code. Can be.
  • the electronic device may log a proactive action for a plurality of processes.
  • rollback of proactive actions of each process may be performed.
  • the exemplary protection device may detect whether there is a proactive action on a shared folder to which another device is allowed access and record the proactive action on the folder.
  • a proactive behavior that is predicted as a malicious program occurs from another device
  • a log of the proactive behavior may be recorded based on address information of the other device.
  • it may be blocked based on the address information of the other device.
  • the ransomware 210 installed in the electronic device 200 is a kind of program executed in the user mode of the system.
  • the technology disclosed herein may determine whether the program is a malicious program based on a dictionary behavior of the ransomware 210, an attack on the target file, and other features.
  • File operations of a program installed in the electronic device 200 are performed as follows.
  • a program that is not yet identified as a malicious program may perform a file operation on a file in a file system through the file I / O 230.
  • the program 220 or the ransomware 210 operating in the user mode performs a file operation through the file I / O 230, a corresponding event is transmitted through the I / O manager 240 in the kernel mode.
  • the file system driver 260 performs a file operation corresponding to the event through the storage driver stack 270 for controlling the storage 280 device.
  • the storage 280 may be a storage device attached to the electronic device 200. In another embodiment, the storage 280 may be a storage device connected to a network accessible through the file system driver 260.
  • the system protection technology disclosed herein relates to a program operating in a user mode, wherein the ransomware 210 and the general program 220 may change a target file stored through the same file input / output operation. It is to detect the process for the purpose of damage such as) and propose a restoration method.
  • the system protection technology disclosed herein may use the filter manager 250 to detect and control file input / output operations of the ransomware 210 or the program 220 executed in the electronic device 200.
  • the filter manager 250 may detect an event for a file task in the electronic device. For example, when an event such as write, delete, rename, etc. occurs for the target file, the filter manager 250 detects a name, and the process of performing the file operation is malicious. Make sure you know if it's code.
  • the system protection method according to the technology disclosed herein may be implemented in the form of a file task filter 290 registered with the filter manager 250.
  • the file task filter 290 records a prior act of a process of performing a file input / output operation based on a file task event transmitted to the file system driver 260, and based on this, it is determined that the file task filter 290 is suspicious of the target file. If the target file is backed up, and if it is determined that the process corresponds to a malicious code based on the action of the process, the process may be blocked and the target file may be restored.
  • the file task filter 290 may be implemented in the form of a context awareness ransomware behavior detection engine to protect a target file.
  • the file operation filter 290 registered in the filter manager 250 may include a file motion tracking module 291, a process manager 293, a file backup module 295, and a malicious code detection module 297. ) May be included.
  • the file task filter 290 may store a log of prior actions of the process based on a process executed on the system, that is, a file task event of the program 220 or the ransomware 210.
  • the dictionary behavior indicated by the ransomware 210 may be an action predicted for an attacker's ransomware design purpose, in addition to a direct file operation on the target file.
  • the process manager 293 may include a file extension change, a setting of a program to be executed in connection with the ransomware 210, a change of an encryption display file name, a creation of a self-replicating file of the process, or a payment guide. Logs of prior actions such as creation actions can be stored.
  • the log of the proactive actions may be stored in the storage 280, and the general process may be set to be inaccessible.
  • the operation of storing a log of the prior behavior of the process may be implemented in the form of a process manager 293.
  • the job filter 290 may detect that the process attempts to change a target file stored in the storage 280.
  • the job filter 290 may detect that the process performs a file input / output job corresponding to the file job event.
  • the monitoring of the file input / output operation may be implemented in the form of a file motion tracking module 291.
  • the job filter 290 When the job filter 290 detects an attempt to change the target file, the job filter 290 allows the change attempt to be a normal change by a general process, and corresponds to malicious modification by malicious code. In this case, it blocks the file change.
  • the system protection technique disclosed in the present specification is based on the log of the proactive behavior of each process, considering that any process is simply not enough to determine whether the process is malicious by itself simply attempting to change the file. First, it is determined whether the change attempt is a suspicious behavior, and if it is determined that the suspicious behavior is determined first, the process backs up the file which the process attempts to change (even if the process is deferred that the process corresponds to malicious code). .
  • the job filter 290 may determine whether the file input / output operation of the process corresponds to a suspicious behavior. If the file input / output operation of the process corresponds to suspicious behavior, it means that the process may correspond to ransomware or malicious code.
  • the job filter 290 may determine whether a file input / output job of the process corresponds to suspicious behavior based at least in part on the preliminary log of the process. Specifically, the job filter 290 may determine that the detected file input / output operation of the process corresponds to a suspicious behavior when the proactive behavior log of the process includes a behavior that can be viewed as a behavior of ransomware. . To this end, it is possible to calculate the probability based on a plurality of prior behavior logs for the process, and determine that it corresponds to suspicious behavior when a predetermined probability is exceeded.
  • the job filter 290 may back up the target file to the storage 280 when it is determined that a file input / output operation on the target file of the process corresponds to a suspicious behavior. Thereafter, when the process is determined to be ransomware and blocked or deleted, the job filter 290 may restore a file backed up to the storage 280 to restore the target file damaged by the process.
  • the operation of backing up or restoring a target file by the job filter 290 may be implemented in the form of a file backup module 295.
  • An area where the target file is backed up on the storage 280 may be an area separated from another process or the ransomware.
  • the job filter 290 may restore the original file while restoring the target file, even with a change in the file recorded in the proactive log of the process. That is, a file generated in the course of performing a suspicious action such as a self-replicating file of a ransomware program in the storage 280 or a file generated to notify a user before the process determined as malicious code damages the target file. You can delete it.
  • the job filter 290 may determine whether the process corresponds to a malicious code based on a modulation situation of a target file.
  • the task filter 290 may determine whether the tampering of the target file is a normal tampering by a general process or a tampering for tampering with a ransomware file corresponding to a malicious code.
  • the operation of determining whether the process corresponds to malicious code may be implemented in the form of a malicious code detection module 297.
  • the malicious code detection module 297 encrypts the target file, requests a payment, and determines whether the malicious code is malicious based on a characteristic of a ransomware-type malware designed to decrypt the target file after receiving the payment. You can judge. For example, the malware detection module 297 determines whether the file header contents have been replaced due to a file change of the process, whether the structure of the file header has been changed to that of another type of file, has a change in entropy of the text, Some or all of the file change situation, such as whether the content size has changed, the file update time has been changed, or the file name has been changed, can be determined as a criterion. In addition, the malware detection module 297 may apply a generally known ransomware detection method such as signature-based detection and sandbox detection.
  • a ransomware detection method such as signature-based detection and sandbox detection.
  • FIG. 3 is a flowchart of a method of protecting a system from malicious processes by a malicious code detection module according to an embodiment disclosed herein.
  • the detection module stores 310 a log of prior actions of processes running on the system.
  • the log of the proactive behavior of the process can refer to whether the proactive behavior that can be regarded as the behavior of the ransomware is suspected even before a definite judgment is made. If it exists, backup operation can be performed in advance on the files to be changed.
  • the log of the prior behavior of the process records what operations the process performed in addition to the damage to the target file in the process after the process is determined to be malicious code so that it can be restored later.
  • the step of storing a log of the prior actions of the process is to include recording at least a part of a name change, creation, modification, and deletion of a file through a file I / O call of the process. .
  • the detection module detects 320 that the process intends to change the target file (320), and determines whether the target file change of the process corresponds to suspicious behavior based at least in part on the log of the prior act. Whether or not the suspicious behavior corresponds to at least one of a file extension including a file extension in the log of the preliminary behavior, a setting of a program to be linked and executed, a file name change of an encryption mark, a copy of a file generated by the process, and a payment guide. It may be determined based on whether one is included. If it is determined that the change of the target file corresponds to a suspicious behavior, the detection module backs up the target file (340).
  • the detection module determines whether the process corresponds to malicious code (350). Whether or not the process corresponds to malicious code includes file header content, file header structure, body content, body size, entropy, file name, and file update by the process for the target file. The determination may be based on at least one of abnormal changes including time. The detection module may determine whether the process corresponds to a malicious code by considering whether the abnormal change caused by the process has occurred for at least one file. In particular, it may be determined whether the process corresponds to malicious code based on whether ransomware encrypts a target file using a public key encryption algorithm.
  • the detection module may count the number of corrupted files and record the proactive behavior of the process until the maximum allowable number is reached.
  • the detection module may determine that the process corresponds to a malicious code when the number of files damaged by the process becomes a specific value.
  • the specific value may be determined based on the size of the storage space for the prior action record.
  • the detection module determines that the malicious code has been accessed based on the file being damaged by the remote device, the detection module does not allow access to prevent file corruption based on the address of the remote device. You can block. Embodiments related to the case where the file is damaged by the remote device will be described later separately.
  • the detection module stops the execution of the process (360).
  • the detection module restores the target file backed up due to the process (370).
  • the detection module restores the proactive behavior of the process based on the log of the proactive behavior (380).
  • the malicious code detection module may prevent file corruption in the system by malicious code executed in a remote device connected through a network. That is, the electronic device to which the embodiment of the present disclosure is applied records a proactive action in the electronic device associated with the address information of the remote device in order to minimize the file change damage caused by the malicious code executed in the remote device, and based on the address information. It is possible to prevent a file change in the electronic device derived from an external device.
  • Providing a shared storage space for another device is often performed by a normal process of the electronic device (for example, a system shell process, an SMB / CIFS process for file sharing, etc.), and accordingly, the present embodiment
  • a normal process of the electronic device for example, a system shell process, an SMB / CIFS process for file sharing, etc.
  • the present embodiment By performing a backup on the basis of prior actions and determining whether the file change attempt is malicious, a method of preventing a normal process of the electronic device from participating in a file corruption action originating from an external device is provided. Detailed descriptions of parts in common with the above-described embodiments may be omitted.
  • the detection module included in the electronic device stores a log of prior actions generated by a process executed at the remote device with respect to a shared storage space to which another device in the system is allowed to access.
  • the log of the proactive behavior for the present embodiment may be recorded in association with the address information of the remote device (for example, by adding an IP address of another device that causes the proactive behavior).
  • the detection module detects that a process running on the remote device attempts to change a target file in the storage space. Thereafter, the detection module determines whether an attempt to change the target file corresponds to a suspicious behavior based at least in part on the log of the preliminary behavior. If it is determined that the attempt to change the target file corresponds to a suspicious behavior, the detection module backs up the target file in advance.
  • the detection module determines whether the process executed at the remote device is malicious code based on the characteristic of the change operation on the target file. As a result, when it is determined that the process executed at the remote device is malicious code, the detection module blocks the access to the system from the address of the remote device. In addition, the detection module may restore the target file backed up due to the process, and restore the prior behavior generated by the process based on the log of the prior behavior.
  • the implementation form of the electronic device 400 may provide an environment in which malicious code such as a computer and an electronic device may be installed and executed.
  • the electronic device 400 may include a storage unit 410 that stores a log of prior actions, a target file, and a backup file.
  • the electronic device 400 may include a control unit connected to the storage unit to execute a mini filter engine for protecting the target file.
  • the mini filter engine is included in a file input / output processing operation, and the mini filter engine stores the prior behavior log of a running process in the storage unit; Detecting that the process intends to change a target file; Determining whether the target file change of the process corresponds to suspicious behavior based at least in part on a log of the prior act; If it is determined that the change of the target file corresponds to suspicious behavior, backing up the target file to the storage unit; Determining whether the process corresponds to malicious code; If it is determined that the process corresponds to malicious code, stopping the execution of the process; Restoring the target file backed up due to the process from the storage; And restoring the prior behavior of the process based on the log of the prior behavior.
  • the electronic device 400 may be, for example, a server of a service provider, a device (eg, client device) associated with a client, an on chip system, and / or any other suitable computing device or computing system.
  • the exemplary electronic device 400 may include a storage unit 410, a controller 420, and one or more I / O interfaces that are communicably connected to each other.
  • the electronic device 400 may further include a system bus or other data and command transmission system that connects various components to each other.
  • the system bus may include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus using any of a variety of bus architectures.
  • the controller 420 represents a function of performing one or more operations using hardware.
  • the controller 420 may include hardware elements that may be configured as processors, functional blocks, and the like. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

본 명세서에 개시된 시스템 보호 방법은 시스템 상 실행되는 프로세스의 사전 행위의 로그를 저장하는 단계; 상기 프로세스가 대상 파일을 변경하려는 것을 감지하는 단계; 상기 사전 행위의 로그에 적어도 일부 기초하여 상기 프로세스의 상기 대상 파일 변경이 의심 행동에 해당하는지 여부를 판단하는 단계; 상기 대상 파일의 변경이 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 백업하는 단계; 상기 프로세스가 악성 코드에 해당하는지 여부를 판단하는 단계; 상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 경우, 상기 프로세스의 수행을 중단시키는 단계; 상기 프로세스를 원인으로 백업된 상기 대상 파일을 복원하는 단계; 및 상기 사전 행위의 로그를 바탕으로 상기 프로세스의 상기 사전 행위를 복원시키는 단계를 포함하는 시스템 보호 방법이다.

Description

상황 인식 기반의 랜섬웨어 탐지
본 명세서는 상황 인식 기반의 랜섬웨어 탐지에 대한 것이다.
악성 프로그램 중에는 파일 또는 정보를 삭제하거나 변경하여 전자 장치의 사용자 또는 조직에 피해를 입히는 것을 직접적인 목표로 삼는 것이 있으나, 최근 악성 프로그램 중에는 시스템의 파일을 암호화해 버리고, 공격자가 피해자로부터 대가를 받은 후에 이를 복호화하는 형태가 존재한다.
알려진 악성 프로그램에 대한 정보를 기초로 구체적인 악성 프로그램을 탐지하는 방식은 알려지지 않은 악성 프로그램에 의한 공격에 매우 취약하다. 또한 피해를 최소화하기 위하여 미끼 파일, 샌드박스, 시그니처 기반 등 다양한 방안들이 제시되고 있다.
본 명세서에서는 컴퓨팅 장치에 설치된 프로그램이 악성 코드인지 여부를 판단하고, 악성 코드로 판단된 경우 이를 피해 없이 복원할 수 있는 방법을 개시한다.
일 실시 형태로 시스템 보호 방법이 개시된다. 상기 시스템 보호 방법은 시스템 상 실행되는 프로세스의 사전 행위의 로그를 저장하는 단계; 상기 프로세스가 대상 파일을 변경하려는 것을 감지하는 단계; 상기 사전 행위의 로그에 적어도 일부 기초하여 상기 프로세스의 상기 대상 파일 변경이 의심 행동에 해당하는지 여부를 판단하는 단계; 상기 대상 파일의 변경이 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 백업하는 단계; 상기 프로세스가 악성 코드에 해당하는지 여부를 판단하는 단계; 상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 경우, 상기 프로세스의 수행을 중단시키는 단계; 상기 프로세스를 원인으로 백업된 상기 대상 파일을 복원하는 단계; 및 상기 사전 행위의 로그를 바탕으로 상기 프로세스의 상기 사전 행위를 복원시키는 단계를 포함한다.
상기 일 실시 형태 또는 그 밖의 실시 형태들은 다음과 같은 특징들 중 어느 하나를 포함할 수 있다.
상기 의심 행동에 해당하는지 여부는 상기 사전 행위의 로그에 파일 확장자 변경, 연결되어 실행될 프로그램의 설정, 암호화 표시 파일 이름 변경, 상기 프로세스의 자기 복제 파일 생성, 그리고 결제 안내를 포함하는 파일 생성 행위 중 적어도 하나가 포함되는지 여부에 기초하여 판단될 수 있다. 또한, 상기 프로세스가 악성 코드에 해당하는지 여부는 상기 대상 파일에 대하여 상기 프로세스에 의한 파일 헤더 내용, 파일 헤더 구조, 본문(body)의 내용, 본문의 크기, 본문의 엔트로피(entropy), 파일 이름 및 파일 업데이트 시간을 포함하는 이상 변경 사항(abnormal changes) 중 적어도 하나에 기초하여 판단될 수 있다. 또한, 상기 프로세스가 악성 코드에 해당하는지 여부는 상기 프로세스에 의한 상기 이상 변경 사항이 특정 개수 이상의 파일에 대하여 발생한 것에 기초하여 판단될 수 있다.
상기 프로세스가 악성 코드에 해당하는지 여부는 상기 프로세스가 상기 대상 파일을 암호화하는 동작을 수행하는지 여부에 기초하여 판단될 수 있다. 또한, 상기 프로세스는 상기 대상 파일을 공개키 암호화 알고리즘을 이용하여 암호화하는 랜섬웨어(ransomware)일 수 있다. 또한, 상기 프로세스의 사전 행위의 로그를 저장하는 단계는 상기 프로세스의 파일 입출력(File I/O) 호출을 통하여 파일에 대한 이름 변경, 생성, 수정 및 삭제 중 적어도 일부에 대하여 기록하는 동작을 포함하는 시스템 보호 방법.
한편, 상기 방법을 시행하기 위한 미니필터 엔진을 실행하는 제어부; 사전 행위의 로그, 대상 파일 및 백업 파일을 저장하는 저장부를 포함하는 전자 장치가 개시된다.
한편, 상기 방법을 시행하기 위해 매체에 저장된 프로그램이 개시된다.
한편, 상기 방법 중 어느 하나를 컴퓨터로 실행시키기 위한 프로그램을 배포하는 배포 서버가 개시된다.
본 명세서에 개시된 실시 예에 따르면, 컴퓨팅 장치에서 패턴 또는 특징 정보들이 알려지지 않은 랜섬웨어에 대해서도 차단 및 복구작업이 가능하다.
본 명세서에 개시된 실시 예에 따르면, 시그니처 기반, 미끼 파일 기반, 샌드박스 기반 등 종래의 랜섬웨어 탐지 방법으로 탐지가 곤란할 랜섬웨어를 탐지할 수 있다.
본 명세서에 개시된 실시 예에 따르면, 컴퓨팅 장치 내에서 발생할 수 있는 원격 장치의 악성 코드에서 유래한 파일 변경 시도를 방지할 수 있다.
도 1은 본 명세서에 개시된 기술이 적용될 수 있는 전자 장치의 동작 환경을 도시한다.
도 2는 본 명세서에 개시된 기술이 채택될 수 있는 전자 장치의 아키텍처를 도시한다.
도 3은 본 명세서에 개시된 실시 예를 따르는 악성 코드 탐지 모듈이 악성 프로세스로부터 시스템을 보호하는 방법의 흐름도이다.
도 4는 본 명세서에 개시된 기술이 채택될 수 있는 전자 장치이다.
본 명세서에 개시된 기술은 시스템 보호 장치에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 명세서에 개시된 기술이 적용될 수 있는 전자 장치의 동작 환경을 도시한다.
네트워크를 통하여 다양한 장치들이 상호 연결되는 환경에서 전자 장치(110)는 사용자의 부주의 등으로 인하여 배포 서버(120)로부터 악의적인 프로그램을 수신하고 설치할 수 있다. 상기 배포 서버(120)는 악의적인 프로그램을 불특정 다수의 장치로 전송하는 장치로서, 예를 들어, 웹서버, 파일 서버, 클라우드 서비스, 메일 서버 등 파일 제공을 목적으로 하는 인터넷에 연결된 서버 형태의 장치일 수 있으나, 장치의 구체적인 형태에 제한되지 않고 악성 코드가 포함된 파일을 제공하는 어떠한 형태의 장치로 이에 해당할 수 있다. 악성 프로그램을 배포하려는 자는 상기 전자 장치(110)의 사용자가 악성 코드가 포함된 프로그램이 상기 전자 장치(110)의 사용자가 알지 못하는 사이에 상기 전자 장치(110)로 전송되어 설치될 수 있도록 하기 위하여 평범한 프로그램 또는 데이터로 위장하여 상기 배포 서버(120)에 놓여 있을 수 있다.
상기 전자 장치(110)가 상기 배포 서버(120) 등으로부터 외부 프로그램을 수신할 수 있는 채널은 다양하다. 일반적으로, 상기 전자 장치(110)의 사용자가 악의적인지 여부를 모른 채 웹사이트로부터 외부 프로그램을 내려 받아 설치하는 과정, 이메일의 첨부파일 형태로 외부 프로그램이 사용자에게 전달된 후 상기 전자 장치(110)의 사용자가 상기 첨부파일을 부주의하게 실행시키는 과정, 또는 보조 저장장치를 통해서나 기기간 연결 장치를 통해서 상기 전자 장치(110)에 전달된 외부 프로그램을 실행하는 과정 등을 통해 상기 외부 프로그램이 수신 되어 설치될 수 있다.
상기 전자 장치(110)에 설치되는 악성 프로그램은 시스템에 피해를 일으키는 악성 코드(malicious code)를 포함할 수 있다. 악성 코드는 저장소(storage)에 저장되어 있는 파일 또는 정보를 훼손하는 프로그램을 지칭할 수 있다. 예를 들어, 악성 코드는 전자 장치(110) 내부에 탑재된 로컬 저장소(local storage) 또는 상기 전자 장치(110)가 접근하여 수정할 수 있는 권한을 가진 외부 저장소(external storage)에 저장되어 있는 파일 또는 정보를 훼손할 수 있다.
이와 같은 악성 프로그램 중에는 파일 또는 정보를 삭제하거나 변경하여 전자 장치의 사용자 또는 조직에 피해를 입히는 것을 직접적인 목표로 삼고 작성되는 종류가 있으며, 이러한 종류의 악성 프로그램은 공격자(attacker) 즉, 상기 악성 프로그램의 작성자 또는 배포자가 금전적인 보상을 피해자로부터 직접 받기를 원하기 보다 희생자(victim)의 피해를 통한 간접적인 보상을 받는 형태이다.
다만, 최근에 자주 보고되는 악성 프로그램에는 원 사용자가 시스템 또는 대상 파일에 접근할 수 없도록 조치하고, 악성 프로그램의 제작자 또는 배포자가 직접적으로 금전적인 보상을 수령한 후 비로소 원 상태로 복원시키는 종류가 있다. 이는 소위 랜섬웨어(ransomware)라 불리는 악성 프로그램으로서, 희생자 장치(victim device)에 설치된 후 백그라운드로 실행되어 대상 파일(target file)들을 암호화함으로써 희생자 장치의 사용자가 대상 파일을 사용할 수 없도록 하며, 이를 복호화하기 위한 대가를 지급할 것을 통지하는 등의 작업을 수행한다. 금전적 또는 기타 대가를 지급받은 공격자가 희생자 장치에 암호화된 대상 파일을 복호화할 수 있는 키 및/또는 툴을 제공할 수 있다.
상기 랜섬웨어는 비대칭 암호화 알고리즘에 기반한 악성 프로그램일 수 있다. 상기 랜섬웨어가 비대칭 암호화 알고리즘을 이용하는 경우, 희생자 장치(victim device)에 설치된 상기 악성 프로그램은 공격자에 의해 생성된 비대칭 키 쌍 중 하나, 예를 들어, 공개키(public key)를 이용하여 상기 희생자 장치에서 접근 가능한 하나 이상의 대상 파일을 암호화할 수 있다. 이 경우, 상기 공격자가 생성한 비대칭 키 쌍 중에서 다른 하나, 예를 들어, 개인키(private key)를 가진 복원 도구에 의해서만 상기 악성 프로그램이 암호화한 대상 파일에 접근할 수 있게 된다. 본 명세서에 개시된 시스템 보호 기술은 컴퓨터 장치에 설치된 트랩도어(trapdoor) 또는 백도어(backdoor) 프로그램의 일종인 악성 프로그램을 탐지하고 그로 인한 피해를 복원하기 위하여 사용될 수 있다. 이와 같이 본 명세서에 개시된 시스템 보호 기술은 암호화 기능을 이용하여 특정 권한을 가진 자만 접근할 수 있도록 설계된 암호학적 트랩도어(cryptographic trapdoor) 형태의 악성 프로그램에 대처하기 위하여 사용될 수 있다.
상기 전자 장치(110)는 공격자에게 암호화된 대상 파일에 대한 대가를 지불하거나 또는 상기 암호화된 대상 파일을 복호화하기 위한 키 또는 도구 등을 수신하기 위하여 복구 서버(130)에 접속할 수 있다. 상기 악성 프로그램이 공격자의 지시에 따라 암호화된 파일을 복원하기 위한 키 또는 도구를 수신하기 위하여 가지고 있는 상기 복구 서버(130)에 접속 정보를 포함할 수 있다.
랜섬웨어는 악성 코드 내에 구별 가능한 정보를 포함할 수 있다. 상기 구별 가능한 정보는, 예를 들어, 랜섬웨어가 나중에 접속하기 위한 외부 URL 등의 접속 정보 또는 파일 이름, 레지스트리 값, 경로 등의 시스템 정보를 포함한다. 따라서 종래 악성 프로그램을 검출하는 방법은 구별 가능한 정보를 포함하는 악성 코드 부분에 대한 고유 해시(hash)를 기반으로 악성 코드의 존재 여부를 탐지하는 시그니처 기반 검출(signature based detection) 방법, 악성 코드가 수행하는 특정한 행위를 패턴화하여 탐지하는 행위 기반 검출(behavior based detection) 방법, 가상 환경 안에서 악성 코드를 실행시킨 후 나타나는 행위를 기반으로 탐지하는 샌드박스 검출(sandbox detection) 방법, 기타 네트워크 상의 통신 정보를 기반으로 악성코드를 탐지하는 방법 등이 존재한다.
이와 같은 기존의 악성 코드 탐지 기술은 악성 코드들이 각각 가지고 있는 구별 가능한 정보를 바탕으로 악성 코드인지 여부를 검출하는 것으로, 방지 프로그램은 각 악성 코드에 따라 구별 가능한 정보에 대한 데이터베이스를 사전에 구축하고 있어야 이를 검출할 수 있다. 따라서 구별 가능한 정보를 바탕으로 악성 코드를 탐지하는 방식은 새롭게 나타난 악성 프로그램은 그에 대한 정보 부재로 인하여 탐지하지 못하는 문제가 발생할 수 있다. 즉, 시그니처 정보 변경, 행위 기반 규칙(rule), 메타데이터, 샌드박스 등을 우회하는 새로운 악성 프로그램에 대응하기 위하여 방지 프로그램은 이에 대한 데이터베이스를 구축하지 못하여 탐지하지 못하는 문제가 발생할 수 있다.
본 명세서에 개시된 시스템 보호 기술은 악성 프로그램으로부터 시스템 또는 시스템에서 접근 가능한 파일 또는 정보를 보호할 수 있다. 본 명세서에 개시된 시스템 보호 기술은 암호화 기능(cryptographic function)을 이용하여 대상 파일의 접근을 차단하고 공격자가 제공하는 복원 정보 또는 도구만을 이용하여 차단을 해제할 수 있도록 설계된 악성 프로그램으로부터 시스템을 보호할 수 있다. 본 명세서에 개시된 시스템 보호 기술은 비대칭 암호화 알고리즘(asymmetric cryptographic algorithm)이 서로 다른 비대칭 키로 이루어진 키 쌍을 이용하는 특징에 기반하여 희생자 장치에 설치된 멀웨어(malware)를 원격의 공격자(attacker) 만 통제할 수 있도록 설계된 악성 프로그램으로부터 시스템을 보호할 수 있다.
암호학적 트랩도어로 동작하는 랜섬웨어는 설계 목적상 대상 파일을 추후 복호화 가능하도록 암호화하거나, 공격자(attacker)에게 복호화 대가를 결제할 수 있도록 통지하는 기능을 수행하도록 동작하는 특징을 가지고 있다. 따라서, 종래의 방지 프로그램이 랜섬웨어의 유입 및 설치 경로를 차단하거나, 악성행위 자체를 검출하여 피해를 방지하는 것과 달리, 본 명세서의 예시적인 보호 기술을 따르는 전자 장치는 랜섬웨어의 공통적인 사전 예비적인 행동들을 대상으로 상황 인식기반(context awareness based) 검출을 수행할 수 있다.
즉, 예를 들면, 본 명세서의 예시적인 보호 기술을 따르는 전자 장치는 랜섬웨어의 설계 목적상 예측되는 확장명 우회 후 암호화 탐지를 위한 파일 이름의 변경 추적, 자가 복제 파일 생성 및 복호화 결제 안내 파일 삭제를 위한 파일 생성 추적, 탐지 전 암호화된 파일 복구를 위한 원본 파일 백업 유무 추적, 비 암호화 파일 훼손 유무, 정상적인 파일 수정 행위 인식, 생성/변경/덮어쓰기/삭제 상황 별 연계 분석, 프로세스 별 행위 연계 추적 등의 의심 프로세스의 사전 행동에 대한 로그를 남긴다.
본 명세서에 개시된 시스템 보호 기술은 암호학적 트랩도어 형태의 악성 프로그램의 예측되는 사전 행위를 기초로 특정 프로세스가 악의적인지 여부에 대한 예비적인 판단을 수행할 수 있다.
또한 본 명세서의 예시적인 보호 기술을 따르는 전자 장치는 이 후 상기 특정 프로세스가 악성 코드로 판단되는 경우 상기 특정 프로세스의 사전 행동에 대한 로그를 기초로 상기 사전 행동들에 대한 롤백(rollback)을 수행할 수 있다.
또한, 본 명세서의 예시적인 보호 기술을 따르는 전자 장치는 복수의 프로세스에 대하여 사전 행동에 대한 로그를 남길 수 있다. 이 경우, 하나 이상의 프로세스가 악성 코드로 판단되는 경우 각 프로세스의 사전 행동들에 대한 롤백을 수행할 수 있다.
한편, 대상 프로세스를 감시함으로써 사전 행동을 수행하는 것과 달리, 예시적인 보호 장치는, 다른 장치의 접근이 허용된 공유 폴더에 대하여 사전 행동이 있는지 여부를 탐지하고 폴더에 대한 사전 행동을 기록할 수 있다. 다른 장치로부터 악성 프로그램으로 예측되는 사전 행위가 발생하는 경우, 상기 사전 행동에 대한 로그는 상기 다른 장치의 주소 정보를 기초로 기록될 수 있다. 이 후 상기 다른 장치로부터 파일 변경, 훼손 등이 이루어지는 것으로 판단되는 경우 상기 다른 장치의 주소 정보를 기반으로 차단할 수 있다.
도 2는 본 명세서에 개시된 기술이 채택될 수 있는 전자 장치의 아키텍처를 도시한다. 전자 장치(200)에 설치된 랜섬웨어(210)은 시스템의 사용자 모드에서 실행되는 프로그램의 일종이다. 본 명세서에 개시된 기술은 랜섬웨어(210)의 사전 행위, 대상 파일에 대한 공격 및 기타 특징 등을 기반으로 악성 프로그램인지 여부를 판단할 수 있다.
상기 랜섬웨어(210) 또는 일반적인 프로그램(220) 등 상기 전자 장치(200)에 설치된 프로그램의 파일 작업은 다음과 같이 이루어진다. 먼저 악성 프로그램인지 여부가 아직 파악되지 못한 프로그램은 파일 I/O(230)를 통하여 파일시스템 내의 파일을 대상으로 파일 작업을 수행할 수 있다. 사용자 모드에서 동작하는 프로그램(220) 또는 랜섬웨어(210)가 파일 I/O(230)를 통해 파일 작업을 수행하는 경우 커널 모드 내의 I/O 매니저(240)를 통해 대응되는 이벤트가 파일 시스템 드라이버(260)로 전달되고, 상기 파일 시스템 드라이버(260)는 스토리지(280) 장치를 제어하기 위한 스토리지 드라이버 스택(270)을 통해 상기 이벤트에 대응되는 파일 작업을 수행한다. 상기 스토리지(280)는 상기 전자 장치(200)에 부착된 저장 장치일 수 있으며, 다른 실시 예에서는 파일 시스템 드라이버(260)를 통해 접근 가능한 네트워크로 연결된 저장 장치일 수 있다.
본 명세서에 개시된 시스템 보호 기술은 사용자 모드에서 동작하는 프로그램에 대한 것으로, 상기 랜섬웨어(210) 및 상기 일반 프로그램(220)이 동일한 파일 입출력 작업을 통해 저장된 대상 파일을 변경할 수 있으나 상기 랜섬웨어(210)와 같이 훼손을 목적으로 하는 프로세스를 탐지하고 이에 대한 복원 방안을 제시하기 위한 것이다.
본 명세서에 개시된 시스템 보호 기술은 상기 전자 장치(200)에서 실행되는 상기 랜섬웨어(210) 또는 프로그램(220)의 파일 입출력 동작을 탐지하고 제어하기 위하여 필터 매니저(250)를 이용할 수 있다. 상기 필터 매니저(250)를 통하여 상기 전자 장치 내 파일 작업에 대한 이벤트를 감지할 수 있다. 예를 들어, 상기 필터 매니저(250)가 대상 파일에 대하여 쓰기(write), 삭제(delete), 이름 변경(rename) 등의 이벤트가 발생하는 경우 이름 감지하여, 상기 파일 작업을 수행하는 프로세스가 악성 코드인지 여부를 파악할 수 있도록 한다.
일 실시 예에서, 본 명세서에 개시된 기술에 따른 시스템 보호 방법은 상기 필터 매니저(250)에 등록된 파일 작업 필터(290) 형태로 구현될 수 있다. 상기 파일 작업 필터(290)는 파일 시스템 드라이버(260)로 전달되는 파일 작업 이벤트를 기초로 파일 입출력 동작을 수행하는 프로세스의 사전 행위를 기록하고, 이에 근거하여 대상 파일에 의심 행동을 하는 것으로 판단되는 경우 상기 대상 파일을 백업하고, 상기 프로세스의 행동에 기초하여 상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 경우 상기 프로세스를 차단하고, 상기 대상 파일을 복원하는 동작을 수행할 수 있다. 일 실시 예에서, 상기 파일 작업 필터(290)는 대상 파일을 보호하기 위하여 상황 인식 기반의 랜섬웨어 행위 탐지(context awareness ransomware behavior detection) 엔진의 형태로 구현될 수 있다.
도 2를 참조하면, 상기 필터 매니저(250)에 등록된 상기 파일 작업 필터(290)는 파일 동작 추적 모듈(291), 프로세스 매니저(293), 파일 백업 모듈(295) 및 악성 코드 탐지 모듈(297)을 포함할 수 있다.
상기 파일 작업 필터(290)는 시스템 상 실행되는 프로세스, 즉 상기 프로그램(220) 또는 상기 랜섬웨어(210)의 파일 작업 이벤트를 기초로 상기 프로세스의 사전 행위의 로그를 저장할 수 있다.
상기 랜섬웨어(210)가 나타내는 사전 행위는, 대상 파일에 대한 직접적인 파일 작업 외에, 공격자의 랜섬웨어 설계 목적상 예측되는 행위일 수 있다. 예를 들어, 상기 프로세스 매니저(293)는 파일 확장자 변경, 상기 랜섬웨어(210)와 연결되어 실행될 프로그램의 설정, 암호화 표시 파일 이름 변경, 상기 프로세스의 자기 복제 파일 생성, 또는 결제 안내를 포함하는 파일 생성 행위 등의 사전 행위에 대한 로그를 저장할 수 있다.
상기 사전 행위의 로그는 상기 스토리지(280)에 저장될 수 있으며, 일반 프로세스는 접근할 수 없도록 설정될 수 있다. 일 실시 예에서, 상기 프로세스의 사전 행위의 로그를 저장하는 동작은 프로세스 매니저(293)의 형태로 구현될 수 있다.
또한, 상기 작업 필터(290)는 상기 프로세스가 상기 스토리지(280)에 저장된 대상 파일(target file)을 변경하려는 것을 감지할 수 있다. 예를 들어, 상기 작업 필터(290)는 상기 프로세스가 상기 파일 작업 이벤트에 대응되는 파일 입출력 작업을 수행하는 것을 감지할 수 있다. 상기 파일 입출력 작업에 대하여 감시하는 동작은 파일 동작 추적 모듈(291)의 형태로 구현될 수 있다.
상기 작업 필터(290)이 상기 대상 파일의 변경 시도를 감지한 경우, 상기 작업 필터(290)는 상기 변경 시도가 일반적인 프로세스에 의한 정상적인 변경인 경우 이를 허용하고, 악성 코드에 의한 악성 변조에 해당하는 경우에는 파일 변경을 차단한다. 다만, 본 명세서에 개시된 시스템 보호 기술은 임의의 프로세스가 단순히 파일 변경을 시도하는 자체만으로 상기 프로세스가 악성인지 여부를 판단하기에 충분치 않은 점을 감안하여, 각 프로세스의 사전 행위의 로그를 기초로 파일 변경 시도가 의심 행동인지 여부를 먼저 판단하고, 우선 의심 행동으로 판단되는 경우 (최종적으로 상기 프로세스가 악성 코드에 해당한다는 판단을 유보하더라도) 상기 프로세스가 변경을 시도하는 파일을 백업하는 동작을 수행한다.
즉, 상기 작업 필터(290)는 상기 프로세스의 파일 입출력 작업을 감지한 경우, 상기 프로세스의 파일 입출력 작업이 의심 행동에 해당하는지 여부를 판단할 수 있다. 상기 프로세스의 파일 입출력 작업이 의심 행동에 해당한다는 것은 상기 프로세스가 랜섬웨어 또는 악성 코드에 해당할 가능성이 있다는 것을 의미한다.
상기 작업 필터(290)는 상기 프로세스의 사전 행위 로그에 적어도 일부 기초하여 상기 프로세스의 파일 입출력 작업이 의심 행동에 해당하는지 여부를 판단할 수 있다. 구체적으로, 상기 작업 필터(290)는 상기 프로세스의 사전 행위 로그에 랜섬웨어의 행동으로 볼 수 있는 행위가 포함되어 있는 경우 감지된 상기 프로세스의 파일 입출력 작업이 의심 행동에 해당하는 것으로 판단할 수 있다. 이를 위하여 상기 프로세스에 대한 복수의 사전 행위 로그를 기초로 가능성을 계산하고 소정의 가능성을 초과하는 경우 의심 행동에 해당하는 것으로 판단할 수 있다.
상기 작업 필터(290)는 상기 프로세스의 대상 파일에 대한 파일 입출력 작업이 의심 행동에 해당하는 것으로 판단하는 경우, 상기 대상 파일을 상기 스토리지(280)에 백업할 수 있다. 이후, 상기 프로세스가 랜섬웨어로 판단되어 차단 또는 삭제되는 경우, 상기 작업 필터(290)는 상기 프로세스에 의해 훼손된 대상 파일을 복원하기 위하여 상기 스토리지(280)에 백업되어 있는 파일로 복원할 수 있다. 상기 작업 필터(290)가 대상 파일을 백업하거나 복원하는 동작은 파일 백업 모듈(295)의 형태로 구현될 수 있다.
상기 스토리지(280) 상에 상기 대상 파일이 백업되는 영역은 다른 프로세스 또는 상기 랜섬웨어의 접근 권한이 없도록 구분된 영역일 수 있다.
상기 작업 필터(290)는 상기 대상 파일을 복원하면서 상기 프로세스의 사전 행위 로그에 기록된 파일의 변화에 대해서도 원상 복구를 할 수 있다. 즉, 악성 코드로 판단된 상기 프로세스가 상기 대상 파일을 훼손하기 전 상기 스토리지(280) 내의 랜섬웨어 프로그램의 자기 복제 파일, 사용자에게 통지하기 위하여 생성한 파일 등 의심 행동의 수행 과정에서 생성한 파일을 삭제할 수 있다.
또한 상기 작업 필터(290)는 대상 파일의 변조 상황을 기초로 상기 프로세스가 악성 코드에 해당하는지 여부를 판단할 수 있다. 상기 작업 필터(290)은 상기 대상 파일의 변조가 일반적인 프로세스에 의한 정상적인 변조인지, 악성 코드에 해당하는 랜섬웨어의 파일 훼손을 위한 변조 인지 판단할 수 있다. 상기 프로세스가 악성 코드에 해당하는지 여부를 판단하는 동작은 악성코드 탐지 모듈(297)의 형태로 구현될 수 있다.
상기 악성코드 탐지 모듈(297)은 대상 파일을 암호화함으로써 대가 지불을 요구하고, 이를 수령한 후 상기 대상 파일을 복호화할 수 있도록 설계된 랜섬웨어 형태의 악성 코드가 나타내는 특징을 기반으로 악성 코드인지 여부를 판단할 수 있다. 예를 들어, 상기 악성코드 탐지 모듈(297)은 프로세스의 파일 변경으로 인하여 파일 헤더 내용이 교체되었는지, 파일 헤더의 구조가 다른 종류의 파일의 것으로 변경되었는지, 본문의 엔트로피의 변화가 있었는지, 본문 내용 크기의 변화가 있었는지, 파일 업데이트 시간이 변경되었는지, 파일 이름이 변경되었는지 등의 파일 변경 상황의 일부 또는 전부를 판단 기준으로 삼을 수 있다. 그 밖에 상기 악성코드 탐지 모듈(297)은 시그니처 기반 검출, 샌드박스 검출 등 일반적으로 알려진 랜섬웨어 탐지 방법을 적용할 수도 있다.
도 3은 본 명세서에 개시된 실시 예를 따르는 악성 코드 탐지 모듈이 악성 프로세스로부터 시스템을 보호하는 방법의 흐름도이다.
상기 탐지 모듈은 시스템 상 실행되는 프로세스의 사전 행위의 로그를 저장한다(310). 상기 프로세스의 사전 행위에 대한 로그는 상기 프로세스가 악성 코드인지 여부를 판단하는 과정에서는 랜섬웨어의 행동으로 볼 수 있는 사전 행위를 했는지를 참조할 수 있도록 함으로써 확정적인 판단이 내려지기 전이라도 의심 행동이 존재하는 경우 변경 대상 파일들에 대하여 미리 백업 조치를 수행할 수 있도록 한다. 또한, 상기 프로세스의 사전 행위에 대한 로그는 상기 프로세스가 악성 코드로 판단된 이 후 과정에서는 대상 파일 훼손 이외에 상기 프로세스가 어떤 작업들을 수행했는지를 기록하여 나중에 이를 복원할 수 있도록 한다.
상기 프로세스의 사전 행위의 로그를 저장하는 단계는 상기 프로세스의 파일 입출력(File I/O) 호출을 통하여 파일에 대한 이름 변경, 생성, 수정 및 삭제 중 적어도 일부에 대하여 기록하는 동작을 포함하도록 되어 있다.
상기 탐지 모듈은 상기 프로세스가 대상 파일을 변경하려는 것을 감지하고(320), 상기 사전 행위의 로그에 적어도 일부 기초하여 상기 프로세스의 상기 대상 파일 변경이 의심 행동에 해당하는지 여부를 판단한다(330). 상기 의심 행동에 해당하는지 여부는 상기 사전 행위의 로그에 파일 확장자 변경, 연결되어 실행될 프로그램의 설정, 암호화 표시 파일 이름 변경, 상기 프로세스의 자기 복제 파일 생성, 그리고 결제 안내를 포함하는 파일 생성 행위 중 적어도 하나가 포함되는지 여부에 기초하여 판단될 수 있다. 상기 탐지 모듈은 상기 대상 파일의 변경이 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 백업한다(340).
이후, 상기 탐지 모듈은 상기 프로세스가 악성 코드에 해당하는지 여부를 판단한다(350). 상기 프로세스가 악성 코드에 해당하는지 여부는 상기 대상 파일에 대하여 상기 프로세스에 의한 파일 헤더 내용, 파일 헤더 구조, 본문(body)의 내용, 본문의 크기, 본문의 엔트로피(entropy), 파일 이름 및 파일 업데이트 시간을 포함하는 이상 변경 사항(abnormal changes) 중 적어도 하나에 기초하여 판단될 수 있다. 상기 탐지 모듈은 상기 프로세스에 의한 상기 이상 변경 사항이 적어도 하나 이상의 파일에 대하여 발생했는지를 고려하여 상기 프로세스가 악성 코드에 해당하는지 여부를 판단할 수 있다. 특히, 대상 파일을 공개키 암호화 알고리즘으로 암호화하는 랜섬웨어의 경우인지 기초로 상기 프로세스가 악성 코드에 해당하는지 여부가 판단될 수 있다.
상기 탐지 모듈은 훼손된 파일의 수를 계수하고, 최대 허용 개수에 도달하기 전까지는 상기 프로세스의 사전 행위를 기록할 수 있다. 일 실시 예에서, 상기 탐지 모듈은 상기 프로세스에 의해 훼손된 파일의 수가 특정 값이 되는 경우 상기 프로세스가 악성 코드에 해당하는 것으로 판단할 수 있다. 상기 특정 값은 상기 사전 행위 기록을 위한 저장 공간의 크기에 기초하여 결정될 수 있다.
한편, 상기 탐지 모듈이 원격지 장치에 의해 파일이 손상되는 것을 기초로 악성 코드의 접근이 이루어진 것으로 판단하는 경우, 상기 탐지 모듈은 상기 원격지 장치의 주소를 기반으로 파일 손상 행위 등을 수행하지 못하도록 접근을 차단할 수 있다. 상기 원격지 장치에 의해 파일이 손상되는 경우와 관련된 실시 예는 별도로 후술된다.
상기 탐지 모듈은 상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 경우, 상기 프로세스의 수행을 중단시킨다(360). 상기 탐지 모듈은 상기 프로세스를 원인으로 백업된 상기 대상 파일을 복원한다(370). 상기 탐지 모듈은 상기 사전 행위의 로그를 바탕으로 상기 프로세스의 상기 사전 행위를 복원시킨다(380).
한편, 위에서 설명된 바와 같이 본 명세서에 개시된 실시 예를 따르는 악성 코드 탐지 모듈은 네트워크를 통해 연결된 원격지 장치에서 실행되는 악성코드에 의한 시스템 내의 파일 훼손을 방지할 수 있다. 즉, 본 명세서의 실시 예가 적용된 전자 장치는 원격지 장치에서 실행되는 악성코드에 의한 파일 변경 피해를 최소화 하기 위하여 상기 원격지 장치의 주소 정보와 연관된 상기 전자 장치 내의 사전 행위를 기록하고, 상기 주소 정보를 기초로 외부 장치로부터 유래된 상기 전자 장치 내의 파일 변경을 방지할 수 있다. 다른 장치를 위한 공유 저장 공간을 제공하는 것은 상기 전자 장치의 정상적인 프로세스(예를 들어, 시스템 셸 프로세스, 파일 공유를 위한 SMB/CIFS 프로세스 등)에 의해 수행되는 경우가 많으며, 따라서 본 실시 예는, 사전 행위를 기초로 백업을 실시하고 파일 변경 시도가 악성인지 여부를 판단함으로써, 상기 전자 장치의 정상 프로세스가 외부 장치에서 유래된 파일 훼손 행위에 참여하지 않도록 하는 방법을 제공한다. 전술된 실시 예와 공통적인 부분에 대한 구체적인 설명은 생략될 수 있다.
먼저, 상기 전자 장치에 포함된 상기 탐지 모듈은 상기 시스템 내의 다른 장치의 접근이 허용된 공유 저장 공간에 대하여 상기 원격지 장치에서 실행되는 프로세스에 의해 발생하는 사전 행위의 로그를 저장한다. 본 실시 예를 위한 사전 행위의 로그는 상기 원격지 장치의 주소 정보와 연관되어 (예를 들면, 상기 사전 행위의 원인이 되는 다른 장치의 IP 주소를 추가하여) 기록될 수 있다.
상기 탐지 모듈은 상기 저장 공간에 있는 대상 파일에 대하여 상기 원격지 장치에서 실행되는 프로세스가 변경을 시도하려는 것을 감지한다. 이 후, 상기 탐지 모듈은 상기 사전 행위의 로그에 적어도 일부 기초하여 상기 대상 파일의 변경 시도가 의심 행동에 해당하는지 여부를 판단한다. 상기 탐지 모듈은 상기 대상 파일의 변경 시도가 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 미리 백업한다.
상기 탐지 모듈은, 상기 대상 파일에 대한 변경 동작의 특징에 기초하여 상기 원격지 장치에서 실행되는 프로세스가 악성 코드인지 여부를 판단한다. 그 결과 상기 원격지 장치에서 실행되는 프로세스가 악성 코드인 것으로 판단되는 경우, 상기 탐지 모듈은 상기 원격지 장치의 주소로부터 상기 시스템에 대한 접근을 차단한다. 또한, 상기 탐지 모듈은, 상기 프로세스를 원인으로 백업된 상기 대상 파일을 복원하고, 상기 사전 행위의 로그를 기초로 상기 프로세스에 의해 발생된 상기 사전 행위를 복원시킬 수 있다.
도 4는 본 명세서에 개시된 기술이 채택될 수 있는 전자 장치이다.
상기 전자 장치(400)의 구현 형태는 컴퓨터, 전자 장치 등 악성 코드가 설치되어 실행될 수 있는 환경을 제공할 수 있다. 상기 전자 장치(400)는 사전 행위의 로그, 대상 파일 및 백업 파일을 저장하는 저장부(410)을 포함할 수 있다. 또한 상기 전자 장치(400)는 상기 저장부와 연결되어 상기 대상 파일을 보호하기 위한 미니 필터 엔진을 실행하는 제어부를 포함할 수 있다.
상기 미니 필터 엔진은 파일 입출력 처리 동작에 포함되어 수행되고, 상기 미니 필터 엔진은 실행 중인 프로세스의 사전 행위 로그를 상기 저장부에 저장하는 동작; 상기 프로세스가 대상 파일을 변경하려는 것을 감지하는 동작; 상기 사전 행위의 로그에 적어도 일부 기초하여 상기 프로세스의 상기 대상 파일 변경이 의심 행동에 해당하는지 여부를 판단하는 동작; 상기 대상 파일의 변경이 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 상기 저장부에 백업하는 동작; 상기 프로세스가 악성 코드에 해당하는지 여부를 판단하는 동작; 상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 경우, 상기 프로세스의 수행을 중단시키는 동작; 상기 프로세스를 원인으로 백업된 상기 대상 파일을 상기 저장부로부터 복원하는 동작; 및 상기 사전 행위의 로그를 바탕으로 상기 프로세스의 상기 사전 행위를 복원시키는 동작을 포함할 수 있다.
상기 전자 장치(400)는 예를 들어, 서비스 공급자의 서버, 클라이언트와 연관된 디바이스(예를 들어, 클라이언트 디바이스), 온 칩 시스템, 및/또는 임의의 다른 적절한 컴퓨팅 디바이스 또는 컴퓨팅 시스템일 수 있다. 나타낸 바와 같이 예시적인 전자 장치(400)는 저장부(410), 제어부(420), 서로 통신 가능하게 연결되는 하나 이상의 I/O 인터페이스를 포함할 수 있다. 도시되지는 않았지만, 전자 장치(400)는 다양한 컴포넌트들을 서로 연결시키는 시스템 버스 또는 다른 데이터 및 커맨드 전송시스템을 추가로 포함할 수 있다. 시스템 버스는 다양한 버스 아키텍처들 중 임의의 것을 이용하는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 범용 직렬 버스 및/또는 프로세서 또는 로컬 버스와 같은 상이한 버스 구조들 중 임의의 하나 또는 조합을 포함할 수 있다. 제어 또는 데이터 라인과 같은 다양한 다른 예도 고려된다. 제어부(420)는 하드웨어를 사용하여 하나 이상의 동작을 수행하는 기능을 나타낸다. 따라서, 제어부(420)는 프로세서, 기능 블록 등으로서 구성될 수 있는 하드웨어 요소를 포함할 수 있다. 이것은 하나 이상의 반도체를 사용하여 형성된 애플리케이션 특정 집적 회로 또는 다른 로직 디바이스로서 하드웨어로의 구현을 포함할 수 있다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.

Claims (14)

  1. 시스템 상 실행되는 프로세스의 사전 행위의 로그를 저장하는 단계;
    상기 프로세스가 대상 파일을 변경하려는 것을 감지하는 단계;
    상기 사전 행위의 로그에 적어도 일부 기초하여 상기 프로세스의 상기 대상 파일 변경이 의심 행동에 해당하는지 여부를 판단하는 단계;
    상기 대상 파일의 변경이 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 백업하는 단계;
    상기 프로세스가 악성 코드에 해당하는지 여부를 판단하는 단계;
    상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 경우, 상기 프로세스의 수행을 중단시키는 단계;
    상기 프로세스를 원인으로 백업된 상기 대상 파일을 복원하는 단계; 및
    상기 사전 행위의 로그를 바탕으로 상기 프로세스의 상기 사전 행위를 복원시키는 단계를 포함하는 시스템 보호 방법.
  2. 제1 항에 있어서, 상기 의심 행동에 해당하는지 여부는
    상기 사전 행위의 로그에 파일 확장자 변경, 연결되어 실행될 프로그램의 설정, 암호화 표시 파일 이름 변경, 상기 프로세스의 자기 복제 파일 생성, 그리고 결제 안내를 포함하는 파일 생성 행위 중 적어도 하나가 포함되는지 여부에 기초하여 판단되는 시스템 보호 방법.
  3. 제1 항에 있어서, 상기 프로세스가 악성 코드에 해당하는지 여부는
    상기 대상 파일에 대하여 상기 프로세스에 의한 파일 헤더 내용, 파일 헤더 구조, 본문(body)의 내용, 본문의 크기, 본문의 엔트로피(entropy), 파일 이름 및 파일 업데이트 시간을 포함하는 이상 변경 사항(abnormal changes) 중 적어도 하나에 기초하여 판단되는 시스템 보호 방법.
  4. 제3 항에 있어서,
    상기 프로세스에 의한 상기 이상 변경 사항이 특정 개수 이상의 파일에 대하여 발생한 경우 상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 시스템 보호 방법.
  5. 제2 항에 있어서, 상기 프로세스가 악성 코드에 해당하는지 여부는
    상기 프로세스가 상기 대상 파일을 암호화하는 동작을 수행하는지 여부에 기초하여 판단되는 시스템 보호 방법.
  6. 제5 항에 있어서, 상기 프로세스는 상기 대상 파일을 공개키 암호화 알고리즘을 이용하여 암호화하는 랜섬웨어(ransomware)인 시스템 보호 방법.
  7. 제1 항에 있어서, 상기 프로세스의 사전 행위의 로그를 저장하는 단계는
    상기 프로세스의 파일 입출력(File I/O) 호출을 통하여 파일에 대한 이름 변경, 생성, 수정 및 삭제 중 적어도 일부에 대하여 기록하는 동작을 포함하는 시스템 보호 방법.
  8. 네트워크를 통해 연결된 원격지 장치에서 실행되는 악성코드에 의한 시스템 내의 파일 훼손을 방지하는 방법으로서,
    상기 시스템 내의 다른 장치의 접근이 허용된 공유 저장 공간에 대하여 상기 원격지 장치에서 실행되는 프로세스에 의해 발생하는 사전 행위의 로그를 저장하는 단계;
    상기 저장 공간에 있는 대상 파일에 대하여 상기 원격지 장치에서 실행되는 프로세스가 변경을 시도하려는 것을 감지하는 단계;
    상기 사전 행위의 로그를 기초로 상기 대상 파일의 변경 시도가 의심 행동에 해당하는지 여부를 판단하는 단계;
    상기 대상 파일의 변경 시도가 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 미리 백업하는 단계;
    상기 대상 파일에 대한 변경 동작의 특징에 기초하여 상기 원격지 장치에서 실행되는 프로세스가 악성 코드인지 여부를 판단하는 단계;
    상기 원격지 장치에서 실행되는 프로세스가 악성 코드인 것으로 판단되는 경우, 상기 원격지 장치의 주소로부터 상기 시스템에 대한 접근을 차단하는 단계;
    상기 프로세스를 원인으로 백업된 상기 대상 파일을 복원하는 단계; 및
    상기 사전 행위의 로그를 기초로 상기 프로세스에 의해 발생된 상기 사전 행위를 복원시키는 단계를 포함하고,
    상기 사전 행위는
    상기 대상 파일에 대한 직접적인 파일 작업을 수행하는 것이 아닌, 상기 저장 공간 내에 자기 복제 파일 생성 또는 결제 안내를 포함하는 파일 생성 행위를 포함하는 것을 특징으로 하는
    파일 훼손 방지 방법.
  9. 제8 항에 있어서,
    상기 악성 코드인지 여부를 판단하는 단계는
    상기 대상 파일의 헤더 내용의 교체 여부, 상기 대상 파일의 본문의 엔트로피의 변화 여부, 상기 대상 파일의 헤더 구조가 이전과 다른 구조로 변경되었는지 여부, 또는 상기 대상 파일을 암호화 알고리즘으로 암호화하였는지 여부를 기초로 판단하는 것을 특징으로 하는 파일 훼손 방지 방법.
  10. 제9 항에 있어서,
    상기 원격지 장치에서 실행되는 상기 악성 코드가 상기 대상 파일을 복호화하기 위한 대가를 제시하는 랜섬웨어(ransomware)인 것으로 판단되는 경우, 상기 원격지 장치의 주소를 기초로 상기 랜섬웨어의 상기 시스템에 대한 접근을 차단하는 것을 특징으로 하는 파일 훼손 방지 방법.
  11. 제10 항에 있어서,
    상기 사전 행위는 상기 원격지 장치에서 실행되는 랜섬웨어가 설계 목적상 예상되는 예비적인 행동인 것을 특징으로 하는 파일 훼손 방지 방법.
  12. 사전 행위의 로그, 대상 파일 및 백업 파일을 저장하는 저장부; 그리고
    상기 저장부와 연결되어 상기 대상 파일을 보호하기 위한 미니 필터 엔진을 실행하는 제어부를 포함하는 전자 장치로서,
    상기 미니 필터 엔진은 파일 입출력 처리 동작에 포함되어 수행되고,
    상기 미니 필터 엔진은
    실행 중인 프로세스의 사전 행위 로그를 상기 저장부에 저장하는 동작;
    상기 프로세스가 대상 파일을 변경하려는 것을 감지하는 동작;
    상기 사전 행위의 로그에 적어도 일부 기초하여 상기 프로세스의 상기 대상 파일 변경이 의심 행동에 해당하는지 여부를 판단하는 동작;
    상기 대상 파일의 변경이 의심 행동에 해당하는 것으로 판단되는 경우, 상기 대상 파일을 상기 저장부에 백업하는 동작;
    상기 프로세스가 악성 코드에 해당하는지 여부를 판단하는 동작;
    상기 프로세스가 악성 코드에 해당하는 것으로 판단되는 경우, 상기 프로세스의 수행을 중단시키는 동작;
    상기 프로세스를 원인으로 백업된 상기 대상 파일을 상기 저장부로부터 복원하는 동작; 및
    상기 사전 행위의 로그를 바탕으로 상기 프로세스의 상기 사전 행위를 복원시키는 동작을 포함하는 전자 장치.
  13. 컴퓨터를 이용하여 제1항 내지 제11항 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  14. 제1항 내지 제11항의 방법 중 어느 하나의 방법을 컴퓨터로 실행시키기 위한 프로그램을 배포하는 배포 서버.
PCT/KR2018/002758 2017-03-08 2018-03-08 상황 인식 기반의 랜섬웨어 탐지 WO2018164503A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170029539A KR101828600B1 (ko) 2017-03-08 2017-03-08 상황 인식 기반의 랜섬웨어 탐지
KR10-2017-0029539 2017-03-08

Publications (1)

Publication Number Publication Date
WO2018164503A1 true WO2018164503A1 (ko) 2018-09-13

Family

ID=61901084

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/002758 WO2018164503A1 (ko) 2017-03-08 2018-03-08 상황 인식 기반의 랜섬웨어 탐지

Country Status (2)

Country Link
KR (1) KR101828600B1 (ko)
WO (1) WO2018164503A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102034678B1 (ko) * 2018-02-09 2019-10-21 주식회사 안랩 데이터파일 접근 제어 기반의 악성 차단 시스템 및 악성 차단 방법
US11120131B2 (en) * 2018-07-30 2021-09-14 Rubrik, Inc. Ransomware infection detection in filesystems
KR102367470B1 (ko) * 2020-02-24 2022-02-24 신한카드 주식회사 이상 금융 거래 판단 방법 및 장치
KR102494442B1 (ko) * 2021-03-31 2023-02-06 계명대학교 산학협력단 랜섬웨어의 탐지 방법 및 상기 방법을 수행하는 컴퓨팅 장치
WO2022211511A1 (ko) * 2021-03-31 2022-10-06 계명대학교 산학협력단 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치
KR102494454B1 (ko) * 2021-03-31 2023-02-06 계명대학교 산학협력단 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130074224A (ko) * 2011-12-26 2013-07-04 ㈜ 와이에이치 데이타베이스 악성코드의 행동 패턴 수집장치 및 방법
KR101436494B1 (ko) * 2013-03-07 2014-09-01 주식회사 안랩 악성코드 검사 시스템 및 악성코드 검사 방법
US9317686B1 (en) * 2013-07-16 2016-04-19 Trend Micro Inc. File backup to combat ransomware
US20160378988A1 (en) * 2015-06-26 2016-12-29 Quick Heal Technologies Private Limited Anti-ransomware
KR101710918B1 (ko) * 2015-11-30 2017-02-28 (주)이스트소프트 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150172304A1 (en) 2013-12-16 2015-06-18 Malwarebytes Corporation Secure backup with anti-malware scan

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130074224A (ko) * 2011-12-26 2013-07-04 ㈜ 와이에이치 데이타베이스 악성코드의 행동 패턴 수집장치 및 방법
KR101436494B1 (ko) * 2013-03-07 2014-09-01 주식회사 안랩 악성코드 검사 시스템 및 악성코드 검사 방법
US9317686B1 (en) * 2013-07-16 2016-04-19 Trend Micro Inc. File backup to combat ransomware
US20160378988A1 (en) * 2015-06-26 2016-12-29 Quick Heal Technologies Private Limited Anti-ransomware
KR101710918B1 (ko) * 2015-11-30 2017-02-28 (주)이스트소프트 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법

Also Published As

Publication number Publication date
KR101828600B1 (ko) 2018-03-22

Similar Documents

Publication Publication Date Title
WO2018164503A1 (ko) 상황 인식 기반의 랜섬웨어 탐지
US10922441B2 (en) Device and method for data security with a trusted execution environment
US11227053B2 (en) Malware management using I/O correlation coefficients
CN110998582B (zh) 安全存储装置与计算机安全性方法
JP6370747B2 (ja) バーチャルマシーンモニタベースのアンチマルウェアセキュリティのためのシステム及び方法
CN106687971B (zh) 用来减少软件的攻击面的自动代码锁定
CN105409164B (zh) 通过使用硬件资源来检测网络业务中的矛盾的根套件检测
US7788235B1 (en) Extrusion detection using taint analysis
JP5019869B2 (ja) コンピュータ装置の暗号化データへのアクセスを提供する方法
US8127412B2 (en) Network context triggers for activating virtualized computer applications
US8195953B1 (en) Computer program with built-in malware protection
CN109923548A (zh) 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
CN111095250A (zh) 在内核模式下对恶意软件和隐写术的实时检测和防护
CN104008330B (zh) 基于文件集中存储及隔离技术的数据防泄漏系统及其方法
CN101667232B (zh) 基于可信计算的终端可信保障系统与方法
US9338012B1 (en) Systems and methods for identifying code signing certificate misuse
US10250588B1 (en) Systems and methods for determining reputations of digital certificate signers
CN115329389B (zh) 一种基于数据沙箱的文件保护系统及方法
Lee et al. Rcryptect: Real-time detection of cryptographic function in the user-space filesystem
Genç et al. NoCry: No more secure encryption keys for cryptographic ransomware
WO2018016830A1 (ko) 파일 암호화 방지 장치 및 방법
US9202087B2 (en) Method and apparatus for controlling access to local storage devices
US10169584B1 (en) Systems and methods for identifying non-malicious files on computing devices within organizations
KR101552688B1 (ko) 엔드포인트 단의 사용자 정책 설정에 따른 데이터 보안 방법 및 시스템
US20240314136A1 (en) Method for controlling the access of a user to a network, network, and computer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18764485

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 06/12/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 18764485

Country of ref document: EP

Kind code of ref document: A1