WO2022211511A1 - 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 - Google Patents
랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 Download PDFInfo
- Publication number
- WO2022211511A1 WO2022211511A1 PCT/KR2022/004564 KR2022004564W WO2022211511A1 WO 2022211511 A1 WO2022211511 A1 WO 2022211511A1 KR 2022004564 W KR2022004564 W KR 2022004564W WO 2022211511 A1 WO2022211511 A1 WO 2022211511A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- ransomware
- file
- valid
- access frequency
- space
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 843
- 238000001514 detection method Methods 0.000 title claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 760
- 230000008859 change Effects 0.000 claims description 63
- 230000009471 action Effects 0.000 claims description 56
- 238000012508 change request Methods 0.000 claims description 30
- 238000011084 recovery Methods 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 36
- 238000004590 computer program Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 5
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Definitions
- the present invention relates to a method for detecting and recovering ransomware, and a computing device for performing the method.
- Ransomeware is a compound word created by combining Ransom, meaning ransom, and software. make it impossible
- the person who encrypts the data file demands a ransom for the encrypted data from the user, and has to pay the requested money to access the data file he holds.
- ransomware When a computer system is exposed to ransomware, a ransom must be paid to access data files or access to data files is restricted, so it detects ransomware and prevents damage, and even if infected with ransomware, data files are not lost. You need the skills to do that.
- a method for detecting and recovering ransomware at the system level is provided, focusing on the fact that the ransomware is a user-level application program.
- a method for detecting ransomware for detecting an initial operation and a subsequent operation of a process and determining whether the process is ransomware is provided.
- a recovery method for ransomware that determines whether a process is ransomware and records the operation of the process determined as ransomware in a space separated from a space where the original file is stored provides
- the detection method for ransomware includes detecting an initial operation of a process for a file transmitted through a file system, and when there is a possibility that the process is determined to be ransomware based on the initial operation, the Setting a tracking mode for detecting whether a process is ransomware, after performing the initial operation, whether at least one subsequent operation requested by the process for the file corresponds to an operation rule for determining whether the process is ransomware
- the method may include determining whether or not the at least one subsequent action corresponds to the action rule, determining the process as ransomware.
- the setting of the tracking mode may include setting a tracking mode for detecting whether the process is ransomware when the process performs the initial operation more than a preset number of times within a preset time.
- identification information of a file in which the process performs an initial operation and identification information of the process may be recorded.
- the initial operation includes a lookup operation of the file by the process, and the operation rule includes a read operation, an open operation, a write operation and a name requested for the file after the process performs the lookup operation. It may be determined as a combination of at least one subsequent operation of the change operation.
- the initial operation and the subsequent operation may be such that the process is collectively performed by one process, or the process is divided into a parent process and a child process and performed.
- a recovery method for ransomware includes determining whether a process performing a specific operation on a file is ransomware, and when the process is determined to be ransomware, a first step in which the original file is stored setting a second space separated from the first space; when the process determined as the ransomware performs a change request on the file, recording a modified version of the file corresponding to the change request in the second space may include steps.
- Determining whether the process is ransomware may include detecting an initial operation of the process with respect to the file, and if there is a possibility that the processor is determined to be ransomware based on the initial operation, the process is executed as ransomware setting a tracking mode for detecting whether or not it is ransomware, and after performing the initial operation, determining whether at least one subsequent operation requested by the processor for the file corresponds to an operation rule for determining whether the file is ransomware and determining the process as ransomware when the at least one subsequent action corresponds to the action rule.
- the setting of the tracking mode may include setting a tracking mode for detecting whether the process is ransomware when the process performs the initial operation more than a preset number of times within a preset time.
- identification information of a file in which the process performs an initial operation and identification information of the process may be recorded.
- the initial operation includes a lookup operation of the file by the process, and the operation rule includes a read operation, an open operation, a write operation and a name requested for the file after the process performs the lookup operation. It may be determined as a combination of at least one subsequent operation of the change operation.
- the second space may be a space in which a file system accessible by a user-level application is not installed.
- the process determined as the ransomware performs a change request related to an overwrite operation on the file
- the original of the file is stored in the second space.
- the first space may be maintained, the modified version of the file may be recorded in the second space, and the address information of the file may be mapped to the modified version of the file recorded in the second space instead of the first space.
- a computing device for performing the ransomware detection method includes a processor, wherein the processor detects an initial operation of a process with respect to a file transferred through a file system, and based on the initial operation, the process is determined to be ransomware, sets a tracking mode for detecting whether the process is ransomware, and after performing the initial operation, at least one subsequent operation requested by the process on the file is performed. It may be determined whether the process corresponds to an action rule for determining as ransomware, and when the at least one subsequent action corresponds to the action rule, the process may be determined as ransomware.
- the processor may set a tracking mode for detecting whether the process is ransomware when the process performs the initial operation more than a preset number of times within a preset time.
- the processor may record identification information of a file in which the process performs an initial operation and identification information of the process.
- a computing device for performing the recovery method for ransomware includes a processor, wherein the processor determines whether a process performing a specific operation on a file is ransomware, and the process executes the ransomware , sets a second space separated from the first space in which the original file of the file is stored, and when the process determined as the ransomware performs a change request on the file, corresponding to the change request A modified version of the file may be recorded in the second space.
- the processor When the process determined as the ransomware performs a change request related to an overwrite operation on a file, the processor maintains the original file in the first space and stores a modified version of the file in the second space. is recorded, and the address information of the file may be mapped to a modified version of the file recorded in the second space instead of the first space.
- a method of detecting ransomware includes: identifying a list of valid processes including valid processes that perform a specific operation on a data file; The method may include determining a related access frequency and determining whether a target process requesting a change operation of the data file is ransomware based on the list of valid processes and the access frequency.
- the access frequency related to the specific operation after the preset period may be increased. have.
- the determining whether the target process is ransomware may include determining whether the target process is ransomware when the target process is not included in the list of valid processes.
- the method of detecting the ransomware further includes determining, among valid processes included in the list of valid processes, an effective process having an access frequency of a preset number or more as a safe process, wherein the target process is
- the determining whether the target process is ransomware may include determining that the target process is not ransomware when the target process is the same as an effective process determined as a safe process.
- the step of determining whether the target process is ransomware may include, when the target process is included in the list of valid processes, the access frequency of the effective process corresponding to the target process and the access frequency in the list of valid processes are the maximum.
- the target process may be determined as ransomware using the access frequency of the effective process.
- the determining of the access frequency may include determining the access frequency based on a type of a file to which the specific operation is applied.
- the method for detecting ransomware includes, when the target process is determined to be ransomware, blocking an operation to change a data file requested by the target process and providing a notification including information on the target process may further include.
- a method of detecting ransomware includes: identifying a target process that requests a change operation on a data file; determining an access frequency of each of valid processes performing a specific operation on the data file; and determining whether the target process is ransomware based on whether the target process is the same as the valid process and an access frequency of the valid process.
- the access frequency related to the specific operation after the preset period may be increased. have.
- the determining whether the target process is ransomware may include determining whether the target process is ransomware if the target process is not the same as the valid process.
- the method for detecting ransomware further includes determining, among the valid processes, an effective process having an access frequency equal to or greater than a preset number of times as a safe process, and determining whether the target process is ransomware.
- the step may include determining that the target process is not ransomware when the target process is the same as a valid process determined as a safe process.
- the step of determining whether the target process is ransomware may include: when the target process is the same as the effective process, the access frequency of an effective process corresponding to the target process and the effective process having the largest access frequency among the valid processes
- the target process may be determined as ransomware using the access frequency.
- a computing device for performing the method of detecting ransomware includes a processor, wherein the processor identifies a list of valid processes including valid processes for performing a specific operation on a data file, and Determines the access frequency related to the specific operation for each valid process included in the list of processes, and determines whether the target process requesting the change operation of the data file is ransomware based on the list of valid processes and the access frequency can judge
- the processor may increase an access frequency related to the specific operation after the preset period.
- the processor may determine the target process as ransomware.
- the processor is configured to: when the target process is included in the list of valid processes, using an access frequency of a valid process corresponding to the target process and an access frequency of a valid process having a maximum access frequency in the list of valid processes.
- the target process can be determined as ransomware.
- a computing device for performing the method of detecting ransomware includes a processor, wherein the processor identifies a target process requesting a change operation on a data file, and performs a specific operation on the data file It is possible to determine the access frequency of each of the valid processes, and determine whether the target process is the ransomware based on whether the target process is the same as the effective process and the access frequency of the effective process.
- the target process is ransomized by using an access frequency of an effective process corresponding to the target process and an access frequency of an effective process having the largest access frequency among the valid processes. It can be judged by wear.
- the behavior (action) of the ransomware is recorded in a storage space (second space or ransom behavior recording space) inaccessible to user-level applications, and the original data is stored in the original storage space. By keeping it in space, the original data can be restored if the process is detected as ransomware.
- ransomware since ransomware is newly installed and attempts to access a file, it is possible to detect whether the process is ransomware based on the access frequency of the process.
- FIG. 1 is a diagram illustrating an operation of a computing device performing a method for detecting ransomware according to an embodiment.
- FIG. 2 is a diagram illustrating an initial operation and a subsequent operation of a process according to an embodiment.
- FIG. 3 is a diagram illustrating an operation of a computing device performing a method for detecting ransomware according to an embodiment.
- FIG. 4 is a diagram illustrating identification information of a file and identification information of a process according to an embodiment.
- FIG. 5 is a diagram illustrating a computing device for performing a method for detecting ransomware according to an embodiment.
- FIG. 6 is a diagram illustrating an operation of a computing device performing a method for recovering ransomware according to an embodiment.
- FIGS. 7A, 7B, and 7C are diagrams illustrating mapping information for an original file and a modified version of a file according to an exemplary embodiment.
- FIG. 8 is a diagram illustrating a method for detecting ransomware according to an embodiment.
- FIG. 9 is a diagram illustrating a recovery method for ransomware according to an embodiment.
- FIG. 10 is a diagram illustrating an operation of a computing device performing a method of detecting ransomware according to an embodiment.
- 11A and 11B are diagrams illustrating a list of valid processes and an access frequency according to an embodiment.
- FIG. 12 is a diagram illustrating determining an access frequency in relation to a specific operation according to an embodiment.
- FIG. 13 is a diagram illustrating a list of valid processes, an access frequency, and a list of safe processes according to an embodiment.
- FIG. 14 is a diagram illustrating a method of detecting ransomware according to an embodiment.
- 15 is a diagram illustrating a method of detecting ransomware according to another embodiment of the present invention.
- FIG. 1 is a diagram illustrating an operation of a computing device 200 performing a method for detecting ransomware according to an embodiment.
- a computing device 200 performing a method for detecting ransomware detects an operation of a process 130 through a file system 300 and performs a process 130 . can determine whether it is ransomware.
- the computing device 200 may detect the ransomware by detecting the operation of the process 130 in the layer that confirms the I/O request of the file system 300 .
- the ransomware of a user level application accesses and operates the file through the file system 300 . Accordingly, the computing device 200 may determine whether the process 130 is ransomware by detecting an initial operation and a subsequent operation of the process 130 .
- a process 130 may refer to a computer program that is continuously executed in a computer system.
- a program may mean an executable code stored on a hard disk or the like, and the process 130 may mean a unit of work executed by driving a program.
- the process 130 may perform various operations on a file stored in the first space 400 that is a storage space through the file system 300 .
- a lookup operation for searching a file stored in the first space 400 an open operation for opening a file, a read operation for reading a file, and a file writing operation
- a write operation and a rename operation for changing a file name or a file extension are illustrated, the operation of the process 130 is not limited thereto.
- the process 130 performs various operations such as a Delete operation for deleting a file through the file system 300 , an address change operation for changing a file address, an Encrypt operation for encrypting a file, and the like. can do.
- a file system 300 may refer to an organizational system that enables a computer to discover and access files or data.
- the computing device 200 may detect the operation of the process 130 through a layer that confirms an input/output (I/O) request requested from the process 130 in the file system 300 .
- the layer for checking the I/O request may correspond to a layer of the file system 300 for checking the I/O request, for example, a Filter Device Driver for Windows, a VFS Layer or a System Call Layer for Linux, etc. have.
- a first space 400 is a storage space or a storage device for storing a file, and is stored in a file stored in the first space 400 by the file system 300 according to an operation request of the process 130 . Operations such as search, open, read, write, rename, delete, etc. may be performed with respect to the data.
- the computing device 200 may detect an initial operation and a subsequent operation of the process 130 through the file system 300 , and the process 130 is determined to be ransomware according to the detected initial operation. If there is a possibility of becoming a tracking mode, the process 130 may be determined as ransomware if the subsequent action corresponds to an action rule. Since the computing device 200 detects the operation of the process 130 and determines whether the process 130 in which the operation is detected is ransomware, a method of detecting ransomware using a known ransomware code or signature, or It is more effective in detecting new ransomware than the device.
- the computing device 200 may include a processor 210 , and the processor 210 detects an initial operation of the process 130 for a file transferred through the file system 300 , and If there is a possibility that the process 130 is determined to be ransomware based on the operation, set a tracking mode for detecting whether the process 130 is ransomware, and after performing the initial operation, the process 130 It is determined whether the at least one subsequent action requested by have.
- the process 130 of the computing device 200 detects an initial operation and a subsequent operation of the process 130 , sets a tracking mode when the process 130 is likely to be determined to be ransomware, and detects the detected If the initial action and the subsequent action correspond to the action rule, the process 130 may be determined as ransomware.
- the processor 210 of the computing device 200 may detect an initial operation of a file transferred through the file system 300 .
- the user-level application ransomware performs operations such as accessing and changing files stored through the file system 300 , so the processor 210 performs the initial operation of the process 130 from the file system 300 . can be detected.
- the processor 210 of the computing device 200 may set a tracking mode for detecting whether the process 130 is ransomware.
- Ransomware is a program for restricting user access by encrypting a large amount of files such as documents, photos, and databases stored in the user's computer and requesting a ransom for the encrypted files. ) usually operates according to the procedure of searching for a stored file, opening and reading the file, then performing an overwrite operation, or encrypting the file to change the name or extension of the file. Accordingly, when the initial operation of the process 130 corresponds to the initial operation of the ransomware, in other words, the processor 210 sets the tracking mode when there is a possibility that the process 130 is determined to be ransomware based on the initial operation. can be set.
- the tracking mode set by the processor 210 of the computing device 200 is a mode for detecting whether the process 130 is ransomware, and a subsequent operation after the process 130 performs an initial operation is detected. Also, as will be described later, the identification information 110 of the file and the identification information 120 of the process may be recorded.
- the processor 210 of the computing device 200 is configured to detect whether the process 130 is ransomware when the process 130 performs an initial operation within a preset time exceeding a preset number of times. You can set the tracking mode for In order to restrict a user's access by encrypting a file stored in a storage device, the ransomware typically performs a search operation, an open operation, and a read operation on the file many times.
- the process 130 when the process 130 performs the initial operation within a preset time exceeding a preset number of times, the process 130 may be regarded as a case in which it is likely to be determined as ransomware, and the processor of the computing device 200 210 may set a tracking mode for detecting whether the process 130 is ransomware.
- the initial operation of process 130 may include, but is not limited to, a lookup operation by way of example. A detailed description of a case in which the process 130 performs the initial operation more than a preset number of times within a preset time for setting the tracking mode will be described later.
- the processor 210 of the computing device 200 may record the identification information 110 of the file in which the process 130 performs an initial operation and the identification information 120 of the process. It may be determined whether a subsequent operation of the process 130 performed after the initial operation of the process 130 corresponds to the operation rule by using the identification information 110 of the recorded file and the identification information 120 of the process.
- the identification information 110 of the file may correspond to an inode number in the case of Linux
- the identification information 120 of the process includes information for identifying the process 130 such as a file path of a program, a process ID, etc. may be applicable.
- the process 130 records the identification information 110 of the file and the identification information 120 of the process in which the initial operation is performed, and the process 130 performing the subsequent operation is the same as the process 130 in which the initial operation is performed. It may be determined whether or not the identification information 110 of a file that is a target of a subsequent operation performed by the process 130 is the same. By using the identification information 110 of the recorded file and the identification information 120 of the process, it can be checked whether the operation of the process 130 that has performed the initial operation and the subsequent operation corresponds to the operation rule, and the process 130 can determine whether the is ransomware.
- the processor 210 of the computing device 200 may determine whether at least one subsequent operation requested by the process 130 for the file corresponds to an operation rule for determining that the file is ransomware.
- the operation rule is, for example, that when process 130 performs a lookup operation as an initial operation and performs a write operation or overwrite operation as a subsequent operation, process 130 performs an open operation as an initial operation, and a subsequent operation It may be determined such as when a name change operation is performed as an action.
- the operation rule is not limited to the above examples, and when the process 130 performs a read operation as an initial operation and performs an overwrite operation as a subsequent operation, the process 130 performs a lookup operation as an initial operation and a subsequent operation It may be determined in various ways, such as when performing a name change operation.
- the operation rule relates to at least one subsequent operation after the initial operation, but according to the embodiment, the operation rule may be determined as a combination of the initial operation and the subsequent operation.
- the action rule is that the initial action by the process 130 exceeds a preset number of lookup actions within a preset time, and the subsequent action by the process 130 is for a file that is the target of the initial action.
- an open operation, a read operation, a write operation, and a name change operation may be determined to be a combination of at least one or more.
- the initial operation includes a lookup operation by the process 130 on a file, and the operation rule is a read operation, an open operation, and a write operation requested for the file after the process 130 performs the lookup operation. and a name change operation, which may be determined as a combination of at least one subsequent operation.
- the ransomware performs a lookup operation to search for a file in order to access a large number of files, and then performs an open operation, a read operation, a write operation, and a name change operation on the searched file.
- restrict access to An initial operation detected to set the tracking mode may include a lookup operation, and the operation rule may be determined as a combination of a subsequent operation of at least one of a read operation, an open operation, a write operation, and a name change operation.
- the initial operation includes a lookup operation
- the operation rule may be determined that an open operation, a read operation, a write operation, and a name change operation are sequentially performed as a subsequent operation after the lookup operation.
- the computing device 200 sets the tracking mode when the initial operation of the process performs the lookup operation within a preset time exceeding a preset number of times, and sets the process identification information 120 and the file identification information (110) can be identified.
- the computing device After the process 130 performs the initial operation, the computing device performs the open operation among the files on which the lookup operation is performed, when the subsequent operation of the process 130 performs the open operation on the file on which the lookup operation is performed.
- the identification information 110 of the file may be identified and recorded. If the computing device 200 performs a read operation among the files on which the open operation is performed after the process 130 performs the open operation, the identification information 110 of the file on which the read operation is performed among the files on which the open operation is performed.
- the process 130 performs a write operation after performing a write operation after identifying and recording the
- the operation rule is not limited to the above example, and the operation rule is that the subsequent operation after the lookup operation includes a write operation or an overwrite operation, when the subsequent operation includes a name change operation, the subsequent operation includes a write operation and a name change Not only can it be determined by a combination of various subsequent operations, such as when including an operation, but the initial operation includes a lookup operation and an open operation, and subsequent operations requesting the file after the initial operation are read operations, write operations, rename operations, etc.
- the action rule for determining whether the process 130 is ransomware may be determined by a combination of various initial actions and subsequent actions.
- FIG. 2 is a diagram illustrating an initial operation and subsequent operation of a process 130 according to an embodiment.
- the computing device 200 detects whether the process 130 is ransomware when the process 130 performs an initial operation within a preset time exceeding a preset number of times. You can set the tracking mode for
- process 130 A performs a lookup operation 500 times within a preset time T
- process 130 B performs a lookup operation 5 times
- process 130 C performs an open operation 500 times.
- the tracking mode may be set for the process 130 A.
- the preset number of times for setting the tracking mode is 300 and the initial operation is an open operation
- the tracking mode may be set for process 130 C, and in the case of process 130 B, it is determined as ransomware Since it is determined that there is no possibility of becoming a tracking mode, the tracking mode may not be set.
- the subsequent operation of the process 130 may be detected, and it may be determined whether the process 130 is ransomware according to the operation rule.
- the initial operation includes a lookup operation and the subsequent operation corresponds to an operation rule when an open operation, a read operation, and a write operation are sequentially performed
- the subsequent operation of process 130 A is an open operation, a read operation, and a write operation This sequentially performed process 130 A may be determined to be ransomware.
- the action rule can be set in various ways, and even when the subsequent action of the process 130 A is a write action or a name change action, the process 130 A is converted to ransomware according to the set action rule. can be judged.
- the open operation is performed 300 or more times a preset number of times within a preset time T to set the tracking mode by way of example, and a read operation and a write operation are sequentially performed as a subsequent operation.
- the initial operation includes an open operation and a subsequent operation performed by the process 130 after the set operation rule performs the initial operation is determined as a combination of a read operation and a write operation, the process 130 C can be judged as ransomware.
- the set operation rules may be set in various ways, and the operation of various processes 130 such as a lookup operation and an open operation may be set for the initial operation, and the subsequent operation may be an open operation,
- a read operation, a write operation, and a name change operation are set as a combination of at least any one and subsequent operations are sequentially performed or a subsequent operation includes a specific operation, it may be determined that the operation rule corresponds to the operation rule.
- the subsequent operation is exemplified as being performed after a preset time T, but the initial operation is performed more than a preset number of times within a preset time to set the tracking mode, and the subsequent operation is performed within a preset time
- the process 130 that has performed the initial operation and the subsequent operation may be determined to be ransomware.
- the computing device sets the tracking mode based on the initial operation, and after performing the initial operation, at least It may be determined whether one subsequent action corresponds to the action rule, and it may be determined whether the process 130 is ransomware.
- the time and number of times to detect the initial operation to set the tracking mode that is, the preset time T and the preset number 300 times described above are exemplary, and are not limited thereto, and the preset time T ⁇ , the preset number of times 1000 Various times and times may be applied, such as times.
- FIG 3 is a diagram illustrating an operation of the computing device 200 performing a method for detecting ransomware according to an embodiment.
- the computing device 200 may determine whether the process 130 is ransomware by detecting a read operation and a write operation of the process 130 . That is, the computing device 200 detects a read operation that is an initial operation of the process 130 , sets a tracking mode when the process 130 is likely to be ransomware, and identifies the file identification information 110 and the process Information 120 may be recorded. The computing device 200 may determine whether the process 130 is ransomware by detecting a write operation that is a subsequent operation of the process 130 , and determining whether the subsequent operation corresponds to an operation rule.
- FIG. 4 is a diagram illustrating identification information 110 of a file and identification information 120 of a process according to an embodiment.
- the process identification information 120 and the file identification information 110 shown in FIG. 3 indicate the process identification information 120 and the file identification information 110 recorded in the process 130 A of FIG. 2 .
- the computing device 200 may detect the initial operation of the process 130 A and set the tracking mode when the detected initial operation is equal to or greater than a preset number of times within a preset time. For example, when the process 130 A requests the lookup operation 500 times within a preset time, the computing device 200 may set the tracking mode. The computing device 200 sets the tracking mode for the process 130 A, and the process 130 A records the file identification information 110 and the process identification information 120 for the file on which the initial operation is performed. can do.
- the process identification information 120 may correspond to a file path of the process 130 A
- the file identification information 110 may correspond to a file identifier.
- the file identifier may correspond to information for identifying a file, and specifically, in the case of Linux, may correspond to an inode.
- the identification information 110 of the file is not limited to the file identifier, and various information such as a file path, a file address, and a file name may correspond.
- the computing device 200 may detect an initial operation of the process 130 to set a tracking mode, and record the identification information 110 of the file and the identification information 120 of the process.
- the computing device 200 performs at least one subsequent operation among a read operation, an open operation, a write operation, and a name change operation by using the identification information 110 of the recorded file and the identification information 120 of the process in the process 130 . It can be checked whether the initial operation is performed on the same file as the file.
- process 130 A when process 130 A performs a lookup operation 500 times as an initial operation, and then sequentially performs an open operation, a read operation, and a write operation as a subsequent operation, the computing device 200 is recorded Using the identification information 120 of the process and the identification information 110 of the file, whether the sequential subsequent operations of the open operation, the read operation, and the write operation are the same as the file on which the initial operation is performed, and whether the same process 130 You can check whether it is a follow-up operation.
- the tracking mode is set by the initial operation of the process 130, a subsequent operation on the same file is performed by the same process 130, and the initial operation and the subsequent operation of the process 130 correspond to the operation rule, It may be determined whether the process 130 is ransomware.
- the computing device 200 sets the tracking mode and identifies information 110 of the file that is the target of the initial operation. ) and identification information 120 of the process can be recorded. Afterwards, when the subsequent operation of the process 130 A sequentially performs an open operation, a read operation, and a write operation, the computing device 200 checks whether the file performing the subsequent operation matches the identification information 110 of the file, and , it is possible to determine whether the process 130 A is ransomware by checking whether the operation of the process 130 A corresponds to the operation rule.
- FIG. 5 is a diagram illustrating a computing device 200 for performing a method for detecting ransomware according to an embodiment.
- the initial operation and the subsequent operation are performed by a process 130 in a batch by one process 130 , or by a process 130 in which a parent process 140 and a child process 130 are performed. It may be performed by being divided into processes. 4 , a lookup operation, an open operation, a read operation, a write operation, and a name change operation requested by the file system 300 may be requested by the parent process 140 and the child process.
- the computing device 200 performs an initial operation and a subsequent operation through the file system 300 even when the initial operation and the subsequent operation are collectively performed by one process 130 or divided into a parent process 140 and a child process. 130) may determine whether it is ransomware.
- the initial operation of the process 130 is detected by the computing device 200 as described above, and the initial operation is performed in advance within a preset time. If it is performed more than a set number of times, it is possible to set the tracking mode, detect at least one subsequent action of the process 130 to determine whether it corresponds to the action rule, and determine whether the process 130 is ransomware. have.
- the computing device 200 detects the initial operation, and based on the initial operation, there is a possibility that the process 130 is determined to be ransomware. If there is, you can set a tracking mode for detecting whether the process 130 is ransomware.
- child process 1 performs a lookup operation as an initial operation 250 times within a preset time T and child process 2 performs a lookup operation as an initial operation 250 times within a preset time T
- the preset number is 300 times
- child process 1 and child Each of the initial operations of process 2 does not exceed a preset number of times, but child process 1 and child process 2 operate by the same parent process 140 , and the computing device 200 performs initial operations of child process 1 and child process 2 Based on the operation, it may be determined that the parent process 140 and the child processes 1 to N are likely to be determined as ransomware, and a tracking mode may be set.
- the computing device 200 may determine whether at least one subsequent operation requested by the parent process 140 and the child process for the file corresponds to an operation rule for determining that the file is ransomware. have. For example, when an initial operation is performed by child process 1 and child process 2 and the tracking mode is set, when a subsequent operation is performed by child process 3, which is a child process that does not perform the initial operation, the successor of child process 3 It can determine whether an action corresponds to an action rule.
- FIG. 6 is a diagram illustrating an operation of the computing device 200 performing a method for recovering ransomware according to an embodiment.
- the computing device 200 for performing the recovery method for ransomware includes a processor 210 , wherein the processor 210 performs a specific operation on a file ( It is determined whether the process 130 is ransomware, and when the process 130 is determined to be ransomware, a second space 410 separated from the first space 400 in which the original file is stored is set, and the ransomware
- a modified version of the file corresponding to the change request may be recorded in the second space 410 .
- the computing device 200 may perform a recovery method for the ransomware through a structure in which the behavior of the ransomware is recorded in the second space 410 and the original data is maintained at the original location.
- the computing device 200 deletes the data recorded in the second space 410 and restores the data at the original location. have.
- the computing device 200 may detect an operation of the process 130 through the file system 300 to determine whether the process 130 is ransomware.
- the computing device 200 sets a second space 410 separated from the first space 400 when the process 130 is determined to be ransomware, and the process 130 detected as the ransomware is located in the first space
- a change request for file 2 stored in 400 is performed, the change operation for file 2 is not performed on file 2 stored in the first space 400, but changes to file 2 through a block device driver or the like
- An operation may be recorded as a variant of file 2 in the second space 410 .
- the initial operation of the process 130 may be performed on files stored in the first space 400 , but the first space 400 ), when the process 130 determined to be ransomware performs a change request on the files stored in the first space, instead of performing a change operation on the data file stored in the first space 400, the first space 400 and By recording the modified version of the file in the divided second space 410 , the file stored in the first space 400 can be maintained, and files damaged due to ransomware can be stored using the file maintained in the first space 400 . can be restored
- the computing device 200 may determine whether the process 130 performing a specific operation on a file is ransomware.
- the contents of the computing device 200 for performing the ransomware detection method described with reference to FIGS. 1 to 4 may be equally applied to the computing device 200 for performing the ransomware recovery method. That is, the computing device 200 performing the recovery method for the ransomware detects an initial operation of the process 130 in order to determine whether the process 130 is ransomware, and based on the detected initial operation, the process If 130 is likely to correspond to ransomware, set a tracking mode, determine whether at least one subsequent action corresponds to an action rule, and process 130 if at least one subsequent action corresponds to an action rule. ) as ransomware.
- the computing device 200 may set a second space 410 separated from the first space 400 in which the original file is stored.
- the second space 410 may be a space for recording the operation of the process 130 when the process 130 is ransomware.
- the second space 410 may correspond to another partition of the same storage medium as the first space 400 in which the original file is stored or a partition of the second storage medium.
- the second space 410 may be a space in which the file system 300 accessible to a user level application is not installed.
- the second space 410 is a space in which the file system 300 for access by a user-level application, in other words, a user-level application is not installed, and may correspond to a space accessible through a system kernel-level block device driver, etc. have.
- the computing device 200 may record a modified version of the file corresponding to the change request in the second space 410 .
- the modified version of the file corresponding to the change request in the second space 410 the original file stored in the first space 400 is not changed and the operation is performed by the ransomware, and then the original file is restored. can do.
- the file change request may include a write operation request, an overwrite operation request, a deletion request, a name change operation request including a change of a file name or an extension, and the like. That is, the request to change the file may correspond to a request to change the content, format, file name, or extension of the file stored in the first space 400 .
- the computing device 200 for performing the recovery method for ransomware determines whether the process 130 is ransomware, and the second space 410 is separated from the first space 400 . ), and when the process 130 determined to be ransomware performs a change request on the file, the original of the file is recorded in the second space 410 by recording a modified version of the file corresponding to the change request in the first space. By keeping it in space 400, it is possible to restore the file.
- FIGS. 7A, 7B, and 7C are diagrams illustrating mapping information 500 for the original file and the modified version of the file according to an embodiment.
- the computing device 200 performs a change request related to an overwrite operation on a file when the process 130 determined as ransomware performs a file change request.
- the original is kept in the first space 400
- the modified version of the file is recorded in the second space 410
- the address information of the file is stored in the second space 410 instead of the first space 400 . It can be mapped to a variant.
- FIG. 7A is a diagram illustrating the mapping information 500 before the process 130 is determined to be ransomware. Before the process 130 is determined to be ransomware, perform an operation on the original file stored in the first space 400 according to a request for an address A corresponding to the original file stored in the first space 400 . do.
- FIG. 7B is a diagram illustrating a case in which the process 130 determined as ransomware requests a file change when the process 130 is determined to be ransomware.
- the computing device 200 may set a second space 410 that is separated from the first space 400 .
- the process 130 determined to be ransomware requests a change to the file corresponding to the address A, instead of making a change request to the original file stored in the first space 400 , the first space 400
- the original file may be maintained in , and a change request may be made to the modified version of the file in the second space 410 .
- the change request for the file may correspond to an overwrite operation, a write operation, a delete operation, and a name change operation for the file.
- the computing device 200 maps the address A to the modified version of the file recorded in the second space 410 , and an address for file recovery corresponding to the original file maintained in the first space 400 .
- the address information of the file may be mapped to the modified version of the file recorded in the second space 410 instead of the first space 400 .
- FIG. 7C is a diagram illustrating an operation for address A after a mapping address is changed.
- the mapping address for address A is changed to a modified version of the file recorded in the second space 410
- the operation for address A is performed with respect to the modified version of the file recorded in the second space 410 .
- the original file maintained in the first space 400 may be preserved.
- the ransomware is removed, if the file is to be restored, the original may be restored using the original file stored in the first space 400 and the address A' corresponding to the original file.
- the ransomware detection method and the ransomware recovery method may be performed by the computing device 200 performing the ransomware detection method and the computing device 200 performing the ransomware recovery method, respectively. . Therefore, even if omitted below, the descriptions of the computing device 200 performing the ransomware detection method and the computing device 200 performing the ransomware recovery method are the ransomware detection method The same can be applied to the description of the recovery method for ransomware and ransomware.
- FIG. 8 is a diagram illustrating a method for detecting ransomware according to an embodiment.
- a ransomware detection method includes detecting an initial operation of the process 130 for a file delivered through a file system 300 , the process 130 based on the initial operation is determined to be ransomware, setting a tracking mode for detecting whether the process 130 is ransomware, at least one subsequent request for the file by the process 130 after performing the initial operation
- the method may include determining whether the action corresponds to an action rule for determining the ransomware, and determining the process 130 as the ransomware if the at least one subsequent action corresponds to the action rule.
- step S810 the computing device 200 may detect an initial operation of the process 130 with respect to a file transferred through the file system 300 .
- the computing device 200 may determine whether there is a possibility that the process 130 is determined to be ransomware based on the initial operation.
- a tracking mode for detecting whether the process 130 is ransomware may be set in step S830.
- the computing device 200 determines that there is a possibility that the process 130 is determined to be ransomware when the initial operation is performed more than a preset number of times within a preset time in order to set the tracking mode to set the tracking mode.
- the computing device 200 may record the identification information 110 of the file in which the process 130 performs an initial operation and the identification information 120 of the process.
- the computing device 200 may determine whether at least one subsequent action requested by the process 130 for the file after performing the initial operation corresponds to an action rule for determining that the file is ransomware.
- the initial operation may include a lookup operation, and the operation rule is a subsequent operation of at least one of a read operation, an open operation, a write operation, and a rename operation that the process 130 requests for the file after the lookup operation is performed. combination can be determined.
- step S850 when at least one subsequent action corresponds to an action rule, the computing device 200 may determine the process 130 as ransomware.
- FIG. 9 is a diagram illustrating a recovery method for ransomware according to an embodiment.
- the recovery method for ransomware includes determining whether a process 130 performing a specific operation on a file is ransomware, and determining whether the process 130 is ransomware In the case where the original file is stored, setting a second space 410 separated from the first space 400, when the process 130 determined to be ransomware performs a change request on the file, change request It may include recording a modified version of the file corresponding to the second space (410).
- the computing device 200 may determine whether the process 130 for performing a specific operation on a file is ransomware.
- the method for determining whether the process 130 described in FIG. 8 is ransomware may be equally applied.
- the computing device 200 may set a second space 410 that is separated from the first space 400 in which the original file is stored.
- the second space 410 may be a space where the file system 300 is not installed, and an operation may be performed by a block device driver or the like.
- step S930 the computing device 200 records a modified version of the file corresponding to the change request in the second space 410 when the process 130 determined as ransomware performs a change request on the file.
- the computing device 200 may maintain the original file in the first space 400 and record a modified version of the file in the second space 410 in response to a change request for the file, and the address of the original file Information may be mapped to a variant of the second space 410 .
- FIG. 10 is a diagram illustrating an operation of a computing device 1200 performing a method for detecting ransomware according to an embodiment.
- the computing device 1200 performing the method for detecting ransomware may detect an operation of a target process 1140 , and a valid process list 1110 and access Based on the frequency 1120 , it may be determined whether the target process 1140 is ransomware.
- the computing device 1200 may detect the ransomware based on the access frequency of the file at the system level.
- the computing device 1200 may maintain a list 1110 of valid processes that normally access data files (databases, documents, photos, etc.) to be encrypted in the file system.
- the computing device 1200 may count or determine the access frequency 1120 of each valid process, and determine whether the target process 1140 is ransomware based on the list 1110 and the access frequency 1120 of the valid processes. can judge
- the computing device 1200 detects the ransomware by detecting the operation of the target process 1140 in the layer that checks the input/output (I/O) request of the file system 1300 . can do.
- the ransomware of a user level application accesses and operates the file through the file system 1300 .
- the computing device 1200 of the ransomware detection system detects the operation of the target process 1140 , and determines whether the target process 1140 is ransomware based on the valid process list 1110 and the access frequency 1120 . can be judged
- a target process 1140 may refer to a computer program that is continuously executed in a computer system.
- the program may mean executable code stored on a hard disk, etc.
- the target process 1140 may mean a unit of work executed by driving the program.
- the target process 1140 may perform a specific operation on a file stored in the storage space 1400 through the file system 1300 .
- a Lookup operation for searching a file stored in the storage space 1400 an Open operation for opening a file
- a Read operation for reading a file
- a file a file
- a write operation and a rename operation for changing a file name or file extension are illustrated, a specific operation of the target process 1140 is not limited thereto.
- the process may perform various operations such as a Delete operation to delete a file through the file system 1300 , an address change operation to change a file address, and an Encrypt operation to encrypt a file. .
- a file system 1300 may refer to an organizational system that enables a computer to discover and access files or data.
- the computing device 1200 may detect the operation of the target process 1140 through a layer that confirms the I/O request requested from the target process 1140 in the file system 1300 .
- the layer that checks the I/O request may correspond to a layer of the file system 1300 for checking the I/O request, for example, Filter Device Driver in Windows, VFS Layer or System Call Layer in Linux. have.
- the storage space 1400 is a medium or device for storing files, and the file system 1300 searches for files stored in the storage space 1400 according to the operation request of the target process 1140 , Specific operations may be performed, such as open, read, write, rename, or delete.
- the computing device 1200 for performing the method of detecting ransomware may include a processor 1210 , and the processor 1210 includes a valid process for performing a specific operation on a data file. Identifies the list 1110 of the process, determines the access frequency 1120 associated with a specific operation for each valid process included in the list 1110 of the valid process, and includes the list 1110 and the access frequency 1120 of the valid process. Based on this, it may be determined whether the target process 1140 requesting an operation to change the data file is ransomware.
- the computing device 1200 identifies a list 1110 of valid processes including valid processes that perform a specific operation on a data file, and an access frequency associated with a specific operation for each valid process included in the list 1110 of valid processes. (1120) can be determined.
- the list of valid processes 1110 including the valid process may refer to a list of processes that can access and operate on a file.
- the access frequency 1120 associated with a specific operation for each valid process may mean the number of times the valid process accesses the data file and performs the specific operation.
- the computing device 1200 may determine whether the target process 1140 requesting a data file change operation is ransomware based on the list 1110 of the valid processes and the access frequency 1120 .
- ransomware since it is a newly installed program, when encryption of the existing system file is compared with the list 1110 and the access frequency 1120 of the effective process, it corresponds to access to the data file by the new program. , based on this, it is possible to detect and determine whether the target process 1140 is ransomware.
- the change operation includes operations that change information of a file stored in the storage space 1400 among specific operations performed by the target process 1140 such as a write operation, an overwrite operation, a delete operation, a name change operation, an address change operation, etc. and the change operation is not limited to the above examples.
- 11A and 11B are diagrams illustrating a list 1110 of valid processes and an access frequency 1120 according to an embodiment.
- 11A shows a list 1110 and access frequency 1120 of valid processes for file A.
- valid processes A to F may correspond to valid processes for file A.
- the computing device 1200 may identify a list 1110 of valid processes including valid processes A to F for file A, and an access frequency 1120 for each valid process.
- the computing device 1200 may determine the target process 1140 as ransomware. Also, in the computing device 1200 according to an embodiment, when the target process 1140 is included in the list 1110 of the valid process, the access frequency 1120 of the valid process corresponding to the target process 1140 and the valid process The target process 1140 may be determined as ransomware by using the access frequency 1120 of the effective process having the maximum access frequency 1120 in the list 1110 of the . In other words, the computing device 1200 may determine whether the target process 1140 is ransomware based on whether the target process 1140 is included in the list 1110 of valid processes and the access frequency 1120 . .
- the computing device 1200 determines that the target process 1140 is ransomware. can be judged to be
- the computing device 1200 accesses the access frequency 1120 of the valid process corresponding to the target process 1140 and the list 1110 of the valid process.
- the target process 1140 may be determined as ransomware using the access frequency 1120 of the effective process having the maximum frequency 1120 .
- the access frequency 1120 15 of the effective process A and the access frequency 1120 100 of the effective process D having the maximum access frequency 1120 are used. It may be determined whether the target process 1140 is ransomware.
- the effective process with the maximum access frequency 1120 may be determined as ransomware.
- a preset ratio eg, 5%, 10%, etc.
- the computing device 1200 performs the target process ( Check the access frequency 1120 of the effective process corresponding to 1140), and compare the access frequency 1120 of the effective process having the highest access frequency 1120 with an access frequency 1120 less than a preset ratio (eg, N%) ), the target process 1140 may be determined as ransomware.
- a preset ratio eg, N%
- the list 1110 and the access frequency 1120 of the effective process for determining whether the target process 1140 is ransomware may mean a data structure, and the data structure for the file is the identification of the file for identifying the file.
- information may include identification information of the valid process for identifying the valid process.
- Identification information of a file may correspond to a unique value of a file for identifying a file, for example, a file path, a file name, a file size, a file address, a file identifier, etc. may correspond to a specific example of the file identifier. In case of Linux, the same value as the inode number may be applicable.
- the valid process identification information is information for identifying the valid process, and may correspond to a unique value that identifies a valid process or program in a file system, such as a process ID and a file path.
- the effective process with the maximum access frequency 1120 As another example, by comparing the access frequency 1120 of the effective process with the maximum access frequency 1120 and the access frequency 1120 of the effective process corresponding to the target process 1140 , the effective process with the maximum access frequency 1120
- the difference between the access frequency 1120 and the access frequency 1120 of the effective process corresponding to the target process 1140 has an access frequency 1120 greater than or equal to a preset difference (eg, 50 times, 75 times, etc.)
- the target process 1140 may be determined as ransomware.
- the computing device 1200 uses the access frequency 1120 of the valid process corresponding to the target process 1140 to the target process. It may be determined whether 1140 is ransomware. For example, when the access frequency 1120 of the effective process corresponding to the target process 1140 is less than or equal to a preset number, it may be determined that the target process 1140 is ransomware.
- the computing device 1200 determines that the target process 1140 is a ransomware using the access frequency 1120 of the valid process corresponding to the target process 1140 . It is possible to determine whether it is a wearer, and a method of using the access frequency 1120 of the effective process corresponding to the target process 1140 is not limited to the above examples.
- the computing device 1200 identifies the number of requests for a specific operation or change operation for the data file of the target process 1140 within a preset time, and identifies the list 1110 of the valid process and the frequency of access. It can be determined whether the target process 1140 is ransomware by using 1120 .
- the target process 1140 corresponding to the ransomware may request a specific operation or a change operation for a large amount of data files within a short time in order to perform encryption on the large amount of data files.
- the target process 1140 is ransomware.
- the access frequency of the effective process corresponding to the target process 1140, which is ransomware is 50
- the number of requests for a specific action or change action on the data file of the target process 1140 within a preset time T is In the case of 10,000 times, the number of requests for a specific operation or change operation requested by the target process 1140 within a preset time T is very large compared to the access frequency 1120 of the effective process corresponding to the target process 1140,
- the computing device 1200 may determine that the target process 1140 is ransomware.
- the number of requests for a specific operation or change operation requested by the target process 1140 within a preset time T is a preset ratio or a preset ratio compared to the access frequency 1120 of the effective process corresponding to the target process 1140 If the difference is exceeded, the computing device 1200 may determine that the target process 1140 is ransomware.
- 11B is a diagram illustrating a list 1110 and an access frequency 1120 of a valid process based on a file type according to an embodiment.
- the computing device 1200 may determine an access frequency 1120 based on the type of a file to which a specific operation is applied.
- the file type may include, for example, an extension of a file, a size of a file, a location of a file, an access path of the file, and the like.
- the access frequency 1120 may be determined in relation to a specific operation on the data file having the extension 'pdf'.
- FIG. 11B it can be seen that the effective process A has an access frequency 1120 for file type B of 15 times.
- FIG. 12 is a diagram illustrating determining an access frequency 1120 in relation to a specific operation according to an embodiment.
- the computing device 1200 provides an access related to a specific operation after a preset period when a specific operation for a data file performed by the valid process within a preset period is a normal operation.
- the frequency 1120 may be increased.
- Normal behavior may be determined as a specific action or a combination of specific actions on the data file of a valid process.
- the normal operation may be determined as a case in which an open operation is performed on a data file, a read operation, a write operation, an overwrite operation, etc. are performed and a close operation is performed.
- the access frequency 1120 may increase by one time after the predetermined period T.
- a normal operation determined by a specific operation or a combination of specific operations is not limited to the above example.
- the access frequency 1120 may be increased if the valid process performs an open operation within a preset period, and the access frequency 1120 may be increased if the valid process performs a close operation within a preset period; or
- a normal operation may be determined as a combination of various specific actions or specific actions, such as increasing the access frequency 1120 when a valid process performs a specific action, including an open action and a close action, within a preset period.
- the computing device 1200 may increase the access frequency 1120 associated with the specific operation after the preset period when the specific operation for the data file performed by the valid process within the preset period is a normal operation, and
- the number of access frequency 1120 may increase a certain number of times after a preset period or may increase the number of access frequency 1120 corresponding to the number of normal operations.
- the access frequency 1120 after a preset period as in the effective process D is obtained.
- the access frequency 1120 may be increased twice as in the effective process E.
- the computing device 1200 may increase the access frequency 1120 when a valid process is a specific operation for the data file is a normal operation.
- the access frequency 1120 may be increased whenever the valid process performs a normal operation.
- FIG. 13 is a diagram illustrating a list of valid processes 1110 , an access frequency 1120 , and a safe process list 1130 according to an embodiment.
- the computing device 1200 has a valid access frequency 1120 having an access frequency 1120 greater than or equal to a preset number of access frequency 1120 among valid processes included in a list 1110 of a valid process.
- a process is determined as a safe process and the target process 1140 is the same as an effective process determined as a safe process, it may be determined that the target process 1140 is not ransomware. That is, since the safety process has an access frequency 1120 greater than or equal to a preset number of times, it may mean an effective process that can be determined not to be ransomware.
- the preset number of times for determining the valid process as the safe process is 75 exemplarily, and the valid process C and the valid process D may be included in the safe process list 1130 .
- the target process 1140 is a valid process C or a valid process D
- the target process 1140 is the same as the valid process determined as a safe process
- the computing device 1200 determines that the target process 1140 is not ransomware. can be judged as
- the computing device 1200 may not increase the access frequency 1120 even if a valid process determined as a safe process performs a normal operation.
- the safe process is an effective process accessed by the access frequency 1120 more than a preset number of times, and since it is a safe process without the risk of ransomware, the access frequency 1120 may not be increased even if a normal operation is performed.
- the computing device 1200 may determine a valid process corresponding to the target process 1140 as a safe process. Unlike the above example, the computing device 1200 determines an effective process corresponding to the target process 1140 as a safe process based on a user's input, etc. By designating it as a process, it is possible to increase the detection efficiency of ransomware.
- the computing device 1200 blocks a change operation on the data file requested by the target process 1140, and You can provide notifications that include information.
- ransomware since it is newly installed and a new approach is made to the existing data file, when the target process 1140 is determined to be ransomware, it blocks the change operation of the data file requested by the target process 1140 and , a notification including information on the target process 1140 may be provided to allow the user to process the ransomware.
- the computing device 1200 determines the target process 1140 as the ransomware.
- a change operation on the data file may be blocked, but notification information may be provided to the user so that the user may perform a change operation by the newly installed target process 1140 .
- the information on the target process 1140 may include information for identifying the target process 1140 , information about a data file to be changed, and the like.
- the computing device 1200 for performing the method of detecting ransomware includes a processor 1210, and the processor 1210 identifies a target process 1140 requesting a change operation on a data file. and determining the access frequency 1120 of each of the valid processes performing a specific operation on the data file, and based on whether the target process 1140 is the same as the valid process and the access frequency 1120 of the effective process It may be determined whether the process 1140 is ransomware.
- the list of effective processes for performing a specific operation on the computing device 1200 and data files described with reference to FIGS. 10 to 13 1110 and the access frequency 1120 of the effective process may be equally applied, and even if the description is omitted for the computing device 1200 below, the contents described in FIGS. 10 to 13 may be equally applied. have.
- the computing device 1200 may identify the target process 1140 requesting a change operation on the data file.
- the information for identifying the target process 1140 may include a file path of the target process 1140 .
- the target process 1140 may include a parent process and a child process. A change operation to a data file by a child process executed by the same parent process may also be identified as being by the same target process 1140 .
- the computing device 1200 may determine the access frequency 1120 of each of the valid processes performing a specific operation on the data file. To determine the access frequency 1120 of each of the valid processes, each of the valid processes may be identified. In order to identify each of the valid processes, the valid process may be identified by using a file path of the valid process, etc. as in the identification of the target process 1140 .
- valid processes performing a specific operation on a data file and determining an access frequency 1120 of each of the valid processes or valid processes performing a specific operation according to the file type
- the access frequency 1120 of each of the valid processes may be determined.
- the computing device 1200 may determine whether the target process 1140 is ransomware based on whether the target process 1140 is the same as the valid process and an access frequency 1120 of the valid process. The computing device 1200 may determine whether the target process 1140 is the same as the valid process using identification information for identifying the target process 1140 and the valid process. The computing device 1200 may determine whether the target process 1140 is ransomware based on the access frequency 1120 of the voting process. For example, as described in FIGS.
- the computing device 1200 may determine the target process 1140 as ransomware, and , when the target process 1140 is the same as the valid process, it may be determined whether the target process 1140 is ransomware based on the access frequency 1120 of the target process 1140 .
- the computing device 1200 increases the access frequency 1120 associated with the specific operation after the preset period when the specific operation for the data file performed by the valid process within the preset period is a normal operation. can do it As described in FIG. 12 , the normal operation may be determined as a specific operation or a combination of specific operations on the data file, and when the specific operation on the data file performed by the valid process within a preset period is the normal operation, the access frequency (1120) can be increased.
- the computing device 1200 may determine that the target process 1140 is ransomware when the target process 1140 is not the same as the valid process.
- the computing device 1200 when the target process 1140 is the same as the valid process, the computing device 1200 according to an embodiment has an access frequency 1120 of an effective process corresponding to the target process 1140 and an access frequency 1120 among valid processes.
- the target process 1140 may be determined as ransomware by using the access frequency 1120 of the effective process having the maximum . That is, as described in FIGS. 11A and 11B , the computing device 1200 determines whether the target process 1140 is ransomware based on whether the target process 1140 is the same as the valid process and the access frequency 1120 . can be judged
- the computing device 1200 determines, among valid processes, an effective process having an access frequency 1120 of a preset number or more as a safe process, and the target process 1140 is safe. If it is the same as the valid process determined as the process, it may be determined that the target process 1140 is not ransomware. That is, as described with reference to FIG. 13 , in the case of an effective process having an access frequency 1120 greater than or equal to a preset number of times, even when accessing and changing the data file is requested, there is no concern that access to the data file is restricted. may be determined, and when the target process 1140 is the same as a valid process determined as a safe process, the computing device 1200 may determine that the target process 1140 is not ransomware.
- the ransomware detection method may be performed by the computing device 1200 performing the ransomware detection method. Accordingly, even if omitted below, the description of the computing device 1200 performing the method of detecting ransomware may be equally applied to the description of the method of detecting ransomware.
- FIG. 14 is a diagram illustrating a method of detecting ransomware according to an embodiment.
- a method of detecting ransomware includes identifying a list 1110 of valid processes including a valid process performing a specific operation on a data file, and a list 1110 of valid processes. Determining the access frequency 1120 related to a specific operation for each valid process included in the target process 1140 for requesting a data file change operation based on the list 1110 and the access frequency 1120 of the valid process may include determining whether the is ransomware.
- the computing device 1200 may identify a list 1110 of valid processes including valid processes for performing a specific operation on a data file.
- the specific operation that the valid process performs on the data file may include various operations such as a lookup operation, a read operation, an open operation, a write operation, an overwrite operation, a name change operation, a delete operation, an address change operation, an encryption operation, and the like.
- the computing device 1200 may determine an access frequency 1120 related to a specific operation for each valid process included in the list 1110 of the valid process.
- the access frequency 1120 related to the specific operation after the preset period may be increased. have.
- a normal operation may be determined as a specific operation or a combination of specific operations in relation to a specific operation.
- a read operation and a write operation after performing the open operation and a case of performing a close operation after performing an operation such as an overwrite operation, etc. may be variously determined, and the number of increasing access frequencies 1120, a preset period, etc. may also be variously applied.
- step S1530 the computing device 1200 determines whether the target process 1140 requesting the data file change operation is ransomware based on the list 1110 and the access frequency 1120 of the valid processes.
- the computing device 1200 selects the target process 1140 if the target process 1140 is not included in the list 1110 of the valid process. It could be considered ransomware.
- the step of determining whether the target process 1140 is ransomware when the target process 1140 is included in the list 1110 of the valid process, the valid corresponding to the target process 1140 .
- the target process 1140 is ransomware, or the effective access frequency 1120 and the access frequency 1120 of the effective process corresponding to the target process 1140 are the maximum. Based on the access frequency 1120 of the process, it may be determined whether the target process 1140 is ransomware.
- the computing device 1200 further comprises the step of determining, by the computing device 1200, an effective process having an access frequency 1120 greater than or equal to a preset number of access frequencies 1120 of the valid process as a safe process, and the target process 1140 is If the target process 1140 is the same as the valid process determined as the safe process in the step of determining whether the ransomware is the target process 1140, it may be determined that the target process 1140 is not ransomware.
- 15 is a diagram illustrating a method of detecting ransomware according to another embodiment of the present invention.
- a method of detecting ransomware includes identifying a target process 1140 requesting a change operation on a data file, and each of the valid processes performing a specific operation on the data file. Determining the access frequency 1120, including determining whether the target process 1140 is ransomware based on whether the target process 1140 is the same as the valid process and the access frequency 1120 of the valid process can do.
- the computing device 1200 may identify a target process 1140 requesting a change operation for a data file.
- the computing device 1200 may identify the target process 1140 using a file path of the target process 1140 .
- the computing device 1200 may determine the access frequency 1120 of each of the valid processes performing a specific operation on the data file.
- the step of determining the access frequency 1120 of each of the valid processes a list 1110 of valid processes performing a specific operation on the data file is identified, and a specific operation performed by each of the valid processes on the data file and A related access frequency 1120 may be determined.
- the computing device 1200 performs a normal operation in relation to a specific operation for the data file of each of the valid processes within a preset period, access The frequency 1120 may be increased, and the normal operation may be determined as a specific operation or a combination of specific operations.
- the computing device 1200 may determine whether the target process 1140 is ransomware based on whether the target process 1140 is the same as the valid process and the access frequency 1120 of the effective process. have. For example, in the step of determining whether the target process 1140 is ransomware, the computing device 1200 determines that the target process 1140 is ransomware if the target process 1140 is not the same as the valid process. can When the target process 1140 is the same as the valid process, the computing device 1200 determines whether the target process 1140 is ransomware based on the access frequency 1120 of the effective process corresponding to the target process 1140. can
- the method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.
- Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be implemented for processing by, or for controlling the operation of, a data processing device, eg, a programmable processor, computer, or number of computers, a computer program product, ie an information carrier, eg, a machine readable storage It may be embodied as a computer program tangibly embodied in an apparatus (computer readable medium) or a radio signal.
- a computer program such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be written as a standalone program or in a module, component, subroutine, or computing environment. may be deployed in any form, including as other units suitable for use in A computer program may be deployed to be processed on one computer or multiple computers at one site or to be distributed across multiple sites and interconnected by a communications network.
- processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from either read-only memory or random access memory or both.
- Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data.
- a computer may include one or more mass storage devices for storing data, for example magnetic, magneto-optical disks, or optical disks, receiving data from, sending data to, or both.
- Information carriers suitable for embodying computer program instructions and data are, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, Compact Disk Read Only Memory (CD-ROM). ), an optical recording medium such as a DVD (Digital Video Disk), a magneto-optical medium such as a floppy disk, a ROM (Read Only Memory), a RAM , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. Processors and memories may be supplemented by, or included in, special purpose logic circuitry.
- the computer-readable medium may be any available medium that can be accessed by a computer, and may include both computer storage media and transmission media.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것으로, 본 발명의 일실시예에 따른 랜섬웨어에 대한 탐지 방법은 파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하는 단계, 상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함할 수 있다.
Description
본 발명은 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것이다.
랜섬웨어(Ransomeware)는 몸값을 뜻하는 Ransom과 software가 합하여 만들어진 합성어로, 랜섬웨어는 사용자의 컴퓨터와 같은 시스템에 접근하여, 사용자가 보유한 문서, 사진, 데이터베이스, 영상 등을 암호화하여 사용자가 접근할 수 없도록 한다.
데이터 파일을 암호화한 자는 사용자에게 암호화한 데이터에 대하여 일종의 몸값을 요구한고, 보유한 데이터 파일에 접근하기 위해서는 요구한 돈을 지불하여야 한다.
랜섬웨어에 컴퓨터 시스템이 노출되는 경우, 데이터 파일 접근을 위하여 몸값을 지불하여야 하거나, 데이터 파일에 대한 접근이 제한되므로, 랜섬웨어를 탐지하여 피해를 예방하고, 랜섬웨어에 감염되더라도 데이터 파일이 소실되지 않도록 하기 위한 기술이 필요하다.
본 문서에 개시되는 다양한 실시예에 따르면, 랜섬웨어가 사용자 수준의 응용 프로그램이라는 점에 착안하여 시스템 수준에서 랜섬웨어를 탐지하고 복구하는 방법을 제공한다.
본 문서에 개시되는 다양한 실시예에 따르면, 프로세스의 초기 동작 및 후속 동작을 탐지하고, 프로세스가 랜섬웨어인지 여부를 판단하는 랜섬웨어에 대한 탐지 방법을 제공한다.
본 문서에 개시되는 다양한 실시예에 따르면, 프로세스가 랜섬웨어인지 여부를 판단하고, 파일의 원본이 저장되는 공간과 구분되는 공간에 랜섬웨어로 판단된 프로세스의 동작을 기록하는 랜섬웨어에 대한 복구 방법을 제공한다.
일실시예에 따른 랜섬웨어에 대한 탐지 방법은 파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하는 단계, 상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함할 수 있다.
상기 추적 모드를 설정하는 단계는, 상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
상기 추적 모드를 설정하는 단계는, 상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록할 수 있다.
상기 초기 동작은, 상기 프로세스가 상기 파일에 대한 룩업 동작을 포함하고, 상기 동작 규칙은, 상기 프로세스가 상기 룩업 동작을 수행한 이후에 상기 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
상기 초기 동작 및 상기 후속 동작은, 상기 프로세스가 하나의 프로세스에 의해 일괄적으로 수행되거나 또는 상기 프로세스가 부모 프로세스 및 자식 프로세스로 구분되어 수행되는 것일 수 있다.
일실시예에 따른 랜섬웨어에 대한 복구 방법은, 파일에 대해 특정 동작을 수행하는 프로세스가 랜섬웨어인지 여부를 판단하는 단계, 상기 프로세스가 랜섬웨어로 판단된 경우, 상기 파일의 원본이 저장되는 제1 공간과 구분되는 제2 공간을 설정하는 단계, 상기 랜섬웨어로 판단된 프로세스가 상기 파일에 대한 변경 요청을 수행하는 경우, 상기 변경 요청에 대응하는 파일의 변형본을 상기 제2 공간에 기록하는 단계를 포함할 수 있다.
상기 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 파일에 대한 상기 프로세스의 초기 동작을 탐지하는 단계, 상기 초기 동작에 기초하여 상기 프로세서가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 상기 초기 동작을 수행한 이후, 상기 프로세서가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함할 수 있다.
상기 추적 모드를 설정하는 단계는, 상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계는, 상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록할 수 있다.
상기 초기 동작은, 상기 프로세스가 상기 파일에 대한 룩업 동작을 포함하고, 상기 동작 규칙은, 상기 프로세스가 상기 룩업 동작을 수행한 이후에 상기 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
상기 제2 공간은, 사용자 레벨의 어플리케이션이 접근할 수 있는 파일 시스템이 설치되지 않은 공간일 수 있다.
상기 변경 요청에 대응하는 파일의 변형본을 제2 공간에 기록하는 단계는, 상기 랜섬웨어로 판단된 프로세스가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 상기 파일의 원본을 상기 제1 공간에 유지하고 상기 파일의 변형본을 상기 제2 공간에 기록하며, 상기 파일의 주소 정보를 상기 제1 공간이 아닌 상기 제2 공간에 기록된 파일의 변형본에 매핑할 수 있다.
일실시예에 따른 랜섬웨어 탐지 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하고, 상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하고, 상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하고, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단할 수 있다.
상기 프로세서는, 상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
상기 프로세서는, 상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록할 수 있다.
일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 파일에 대해 특정 동작을 수행하는 프로세스가 랜섬웨어인지 여부를 판단하고, 상기 프로세스가 랜섬웨어로 판단된 경우, 상기 파일의 원본이 저장되는 제1 공간과 구분되는 제2 공간을 설정하고, 상기 랜섬웨어로 판단된 프로세스가 상기 파일에 대한 변경 요청을 수행하는 경우, 상기 변경 요청에 대응하는 파일의 변형본을 상기 제2 공간에 기록할 수 있다.
상기 프로세서는, 상기 랜섬웨어로 판단된 프로세스가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 상기 파일의 원본을 상기 제1 공간에 유지하고 상기 파일의 변형본을 상기 제2 공간에 기록하며, 상기 파일의 주소 정보를 상기 제1 공간이 아닌 상기 제2 공간에 기록된 파일의 변형본에 매핑할 수 있다.
일실시예에 따른 랜섬웨어의 탐지 방법은, 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스를 포함하는 유효 프로세스의 목록을 식별하는 단계, 상기 유효 프로세스의 목록에 포함된 유효 프로세스별로 상기 특정 동작과 관련된 접근 빈도를 결정하는 단계 및 상기 유효 프로세스의 목록 및 상기 접근 빈도에 기초하여, 상기 데이터 파일의 변경 동작을 요청하는 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계를 포함할 수 있다.
상기 접근 빈도를 결정하는 단계는, 상기 유효 프로세스가 미리 설정한 기간 내에 수행한 상기 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 상기 미리 설정한 기간 이후 상기 특정 동작과 관련된 접근 빈도를 증가시킬 수 있다.
상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 대상 프로세스가 상기 유효 프로세스의 목록에 포함되지 않는 경우, 상기 대상 프로세스를 랜섬웨어로 판단할 수 있다.
상기 랜섬웨어의 탐지 방법은, 상기 유효 프로세스의 목록에 포함된 유효 프로세스들 중 접근 빈도가 미리 설정한 횟수 이상의 접근 빈도를 가지는 유효 프로세스를 안전 프로세스로 결정하는 단계를 더 포함하고, 상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 대상 프로세스가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우, 상기 대상 프로세스를 랜섬웨어가 아닌 것으로 판단할 수 있다.
상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 대상 프로세스가 상기 유효 프로세스의 목록에 포함되는 경우 상기 대상 프로세스에 대응하는 유효 프로세스의 접근 빈도와 상기 유효 프로세스의 목록에서 상기 접근 빈도가 최대인 유효 프로세스의 접근 빈도를 이용하여 상기 대상 프로세스를 랜섬웨어로 판단할 수 있다.
상기 접근 빈도를 결정하는 단계는, 상기 특정 동작이 적용되는 파일의 유형에 기초하여 상기 접근 빈도를 결정할 수 있다.
상기 랜섬웨어의 탐지 방법은, 상기 대상 프로세스가 랜섬웨어로 판단된 경우, 상기 대상 프로세스가 요청하는 데이터 파일에 대한 변경 동작을 차단하는 단계 및 상기 대상 프로세스에 대한 정보를 포함하는 알림을 제공하는 단계를 더 포함할 수 있다.
일실시예에 따른 랜섬웨어의 탐지 방법은, 데이터 파일에 대해 변경 동작을 요청하는 대상 프로세스를 식별하는 단계, 상기 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스들 각각의 접근 빈도를 판단하는 단계 및 상기 대상 프로세스가 유효 프로세스와 동일한지 여부 및 상기 유효 프로세스의 접근 빈도에 기초하여 상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계를 포함할 수 있다.
상기 접근 빈도를 판단하는 단계는, 상기 유효 프로세스가 미리 설정한 기간 내에 수행한 상기 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 상기 미리 설정한 기간 이후 상기 특정 동작과 관련된 접근 빈도를 증가시킬 수 있다.
상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 대상 프로세스가 상기 유효 프로세스와 동일하지 않은 경우, 상기 대상 프로세스를 랜섬웨어로 판단할 수 있다.
상기 랜섬웨어의 탐지 방법은, 상기 유효 프로세스들 중 접근 빈도가 미리 설정한 횟수 이상의 접근 빈도를 가지는 유효 프로세스를 안전 프로세스로 결정하는 단계를 더 포함하고, 상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 대상 프로세스가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우, 상기 대상 프로세스를 랜섬웨어가 아닌 것으로 판단할 수 있다.
상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 대상 프로세스가 상기 유효 프로세스와 동일한 경우 상기 대상 프로세스에 대응하는 유효 프로세스의 접근 빈도와 상기 유효 프로세스들 중에서 상기 접근 빈도가 최대인 유효 프로세스의 접근 빈도를 이용하여 상기 대상 프로세스를 랜섬웨어로 판단할 수 있다.
일실시예에 따른 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스를 포함하는 유효 프로세스의 목록을 식별하고, 상기 유효 프로세스의 목록에 포함된 유효 프로세스별로 상기 특정 동작과 관련된 접근 빈도를 결정하고, 상기 유효 프로세스의 목록 및 상기 접근 빈도에 기초하여, 상기 데이터 파일의 변경 동작을 요청하는 대상 프로세스가 랜섬웨어인지 여부를 판단할 수 있다.
상기 프로세서는, 상기 유효 프로세스가 미리 설정한 기간 내에 수행한 상기 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 상기 미리 설정한 기간 이후 상기 특정 동작과 관련된 접근 빈도를 증가시킬 수 있다.
상기 프로세서는, 상기 대상 프로세스가 상기 유효 프로세스의 목록에 포함되지 않는 경우, 상기 대상 프로세스를 랜섬웨어로 판단할 수 있다.
상기 프로세서는, 상기 대상 프로세스가 상기 유효 프로세스의 목록에 포함되는 경우 상기 대상 프로세스에 대응하는 유효 프로세스의 접근 빈도와 상기 유효 프로세스의 목록에서 상기 접근 빈도가 최대인 유효 프로세스의 접근 빈도를 이용하여 상기 대상 프로세스를 랜섬웨어로 판단할 수 있다.
일 실시예에 따른 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 데이터 파일에 대해 변경 동작을 요청하는 대상 프로세스를 식별하고, 상기 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스들 각각의 접근 빈도를 판단하고, 상기 대상 프로세스가 유효 프로세스와 동일한지 여부 및 상기 유효 프로세스의 접근 빈도에 기초하여 상기 대상 프로세스가 랜섬웨어인지 여부를 판단할 수 있다.
상기 프로세서는, 상기 대상 프로세스가 상기 유효 프로세스와 동일한 경우 상기 대상 프로세스에 대응하는 유효 프로세스의 접근 빈도와 상기 유효 프로세스들 중에서 상기 접근 빈도가 최대인 유효 프로세스의 접근 빈도를 이용하여 상기 대상 프로세스를 랜섬웨어로 판단할 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 파일 시스템 내 I/O 요청을 확인하는 레이어(Windows의 경우 Filter Device Driver, Linux의 경우 VFS Layer 또는 System Call Layer)에서 프로세스의 동작을 탐지할 수 있고, 탐지된 프로세스의 동작(Lookup, Open, Read, Write, Rename 등)이 정해진 규칙의 조합을 만족하면 랜섬웨어로 판단하여, 랜섬웨어를 탐지할 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 랜섬웨어의 행동(동작)은 사용자 수준의 응용이 접근할 수 없는 저장 공간(제2 공간 또는 랜섬 행동 기록 공간)에 기록되고, 원본 데이터는 원래의 저장 공간에 그대로 유지하여, 프로세스가 랜섬웨어로 탐지된 경우 원본 데이터를 복원할 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 랜섬웨어의 경우 신규로 설치되어 파일에 대한 접근을 시도하기 때문에, 프로세스의 접근 빈도에 기초하여 프로세스가 랜섬웨어인지 여부를 탐지할 수 있다.
도 1은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치의 동작을 도시한 도면이다.
도 2는 일실시예에 따른 프로세스의 초기 동작 및 후속 동작을 나타낸 도면이다.
도 3은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치의 동작을 나타낸 도면이다.
도 4는 일실시예에 따른 파일의 식별 정보 및 프로세스의 식별 정보를 나타낸 도면이다.
도 5는 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하기 위한 컴퓨팅 장치를 도시한 도면이다.
도 6는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치의 동작을 도시한 도면이다.
도 7a, 도 7b 및 도 7c는 일실시예에 따른 파일의 원본 및 파일의 변형본에 대한 매핑 정보를 나타낸 도면이다.
도 8은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 나타낸 도면이다.
도 9는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 나타낸 도면이다.
도 10은 일실시예에 따른 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치의 동작을 나타낸 도면이다.
도 11a 및 도 11b는 일실시예에 따른 유효 프로세스의 목록 및 접근 빈도를 나타낸 도면이다.
도 12은 일실시예에 따른 특정 동작과 관련하여 접근 빈도를 결정하는 것을 나타낸 도면이다.
도 13는 일실시예에 따른 유효 프로세스의 목록, 접근 빈도 및 안전 프로세스 목록을 나타낸 도면이다.
도 14는 일실시예에 따른 랜섬웨어의 탐지 방법을 나타낸 도면이다.
도 15은 본 발명의 다른 실시예에 따른 랜섬웨어의 탐지 방법을 나타낸 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다.
도 1은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)의 동작을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)는, 파일 시스템(300)을 통해 프로세스(130)의 동작을 탐지하여 프로세스(130)가 랜섬웨어인지를 판단할 수 있다.
컴퓨팅 장치(200)는 파일 시스템(300)의 I/O 요청을 확인하는 레이어에서 프로세스(130)의 동작을 감지하여 랜섬웨어를 탐지할 수 있다. 사용자 수준 응용(User Level Application)의 랜섬웨어는 저장 공간인 제1 공간(400)에 저장된 파일에 접근하여 동작하기 위하여, 파일 시스템(300)을 통하여 파일에 접근 및 동작을 수행한다. 따라서, 컴퓨팅 장치(200)는 프로세스(130)의 초기 동작 및 후속 동작을 감지하여 프로세스(130)가 랜섬웨어인지를 판단할 수 있다.
도 1을 참조하면, 프로세스(130)는 컴퓨터 시스템에서 연속적으로 실행되는 컴퓨터 프로그램을 의미할 수 있다. 프로그램은 하드 디스크 등에 저장되어 있는 실행 코드를 의미하고, 프로세스(130)는 프로그램을 구동하여 실행되는 작업 단위를 의미할 수 있다.
프로세스(130)는 파일 시스템(300)을 통하여 저장 공간인 제1 공간(400)에 저장된 파일에 대하여 다양한 동작을 수행할 수 있다. 도 1에서는 프로세스(130)에 의한 동작으로 제1 공간(400)에 저장된 파일을 탐색하는 룩업(Lookup) 동작, 파일을 여는 열기(Open) 동작, 파일을 읽는 읽기(Read) 동작, 파일을 쓰는 쓰기(Write) 동작, 파일명 내지 파일 확장자를 변경하는 이름 변경(Rename) 동작이 도시되어 있으나, 프로세스(130)의 동작은 이에 한정되지 않는다. 예를 들어, 프로세스(130)는 파일 시스템(300)을 통하여 파일을 삭제하는 삭제(Delete) 동작, 파일 주소를 변경하는 주소 변경 동작, 파일을 암호화하는 암호화(Encrypt) 동작 등과 같은 다양한 동작을 수행할 수 있다.
도 1을 참조하면, 파일 시스템(300)은 컴퓨터에서 파일이나 자료를 발견 및 접근할 수 있도록 하는 조직 체제를 의미할 수 있다. 파일 시스템(300)내의 프로세스(130)로부터 요청된 I/O(Input/Output) 요청을 확인하는 레이어를 통해 컴퓨팅 장치(200)는 프로세스(130)의 동작을 감지할 수 있다. I/O 요청을 확인하는 레이어는 예를 들면, Windows의 경우 Filter Device Driver, Linux의 경우 VFS Layer 또는 System Call Layer 등이 I/O 요청을 확인하기 위한 파일 시스템(300)의 레이어에 해당할 수 있다.
도 1을 참조하면, 제1 공간(400)은 파일을 저장하는 저장 공간 내지 저장 장치로, 프로세스(130)의 동작 요청에 따라 파일 시스템(300)에 의하여 제1 공간(400)에 저장된 파일에 대하여 탐색, 열기, 읽기, 쓰기, 이름 변경, 삭제 등의 동작이 수행될 수 있다.
일실시예에 따른 컴퓨팅 장치(200)는, 파일 시스템(300)을 통하여 프로세스(130)의 초기 동작 및 후속 동작을 탐지할 수 있고, 탐지된 초기 동작에 따라 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우 추적 모드를 설정하고, 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단할 수 있다. 컴퓨팅 장치(200)는, 프로세스(130)의 동작을 탐지하여 동작이 탐지된 프로세스(130)가 랜섬웨어인지 여부를 판단하므로, 알려진 랜섬웨어의 코드 내지 시그니처를 이용하여 랜섬웨어를 탐지하는 방법 또는 장치에 비하여 신종 랜섬웨어의 탐지에 효율적이다.
일실시예에 따른 컴퓨팅 장치(200)는 프로세서(210)를 포함할 수 있고, 프로세서(210)는 파일 시스템(300)을 통해 전달된 파일에 대한 프로세스(130)의 초기 동작을 탐지하고, 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하고, 초기 동작을 수행한 이후, 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하고, 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단할 수 있다. 달리 말해, 컴퓨팅 장치(200)의 프로세스(130)는 프로세스(130)의 초기 동작 및 후속 동작을 탐지하여, 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우 추적 모드를 설정하고, 탐지된 초기 동작 및 후속 동작이 동작 규칙에 해당하는 경우 프로세스(130)를 랜섬웨어로 판단할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)는 파일 시스템(300)을 통해 전달된 파일에 대한 초기 동작을 탐지할 수 있다. 앞서 설명한 바와 같이, 사용자 수준 응용의 랜섬웨어는 파일 시스템(300)을 통해 저장된 파일에 접근, 변경 등의 동작을 수행하므로, 프로세서(210)는 파일 시스템(300)으로부터 프로세스(130)의 초기 동작을 탐지할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)는 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 랜섬웨어는 사용자의 컴퓨터에 저장된 문서, 사진, 데이터베이스 등의 파일들을 대량으로 암호화하여 사용자의 접근을 제한하고, 암호화된 파일에 대한 일종의 몸값을 요구하기 위한 프로그램으로, 랜섬웨어에 해당하는 프로세스(130)는 통상적으로 저장된 파일을 탐색하고, 파일을 열어서 읽은 후 덮어쓰기 동작을 수행하거나, 암호화하여 파일의 이름 또는 확장자를 변경하는 이름 변경 동작을 수행하는 절차에 따라 동작하는 경우가 많다. 따라서, 프로세스(130)의 초기 동작이 랜섬웨어의 초기 동작에 대응하는 경우, 달리 말해 프로세서(210)는 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 추적 모드를 설정할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)에 의해 설정되는 추적 모드는, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 모드로, 프로세스(130)가 초기 동작을 수행한 이후의 후속 동작을 탐지할 수 있고, 후술하는 바와 같이 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수도 있다.
일실시예에 따른 컴퓨팅 장치(200)의 프로세서(210)는, 프로세스(130)가 미리 설정된 시간 내에 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 랜섬웨어는 저장 장치에 저장된 파일에 대하여 암호화 등을 수행하여 사용자의 접근을 제한하기 위하여, 파일에 대한 탐색 동작, 열기 동작 및 읽기 동작을 수행하는 횟수가 많은 경우가 통상적이다.
따라서, 프로세스(130)가 미리 설정된 시간 내에 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우로 볼 수 있고, 컴퓨팅 장치(200)의 프로세서(210)는 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 프로세스(130)의 초기 동작은 예시적으로 룩업 동작을 포함할 수 있으나, 이에 한정되지 않는다. 프로세스(130)가 추적 모드를 설정하기 위한 미리 설정된 시간 내에 초기 동작을 미리 설정한 횟수를 초과하여 수행하는 경우에 대한 자세한 설명은 후술한다.
일실시예에 따른 컴퓨팅 장치(200)의 프로세서(210)는, 프로세스(130)가 초기 동작을 수행한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 기록되는 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 이용하여 프로세스(130)의 초기 동작 이후 수행하는 프로세스(130)의 후속 동작이 동작 규칙에 해당하는지를 판단할 수 있다. 예시적으로, 파일의 식별 정보(110)는 Linux의 경우 inode 번호가 해당할 수 있고, 프로세스의 식별 정보(120)는 프로그램의 파일 경로, 프로세스 ID 등과 같이 프로세스(130)를 식별하기 위한 정보들이 해당할 수 있다.
프로세스(130)가 초기 동작을 수행한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록하고, 후속 동작을 수행하는 프로세스(130)가 초기 동작을 수행한 프로세스(130)와 동일한지 여부와 프로세스(130)가 수행하는 후속 동작의 대상이 되는 파일의 식별 정보(110)가 동일한지 여부를 판단할 수 있다. 기록한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 이용하여, 초기 동작 및 후속 동작을 수행한 프로세스(130)의 동작이 동작 규칙에 해당하는지 여부를 확인할 수 있고, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)는, 초기 동작을 수행한 이후 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정할 수 있다. 동작 규칙은 예를 들어, 프로세스(130)가 초기 동작으로 룩업 동작을 수행하고, 후속 동작으로 쓰기 동작 또는 덮어쓰기 동작을 수행하는 경우, 프로세스(130)가 초기 동작으로 열기 동작을 수행하고, 후속 동작으로 이름 변경 동작을 수행하는 경우 등과 같이 결정될 수 있다. 동작 규칙은 상기 예시들로 한정되지 않고, 프로세스(130)가 초기 동작으로 읽기 동작을 수행하고 후속 동작으로 덮어쓰기 동작을 수행하는 경우, 프로세스(130)가 초기 동작으로 룩업 동작을 수행하고 후속 동작으로 이름 변경 동작을 수행하는 경우 등과 같이 다양하게 결정될 수 있다.
또한, 상기의 설명에서 동작 규칙은 초기 동작 이후 적어도 하나의 후속 동작에 관한 것으로 설명하였으나, 실시예의 형태에 따라 동작 규칙은 초기 동작 및 후속 동작의 조합으로 결정될 수도 있다. 예를 들어, 동작 규칙은 프로세스(130)에 의한 초기 동작이 미리 설정된 시간 이내에 룩업 동작을 미리 설정된 횟수를 초과하는 것이고, 프로세스(130)에 의한 후속 동작이 초기 동작의 대상이 되는 파일에 대한 것으로, 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나 이상의 조합인 것으로 결정될 수도 있다.
일실시예에 따른 초기 동작은 프로세스(130)가 파일에 대한 룩업 동작을 포함하고, 동작 규칙은 프로세스(130)가 룩업 동작을 수행한 이후에 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다. 앞서 설명한 바와 같이, 랜섬웨어는 대량의 파일에 접근하기 위하여 파일을 검색하는 룩업 동작을 수행하고, 이후 검색된 파일에 대해 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작 등을 수행하여 파일에 대한 사용자의 접근을 제한한다. 추적 모드를 설정하기 위하여 감지되는 초기 동작은 룩업 동작을 포함할 수 있고, 동작 규칙은 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
예를 들어, 초기 동작은 룩업 동작을 포함하고, 동작 규칙은 룩업 동작 이후의 후속 동작이 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작이 순차적으로 수행되는 것으로 결정될 수 있다.
다른 예로, 컴퓨팅 장치(200)는 프로세스의 초기 동작이 미리 설정한 시간 내에 룩업 동작을 미리 설정한 횟수를 초과하여 수행하는 경우 추적 모드를 설정하고, 프로세스의 식별 정보(120) 및 파일의 식별 정보(110)를 식별할 수 있다. 컴퓨팅 장치는 프로세스(130)가 초기 동작을 수행한 이후, 프로세스(130)의 후속 동작이 룩업 동작이 수행된 파일에 대하여 열기 동작을 수행하는 경우, 룩업 동작이 수행된 파일 중 열기 동작을 수행한 파일의 식별 정보(110)을 식별하여 기록할 수 있다. 컴퓨팅 장치(200)는 프로세스(130)가 열기 동작을 수행한 이후, 열기 동작을 수행한 파일 중에서 읽기 동작을 수행하는 경우 열기 동작을 수행한 파일 중 읽기 동작을 수행한 파일의 식별 정보(110)를 식별하여 기록하고, 읽기 동작을 수행한 이후 프로세스(130)가 쓰기 동작을 수행하는 경우, 읽기 동작을 수행한 파일 중 쓰기 동작을 수행한 파일의 식별 정보(110)을 식별하여 기록, 쓰기 동작을 수행한 이후 프로세스(130)가 이름 변경 동작을 수행하는 경우, 프로세스(130)가 랜섬웨어인 것으로 판단할 수 있다.
동작 규칙은 상기 예시에 제한되지 않으며, 동작 규칙은 룩업 동작 이후의 후속 동작이 쓰기 동작 내지 덮어쓰기 동작을 포함되는 경우, 후속 동작이 이름 변경 동작을 포함하는 경우, 후속 동작이 쓰기 동작 및 이름 변경 동작을 포함하는 경우 등과 같이 다양한 후속 동작의 조합으로 결정될 수 있을 뿐만 아니라, 초기 동작이 룩업 동작 및 열기 동작을 포함하고, 초기 동작 이후 파일에 대해 요청하는 후속 동작이 읽기 동작, 쓰기 동작, 이름 변경 동작 중 적어도 하나의 조합으로 결정되는 경우와 같이, 프로세스(130)가 랜섬웨어인지를 판단하기 위한 동작 규칙은 다양한 초기 동작과 후속 동작의 조합으로 결정될 수 있다.
도 2는 일실시예에 따른 프로세스(130)의 초기 동작 및 후속 동작을 나타낸 도면이다.
도 2를 참조하면, 일실시예에 따른 컴퓨팅 장치(200)는, 프로세스(130)가 미리 설정된 시간 내에 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
도 2에서 프로세스(130) A는 미리 설정된 시간 T 이내에 룩업 동작을 500회 수행하고, 프로세스(130) B는 룩업 동작을 5회, 프로세스(130) C는 열기 동작을 500회 수행한다. 추적 모드를 설정하기 위하여 미리 설정된 횟수가 300회이고, 초기 동작이 룩업 동작인 경우, 프로세스(130) A에 대해서 추적 모드가 설정될 수 있다. 또한, 추적 모드를 설정하기 위한 미리 설정된 횟수가 300회이고, 초기 동작이 열기 동작인 경우, 프로세스(130) C에 대해서 추적 모드가 설정될 수 있고, 프로세스(130) B의 경우 랜섬웨어로 판단될 가능성이 없는 것으로 판단되어, 추적 모드가 설정되지 않을 수 있다.
프로세스(130)의 초기 동작에 따라 추적 모드가 설정되면, 프로세스(130)의 후속 동작을 감지하고, 동작 규칙에 따라 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 초기 동작이 룩업 동작을 포함하고, 후속 동작이 열기 동작, 일기 동작 및 쓰기 동작이 순차적으로 수행되는 경우 동작 규칙에 해당할 때, 프로세스(130) A의 후속 동작이 열기 동작, 읽기 동작 및 쓰기 동작이 순차적으로 수행되는 프로세스(130) A가 랜섬웨어로 판단될 수 있다.
전술한 바와 같이, 동작 규칙은 다양하게 설정될 수 있고, 프로세스(130) A의 후속 동작이 쓰기 동작인 경우 또는 이름 변경 동작인 경우에도, 설정된 동작 규칙에 따라 프로세스(130) A가 랜섬웨어로 판단될 수 있다. 또한, 프로세스(130) C의 경우는 예시적으로 추적 모드를 설정하기 위하여 열기 동작을 미리 설정된 시간 T 이내에 미리 설정된 횟수 300회 이상 열기 동작을 수행하고, 후속 동작으로 읽기 동작 및 쓰기 동작을 순차적으로 수행한 경우로, 초기 동작이 열기 동작을 포함하고 설정된 동작 규칙이 초기 동작을 수행한 이후 프로세스(130)에 의해 수행되는 후속 동작이 읽기 동작 및 쓰기 동작의 조합으로 결정되는 경우, 프로세스(130) C를 랜섬웨어로 판단할 수 있다.
즉, 상기의 내용을 종합하면, 설정되는 동작 규칙은 다양하게 설정될 수 있고, 초기 동작은 룩업 동작, 열기 동작 등과 같이 다양한 프로세스(130)의 동작이 설정될 수 있으며, 후속 동작은 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 어느 하나의 조합으로 설정되어, 순차적으로 후속 동작이 수행되는 경우 또는 후속 동작이 특정 동작을 포함하는 경우 동작 규칙에 해당하는 것으로 판단할 수 있다.
상기의 예시에서, 후속 동작은 미리 설정된 시간 T 이후에 수행되는 것으로 예시하였으나, 초기 동작이 미리 설정된 시간 이내에 미리 설정된 횟수 이상으로 수행되어 추적 모드가 설정되고, 후속 동작이 미리 설정된 시간 이내에 수행되어 동작 규칙에 해당하는 경우에도 초기 동작 및 후속 동작을 수행한 프로세스(130)를 랜섬웨어로 판단할 수 있다. 또한, 컴퓨팅 장치는 프로세스(130)가 파일 시스템(300)에 대하여 초기 동작 및 후속 동작을 동시에 요청하는 경우에도, 초기 동작에 기초하여 추적 모드를 설정하고, 초기 동작 수행 이후 프로세스(130)의 적어도 하나의 후속 동작이 동작 규칙에 해당하는지 여부를 판단하고, 프로세스(130)이 랜섬웨어인지 여부를 판단할 수 있다.
또한, 추적 모드를 설정하기 위하여 초기 동작을 탐지하는 시간 및 횟수, 즉 상기에서 설명한 미리 설정된 시간 T 및 미리 설정된 횟수 300회는 예시적인 것으로, 이에 한정되지 않으며 미리 설정된 시간 T`, 미리 설정된 횟수 1000회 등과 같이 다양한 시간 및 횟수가 적용될 수 있다.
도 3은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)의 동작을 나타낸 도면이다.
도 1 및 도 3을 참조하면, 컴퓨팅 장치(200)는 프로세스(130)의 읽기 동작 및 쓰기 동작을 탐지하여 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 즉, 컴퓨팅 장치(200)는 프로세스(130)의 초기 동작인 읽기 동작을 탐지하여 프로세스(130)가 랜섬웨어일 가능성이 있는 경우 추적 모드를 설정하고, 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 컴퓨팅 장치(200)는 프로세스(130)의 후속 동작인 쓰기 동작을 감지하고, 후속 동작이 동작 규칙에 해당하는지를 결정하여, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
도 4는 일실시예에 따른 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 나타낸 도면이다. 도 3에 도시된 프로세스의 식별 정보(120) 및 파일의 식별 정보(110)는 도 2의 프로세스(130) A에서 기록되는 프로세스의 식별 정보(120) 및 파일의 식별 정보(110)를 나타낸다.
도 4을 참조하면, 컴퓨팅 장치(200)는 프로세스(130) A의 초기 동작을 탐지하여, 탐지된 초기 동작이 미리 설정된 시간 내에 미리 설정된 횟수 이상인 경우 추적 모드를 설정할 수 있다. 예를 들어, 미리 설정된 시간 내에 프로세스(130) A가 룩업 동작을 500회 요청하는 경우, 컴퓨팅 장치(200)는 추적 모드를 설정할 수 있다. 컴퓨팅 장치(200)는 프로세스(130) A에 대한 추적 모드를 설정하고, 프로세스(130) A가 초기 동작이 수행된 파일에 대한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다.
예를 들어, 프로세스의 식별 정보(120)는 프로세스(130) A의 파일 경로 등이 해당할 수 있고, 파일의 식별 정보(110)는 파일 식별자가 해당할 수 있다. 파일 식별자는 파일을 식별하기 위한 정보들이 해당할 수 있고, 구체적으로 Linux의 경우 inode가 해당할 수 있다. 파일의 식별 정보(110)는 파일 식별자에 한정되지 않으며, 파일 경로, 파일 주소, 파일 이름 등 다양한 정보가 해당할 수 있다.
컴퓨팅 장치(200)는 프로세스(130)의 초기 동작을 탐지하여 추적 모드를 설정하고, 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 컴퓨팅 장치(200)는 기록된 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 이용하여, 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작이 프로세스(130)의 초기 동작을 수행한 파일과 동일한 파일에 대하여 수행되는 것인지 확인할 수 있다.
즉, 도 4와 같이, 프로세스(130) A가 초기 동작으로 룩업 동작을 500회 수행한 이후 후속 동작으로 열기 동작, 읽기 동작 및 쓰기 동작을 순차적으로 수행하는 경우, 컴퓨팅 장치(200)는 기록된 프로세스의 식별 정보(120)와 파일의 식별 정보(110)를 이용하여 열기 동작, 읽기 동작 및 쓰기 동작의 순차적인 후속 동작이 초기 동작을 수행한 파일과 동일한지 여부 및 동일한 프로세스(130)에 의한 후속 동작인지 여부를 확인할 수 있다. 프로세스(130)의 초기 동작에 의하여 추적 모드가 설정되고, 동일한 프로세스(130)에 의하여 동일한 파일에 대한 후속 동작이 수행되며, 프로세스(130)의 초기 동작 및 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
예를 들어, 도 4와 같이 프로세스(130) A에 의하여 초기 동작으로 룩업 동작이 500회 수행되는 경우, 컴퓨팅 장치(200)는 추적 모드를 설정하고 초기 동작의 대상이 된 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 이후 프로세스(130) A의 후속 동작이 열기 동작, 읽기 동작 및 쓰기 동작을 순차적으로 수행할 때, 컴퓨팅 장치(200)는 후속 동작을 수행한 파일이 파일의 식별 정보(110)와 일치하는지를 확인하고, 프로세스(130) A의 동작이 동작 규칙에 해당하는지 여부를 확인하여 프로세스(130) A가 랜섬웨어인지 여부를 확인할 수 있다.
도 5는 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하기 위한 컴퓨팅 장치(200)를 도시한 도면이다.
도 5를 참조하면, 일실시예에 따른 초기 동작 및 후속 동작은, 프로세스(130)가 하나의 프로세스(130)에 의해 일괄적으로 수행되거나, 또는 프로세스(130)가 부모 프로세스(140) 및 자식 프로세스로 구분되어 수행되는 것일 수 있다. 도 4에서 파일 시스템(300)으로 요청되는 룩업 동작, 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작은 부모 프로세스(140)와 자식 프로세스에 의해서 요청될 수 있다. 컴퓨팅 장치(200)는 파일 시스템(300)을 통하여 초기 동작 및 후속 동작이 하나의 프로세스(130)에 의해 일괄적으로 수행되거나 또는 부모 프로세스(140) 및 자식 프로세스로 구분되어 수행되는 경우에도 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
초기 동작 및 후속 동작이 하나의 프로세스(130)에 의해 일괄적으로 수행되는 경우 전술한 바와 같이 컴퓨팅 장치(200)에 의하여 프로세스(130)의 초기 동작을 탐지하고, 초기 동작이 미리 설정된 시간 이내에 미리 설정된 횟수를 초과하여 수행되는 경우 추적 모드를 설정하고, 프로세스(130)의 적어도 하나의 후속 동작을 탐지하여 동작 규칙에 해당하는지 여부를 결정하고, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
초기 동작 및 후속 동작이 부모 프로세스(140) 및 자식 프로세스로 구분되어 수행되는 경우, 컴퓨팅 장치(200)는 초기 동작을 탐지하고, 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 예를 들어, 미리 설정된 시간 T 이내에 자식 프로세스 1이 초기 동작으로 룩업 동작을 250회, 자식 프로세스 2가 초기 동작으로 룩업 동작을 250회 수행하는 경우, 미리 설정된 횟수가 300회인 경우 자식 프로세스 1 및 자식 프로세스 2의 초기 동작 각각은 미리 설정된 횟수를 초과하지 않으나, 자식 프로세스 1 및 자식 프로세스 2는 동일한 부모 프로세스(140)에 의하여 동작하는 것으로, 컴퓨팅 장치(200)는 자식 프로세스 1 및 자식 프로세스 2의 초기 동작에 기초하여 부모 프로세스(140) 및 자식 프로세스 1 내지 N이 랜섬웨어로 판단될 가능성이 있는 것으로 판단할 수 있고, 추적 모드를 설정할 수 있다.
또한, 컴퓨팅 장치(200)는 초기 동작을 수행한 이후, 부모 프로세스(140) 및 자식 프로세스가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정할 수 있다. 예를 들어, 자식 프로세스 1 및 자식 프로세스 2에 의하여 초기 동작이 수행되고 추적 모드가 설정된 경우, 초기 동작을 수행하지 않은 자식 프로세스인 자식 프로세스 3에 의하여 후속 동작이 수행되는 경우, 자식 프로세스 3의 후속 동작이 동작 규칙에 해당하는지 여부를 결정할 수 있다.
도 6는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)의 동작을 도시한 도면이다.
도 6에 도시된 프로세스(130), 파일의 식별 정보(110), 프로세스의 식별 정보(120), 파일 시스템(300) 및 제1 공간(400)에 대한 설명은 도 1 내지 도 5에서 설명한 내용과 동일하게 적용될 수 있다.
도 6를 참조하면, 일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)는, 프로세서(210)를 포함하고, 프로세서(210)는 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단하고, 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정하고, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우, 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록할 수 있다. 달리 말해, 컴퓨팅 장치(200)는 랜섬웨어의 행동은 제2 공간(410)에 기록되고 원본 데이터는 원 위치에 그대로 유지되는 구조를 통해, 랜섬웨어에 대한 복구 방법을 수행할 수 있다. 컴퓨팅 장치(200)는 랜섬웨어에 대한 탐지 방법을 이용하여 프로세스(130)가 랜섬웨어로 탐지된 경우, 제2 공간(410)에 기록된 데이터는 삭제처리하고 원 위치에 있던 데이터를 복원할 수 있다.
컴퓨팅 장치(200)는 파일 시스템(300)을 통하여 프로세스(130)의 동작을 감지하여 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 컴퓨팅 장치(200)는, 프로세스(130)가 랜섬웨어로 판단된 경우 제1 공간(400)과 구분되는 제2 공간(410)을 설정하고, 랜섬웨어로 감지된 프로세스(130)가 제1 공간(400)에 저장된 파일 2에 대한 변경 요청을 수행하는 경우, 파일 2에 대한 변경 동작을 제1 공간(400)에 저장된 파일 2에 대하여 수행하는 대신, 블록 디바이스 드라이버 등을 통하여 파일 2에 대한 변경 동작을 제2 공간(410)에 파일 2의 변형본으로 기록할 수 있다. 따라서, 컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어로 판단된 경우, 프로세스(130)의 초기 동작은 제1 공간(400)에 저장된 파일들에 대하여 수행될 수 있으나, 제1 공간(400)에 저장된 파일들에 대한 변경 요청을 랜섬웨어로 판단된 프로세스(130)가 수행하는 경우, 제1 공간(400)에 저장된 데이터 파일에 대하여 변경 동작을 수행하는 대신, 제1 공간(400)과 구분된 제2 공간(410)에 파일의 변형본으로 기록함으로써 제1 공간(400)에 저장된 파일을 유지할 수 있고, 제1 공간(400)에 유지되는 파일을 이용하여 랜섬웨어로 인하여 손상된 파일을 복구할 수 있다.
컴퓨팅 장치(200)는 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 도 1 내지 도 4에서 설명한 랜섬웨어에 대한 탐지 방법을 수행하기 위한 컴퓨팅 장치(200)에 대한 내용은, 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)에 동일하게 적용될 수 있다. 즉, 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어인지 여부를 판단하기 위해, 프로세스(130)의 초기 동작을 탐지하고, 탐지된 초기 동작에 기초하여 프로세스(130)가 랜섬웨어에 해당할 가능성이 있는 경우 추적 모드를 설정하고, 적어도 하나의 후속 동작이 동작 규칙에 해당하는지 여부를 결정하고, 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우 프로세스(130)를 랜섬웨어로 판단할 수 있다.
컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정할 수 있다. 제2 공간(410)은 프로세스(130)가 랜섬웨어인 경우, 프로세스(130)의 동작을 기록하기 위한 공간일 수 있다. 제2 공간(410)은 파일의 원본이 저장되는 제1 공간(400)과 동일한 저장매체의 다른 파티션 또는 제2 저장매체의 파티션에 해당할 수 있다.
일실시예에 따른 제2 공간(410)은 사용자 레벨의 어플리케이션(User Level Application)이 접근할 수 있는 파일 시스템(300)이 설치되지 않은 공간일 수 있다. 제2 공간(410)은 사용자 레벨의 어플리케이션, 달리 말해 사용자 수준 응용이 접근하기 위한 파일 시스템(300)이 설치되지 않은 공간으로, 시스템 커널 수준의 블록 디바이스 드라이버 등을 통해서 접근 가능한 공간에 해당할 수 있다.
컴퓨팅 장치(200)는 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우, 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록할 수 있다. 제2 공간(410)에 변경 요청에 대응하는 파일의 변형본을 기록함으로써 제1 공간(400)에 저장된 파일의 원본은 변경하지 않고 랜섬웨어에 의한 동작을 수행한 뒤, 추후 파일의 원본을 복구할 수 있다.
파일에 대한 변경 요청은 쓰기 동작 요청, 덮어쓰기 동작 요청, 삭제 요청, 파일명 또는 확장자의 변경을 포함하는 이름 변경 동작 요청 등을 포함할 수 있다. 즉, 파일에 대한 변경 요청은 제1 공간(400)에 저장된 파일의 내용, 형식, 파일명 또는 확장자 등을 변경하기 위한 요청에 해당할 수 있다.
상기의 내용을 종합하면, 랜섬웨어에 대한 복구 방법을 수행하기 위한 컴퓨팅 장치(200)는, 프로세스(130)가 랜섬웨어인지 여부를 판단하여 제1 공간(400)과 구분되는 제2 공간(410)을 설정하고, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우, 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록함으로써 파일의 원본을 제1 공간(400)에 유지하여, 파일을 복구하도록 할 수 있다.
도 7a, 도 7b 및 도 7c는 일실시예에 따른 파일의 원본 및 파일의 변형본에 대한 매핑 정보(500)를 나타낸 도면이다.
도 7a, 도 7b 및 도 7c를 참조하면, 일실시예에 따른 컴퓨팅 장치(200)는 랜섬웨어로 판단된 프로세스(130)가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 파일의 원본을 제1 공간(400)에 유지하고 파일의 변형본을 제2 공간(410)에 기록하며, 파일의 주소 정보를 제1 공간(400)이 아닌 제2 공간(410)에 기록된 파일의 변형본에 매핑할 수 있다.
도 7a는 프로세스(130)가 랜섬웨어로 판단되기 전 매핑 정보(500)를 나타낸 도면이다. 프로세스(130)가 랜섬웨어로 판단되기 전, 제1 공간(400)에 저장된 파일의 원본에 대응하는 주소 A에 대한 요청에 따라 제1 공간(400)에 저장된 파일의 원본에 대하여 동작을 수행하게 된다.
도 7b는 프로세스(130)가 랜섬웨어로 판단된 경우, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행한 경우를 나타낸 도면이다. 컴퓨팅 장치(200)는 제1 공간(400)과 구분되는 제2 공간(410)을 설정할 수 있다. 랜섬웨어로 판단된 프로세스(130)가 주소 A에 대응하는 파일에 대한 변경을 요청하는 경우, 제1 공간(400)에 저장된 파일의 원본에 대하여 변경 요청을 수행하는 대신, 제1 공간(400)에 파일의 원본을 유지하고, 제2 공간(410)에 파일의 변형본으로 변경 요청을 수행할 수 있다. 파일에 대한 변경 요청은, 전술한 바와 같이 파일에 대한 덮어쓰기 동작, 쓰기 동작, 삭제 동작, 이름 변경 동작 등이 해당할 수 있다.
도 7b와 같이 컴퓨팅 장치(200)는 제2 공간(410)에 기록된 파일의 변형본에 주소 A를 매핑하고, 제1 공간(400)에 유지되는 파일의 원본에 대응하는 파일 복구를 위한 주소 A'를 기록하여, 파일의 주소 정보를 제1 공간(400)이 아닌 제2 공간(410)에 기록된 파일의 변형본에 매핑할 수 있다.
도 7c는 매핑 주소를 변경한 이후 주소 A에 대한 동작을 나타낸 도면이다. 도 7c와 같이, 주소 A에 대한 매핑 주소가 제2 공간(410)에 기록된 파일의 변형본으로 변경된 이후, 주소 A에 대한 동작은 제2 공간(410)에 기록된 파일의 변형본에 대하여 수행되어, 제1 공간(400)에 유지되는 파일의 원본은 보존될 수 있다. 이후 랜섬웨어를 제거한 이후 등과 같이 파일을 복구하고자 하는 경우, 제1 공간(400)에 저장된 파일의 원본 및 파일의 원본에 대응하는 주소 A'를 이용하여 원본을 복구할 수 있다.
이하의 도 8 내지 도 9은 각각 일실시예에 따른 랜섬웨어에 대한 탐지 방법과 랜섬웨어에 대한 복구 방법을 나타낸 도면이다. 랜섬웨어에 대한 탐지 방법과 랜섬웨어에 대한 복구 방법은 각각 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200), 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도, 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)와 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)에 대하여 설명된 내용은 랜섬웨어에 대한 탐지 방법과 랜섬웨어에 대한 복구 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 8은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 나타낸 도면이다.
도 8을 참조하면, 일실시예에 다른 랜섬웨어 탐지 방법은, 파일 시스템(300)을 통해 전달된 파일에 대한 프로세스(130)의 초기 동작을 탐지하는 단계, 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 초기 동작을 수행한 이후 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단하는 단계를 포함할 수 있다.
도 8을 참조하면, 단계 S810에서 컴퓨팅 장치(200)는 파일 시스템(300)을 통해 전달된 파일에 대한 프로세스(130)의 초기 동작을 탐지할 수 있다.
이후 단계 S820에서 컴퓨팅 장치(200)는 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는지를 판단할 수 있다. 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 단계 S830에서 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 컴퓨팅 장치(200)는 추적 모드를 설정하기 위하여 미리 설정된 시간 내에 초기 동작이 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우로 판단하여 추적 모드를 설정할 수 있다. 또한, 컴퓨팅 장치(200)는 프로세스(130)가 초기 동작을 수행한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다.
다음으로 단계 S840에서 컴퓨팅 장치(200)는 초기 동작을 수행한 이후 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정할 수 있다. 초기 동작은 룩업 동작을 포함할 수 있고, 동작 규칙은 프로세스(130)가 룩업 동작을 수행한 이후에 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
다음으로 단계 S850에서 컴퓨팅 장치(200)는 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단할 수 있다.
도 9는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 나타낸 도면이다.
도 9를 참조하면, 일실시예에 따른 랜섬웨어에 대한 복구 방법은, 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단하는 단계, 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정하는 단계, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록하는 단계를 포함할 수 있다.
도 9를 참조하면, 단계 S910에서 컴퓨팅 장치(200)는 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 프로세스(130)가 랜섬웨어인지 여부를 판단하기 위하여, 도 8에서 설명한 프로세스(130)가 랜섬웨어인지 여부를 판단하기 위한 방법이 동일하게 적용될 수 있다.
다음으로, 단계 S920에서 컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정할 수 있다. 제2 공간(410)은 파일 시스템(300)이 설치되지 않은 공간일 수 있고, 블록 디바이스 드라이버 등에 의하여 동작이 수행될 수 있다.
다음으로, S930 단계에서 컴퓨팅 장치(200)는 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록할 수 있다. 컴퓨팅 장치(200)는 파일에 대한 변경 요청에 대하여, 제1 공간(400)에 파일의 원본을 유지하고, 파일의 변형본을 제2 공간(410)에 기록할 수 있고, 파일의 원본의 주소 정보를 제2 공간(410)의 변형본에 매핑할 수 있다.
도 10은 일실시예에 따른 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치(1200)의 동작을 나타낸 도면이다.
도 10을 참조하면, 본 발의 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(1200)는, 대상 프로세스(1140)의 동작을 탐지할 수 있고, 유효 프로세스 목록(1110) 및 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 컴퓨팅 장치(1200)는 시스템 수준에서 파일의 접근 빈도를 기반으로 랜섬웨어를 탐지할 수 있다. 컴퓨팅 장치(1200)는 파일 시스템에서 암호화의 대상이 되는 데이터 파일들(데이터베이스, 문서, 사진 등)에 대해 평소 접근하는 유효 프로세스의 목록(1110)을 유지할 수 있다. 컴퓨팅 장치(1200)는 각 유효 프로세스의 접근 빈도(1120)을 카운트 또는 결정할 수 있고, 유효 프로세스의 목록(1110) 및 접근 빈도(1120)에 기초하여, 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
랜섬웨어에 대한 탐지 시스템(20)에서 컴퓨팅 장치(1200)는 파일 시스템(1300)의 I/O(Input/Output) 요청을 확인하는 레이어에서 대상 프로세스(1140)의 동작을 감지하여 랜섬웨어를 탐지할 수 있다. 사용자 수준 응용(User Level Application)의 랜섬웨어는 저장 공간(1400)에 저장된 파일에 접근하여 동작하기 위하여, 파일 시스템(1300)을 통하여 파일에 접근 및 동작을 수행한다. 따라서, 랜섬웨어에 대한 탐지 시스템의 컴퓨팅 장치(1200)는 대상 프로세스(1140)의 동작을 감지하고, 유효 프로세스 목록(1110) 및 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지를 판단할 수 있다.
도 10을 참조하면, 대상 프로세스(1140)는 컴퓨터 시스템에서 연속적으로 실행되는 컴퓨터 프로그램을 의미할 수 있다. 프로그램은 하드 디스크 등에 저장되어 있는 실행 코드를 의미하고, 대상 프로세스(1140)는 프로그램을 구동하여 실행되는 작업 단위를 의미할 수 있다.
대상 프로세스(1140)는 파일 시스템(1300)을 통해 저장 공간(1400)에 저장된 파일에 대하여 특정 동작을 수행할 수 있다. 도 10에서는 대상 프로세스(1140)에 의한 특정 동작으로 저장 공간(1400)에 저장된 파일을 탐색하는 룩업(Lookup) 동작, 파일을 여는 열기(Open) 동작, 파일을 읽는 읽기(Read) 동작, 파일을 쓰는 쓰기(Write) 동작, 파일명 내지 파일 확장자를 변경하는 이름 변경(Rename) 동작이 도시되어 있으나, 대상 프로세스(1140)의 특정 동작은 이에 한정되지 않는다. 예를 들어, 프로세스는 파일 시스템(1300)을 통하여 파일을 삭제하는 삭제(Delete) 동작, 파일 주소를 변경하는 주소 변경 동작, 파일을 암호화하는 암호화(Encrypt) 동작 등과 같은 다양한 동작을 수행할 수 있다.
도 10을 참조하면, 파일 시스템(1300)은 컴퓨터에서 파일이나 자료를 발견 및 접근할 수 있도록 하는 조직 체제를 의미할 수 있다. 파일 시스템(1300)내의 대상 프로세스(1140)로부터 요청된 I/O 요청을 확인하는 레이어를 통해 컴퓨팅 장치(1200)는 대상 프로세스(1140)의 동작을 감지할 수 있다. I/O 요청을 확인하는 레이어는 예를 들면, Windows의 경우 Filter Device Driver, Linux의 경우 VFS Layer 또는 System Call Layer 등이 I/O 요청을 확인하기 위한 파일 시스템(1300)의 레이어에 해당할 수 있다.
도 10을 참조하면, 저장 공간(1400)은 파일을 저장하는 매체 내지 장치로, 대상 프로세스(1140)의 동작 요청에 따라 파일 시스템(1300)에 의하여 저장 공간(1400)에 저장된 파일에 대하여 탐색, 열기, 읽기, 쓰기, 이름 변경, 삭제 등의 특정 동작이 수행될 수 있다.
도 10을 참조하면, 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치(1200)는 프로세서(1210)를 포함할 수 있고, 프로세서(1210)는 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스를 포함하는 유효 프로세스의 목록(1110)을 식별하고, 유효 프로세스의 목록(1110)에 포함된 유효 프로세스별로 특정 동작과 관련된 접근 빈도(1120)를 결정하고, 유효 프로세스의 목록(1110) 및 접근 빈도(1120)에 기초하여 데이터 파일의 변경 동작을 요청하는 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
컴퓨팅 장치(1200)는 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스를 포함하는 유효 프로세스의 목록(1110)을 식별하고, 유효 프로세스의 목록(1110)에 포함된 유효 프로세스별로 특정 동작과 관련된 접근 빈도(1120)를 결정할 수 있다. 유표 프로세스를 포함하는 유효 프로세스의 목록(1110)은 파일에 접근하여 파일에 대해여 동작할 수 있는 프로세스들의 목록을 의미할 수 있다. 유효 프로세스별로 특정 동작과 관련된 접근 빈도(1120)는, 유효 프로세스가 데이터 파일에 접근하여 특정 동작을 수행한 횟수를 의미할 수 있다.
컴퓨팅 장치(1200)는 유효 프로세스의 목록(1110) 및 접근 빈도(1120)에 기초하여 데이터 파일의 변경 동작을 요청하는 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 랜섬웨어의 경우 신규로 설치된 프로그램이기 때문에 기존 시스템 파일에 대한 암호화를 하게 될 경우, 유효 프로세스의 목록(1110) 및 접근 빈도(1120)와 비교할 때 새로운 프로그램에 의한 데이터 파일에 대한 접근에 해당하기 때문에, 이를 기반으로 대상 프로세스(1140)가 랜섬웨어인지 여부를 탐지, 판단할 수 있다. 변경 동작은 쓰기 동작, 덮어쓰기 동작, 삭제 동작, 이름 변경 동작, 주소 변경 동작 등과 같이 대상 프로세스(1140)에 의해 수행되는 특정 동작 중 저장 공간(1400)에 저장된 파일의 정보를 변경하는 동작들이 해당할 수 있고, 변경 동작은 상기의 예시들로 한정되지 않는다.
도 11a 및 도 11b는 일실시예에 따른 유효 프로세스의 목록(1110) 및 접근 빈도(1120)를 나타낸 도면이다.
도 11a는 파일 A에 대한 유효 프로세스의 목록(1110) 및 접근 빈도(1120)를 나타낸다. 도 11a에서 유효 프로세스 A 내지 F가 파일 A에 대한 유효 프로세스에 해당할 수 있다. 컴퓨팅 장치(1200)는 파일 A에 대한 유효 프로세스 A 내지 F를 포함하는 유효 프로세스의 목록(1110)과, 각각의 유효 프로세스에 대한 접근 빈도(1120)를 식별할 수 있다.
도 11a를 참조하면, 일실시예에 따른 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되지 않는 경우, 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다. 또한, 일실시예에 따른 컴퓨팅 장치(1200)는, 대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되는 경우 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)와 유효 프로세스의 목록(1110)에서 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)를 이용하여 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다. 달리 말해, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되는지 여부와 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되지 않는 경우, 예를 들어 대상 프로세스(1140)가 유효 프로세스 G로 식별된 경우, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 랜섬웨어인 것으로 판단할 수 있다.
대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되는 경우, 컴퓨팅 장치(1200)는 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)와 유효 프로세스의 목록(1110)에서 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)를 이용하여 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다.
예를 들어, 대상 프로세스(1140)가 유효 프로세스 A에 대응하는 경우, 유효 프로세스 A의 접근 빈도(1120) 15와 접근 빈도(1120)가 최대인 유효 프로세스 D의 접근 빈도(1120) 100을 이용하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
일예로, 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)와 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)를 대비하여, 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)의 미리 설정한 비율(예를 들어, 5%, 10% 등) 이하의 접근 빈도(1120)를 가지는 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다. 즉, 컴퓨팅 장치(1200)는 대상 프로세스가 데이터 파일에 대하여 덮어쓰기 동작, 삭제 동작 등과 같은 변경 동작을 요청하는 경우, 유효 프로세스의 목록(1110)과 접근 빈도(1120)에 기초하여, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)를 확인하고, 가장 높은 접근 빈도를 가지는 유효 프로세스의 접근 빈도(1120)와 대비하여 미리 설정된 비율(예를 들어 N%) 이하의 접근 빈도(1120)를 가지는 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다.
대상 프로세스(1140)이 랜섬웨어인지 여부를 판단하기 위한 유효 프로세스의 목록(1110) 및 접근 빈도(1120)는 자료 구조를 의미할 수 있고, 파일에 대한 자료 구조는 파일을 식별하기 위한 파일의 식별 정보, 유효 프로세스를 식별하기 위한 유효 프로세스의 식별 정보를 포함할 수 있다. 파일의 식별 정보는 파일을 식별하기 위한 파일의 고유값이 해당할 수 있고, 예시적으로 파일 경로, 파일명, 파일의 크기, 파일 주소, 파일 식별자 등이 해당할 수 있으며, 파일 식별자의 구체적인 예시로 Linux의 경우 inode 변호와 같은 값이 해당할 수 있다. 유효 프로세스의 식별 정보는 유효 프로세스를 식별하기 위한 정보로, 프로세스 ID, 파일 경로 등과 같이 파일 시스템 내에서 유효 프로세스 내지 프로그램을 식별하는 고유값이 해당할 수 있다.
다른 예로, 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)와 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)를 대비하여, 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)와 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)의 차이가 미리 설정한 차이(예를 들어, 50회, 75회 등) 이상인 접근 빈도(1120)를 가지는 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다.
일실시예에 따른 컴퓨팅 장치(1200)는, 대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되는 경우 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)를 이용하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 예를 들어, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)가 미리 설정한 횟수 이하인 경우, 대상 프로세스(1140)가 랜섬웨어인 것으로 판단할 수 있다.
컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되는 경우, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)를 이용하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있고, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)를 이용하는 방법은 상기의 예시들로 한정되지 않는다.
또한, 일실시예에 따른 컴퓨팅 장치(1200)는 미리 설정한 시간 이내에 대상 프로세스(1140)의 데이터 파일에 대한 특정 동작 또는 변경 동작의 요청 횟수를 식별하고, 유효 프로세스의 목록(1110) 및 접근 빈도(1120)를 이용하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 랜섬웨어에 해당하는 대상 프로세스(1140)는 대량의 데이터 파일에 대한 암호화 등을 수행하기 위하여 단시간 내에 대량의 데이터 파일에 대하여 특정 동작 또는 변경 동작을 요청할 수 있다. 따라서, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)와 미리 설정한 시간 이내에 대상 프로세스(1140)의 데이터 파일에 대한 특정 동작 또는 변경 동작의 요청 횟수를 식별하여, 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
예를 들어, 랜섬웨어인 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도가 50회이고, 미리 설정한 시간 T 이내에 대상 프로세스(1140)의 데이터 파일에 대한 특정 동작 또는 변경 동작의 요청 횟수가 10,000회인 경우에, 미리 설정한 시간 T 이내에 대상 프로세스(1140)이 요청하는 특정 동작 또는 변경 동작의 요청 횟수가 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)에 비하여 매우 크기 때문에, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 랜섬웨어인 것으로 판단할 수 있다. 미리 설정한 시간 T 이내에 대상 프로세스(1140)가 요청하는 특정 동작 또는 변경 동작의 요청 횟수가, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)과 대비하여 미리 설정된 비율 또는 미리 설정한 차이를 초과하는 경우, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 랜섬웨어인 것으로 판단할 수 있다.
도 11b는 일실시예에 따른 파일의 유형에 기초한 유효 프로세스의 목록(1110) 및 접근 빈도(1120)를 나타낸 도면이다.
도 11b를 참조하면, 일실시예에 따른 컴퓨팅 장치(1200)는, 특정 동작이 적용되는 파일의 유형에 기초하여 접근 빈도(1120)를 결정할 수 있다. 파일의 유형은 예시적으로 파일의 확장자, 파일의 크기, 파일의 위치, 파일의 접근 경로 등이 포함될 수 있다. 예를 들어, 파일의 확장자가 'pdf'인 경우, 'pdf' 확장자를 가지는 데이터 파일에 대한 특정 동작과 관련하여 접근 빈도(1120)를 결정할 수 있다. 도 11b에서 유효 프로세스 A는 파일 유형 B에 대하여 접근 빈도(1120)이 15회인 것을 확인할 수 있다.
도 12은 일실시예에 따른 특정 동작과 관련하여 접근 빈도(1120)를 결정하는 것을 나타낸 도면이다.
도 12을 참조하면, 일실시예에 따른 컴퓨팅 장치(1200)는, 유효 프로세스가 미리 설정한 기간 내에 수행한 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 미리 설정한 기간 이후 특정 동작과 관련된 접근 빈도(1120)를 증가시킬 수 있다.
정상 동작은 유효 프로세스의 데이터 파일에 대한 특정 동작 또는 특정 동작들의 조합으로 결정될 수 있다. 예를 들어, 정상 동작은 데이터 파일에 대하여 열기 동작을 수행하고, 이후 읽기 동작, 쓰기 동작, 덮어쓰기 동작 등을 수행하고 닫기 동작을 수행하는 경우로 결정될 수 있다. 해당하는 예시의 경우, 도 12의 유효 프로세스 A, B, C는 미리 정해진 기간 T 이후 접근 빈도(1120)가 1회 증가할 수 있다.
특정 동작 또는 특정 동작들의 조합으로 결정되는 정상 동작은 상기의 예시로 한정되지 않는다. 예를 들어, 유효 프로세스가 미리 설정된 기간 내에 열기 동작을 수행하는 경우 접근 빈도(1120)를 증가시킬 수 있고, 유효 프로세스가 미리 설정된 기간 내에 닫기 동작을 수행하는 경우 접근 빈도(1120)를 증가, 또는 유효 프로세스가 미리 설정된 기간 내에 열기 동작 및 닫기 동작을 포함하여 특정 동작을 수행하는 경우 접근 빈도(1120)를 증가시키는 것과 같이, 정상 동작은 다양한 특정 동작 또는 특정 동작의 조합으로 결정될 수 있다.
컴퓨팅 장치(1200)는 유효 프로세스가 미리 설정한 기간 내에 수행한 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 미리 설정한 기간 이후 특정 동작과 관련된 접근 빈도(1120)를 증가시킬 수 있고, 증가시키는 접근 빈도(1120) 횟수는 미리 설정된 기간 이후 일정한 횟수를 증가시키거나 또는 정상 동작의 횟수에 대응하여 접근 빈도(1120) 횟수를 증가시킬 수 있다. 도 12에서 데이터 파일에 대한 정상 동작이 열기 동작 및 닫기 동작을 포함하는 것으로 결정되고, 증가시키는 접근 빈도(1120) 횟수가 일정한 횟수인 경우 유효 프로세스 D와 같이 미리 설정된 기간 이후 접근 빈도(1120)를 1회 증가시키고, 증가시키는 접근 빈도(1120) 횟수가 정상 동작의 횟수에 대응하여 증가시키는 경우, 유효 프로세스 E와 같이 접근 빈도(1120)를 2회 증가시킬 수 있다.
다른 실시예에서, 컴퓨팅 장치(1200)는 접근 빈도(1120)를 유효 프로세스가 데이터 파일에 대한 특정 동작이 정상 동작인 경우 증가시킬 수 있다. 다시 말해, 유효 프로세스가 정상 동작을 수행하는 경우마다 접근 빈도(1120)를 증가시킬 수도 있다.
도 13는 일실시예에 따른 유효 프로세스의 목록(1110), 접근 빈도(1120) 및 안전 프로세스 목록(1130)을 나타낸 도면이다.
도 13를 참조하면, 일실시예에 따른 컴퓨팅 장치(1200)는 유효 프로세스의 목록(1110)에 포함된 유효 프로세스들 중 접근 빈도(1120)가 미리 설정한 횟수 이상의 접근 빈도(1120)를 가지는 유효 프로세스를 안전 프로세스로 결정하고, 대상 프로세스(1140)가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우, 대상 프로세스(1140)를 랜섬웨어가 아닌 것으로 판단할 수 있다. 즉, 안전 프로세스는 미리 설정한 횟수 이상의 접근 빈도(1120)를 가지므로, 랜섬웨어가 아닌 것으로 판단할 수 있는 유효 프로세스를 의미할 수 있다.
도 13는 유효 프로세스를 안전 프로세스로 결정하기 위한 미리 설정한 횟수는 예시적으로 75회인 경우로, 유효 프로세스 C 및 유효 프로세스 D가 안전 프로세스 목록(1130)에 포함될 수 있다. 이때 대상 프로세스(1140)가 유효 프로세스 C 또는 유효 프로세스 D인 경우, 대상 프로세스(1140)가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우로, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 랜섬웨어가 아닌 것으로 판단할 수 있다.
일실시예에 따른 컴퓨팅 장치(1200)는, 안전 프로세스로 결정된 유효 프로세스가 정상 동작을 수행하더라도 접근 빈도(1120)를 증가시키지 않을 수 있다. 안전 프로세스는 접근 빈도(1120)가 미리 설정한 횟수 이상 접근한 유효 프로세스로, 랜섬웨어의 위험이 없는 안전한 프로세스이므로, 정상 동작을 수행하더라도 접근 빈도(1120)를 증가시키지 않을 수 있다.
일실시예에 따른 컴퓨팅 장치(1200)는, 대상 프로세스(1140)에 대응하는 유효 프로세스를 안전 프로세스로 결정할 수 있다. 상기의 예시와 달리, 컴퓨팅 장치(1200)는 사용자의 입력 등에 기초하여 대상 프로세스(1140)에 대응하는 유효 프로세스를 안전 프로세스로 결정하여, 사용자가 설치한 프로그램, 신뢰성 높은 프로그램 등에 대한 유효 프로세스를 안전 프로세스로 지정하여, 랜섬웨어의 탐지 효율을 높일 수 있다.
일실시예에 따른 컴퓨팅 장치(1200)는, 대상 프로세스(1140)가 랜섬웨어로 판단된 경우, 대상 프로세스(1140)가 요청하는 데이터 파일에 대한 변경 동작을 차단하고, 대상 프로세스(1140)에 대한 정보를 포함하는 알림을 제공할 수 있다. 랜섬웨어의 경우 신규로 설치되어, 기존의 데이터 파일에 대하여 새로운 접근을 하는 것이므로, 대상 프로세스(1140)가 랜섬웨어로 판단된 경우 대상 프로세스(1140)가 요청하는 데이터 파일에 대한 변경 동작을 차단하고, 대상 프로세스(1140)에 대한 정보를 포함하는 알림을 제공하여 사용자가 랜섬웨어에 대한 처리를 수행하도록 할 수 있다.
또한, 랜섬웨어가 아닌 정상 프로그램에 의한 대상 프로세스(1140)의 경우에도 신규로 설치되는 경우 컴퓨팅 장치(1200)에 의하여 랜섬웨어로 판단될 가능성이 있다. 신규로 설치된 대상 프로세스(1140)의 경우, 데이터 파일에 대한 변경 동작을 차단하되, 사용자에게 알림 정보를 제공하여 사용자가 신규로 설치된 대상 프로세스(1140)에 의한 변경 동작을 수행하도록 할 수 있다.
대상 프로세스(1140)에 대한 정보는 대상 프로세스(1140)를 식별하기 위한 정보, 변경 동작의 대상이 되는 데이터 파일 등에 대한 정보를 포함할 수 있다.
다른 일실시예에 따른 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치(1200)는, 프로세서(1210)를 포함하고, 프로세서(1210)는 데이터 파일에 대한 변경 동작을 요청하는 대상 프로세스(1140)를 식별하고, 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스들 각각의 접근 빈도(1120)를 판단하고, 대상 프로세스(1140)가 유효 프로세스와 동일한지 여부 및 유효 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 이하의 설명에서, 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치(1200)의 일부 구성에 대해서, 도 10 내지 도 13에서 설명한 컴퓨팅 장치(1200)와 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스의 목록(1110), 유효 프로세스의 접근 빈도(1120) 등에 관한 설명이 동일하게 적용될 수 있고, 이하의 컴퓨팅 장치(1200)에 대해서 생략된 설명이라 하더라도, 도 10 내지 도 13에서 설명한 내용이 동일하게 적용될 수 있다.
컴퓨팅 장치(1200)는 데이터 파일에 대한 변경 동작을 요청하는 대상 프로세스(1140)를 식별할 수 있다. 예시적으로, 대상 프로세스(1140)를 식별하기 위한 정보는 대상 프로세스(1140)의 파일 경로 등을 포함할 수 있다. 또한, 대상 프로세스(1140)는 부모 프로세스 및 자식 프로세스를 포함할 수 있다. 동일한 부모 프로세스에 의해 실행되는 자식 프로세스에 의한 데이터 파일에 대한 변경 동작도, 동일한 대상 프로세스(1140)에 의한 것으로 식별될 수 있다.
컴퓨팅 장치(1200)는 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스들 각각의 접근 빈도(1120)를 판단할 수 있다. 유효 프로세스들 각각의 접근 빈도(1120)를 판단하기 위하여, 유효 프로세스들 각각을 식별할 수 있다. 유효 프로세스들 각각을 식별하기 위하여 대상 프로세스(1140)의 식별과 동일하게, 유효 프로세스의 파일 경로 등을 이용하여 유효 프로세스를 식별할 수 있다.
도 11a 및 도 11b에서 설명한 바와 같이, 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스들과 유효 프로세스들 각각의 접근 빈도(1120)를 판단하거나, 파일 유형에 따라 특정 동작을 수행하는 유효 프로세스들과 유효 프로세스들 각각의 접근 빈도(1120)를 판단할 수 있다.
컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스와 동일한지 여부 및 유효 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 컴퓨팅 장치(1200)는 상기의 대상 프로세스(1140) 및 유효 프로세스를 식별하기 위한 식별 정보를 이용하여 대상 프로세스(1140)가 유효 프로세스와 동일한지 여부를 판단할 수 있다. 컴퓨팅 장치(1200)는 유표 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 예를 들어, 도 11a, 도 11b 및 도 13에서 설명한 바와 같이, 대상 프로세스(1140)가 유효 프로세스와 동일하지 않은 경우, 컴퓨팅 장치(1200)는 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있고, 대상 프로세스(1140)가 유효 프로세스와 동일한 경우, 대상 프로세스(1140)의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
일실시예에 따른 컴퓨팅 장치(1200)는, 유효 프로세스가 미리 설정한 기간 내에 수행한 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 미리 설정한 기간 이후 특정 동작과 관련된 접근 빈도(1120)를 증가시킬 수 있다. 도 12에서 설명한 바와 같이, 정상 동작은 데이터 파일에 대한 특정 동작 또는 특정 동작들의 조합으로 결정될 수 있고, 유효 프로세스가 미리 설정한 기간 내에 수행한 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 접근 빈도(1120)를 증가시킬 수 있다.
일실시예에 따른 컴퓨팅 장치(1200)는, 대상 프로세스(1140)가 상기 유효 프로세스와 동일하지 않은 경우, 상기 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다. 또한, 일실시예에 따른 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스와 동일한 경우 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)와 유효 프로세스들 중에서 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)를 이용하여 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다. 즉, 도 11a 및 도 11b에서 설명한 바와 같이, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스와 동일한지 여부 및 접근 빈도(1120)에 기초하여, 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
일실시예에 따른 컴퓨팅 장치(1200)는, 유효 프로세스들 중 접근 빈도(1120)가 미리 설정한 횟수 이상의 접근 빈도(1120)를 가지는 유효 프로세스를 안전 프로세스로 결정하고, 대상 프로세스(1140)가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우, 대상 프로세스(1140)를 랜섬웨어가 아닌 것으로 판단할 수 있다. 즉, 도 13에서 설명한 바와 같이, 미리 설정한 횟수 이상의 접근 빈도(1120)를 가지는 유효 프로세스의 경우, 데이터 파일에 대한 접근 및 변경 요청을 수행하더라도 데이터 파일에 대한 접근이 제한될 우려가 없는 안전 프로세스로 결정될 수 있고, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우, 대상 프로세스(1140)가 랜섬웨어가 아닌 것으로 판단할 수 있다.
이하의 도 14 내지 도 15은 각각 일실시예에 따른 랜섬웨어의 탐지 방법을 나타낸 도면이다. 랜섬웨어에 대한 탐지 방법은 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(1200)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도, 랜섬웨어의 탐지 방법을 수행하는 컴퓨팅 장치(1200)에 대하여 설명된 내용은 랜섬웨어의 탐지 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 14는 일실시예에 따른 랜섬웨어의 탐지 방법을 나타낸 도면이다.
도 14를 참조하면, 일실시예에 따른 랜섬웨어의 탐지 방법은 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스를 포함하는 유효 프로세스의 목록(1110)을 식별하는 단계, 유효 프로세스의 목록(1110)에 포함된 유효 프로세스별로 특정 동작과 관련된 접근 빈도(1120)를 결정하는 단계 및 유효 프로세스의 목록(1110) 및 접근 빈도(1120)에 기초하여, 데이터 파일의 변경 동작을 요청하는 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단하는 단계를 포함할 수 있다.
도 14를 참조하면, 단계 S1510에서 컴퓨팅 장치(1200)는 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스를 포함하는 유효 프로세스의 목록(1110)을 식별할 수 있다. 유효 프로세스가 데이터 파일에 대해 수행하는 특정 동작은 룩업 동작, 읽기 동작, 열기 동작, 쓰기 동작, 덮어쓰기 동작, 이름 변경 동작, 삭제 동작, 주소 변경 동작, 암호화 동작 등 다양한 동작을 포함할 수 있다.
다음으로, 단계 S1520에서 컴퓨팅 장치(1200)는 유효 프로세스의 목록(1110)에 포함된 유효 프로세스별로 특정 동작과 관련된 접근 빈도(1120)를 결정할 수 있다. 접근 빈도(1120)를 결정하는 단계에서 유효 프로세스가 미리 설정한 기간 내에 수행한 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 미리 설정한 기간 이후 특정 동작과 관련된 접근 빈도(1120)를 증가시킬 수 있다.
정상 동작은 특정 동작과 관련하여 특정 동작 또는 특정 동작의 조합으로 결정될 수 있으며, 전술한 바와 같이, 데이터 파일에 대한 열기 동작 및 닫기 동작을 포함하는 경우, 열기 동작을 수행한 이후 읽기 동작, 쓰기 동작 및 덮어쓰기 동작 등과 같은 동작을 수행한 이후 닫기 동작을 수행하는 경우 등과 같이 다양하게 결정될 수 있고, 증가시키는 접근 빈도(1120)의 횟수, 미리 설정된 기간 등도 또한 다양하게 적용될 수 있다.
다음으로, 단계 S1530에서 컴퓨팅 장치(1200)는 유효 프로세스의 목록(1110) 및 접근 빈도(1120)에 기초하여, 데이터 파일의 변경 동작을 요청하는 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 예를 들어, 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단하는 단계에서 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되지 않는 경우, 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다. 또한, 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단하는 단계에서 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스의 목록(1110)에 포함되는 경우, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단하거나, 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120) 및 접근 빈도(1120)가 최대인 유효 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
뿐만 아니라, 컴퓨팅 장치(1200)가 유효 프로세스의 접근 빈도(1120)가 미리 설정한 횟수 이상의 접근 빈도(1120)를 가지는 유효 프로세스를 안전 프로세스로 결정하는 단계를 더 포함하고, 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단하는 단계에서 대상 프로세스(1140)가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우, 대상 프로세스(1140)를 랜섬웨어가 아닌 것으로 판단할 수 있다.
도 15은 본 발명의 다른 실시예에 따른 랜섬웨어의 탐지 방법을 나타낸 도면이다.
도 15을 참조하면, 일실시예에 따른 랜섬웨어의 탐지 방법은 데이터 파일에 대해 변경 동작을 요청하는 대상 프로세스(1140)를 식별하는 단계, 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스들 각각의 접근 빈도(1120)를 판단하는 단계, 대상 프로세스(1140)가 유효 프로세스와 동일한지 여부 및 유효 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단하는 단계를 포함할 수 있다.
도 15을 참조하면, 단계 S1610에서 컴퓨팅 장치(1200)는 데이터 파일에 대해 변경 동작을 요청하는 대상 프로세스(1140)를 식별할 수 있다. 대상 프로세스(1140)를 식별하는 단계에서, 컴퓨팅 장치(1200)는 대상 프로세스(1140)의 파일 경로 등을 이용하여 대상 프로세스(1140)를 식별할 수 있다.
다음으로, 단계 S1620에서 컴퓨팅 장치(1200)는 데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스들 각각의 접근 빈도(1120)를 판단할 수 있다. 유효 프로세스들 각각의 접근 빈도(1120)를 판단하는 단계에서, 데이터 파일에 대하여 특정 동작을 수행하는 유효 프로세스의 목록(1110)을 식별하고, 유효 프로세스들 각각이 데이터 파일에 대하여 수행하는 특정 동작과 관련한 접근 빈도(1120)를 판단할 수 있다.
또한, 유효 프로세스들 각각의 접근 빈도(1120)를 판단하는 단계에서, 컴퓨팅 장치(1200)는 미리 설정된 기간 내에 유효 프로세스들 각각의 데이터 파일에 대한 특정 동작과 관련하여 정상 동작을 수행하는 경우, 접근 빈도(1120)를 증가시킬 수 있고, 정상 동작은 특정 동작 또는 특정 동작들의 조합으로 결정될 수 있다.
다음으로, 단계 S1630에서 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스와 동일한지 여부 및 유효 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다. 예를 들어, 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단하는 단계에서, 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스와 동일하지 않은 경우 대상 프로세스(1140)를 랜섬웨어로 판단할 수 있다. 컴퓨팅 장치(1200)는 대상 프로세스(1140)가 유효 프로세스와 동일한 경우에는 대상 프로세스(1140)에 대응하는 유효 프로세스의 접근 빈도(1120)에 기초하여 대상 프로세스(1140)가 랜섬웨어인지 여부를 판단할 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
Claims (14)
- 랜섬웨어에 대한 탐지 방법에 있어서,파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하는 단계;상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계;상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계;상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함하는 랜섬웨어에 대한 탐지 방법.
- 제1항에 있어서,상기 추적 모드를 설정하는 단계는,상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는, 랜섬웨어에 대한 탐지 방법.
- 제1항에 있어서,상기 추적 모드를 설정하는 단계는,상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록하는 랜섬웨어에 대한 탐지 방법.
- 제1항에 있어서,상기 초기 동작은,상기 프로세스가 상기 파일에 대한 룩업 동작을 포함하고,상기 동작 규칙은,상기 프로세스가 상기 룩업 동작을 수행한 이후에 상기 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정되는 랜섬웨어에 대한 탐지 방법.
- 제1항에 있어서,상기 초기 동작 및 상기 후속 동작은,상기 프로세스가 하나의 프로세스에 의해 일괄적으로 수행되거나 또는상기 프로세스가 부모 프로세스 및 자식 프로세스로 구분되어 수행되는, 랜섬웨어에 대한 탐지 방법.
- 랜섬웨어에 대한 복구 방법에 있어서,파일에 대해 특정 동작을 수행하는 프로세스가 랜섬웨어인지 여부를 판단하는 단계;상기 프로세스가 랜섬웨어로 판단된 경우, 상기 파일의 원본이 저장되는 제1 공간과 구분되는 제2 공간을 설정하는 단계;상기 랜섬웨어로 판단된 프로세스가 상기 파일에 대한 변경 요청을 수행하는 경우, 상기 변경 요청에 대응하는 파일의 변형본을 상기 제2 공간에 기록하는 단계를 포함하는 랜섬웨어에 대한 복구 방법.
- 제6항에 있어서,상기 프로세스가 랜섬웨어인지 여부를 판단하는 단계는,상기 파일에 대한 상기 프로세스의 초기 동작을 탐지하는 단계;상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계;상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계;상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함하는 랜섬웨어에 대한 복구 방법.
- 제6항에 있어서,상기 제2 공간은,사용자 레벨의 어플리케이션이 접근할 수 있는 파일 시스템이 설치되지 않은 공간인 랜섬웨어에 대한 복구 방법.
- 제6항에 있어서,상기 파일의 변형본을 제2 공간에 기록하는 단계는,상기 랜섬웨어로 판단된 프로세스가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 상기 파일의 원본을 상기 제1 공간에 유지하고 상기 파일의 변형본을 상기 제2 공간에 기록하며,상기 파일의 주소 정보를 상기 제1 공간이 아닌 상기 제2 공간에 기록된 파일의 변형본에 매핑하는, 랜섬웨어에 대한 복구 방법.
- 랜섬웨어의 탐지 방법에 있어서,데이터 파일에 대해 특정 동작을 수행하는 유효 프로세스를 포함하는 유효 프로세스의 목록을 식별하는 단계;상기 유효 프로세스의 목록에 포함된 유효 프로세스별로 상기 특정 동작과 관련된 접근 빈도를 결정하는 단계; 및상기 유효 프로세스의 목록 및 상기 접근 빈도에 기초하여, 상기 데이터 파일의 변경 동작을 요청하는 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계를 포함하는, 랜섬웨어의 탐지 방법.
- 제10항에 있어서,상기 접근 빈도를 결정하는 단계는,상기 유효 프로세스가 미리 설정한 기간 내에 수행한 상기 데이터 파일에 대한 특정 동작이 정상 동작인 경우, 상기 미리 설정한 기간 이후 상기 특정 동작과 관련된 접근 빈도를 증가시키는, 랜섬웨어의 탐지 방법.
- 제10항에 있어서,상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는,상기 대상 프로세스가 상기 유효 프로세스의 목록에 포함되지 않는 경우, 상기 대상 프로세스를 랜섬웨어로 판단하는, 랜섬웨어의 탐지 방법.
- 제10항에 있어서,상기 유효 프로세스의 목록에 포함된 유효 프로세스들 중 접근 빈도가 미리 설정한 횟수 이상의 접근 빈도를 가지는 유효 프로세스를 안전 프로세스로 결정하는 단계를 더 포함하고,상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는,상기 대상 프로세스가 안전 프로세스로 결정된 유효 프로세스와 동일한 경우, 상기 대상 프로세스를 랜섬웨어가 아닌 것으로 판단하는, 랜섬웨어의 탐지 방법.
- 제10항에 있어서,상기 대상 프로세스가 랜섬웨어인지 여부를 판단하는 단계는,상기 대상 프로세스가 상기 유효 프로세스의 목록에 포함되는 경우 상기 대상 프로세스에 대응하는 유효 프로세스의 접근 빈도와 상기 유효 프로세스의 목록에서 상기 접근 빈도가 최대인 유효 프로세스의 접근 빈도를 이용하여 상기 대상 프로세스를 랜섬웨어로 판단하는, 랜섬웨어의 탐지 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0041619 | 2021-03-31 | ||
KR1020210041619A KR102494442B1 (ko) | 2021-03-31 | 2021-03-31 | 랜섬웨어의 탐지 방법 및 상기 방법을 수행하는 컴퓨팅 장치 |
KR10-2021-0041622 | 2021-03-31 | ||
KR1020210041622A KR102494454B1 (ko) | 2021-03-31 | 2021-03-31 | 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022211511A1 true WO2022211511A1 (ko) | 2022-10-06 |
Family
ID=83459703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/004564 WO2022211511A1 (ko) | 2021-03-31 | 2022-03-31 | 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022211511A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101828600B1 (ko) * | 2017-03-08 | 2018-03-22 | 주식회사 체크멀 | 상황 인식 기반의 랜섬웨어 탐지 |
KR101857575B1 (ko) * | 2016-09-02 | 2018-05-14 | 주식회사 안랩 | 악성코드탐지시스템 및 악성코드 탐지 방법 |
KR101937325B1 (ko) * | 2017-10-30 | 2019-01-14 | 주식회사 시큐어링크 | 악성코드 감지 및 차단방법 및 그 장치 |
JP2019095882A (ja) * | 2017-11-20 | 2019-06-20 | 株式会社フーバーブレイン | プログラム及び情報処理装置 |
KR101995944B1 (ko) * | 2017-06-29 | 2019-07-03 | 주식회사 한류에이아이센터 | 랜섬웨어를 방지하는 방법 |
-
2022
- 2022-03-31 WO PCT/KR2022/004564 patent/WO2022211511A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101857575B1 (ko) * | 2016-09-02 | 2018-05-14 | 주식회사 안랩 | 악성코드탐지시스템 및 악성코드 탐지 방법 |
KR101828600B1 (ko) * | 2017-03-08 | 2018-03-22 | 주식회사 체크멀 | 상황 인식 기반의 랜섬웨어 탐지 |
KR101995944B1 (ko) * | 2017-06-29 | 2019-07-03 | 주식회사 한류에이아이센터 | 랜섬웨어를 방지하는 방법 |
KR101937325B1 (ko) * | 2017-10-30 | 2019-01-14 | 주식회사 시큐어링크 | 악성코드 감지 및 차단방법 및 그 장치 |
JP2019095882A (ja) * | 2017-11-20 | 2019-06-20 | 株式会社フーバーブレイン | プログラム及び情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016167407A1 (ko) | 암호화 데이터 관리 방법 및 장치 | |
WO2023038387A1 (ko) | 데이터 플로우 기반 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
WO2019190277A1 (ko) | 데이터를 처리하기 위한 방법 및 이를 지원하는 전자 장치 | |
WO2017047928A1 (en) | Server and user terminal | |
WO2016108468A1 (en) | User terminal, service providing apparatus, driving method of user terminal, driving method of service providing apparatus, and encryption indexing-based search system | |
WO2018082142A1 (zh) | 一种录屏方法以及装置 | |
WO2018166099A1 (zh) | 信息泄露检测方法及装置、服务器及计算机可读存储介质 | |
WO2009148273A2 (ko) | Rfid 서비스를 위한 rfid 태그 및 그의 rfid 서비스 방법 | |
WO2015157942A1 (zh) | 接入无线网络的装置及方法 | |
WO2020253125A1 (zh) | 日志管理方法、装置、设备及存储介质 | |
WO2018076840A1 (zh) | 数据分享方法、装置、存储介质及服务器 | |
WO2023033588A1 (ko) | 가상화 단말에서 데이터 플로우를 제어하기 위한 시스템 및 그에 관한 방법 | |
EP3472749A1 (en) | A primary device, an accessory device, and methods for processing operations on the primary device and the accessory device | |
WO2020189993A1 (ko) | 암호화폐 분실 방지 방법 및 시스템 | |
WO2023090755A1 (ko) | 가상화 인스턴스의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
WO2023106572A1 (ko) | 가상 자산 부정 거래 탐지를 위한 탐지 모델의 학습 방법, 탐지 모델을 이용한 가상 자산 부정 거래의 탐지 방법 및 이들을 수행하는 장치 및 컴퓨터 프로그램 | |
WO2023146304A1 (ko) | 애플리케이션의 파일 송신 및 수신을 제어하기 위한 시스템 및 그에 관한 방법 | |
WO2022211511A1 (ko) | 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 | |
WO2017035785A1 (zh) | 一种内存泄漏的定位方法和装置 | |
WO2020027618A1 (en) | Electronic apparatus including non-volatile memory | |
WO2018191889A1 (zh) | 照片处理方法、装置及计算机设备 | |
WO2010147410A2 (en) | Method and device for upgrading rights object that was stored in memory card | |
WO2023146305A1 (ko) | 애플리케이션의 파일 송신 및 수신을 제어하기 위한 시스템 및 그에 관한 방법 | |
WO2014042470A1 (en) | Method for editing display information and electronic device thereof | |
WO2019245247A1 (en) | Method for object management using trace identifier, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
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: 22781630 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22781630 Country of ref document: EP Kind code of ref document: A1 |