WO2019039730A1 - 랜섬웨어 방지 장치 및 방법 - Google Patents

랜섬웨어 방지 장치 및 방법 Download PDF

Info

Publication number
WO2019039730A1
WO2019039730A1 PCT/KR2018/007747 KR2018007747W WO2019039730A1 WO 2019039730 A1 WO2019039730 A1 WO 2019039730A1 KR 2018007747 W KR2018007747 W KR 2018007747W WO 2019039730 A1 WO2019039730 A1 WO 2019039730A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
access
virtualization driver
operating system
information
Prior art date
Application number
PCT/KR2018/007747
Other languages
English (en)
French (fr)
Inventor
박형배
정회찬
문지훈
박준영
한종엽
이창진
Original Assignee
주식회사 수산아이앤티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 수산아이앤티 filed Critical 주식회사 수산아이앤티
Publication of WO2019039730A1 publication Critical patent/WO2019039730A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Definitions

  • the present invention relates to an apparatus and method for protecting a file from a random software.
  • Ransomware is a compound word of 'Ransom' and 'Software'. It is a malicious program that locks the system or makes the data unusable and requires money as a hostage.
  • Ransomware was first created using symmetric cryptography by Joseph Popp in 1989 and by public key cryptography in 1996 by Adam L. Young and Moti Yung. The form was also made. Ransomware, such as Gpcode, TROJ.RANSOM.A, and Archiveus, which have taken a huge amount of corruption, have been raging since 2005, and they have taken a more complex cryptosystem.
  • the first method has a problem that can not cope with the new Ransomware.
  • the present invention analyzes the file system of the guest operating system before starting the guest operating system, verifies the integrity of the virtualization driver, and if the virtualization driver is not verified, blocks the modulation of the memory allocated to the virtualization driver, And to provide a method for protecting a file from the RANemware by allowing the virtualization driver to determine the access right to the file requested to be accessed and to process the access when the virtualization driver accesses the file.
  • the present invention provides an anti-random number protection apparatus for analyzing a file system of a guest operating system and inspecting integrity of a virtualization driver before starting a guest operating system, ;
  • a host operating system file protector for blocking modulation of a memory area allocated to the virtualization driver if the virtualization driver is not verified;
  • the virtualization driver operating in the guest OS system and transmitting access information of the generated file to the file protection unit of the host operating system when the access to the file occurs;
  • a protection policy manager for deciding an access right to the file according to the access information of the file, wherein the host operating system file protection unit accesses the file according to the access information of the file through the protection policy manager And transmits the determined result to the virtualization driver.
  • the virtualization driver blocks access to the file if the result of the determination on the received file is deny, and if the result of the determination on the received file is allowable, Lt; / RTI >
  • the protection policy manager checks and determines the access right to the access information of the file in the list of files to be protected, which is stored in the protection policy manager, and the access information of the file is stored in the path of the file,
  • the file list includes at least one of a path of the file and an access right to the file of the accessible process or a path of the file and a permission to access the file of the file modification process .
  • the access right to the file of the accessible process may be read.
  • the access right to the file of the file modification process may be at least one of read, write, and execute.
  • the host operating system file protection unit receives from the virtualization driver the start time of the virtualization driver and the address of the memory area allocated to the virtualization driver, and reads the access right of the memory area allocated to the virtualization driver only), the modulation can be blocked.
  • the virtualization driver detects execution of a main process, which is a predetermined process that requires protection from a virus, the virtualization driver provides an address of a memory area allocated to the main process to the host operating system file protection unit, The host operating system file protection unit may block the modulation of the main process by setting the access right of the memory area to which the main process is allocated as read only when the protection process of the main process is requested.
  • the protection policy manager checks and determines the access right of the access information of the file from the predetermined file list to be protected, stored in the protection policy manager, and the access information of the file is stored in the file extension
  • the file list includes information of an accessible process corresponding to each extension, accessibility of the accessible process to the extension, or file modification process corresponding to each extension
  • the file modification process may include access rights to the extension.
  • a method for preventing Ransomware includes: parsing a file system of a guest operating system system and verifying integrity of a virtualization driver before starting a guest OS system; Blocking the modulation of the memory allocated by the virtualization driver if the virtualization driver is not verified; When access to the file occurs in the virtualization driver, transmitting access information of the generated file to the host operating system file protection unit and inquiring whether the access is possible; Judging an access right to the file through the protection policy manager in the host operating system file protection unit; And transmitting to the virtualization driver a result of the determination as to access to the file.
  • the method for preventing the random software may include: blocking access to the file if the result of the determination on the file received by the virtualization driver is deny, allow), performing the requested access to the file.
  • the access right of the file is determined by checking the access right of the file from the preset file list stored in the protection policy manager, The path of the file, the process information to access the file, and the type of access requested, and the file list includes the path of the file and the access right of the accessible process to the file,
  • the process may include access rights to the file.
  • the access right of the memory area to which the virtualization driver is allocated may be set to read only to block the modulation.
  • the method for preventing the random software provides the address of the memory area allocated to the main process to the host operating system file protection unit, Step to protect the process; And blocking the modulation of the main process by setting the access right of the memory area allocated to the main process to read only when the host operating system file protection unit is requested to protect the main process can do.
  • the access right of the file is determined by checking the access right of the file from the preset file list stored in the protection policy manager,
  • the file list includes at least one of an extension of the file, a process information of the file to be accessed, and a requested access type, the file list including information of an accessible process corresponding to each extension, Or information of a file modification process corresponding to each extension, and the file modification process may include an access right to the extension.
  • the present invention prevents tampering by setting a read-only access right to a memory area of a guest operating system and a memory area of a main processor.
  • the access right of a file to a requested processor is determined, So that the file can be protected in advance from the Raman software.
  • FIG. 1 is a block diagram illustrating a configuration of an anti-virus protection apparatus for protecting a file from a random software according to an exemplary embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a page table entry that is modified to block tampering of a memory area of a virtualization driver in accordance with one embodiment.
  • FIG. 3 is a flowchart illustrating a process of protecting a file from the Ransomware in the Ransomware prevention apparatus according to an embodiment.
  • FIG. 4 is a flowchart illustrating a process of accessing a file according to a file access right in the anti-spyware device according to an exemplary embodiment.
  • FIG. 5 is a diagram illustrating a message flow for protecting a file from Rangemeware in an anti-spyware device according to an embodiment.
  • FIG. 6 is a flowchart illustrating a process of protecting a main process from Ransomware in the Ransomware prevention apparatus according to one embodiment.
  • FIG. 7 is a diagram illustrating a message flow for protecting a main process from Ransomware in an anti-spyware device according to an embodiment.
  • first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms.
  • the terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.
  • FIG. 1 is a block diagram illustrating a configuration of an anti-virus protection apparatus for protecting a file from a random software according to an exemplary embodiment of the present invention.
  • the anti-virus protection apparatus can be roughly classified into a guest operating system (OS) 110 and a host operating system (OS) 120.
  • the guest OS 110 includes a para-virtualized agent 112 and a file system 114.
  • the host OS 120 includes a host operating system (OS) file protection unit 122, an analysis unit A policy manager 124, and a protection policy manager 126.
  • OS host operating system
  • the virtualization driver 112 provides the start time and the memory area information of the virtualization driver to the analysis unit 124 through the host operating system file protection unit 122 to check integrity before starting the guest operating system.
  • the memory address corresponding to the memory area information of the agent can be acquired through the structure of the kernel and the application programming interface (API).
  • the virtualization driver 112 may be implemented regardless of the operating system, but may be implemented differently depending on the operating system.
  • the analysis unit 124 parses the file system of the guest operating system, verifies the integrity of the virtualization driver, and provides the verification result to the host operating system file protection unit 122 before starting the guest OS 110.
  • the host operating system file protection unit 122 blocks the modulation of the memory area allocated by the virtualization driver 112 when the verification unit 124 determines that the virtualization driver is defective. More specifically, the host operating system file protection unit 122 uses the start time of the received virtualization driver 112 and the address of the memory area allocated to the virtualization driver 112, You can block tampering by setting the access rights to read only.
  • FIG. 2 is a diagram illustrating a page table entry that is modified to block tampering of a memory area of a virtualization driver in accordance with one embodiment.
  • the host operating system file protection unit 122 modifies access rights (RWX bits) indicated by shading in a page table entry to a read-prohibited read prohibition .
  • Intel can utilize the Extended Page Table (EPT), a memory virtualization technology, and Nested Page Tables (NPT), for AMD.
  • EPT Extended Page Table
  • NPT Nested Page Tables
  • the virtualization driver 112 When the virtualization driver 112 accesses the file, the virtualization driver 112 transmits the access information of the generated file to the host operating system file protection unit 122 to inquire whether the access is possible.
  • the access information of the file may include the full path name, the process information to access the file, and the type of access requested (for example, read, write, execute, etc.).
  • the host operating system file protection unit 122 Upon receiving the file access information from the virtualization driver 112, the host operating system file protection unit 122 requests the protection policy manager 126 to determine the access right of the file corresponding to the access information of the file, Upon receiving the determination result from the manager 126, the virtualization driver 112 transmits the determination result.
  • the protection policy manager 126 can determine whether the file is accessible by checking the access right of the access information of the file in the predetermined file list.
  • the file list may include the path of the file, the access right to the file of the accessible process, or the path of the file and the access right to the file of the file modification process.
  • the file list includes the information of the accessible process corresponding to each extension, Access rights, information of the file modification process corresponding to each extension, and file modification process may include access rights to the extension.
  • the access right to the file of the accessible process can be set to read so that the file can not be modulated. Also, at least one of the read, write, and execute access rights to the file of the file modification process can be set so that only the preset file modification process can modify the file.
  • the virtualization driver 112 receives the result of determining whether the file is accessible from the host operating system file protection unit 122. If the result of the determination on the file is deny, the virtualization driver 112 blocks access to the file, If the result of the determination is allow, the requested access to the file may be performed.
  • the virtualization driver 112 When the virtualization driver 112 detects execution of a main process, which is a predetermined process that requires protection from viruses, the virtualization driver 112 provides the address of the memory area allocated with the main process to the host operating system file protection unit 122, Can be requested.
  • the host operating system file protection unit 122 may set the access right of the memory area allocated to the main process to read only, have.
  • the virtualization driver 112 can detect whether the main process is executed as follows. When the virtualization driver 112 executes the process, the virtualization driver 112 transmits information of the executed process to the host operating system file protection unit 122 to inquire whether the process is a main process. The host operating system file protection unit 122 confirms whether the main process of the information of the processor executed by the protection policy manager 126 is a main process through the main process list stored in the protection policy manager 126, . At this time, the main process list can display a list of predetermined processes that need to be protected from viruses. The host operating system file protection unit 122 transmits to the virtualization driver 112 a result of determining whether the received process is a main process. The virtualization driver 112 can detect whether the executed process is a main process through the result of determining whether it is a main process.
  • the virtualization driver 112 and the host operating system file protection unit 122 can communicate using a hypercall interface.
  • FIG. 3 is a flowchart illustrating a process of protecting a file from the Ransomware in the Ransomware prevention apparatus according to an embodiment.
  • the analysis unit parses the file system of the guest operating system and verifies the integrity of the virtualization driver before starting the guest operating system.
  • the host OS file protector blocks the modulation of the memory allocated by the virtualization driver (312).
  • the method of blocking the memory modulation can block the modulation by setting the access right of the memory area allocated by the virtualization driver as read only.
  • the guest operating system starts executing the guest operating system (314) and starts executing the virtualization driver (316).
  • the anti-virus protection device then checks 318 whether the guest operating system and the virtualization driver are running.
  • the virtualization driver checks whether access to the file occurs (320).
  • the virtualization driver processes the input / output of the file according to the access right of the file (322).
  • a step 322 of processing access to the file will be described in more detail with reference to FIG. 4 below.
  • FIG. 4 is a flowchart illustrating a process of accessing a file according to a file access right in the anti-spyware device according to an exemplary embodiment.
  • the virtualization driver transmits access information of the file to the host operating system file protection unit 410 to inquire about accessibility (410).
  • the access information of the file may include the full path name, the process information to access the file, and the type of access requested (for example, read, write, execute, etc.).
  • the host operating system file protection unit determines the access right to access the file generated through the protection policy manager (412).
  • the host operating system file protection unit transmits the determination result of access to the generated file to the virtualization driver (414).
  • the virtualization driver determines whether access to the file is permitted or not (416).
  • step 416 If it is determined in step 416 that the access to the file is allowed, the virtualization driver processes the requested access to the generated file in step 418.
  • step 416 If the result of the determination of step 416 is inaccessible (deny), the virtualization driver processes 420 to block access to the generated file.
  • FIG. 5 is a diagram illustrating a message flow for protecting a file from Rangemeware in an anti-spyware device according to an embodiment.
  • the virtualization driver 112 transmits the start time and the memory area information of the virtualization driver to the host operating system file protection unit 122 (510) before starting the guest operating system.
  • the host OS file protection unit 122 provides the start time and the memory area information of the virtualization driver to the analysis unit 124 (512).
  • the analysis unit 124 parses the guest operating system's file system and verifies integrity for the virtualization driver before starting the guest OS 110 (514).
  • the analysis unit 124 provides the result of determining the integrity to the host OS file protection unit 122 (516).
  • the host OS file protection unit 122 sets read only mode so that writing to the memory area allocated to the virtualization driver 112 is prohibited if the virtualization driver is not verified as a result of the verification by the analysis unit 124, (518).
  • the access information of the generated file is transmitted to the host OS file protection unit 122 to inquire about the accessibility (522).
  • the host OS file protection unit 122 provides the access information of the generated file to the protection policy manager 126 to inquire about the accessibility (524).
  • the protection policy manager 126 determines whether the access right to the access information of the file generated in the preset file list is protected, and determines whether the access right is available (526). The protection policy manager 126 transmits the determination result to the host OS file protection unit 122 (528).
  • the host OS file protection unit 122 transmits the received determination result to the virtualization driver 112 in operation 530. Upon receiving the determination result from the virtualization driver 112, .
  • the virtualization driver 112 processes access to the generated file according to a result of determining whether or not access to the generated file is accessible (532).
  • FIG. 6 is a flowchart illustrating a process of protecting a main process from Ransomware in the Ransomware prevention apparatus according to one embodiment.
  • the analysis unit parses the file system of the guest operating system and verifies the integrity of the virtualization driver before starting the guest operating system (operation 610).
  • the host OS file protection unit blocks the modulation of the memory allocated by the virtualization driver (612).
  • the method of blocking the memory modulation can block the modulation by setting the access right of the memory area allocated by the virtualization driver as read only.
  • the guest operating system then starts to run the guest operating system (614) and starts running the virtualization driver (616).
  • the virtualization driver detects the start of the process (618), it transmits information of the executed process to the host operating system file protection unit to inquire whether it is a main process (620).
  • the host operating system file protection unit determines whether the main process is the main process of the information of the executed processor through the main process list stored in the protection policy manager (622). At this time, the main process list can display a list of predetermined processes that need to be protected from viruses.
  • the address of a memory area allocated to a main process is provided to the host operating system file protection unit so that the host OS file protection unit blocks the modulation of the memory allocated to the main processor (628).
  • FIG. 7 is a diagram illustrating a message flow for protecting a main process from Ransomware in an anti-spyware device according to an embodiment.
  • the virtualization driver 112 transmits the start time and the memory area information of the virtualization driver to the host operating system file protection unit 122 (710) before starting the guest operating system.
  • the host OS file protection unit 122 provides the start time and the memory area information of the virtualization driver to the analysis unit 124 (712).
  • the analysis unit 124 parses the file system of the guest operating system and verifies the integrity of the virtualization driver before starting the guest OS 110 (714).
  • the analysis unit 124 provides the result of determining the integrity to the host OS file protection unit 122 (716).
  • the host OS file protection unit 122 sets read only mode so that writing to the memory area allocated to the virtualization driver 112 is prohibited if the virtualization driver is not verified as a result of the verification by the analysis unit 124, (718).
  • the virtualization driver 112 When the virtualization driver 112 detects the start of the process (720), the virtualization driver 112 transmits information of the executed process to the host OS file protection unit 122 to inquire whether it is a main process (722).
  • the host OS file protection unit 122 inquires the protection policy manager 126 whether it is a main process or not (724).
  • the protection policy manager 126 determines whether the main process is a main process for the information of the executed processor through the stored main process list (724).
  • the host OS file protection unit 122 transmits the result of the determination as to whether it is a main process or not (728).
  • the main process list can display a list of predetermined processes that need to be protected from viruses.
  • the host OS file protection unit 122 receives the result of the main process from the protection policy manager 126 (728), and transmits the result to the virtualization driver 112 (730).
  • the virtualization driver 112 transmits an address of a memory area allocated to a main process, (734).
  • the host OS file protection unit 122 When the host OS file protection unit 122 receives the address of the memory area to which the main process is allocated, the host OS file protection unit 122 sets the read process to read-only so that the main process is prohibited from writing to the allocated memory area (block 736) .
  • the apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
  • the apparatus and components described in the embodiments may be implemented, for example, as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) unit, a microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG.
  • the processing unit may comprise a plurality of processors or one processor and one controller.
  • Other processing configurations are also possible, such as a parallel processor.
  • the software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded.
  • the software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave.
  • the software may be distributed over a networked computer system and stored or executed in a distributed manner.
  • the software and data may be stored on one or more computer readable recording media.
  • the method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • the program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software.
  • Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
  • program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

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

Abstract

본 발명은 랜섬웨어로부터 파일을 보호하는 장치 및 방법에 관한 것으로, 랜섬웨어 방지 장치는 게스트 운영체제 시스템을 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하고, 검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리의 변조를 차단하고, 상기 가상화 드라이버에서 파일로의 접근이 발생하면, 발생한 파일의 접근 정보를 호스트 운영체제 파일 보호부로 송신하여 접근 가능 여부를 문의하고, 상기 호스트 운영체제 파일 보호부에서 보호정책 관리자를 통해서 상기 파일에 대한 접근권한을 판단하고, 상기 파일로의 접근에 대한 판단 결과를 상기 가상화 드라이버로 송신하고, 상기 가상화 드라이버에서 판단결과에 따라 상기 파일로의 접근을 처리하여 파일을 보호할 수 있다.

Description

랜섬웨어 방지 장치 및 방법
본 발명은 랜섬웨어로부터 파일을 보호하기 위한 장치 및 방법에 관한 것이다.
랜섬웨어는 ‘몸값’(Ransom)과 ‘소프트웨어’(Software)의 합성어다. 시스템을 잠그거나 데이터를 암호화해 사용할 수 없도록 만든 뒤, 이를 인질로 금전을 요구하는 악성 프로그램을 일컫는다.
랜섬웨어는 1989년 처음 조셉 팝(Joseph Popp)에 의해 대칭형 암호방식을 사용하는 형태로 만들어졌으며, 1996년 아담 영(Adam L. Young)과 모티 융(Moti Yung)에 의해 공개키 암호방식을 사용하는 형태도 만들어졌다. 엄청난 폭리를 취한 Gpcode, TROJ.RANSOM.A, Archiveus 등의 랜섬웨어들은 2005년 이후 맹위를 떨치게 되었는데, 이들은 더욱 복잡한 암호화 방식을 취하였다.
이러한 랜섬웨어를 방지하기 위해서 다음의 방법들이 제시되었다.
첫번째로 랜섬웨어의 패턴(시그니처)을 저장해 두고, 어떤 프로세스의 동작이 상기 패턴과 일치하면 랜섬웨어로 판단하여 차단하는 방법이 있다. 첫번째 방법의 경우는 새로운 랜섬웨어에 대응할 수 없는 문제를 가지고 있다.
두번째로 낚시 파일에 해당하는 아무도 접근하지 않는 Honeypot 파일을 생성하여 두고, Honeypot 파일이 수정되면 Honeypot 파일을 수정한 프로세스를 수상한 프로세스(랜섬웨어)라고 판단하는 방법이 있다. 두번째 방법의 경우는 랜섬웨어가 Honeypot 파일에 접근하지 않으면 랜섬웨어를 확인할 수 없으며, Honeypot 파일이 수정된 경우 이미 다른 파일들도 랜섬웨어에 감염된 후일 가능성이 높아 효과적이지 못한 문제를 가지고 있다.
암호화 방식이 더욱 복잡해짐에 따라 랜섬웨어에 감염되면, 감염된 파일을 포기하거나 몸값(Ransom)을 지불해야하는 가능성이 더욱 높아지고 있다. 따라서, 감염되지 않도록 하는 방법이 요구되고 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 랜섬웨어로부터 파일을 보호하기 위한 장치 및 방법을 제공하는 것을 목적으로 한다.
구체적으로, 본 발명은 게스트 운영체제를 시작하기 전 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하고, 검증결과 상기 가상화 드라이버가 무결하면 가상화 드라이버가 할당된 메모리의 변조를 차단하여 게스트 운영체제를 보안하고, 가상화 드라이버에서 파일로의 접근이 발생하면, 접근 요청된 파일에 대한 접근권한을 판단하여 접근을 처리하도록 하여 랜섬웨어로부터 파일을 보호하는 방법을 제공하는 것을 목적으로 한다.
또한, 기설정된 주요 프로세스의 메모리 영역의 접근 권한을 읽기전용으로 설정하여 주요 프로세스의 변조를 차단하여 주요 프로세스를 보호하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 랜섬웨어 방지 장치는, 게스트 운영체제 시스템을 시작하기 전 상기 게스트 운영체제 시스템의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하는 분석부; 검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리 영역의 변조를 차단하는 호스트 운영체제 파일 보호부; 상기 게스트 운영체제 시스템에서 동작하며, 파일로의 접근이 발생하면, 발생한 파일의 접근 정보를 상기 호스트 운영체제 파일 보호부로 송신하여 접근 가능 여부를 문의하는 상기 가상화 드라이버; 및 상기 파일의 접근 정보에 따른 상기 파일에 대한 접근권한을 판단하는 보호정책 관리자를 포함하고, 상기 호스트 운영체제 파일 보호부는 상기 보호정책 관리자를 통해 상기 파일의 접근 정보에 따른 상기 파일에 대한 접근권한을 판단한 결과를 상기 가상화 드라이버로 송신한다.
이때, 상기 가상화 드라이버는, 수신한 상기 파일에 대한 판단 결과가 접근 불가(deny)이면 상기 파일로의 접근을 차단하고, 수신한 상기 파일에 대한 판단 결과가 접근 허가(allow)이면, 상기 파일로의 요청된 접근을 수행할 수 있다.
이때, 상기 보호정책 관리자는 상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고, 상기 파일의 접근 정보는 상기 파일의 경로, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고, 상기 파일 목록은 상기 파일의 경로와 접근 가능 프로세스의 상기 파일에 대한 접근 권한, 또는 상기 파일의 경로와 파일 수정 프로세스의 상기 파일에 대한 접근 권한을 포함할 수 있다.
이때, 상기 접근 가능 프로세스의 상기 파일에 대한 접근 권한은, 읽기(read)일 수 있다.
이때, 상기 파일 수정 프로세스의 상기 파일에 대한 접근 권한은, 읽기(read), 쓰기(write) 및 실행(execute) 중에서 적어도 하나일 수 있다.
이때, 상기 호스트 운영체제 파일 보호부는, 상기 가상화 드라이버의 시작 시간과 상기 가상화 드라이버가 할당된 메모리 영역의 주소를 상기 가상화 드라이버로부터 수신하고, 상기 가상화 드라이버가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.
이때, 상기 가상화 드라이버는 바이러스로부터의 보호가 필요한 기설정된 프로세스인 주요 프로세스의 실행을 감지하면, 상기 주요 프로세스가 할당된 메모리 영역의 주소를 상기 호스트 운영체제 파일 보호부로 제공하고 상기 접근 가능 프로세스의 보호를 요청하고, 상기 호스트 운영체제 파일 보호부는 상기 주요 프로세스의 보호를 요청 받으면, 상기 주요 프로세스가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 상기 주요 프로세스의 변조를 차단할 수 있다.
이때, 상기 보호정책 관리자는 상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고, 상기 파일의 접근 정보는 상기 파일의 확장자, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고, 상기 파일 목록은 각 확장자에 대응하는 접근 가능 프로세스의 정보, 상기 접근 가능 프로세스가 해당 확장자에 대한 접근 권한, 또는 각 확장자에 대응하는 파일 수정 프로세스의 정보, 상기 파일 수정 프로세스가 해당 확장자에 대한 접근 권한을 포함할 수 있다.
본 발명의 일 실시 예에 따른 랜섬웨어를 방지하는 방법은, 게스트 운영체제 시스템을 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하는 단계; 검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리의 변조를 차단하는 단계; 상기 가상화 드라이버에서 파일로의 접근이 발생하면, 발생한 파일의 접근 정보를 호스트 운영체제 파일 보호부로 송신하여 접근 가능 여부를 문의하는 단계; 상기 호스트 운영체제 파일 보호부에서 보호정책 관리자를 통해서 상기 파일에 대한 접근권한을 판단하는 단계; 및 상기 파일로의 접근에 대한 판단 결과를 상기 가상화 드라이버로 송신하는 단계를 포함한다.
이때, 랜섬웨어를 방지하는 방법은, 상기 가상화 드라이버에서 수신한 상기 파일에 대한 판단 결과가 접근 불가(deny)이면 상기 파일로의 접근을 차단하고, 수신한 상기 파일에 대한 판단 결과가 접근 허가(allow)이면, 상기 파일로의 요청된 접근을 수행하는 단계를 더 포함할 수 있다.
이때, 상기 발생한 파일 입출력에 대한 접근권한을 판단하는 단계는 상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고, 상기 파일의 접근 정보는 상기 파일의 경로, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고, 상기 파일 목록은 상기 파일의 경로와 접근 가능 프로세스의 상기 파일에 대한 접근 권한, 또는 상기 파일의 경로와 파일 수정 프로세스의 상기 파일에 대한 접근 권한을 포함할 수 있다.
이때, 상기 가상화 드라이버가 할당된 메모리 영역의 변조를 차단하는 단계는, 상기 호스트 운영체제 파일 보호부에서 상기 가상화 드라이버의 시작 시간과 상기 가상화 드라이버가 할당된 메모리 영역의 주소를 상기 가상화 드라이버로부터 수신하면, 상기 가상화 드라이버가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.
이때, 랜섬웨어를 방지하는 방법은, 바이러스로부터의 보호가 필요한 기설정된 프로세스인 주요 프로세스의 실행을 감지하면, 상기 주요 프로세스가 할당된 메모리 영역의 주소를 상기 호스트 운영체제 파일 보호부로 제공하고 상기 접근 가능 프로세스의 보호를 단계; 및 상기 호스트 운영체제 파일 보호부에서 상기 주요 프로세스의 보호를 요청 받으면, 상기 주요 프로세스가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 상기 주요 프로세스의 변조를 차단하는 단계를 더 포함할 수 있다.
이때, 상기 발생한 파일 입출력에 대한 접근권한을 판단하는 단계는 상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고, 상기 파일의 접근 정보는 상기 파일의 확장자, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고, 상기 파일 목록은 각 확장자에 대응하는 접근 가능 프로세스의 정보, 상기 접근 가능 포로세스가 해당 확장자에 대한 접근 권한, 또는 각 확장자에 대응하는 파일 수정 프로세스의 정보, 상기 파일 수정 프로세스가 해당 확장자에 대한 접근 권한을 포함할 수 있다.
본 발명은 게스트 운영체제의 메모리 영역과 주요 프로세서의 메모리 영역에 읽기전용의 접근 권한을 설정하여 변조를 차단하고, 파일로의 접근이 발생하면, 요청한 프로세서에 대한 파일에 대한 접근권한을 판단하여 접근을 처리하도록 하여 랜섬웨어로부터 사전에 파일을 보호할 수 있다.
도 1은 일 실시예에 따라 랜섬웨어로부터 파일을 보호하는 랜섬웨어 방지 장치의 구성을 도시한 도면이다.
도 2는 일 실시예에 따라 가상화 드라이버의 메모리 영역에 대한 변조를 차단하기 위해 수정하는 페이지 테이블 엔트리를 도시한 도면이다.
도 3은 일 실시예에 따른 랜섬웨어 방지 장치에서 랜섬웨어로부터 파일을 보호하는 과정을 도시한 흐름도이다.
도 4는 일 실시예에 따른 랜섬웨어 방지 장치에서 파일의 접근권한에 따라 파일의 접근을 처리하는 과정을 도시한 흐름도이다.
도 5는 일 실시예에 따라 랜섬웨어 방지 장치에서 랜섬웨어로부터 파일을 보호하는 위한 메시지 흐름을 도시한 도면이다.
도 6은 일 실시예에 따른 랜섬웨어 방지 장치에서 랜섬웨어로부터 주요 프로세스를 보호하는 과정을 도시한 흐름도이다.
도 7은 일 실시예에 따라 랜섬웨어 방지 장치에서 랜섬웨어로부터 주요 프로세스를 보호하는 위한 메시지 흐름을 도시한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시 예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서는, 본 발명의 일 실시 예에 따라 랜섬웨어로부터 파일을 보호하기 위한 장치 및 방법을 첨부된 도 1 내지 도 5을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따라 랜섬웨어로부터 파일을 보호하는 랜섬웨어 방지 장치의 구성을 도시한 도면이다.
도 1을 참조하면, 랜섬웨어 방지 장치는 크게 게스트 운영체제 시스템(OS; Operating System)(110)과 호스트 운영체제 시스템(OS; Operating System)(120)로 구분할 수 있다. 이때, 게스트 OS(110)은 가상화 드라이버(Para-virtualized Agent)(112), 파일 시스템(114)을 포함하고, 호스트 OS(120)는 호스트 운영체제(OS) 파일 보호부(122), 분석부(Parser)(124), 보호정책 관리자(126)을 포함하여 구성될 수 있다.
가상화 드라이버(112)는 게스트 운영체제 시스템에서 시작하기에 앞서, 시작 시간과 가상화 드라이버의 메모리 영역 정보를 호스트 운영체제 파일 보호부(122)를 통해 분석부(124)로 제공하여 무결성 여부를 확인한다. 이때, 에이전트의 메모리 영역 정보에 해당하는 메모리 주소는 커널의 구조체(structure) 및 API(Application Programming Interface)를 통해 획득할 수 있다.
가상화 드라이버(112)는 운영체제에 관계 없이 구현될 수 있으나, 운영체제에 따라 구현 방법이 달리질 수 있다. 예를 들어, 윈도우(Windows)의 경우 파일 시스템 미니필터 드라이버(file system minifilter driver)를 통해 가상화 드라이버(112)가 구현될 수 있고, 리눅스(Linux)의 경우 커널 모듈(kernel module)을 통해 가상화 드라이버(112)가 구현될 수 있다.
분석부(124)는 게스트 OS(110)을 시작하기 전에 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하고, 검증 결과를 호스트 운영체제 파일 보호부(122)로 제공한다.
호스트 운영체제 파일 보호부(122)는 분석부(124)의 검증결과 가상화 드라이버가 무결하면, 가상화 드라이버(112)가 할당된 메모리 영역의 변조를 차단한다. 보다 구체적으로, 호스트 운영체제 파일 보호부(122)는 수신한 가상화 드라이버(112)의 시작 시간과 가상화 드라이버(112)가 할당된 메모리 영역의 주소를 이용하여 가상화 드라이버(112)가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.
도 2는 일 실시예에 따라 가상화 드라이버의 메모리 영역에 대한 변조를 차단하기 위해 수정하는 페이지 테이블 엔트리를 도시한 도면이다.
도 2를 참조하면, 호스트 운영체제 파일 보호부(122)는 페이지 테이블 엔트리(page table entry)에서 음영으로 표시한 접근 권한(RWX bits)을 쓰기금지에 해당하는 읽기(read)로 수정하여 변조를 차단할 수 있다.
한편, 메모리 영역에 대한 변조를 차단하기 위해서 인텔의 경우 메모리 가상화 기술인 Extended Page Table(EPT)를 활용하고, AMD의 경우 Nested Page Tables(NPT)를 활용 할 수 있다.
가상화 드라이버(112)는 파일로의 접근이 발생하면, 발생한 파일의 접근 정보를 호스트 운영체제 파일 보호부(122)로 송신하여 접근 가능 여부를 문의할 수 있다. 이때, 파일의 접근 정보는 파일의 경로(full path name), 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류(예를 들어, 읽기, 쓰기, 실행 등)를 포함할 수 있다.
호스트 운영체제 파일 보호부(122)는 가상화 드라이버(112)로부터 파일의 접근 정보를 수신하면, 보호정책 관리자(126)를 통해 파일의 접근 정보에 해당하는 파일의 접근권한을 판단하도록 요청하고, 보호정책 관리자(126)으로부터 판단결과를 수신하면 가상화 드라이버(112)로 송신한다.
보호정책 관리자(126)는 보호 대상으로 기설정된 파일 목록에서 파일의 접근 정보 대한 접근권한을 확인하여 접근 가능 여부를 판단할 수 있다. 이때, 파일 목록은 파일의 경로와 접근 가능 프로세스의 파일에 대한 접근 권한, 또는 파일의 경로와 파일 수정 프로세스의 파일에 대한 접근 권한을 포함할 수 있다.
한편 파일의 접근 정보가 파일의 확장자, 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고 있는 경우, 파일 목록은 각 확장자에 대응하는 접근 가능 프로세스의 정보, 접근 가능 프로세스가 해당 확장자에 대한 접근 권한, 또는 각 확장자에 대응하는 파일 수정 프로세스의 정보, 파일 수정 프로세스가 해당 확장자에 대한 접근 권한을 포함할 수 있다.
여기서, 접근 가능 프로세스의 파일에 대한 접근 권한은, 읽기(read)로 설정하여, 파일의 변조가 가능하지 않도록 할 수 있다. 그리고, 파일 수정 프로세스의 파일에 대한 접근 권한은 읽기(read), 쓰기(write) 및 실행(execute) 중에서 적어도 하나로 설정하여 사전에 설정된 파일 수정 프로세스만이 파일을 수정할 수 있도록 할 수 있다.
가상화 드라이버(112)는 호스트 운영체제 파일 보호부(122)로부터 파일에 대한 접근 가능 여부를 판단한 결과를 수신하고, 파일에 대한 판단 결과가 접근 불가(deny)이면 파일로의 접근을 차단하고, 파일에 대한 판단 결과가 접근 허가(allow)이면, 파일로의 요청된 접근을 수행하도록 할 수 있다.
가상화 드라이버(112)는 바이러스로부터의 보호가 필요한 기설정된 프로세스인 주요 프로세스의 실행을 감지하면, 주요 프로세스가 할당된 메모리 영역의 주소를 호스트 운영체제 파일 보호부(122)로 제공하고 주요 프로세스의 보호를 요청할 수 있다.
호스트 운영체제 파일 보호부(122)는 가상화 드라이버(112)로부터 주요 프로세스의 보호를 요청 받으면, 주요 프로세스가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 주요 프로세스의 변조를 차단할 수 있다.
가상화 드라이버(112)는 주요 프로세스가 실행되었는지 여부를 다음과 같이 감지할 수 있다. 가상화 드라이버(112)는 프로세스가 실행되면 실행된 프로세스의 정보를 호스트 운영체제 파일 보호부(122)로 송신하여 주요 프로세스인지 여부를 문의할 수 있다. 호스트 운영체제 파일 보호부(122)는 보호정책 관리자(126)에 저장된 주요 프로세스 목록을 통해서 보호정책 관리자(126)로부터 실행된 프로세서의 정보에 대한 주요 프로세스 여부를 확인하여 주요 프로세스인지 여부를 판단한 결과를 수신할 수 있다. 이때, 주요 프로세스 목록은 바이러스로부터의 보호가 필요한 기설정된 프로세스들의 목록을 나타낼 수 있다. 호스트 운영체제 파일 보호부(122)는 수신한, 주요 프로세스인지 여부를 판단한 결과를 가상화 드라이버(112)로 송신한다. 가상화 드라이버(112)는 주요 프로세스인지 여부를 판단한 결과를 통해서 실행된 프로세스가 주요 프로세스인지 여부를 감지할 수 있다.
한편, 가상화 드라이버(112)와 호스트 운영체제 파일 보호부(122)는 하이퍼콜 인터페이스(hypercall interface)를 이용해서 통신할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 방법을 아래에서 도면을 참조하여 설명한다.
도 3은 일 실시예에 따른 랜섬웨어 방지 장치에서 랜섬웨어로부터 파일을 보호하는 과정을 도시한 흐름도이다.
도 3을 참조하면, 분석부에서 게스트 운영체제 시스템을 시작하기 전 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증한다(310).
검증결과 가상화 드라이버가 무결하면, 호스트 OS 파일 보호부에서 가상화 드라이버가 할당된 메모리의 변조를 차단한다(312). 이때, 메모리의 변조를 차단하는 방법은 가상화 드라이버가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.
그리고, 게스트 운영체제 시스템에서 게스트 운영체제의 실행을 시작하고(314), 가상화 드라이버의 실행을 시작한다(316).
이후, 랜섬웨어 방지 장치는 게스트 운영체제와 가상화 드라이버가 실행 중인지 여부를 확인한다(318).
318단계의 확인결과 게스트 운영체제와 가상화 드라이버가 실행 중이면, 가상화 드라이버는 파일로 접근이 발생하는지 여부를 확인한다(320).
320단계의 확인결과 파일로의 접근이 발생하면, 가상화 드라이버는 파일의 접근권한에 따라 발생한 파일 입출력을 처리한다(322).
파일로의 접근을 처리하는 322단계를 아래 도 4를 통해 보다 구체적으로 설명하고자 한다.
도 4는 일 실시예에 따른 랜섬웨어 방지 장치에서 파일의 접근권한에 따라 파일의 접근을 처리하는 과정을 도시한 흐름도이다.
도 4를 참조하면, 가상화 드라이버는 파일의 접근 정보를 호스트 운영체제 파일 보호부로 송신하여 접근 가능 여부를 문의한다(410). 이때, 파일의 접근 정보는 파일의 경로(full path name), 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류(예를 들어, 읽기, 쓰기, 실행 등)를 포함할 수 있다.
호스트 운영체제 파일 보호부는 보호정책 관리자를 통해서 발생한 파일로의 접근에 대한 접근권한을 판단한다(412).
호스트 운영체제 파일 보호부는 발생한 파일로의 접근에 대한 판단 결과를 가상화 드라이버로 송신한다(414).
가상화 드라이버는 발생한 파일로의 접근에 대한 접근 가능 여부 판단결과가 접근 허가인지 확인한다(416).
416단계의 확인결과 발생한 파일로의 접근에 대한 판단 결과가 접근 허가(allow)이면, 가상화 드라이버는 발생한 파일로의 요청된 접근을 수행할 수 있도록 처리한다(418).
416단계의 확인결과 발생한 파일에 대한 판단 결과가 접근 불가(deny)이면, 가상화 드라이버는 발생한 파일로의 접근을 차단하도록 처리한다(420).
도 5는 일 실시예에 따라 랜섬웨어 방지 장치에서 랜섬웨어로부터 파일을 보호하는 위한 메시지 흐름을 도시한 도면이다.
도 5를 참조하면, 가상화 드라이버(112)는 게스트 운영체제 시스템에서 시작하기에 앞서, 시작 시간과 가상화 드라이버의 메모리 영역 정보를 호스트 운영체제 파일 보호부(122)로 송신한다(510).
호스트 OS 파일 보호부(122)는 시작 시간과 가상화 드라이버의 메모리 영역 정보를 분석부(124)로 제공한다(512).
분석부(124)는 게스트 OS(110)을 시작하기 전에 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증한다(514).
그리고, 분석부(124)는 무결성을 판단한 결과를 호스트 OS 파일 보호부(122)로 제공한다(516).
호스트 OS 파일 보호부(122)는 분석부(124)의 검증결과 가상화 드라이버가 무결하면, 가상화 드라이버(112)가 할당된 메모리 영역에 쓰기가 금지되도록 읽기전용(read only)로 설정하여 변조를 차단한다(518).
이후, 가상화 드라이버(112)에서 파일로의 접근이 발생하면(520), 발생한 파일의 접근 정보를 호스트 OS 파일 보호부(122)로 송신하여 접근 가능 여부를 문의한다(522).
호스트 OS 파일 보호부(122)는 발생한 파일의 접근 정보를 보호정책 관리자(126)으로 제공하여 접근 가능 여부를 문의한다(524).
보호정책 관리자(126)는 보호 대상으로 기설정된 파일 목록에서 발생한 파일의 접근 정보에 대한 접근권한을 확인하여 접근 가능 여부를 판단하고(526), 판단결과를 호스트 OS 파일 보호부(122)로 송신한다(528).
호스트 OS 파일 보호부(122)는 보호정책 관리자(126)으로부터 발생한 파일의 접근 정보에 대한 접근 가능 여부를 판단한 판단결과를 수신하면, 수신한 판단결과를 가상화 드라이버(112)로 송신한다(530).
가상화 드라이버(112)는 발생한 파일의 접근에 대한 접근 가능 여부를 판단한 판단결과에 따라 발생한 파일로의 접근을 처리한다(532).
도 6은 일 실시예에 따른 랜섬웨어 방지 장치에서 랜섬웨어로부터 주요 프로세스를 보호하는 과정을 도시한 흐름도이다.
도 6을 참조하면, 분석부에서 게스트 운영체제 시스템을 시작하기 전 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증한다(610).
검증결과 가상화 드라이버가 무결하면, 호스트 OS 파일 보호부에서 가상화 드라이버가 할당된 메모리의 변조를 차단한다(612). 이때, 메모리의 변조를 차단하는 방법은 가상화 드라이버가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.
그리고, 게스트 운영체제 시스템에서 게스트 운영체제의 실행을 시작하고(614), 가상화 드라이버의 실행을 시작한다(616).
이후, 가상화 드라이버에서 프로세스의 시작을 감지하면(618), 실행된 프로세스의 정보를 호스트 운영체제 파일 보호부로 송신하여 주요 프로세스인지 여부를 문의한다(620).
호스트 운영체제 파일 보호부에서 보호정책 관리자에 저장된 주요 프로세스 목록을 통해서 실행된 프로세서의 정보에 대한 주요 프로세스 여부를 확인하여 주요 프로세스인지 여부를 판단한다(622). 이때, 주요 프로세스 목록은 바이러스로부터의 보호가 필요한 기설정된 프로세스들의 목록을 나타낼 수 있다.
그리고, 호스트 운영체제 파일 보호부에서 주요 프로세스인지 여부를 판단한 결과를 가상화 드라이버로 송신한다(624).
그리고, 가상화 드라이버에서 실행된 프로세스가 주요 프로세스이면, 실행된 프로세스인 주요 프로세스가 할당된 메모리 영역의 주소를 호스트 운영체제 파일 보호부로 제공하여 호스트 OS 파일 보호부로 하여금 주요 프로세서가 할당된 메모리의 변조를 차단하도록 한다(628).
도 7은 일 실시예에 따라 랜섬웨어 방지 장치에서 랜섬웨어로부터 주요 프로세스를 보호하는 위한 메시지 흐름을 도시한 도면이다.
도 7을 참조하면, 가상화 드라이버(112)는 게스트 운영체제 시스템에서 시작하기에 앞서, 시작 시간과 가상화 드라이버의 메모리 영역 정보를 호스트 운영체제 파일 보호부(122)로 송신한다(710).
호스트 OS 파일 보호부(122)는 시작 시간과 가상화 드라이버의 메모리 영역 정보를 분석부(124)로 제공한다(712).
분석부(124)는 게스트 OS(110)을 시작하기 전에 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증한다(714).
그리고, 분석부(124)는 무결성을 판단한 결과를 호스트 OS 파일 보호부(122)로 제공한다(716).
호스트 OS 파일 보호부(122)는 분석부(124)의 검증결과 가상화 드라이버가 무결하면, 가상화 드라이버(112)가 할당된 메모리 영역에 쓰기가 금지되도록 읽기전용(read only)로 설정하여 변조를 차단한다(718).
가상화 드라이버(112)는 프로세스의 시작을 감지하면(720), 실행된 프로세스의 정보를 호스트 OS 파일 보호부(122)로 송신하여 주요 프로세스인지 여부를 문의한다(722).
호스트 OS 파일 보호부(122)는 보호정책 관리자(126)로 주오 프로세스인 여부를 문의한다(724).
보호정책 관리자(126)는 저장된 주요 프로세스 목록을 통해서 실행된 프로세서의 정보에 대한 주요 프로세스 여부를 확인하여 주요 프로세스인지 여부를 판단하고(724). 주오 프로세스인지 여부를 판단한 결과를 호스트 OS 파일 보호부(122)로 송신하여 응답한다(728). 이때, 주요 프로세스 목록은 바이러스로부터의 보호가 필요한 기설정된 프로세스들의 목록을 나타낼 수 있다.
호스트 OS 파일 보호부(122)는 보호정책 관리자(126)로부터 주요 프로세스인지 여부를 판단한 결과를 수신하면(728), 가상화 드라이버(112)로 송신한다(730).
가상화 드라이버(112)는 주요 프로세스인지 여부를 판단한 결과를 수신한 결과 실행된 프로세스가 주요 프로세스이면(732), 실행된 프로세스인 주요 프로세스가 할당된 메모리 영역의 주소를 호스트 OS 파일 보호부(122)로 제공한다(734).
호스트 OS 파일 보호부(122)는 주요 프로세스가 할당된 메모리 영역의 주소를 수신하면, 주요 프로세스가 할당된 메모리 영역에 쓰기가 금지되도록 읽기전용(read only)로 설정하여 변조를 차단한다(736).
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 실시 예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 게스트 운영체제 시스템을 시작하기 전 상기 게스트 운영체제 시스템의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하는 분석부;
    검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리 영역의 변조를 차단하는 호스트 운영체제 파일 보호부;
    상기 게스트 운영체제 시스템에서 동작하며, 파일로의 접근이 발생하면, 발생한 파일의 접근 정보를 상기 호스트 운영체제 파일 보호부로 송신하여 접근 가능 여부를 문의하는 상기 가상화 드라이버; 및
    상기 파일의 접근 정보에 따른 상기 파일에 대한 접근권한을 판단하는 보호정책 관리자를 포함하고,
    상기 호스트 운영체제 파일 보호부는,
    상기 보호정책 관리자를 통해 상기 파일의 접근 정보에 따른 상기 파일에 대한 접근권한을 판단한 결과를 상기 가상화 드라이버로 송신하는
    을 포함하는 랜섬웨어 방지 장치.
  2. 제1항에 있어서,
    상기 가상화 드라이버는,
    수신한 상기 파일에 대한 판단 결과가 접근 불가(deny)이면 상기 파일로의 접근을 차단하고, 수신한 상기 파일에 대한 판단 결과가 접근 허가(allow)이면, 상기 파일로의 요청된 접근을 수행함을 특징으로 하는
    랜섬웨어 방지 장치.
  3. 제1항에 있어서,
    상기 보호정책 관리자는,
    상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고,
    상기 파일의 접근 정보는,
    상기 파일의 경로, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고,
    상기 파일 목록은,
    상기 파일의 경로와 접근 가능 프로세스의 상기 파일에 대한 접근 권한, 또는 상기 파일의 경로와 파일 수정 프로세스의 상기 파일에 대한 접근 권한을 포함하는
    랜섬웨어 방지 장치.
  4. 제3항에 있어서,
    상기 접근 가능 프로세스의 상기 파일에 대한 접근 권한은,
    읽기(read)인 것을 특징으로 하는
    랜섬웨어 방지 장치.
  5. 제3항에 있어서,
    상기 파일 수정 프로세스의 상기 파일에 대한 접근 권한은,
    읽기(read), 쓰기(write) 및 실행(execute) 중에서 적어도 하나인 것을 특징으로 하는
    랜섬웨어 방지 장치.
  6. 제1항에 있어서,
    상기 호스트 운영체제 파일 보호부는,
    상기 가상화 드라이버의 시작 시간과 상기 가상화 드라이버가 할당된 메모리 영역의 주소를 상기 가상화 드라이버로부터 수신하고, 상기 가상화 드라이버가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단함을 특징으로 하는
    랜섬웨어 방지 장치.
  7. 제1항에 있어서,
    상기 가상화 드라이버는,
    바이러스로부터의 보호가 필요한 기설정된 프로세스인 주요 프로세스의 실행을 감지하면, 상기 주요 프로세스가 할당된 메모리 영역의 주소를 상기 호스트 운영체제 파일 보호부로 제공하고 상기 접근 가능 프로세스의 보호를 요청하고,
    상기 호스트 운영체제 파일 보호부는,
    상기 주요 프로세스의 보호를 요청 받으면, 상기 주요 프로세스가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 상기 주요 프로세스의 변조를 차단함을 특징으로 하는
    랜섬웨어 방지 장치.
  8. 제1항에 있어서,
    상기 보호정책 관리자는,
    상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고,
    상기 파일의 접근 정보는,
    상기 파일의 확장자, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고,
    상기 파일 목록은,
    각 확장자에 대응하는 접근 가능 프로세스의 정보, 상기 접근 가능 프로세스가 해당 확장자에 대한 접근 권한, 또는 각 확장자에 대응하는 파일 수정 프로세스의 정보, 상기 파일 수정 프로세스가 해당 확장자에 대한 접근 권한을 포함하는
    랜섬웨어 방지 장치.
  9. 게스트 운영체제 시스템을 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하는 단계;
    검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리의 변조를 차단하는 단계;
    상기 가상화 드라이버에서 파일로의 접근이 발생하면, 발생한 파일의 접근 정보를 호스트 운영체제 파일 보호부로 송신하여 접근 가능 여부를 문의하는 단계;
    상기 호스트 운영체제 파일 보호부에서 보호정책 관리자를 통해서 상기 파일에 대한 접근권한을 판단하는 단계; 및
    상기 파일로의 접근에 대한 판단 결과를 상기 가상화 드라이버로 송신하는 단계
    를 포함하는 랜섬웨어를 방지하는 방법.
  10. 제9항에 있어서,
    상기 가상화 드라이버에서 수신한 상기 파일에 대한 판단 결과가 접근 불가(deny)이면 상기 파일로의 접근을 차단하고, 수신한 상기 파일에 대한 판단 결과가 접근 허가(allow)이면, 상기 파일로의 요청된 접근을 수행하는 단계를 더 포함하는
    랜섬웨어를 방지하는 방법.
  11. 제9항에 있어서,
    상기 발생한 파일 입출력에 대한 접근권한을 판단하는 단계는,
    상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고,
    상기 파일의 접근 정보는,
    상기 파일의 경로, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고,
    상기 파일 목록은,
    상기 파일의 경로와 접근 가능 프로세스의 상기 파일에 대한 접근 권한, 또는 상기 파일의 경로와 파일 수정 프로세스의 상기 파일에 대한 접근 권한을 포함하는
    랜섬웨어를 방지하는 방법.
  12. 제9항에 있어서,
    상기 가상화 드라이버가 할당된 메모리 영역의 변조를 차단하는 단계는,
    상기 호스트 운영체제 파일 보호부에서 상기 가상화 드라이버의 시작 시간과 상기 가상화 드라이버가 할당된 메모리 영역의 주소를 상기 가상화 드라이버로부터 수신하면, 상기 가상화 드라이버가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단하는
    랜섬웨어를 방지하는 방법.
  13. 제9항에 있어서,
    바이러스로부터의 보호가 필요한 기설정된 프로세스인 주요 프로세스의 실행을 감지하면, 상기 주요 프로세스가 할당된 메모리 영역의 주소를 상기 호스트 운영체제 파일 보호부로 제공하고 상기 접근 가능 프로세스의 보호를 단계; 및
    상기 호스트 운영체제 파일 보호부에서 상기 주요 프로세스의 보호를 요청 받으면, 상기 주요 프로세스가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 상기 주요 프로세스의 변조를 차단하는 단계
    를 더 포함하는 랜섬웨어를 방지하는 방법.
  14. 제9항에 있어서,
    상기 발생한 파일 입출력에 대한 접근권한을 판단하는 단계는,
    상기 보호정책 관리자에 저장된 보호 대상으로 기설정된 파일 목록에서 상기 파일의 접근 정보에 대한 접근권한을 확인하여 판단하고,
    상기 파일의 접근 정보는,
    상기 파일의 확장자, 상기 파일에 접근하고자 하는 프로세스 정보 및 요청된 접근 종류를 포함하고,
    상기 파일 목록은,
    각 확장자에 대응하는 접근 가능 프로세스의 정보, 상기 접근 가능 포로세스가 해당 확장자에 대한 접근 권한, 또는 각 확장자에 대응하는 파일 수정 프로세스의 정보, 상기 파일 수정 프로세스가 해당 확장자에 대한 접근 권한을 포함하는
    랜섬웨어를 방지하는 방법.
  15. 제9항 내지 제14항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
PCT/KR2018/007747 2017-08-23 2018-07-09 랜섬웨어 방지 장치 및 방법 WO2019039730A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170106705A KR20190021673A (ko) 2017-08-23 2017-08-23 랜섬웨어 방지 장치 및 방법
KR10-2017-0106705 2017-08-23

Publications (1)

Publication Number Publication Date
WO2019039730A1 true WO2019039730A1 (ko) 2019-02-28

Family

ID=65439835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/007747 WO2019039730A1 (ko) 2017-08-23 2018-07-09 랜섬웨어 방지 장치 및 방법

Country Status (2)

Country Link
KR (1) KR20190021673A (ko)
WO (1) WO2019039730A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555306A (zh) * 2019-09-02 2019-12-10 慧盾信息安全科技(苏州)股份有限公司 一种自动控制进程访问服务器数据权限的系统和方法
CN111638968A (zh) * 2019-03-01 2020-09-08 维塔科技(北京)有限公司 共享内存访问权限设置方法和装置,电子设备和存储介质
CN112818346A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 文件诱捕反勒索病毒的方法
US11227053B2 (en) 2019-12-10 2022-01-18 Micro Focus Llc Malware management using I/O correlation coefficients

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102323732B1 (ko) * 2020-04-02 2021-11-11 주식회사 수산아이앤티 해쉬 관리를 통해 파일을 보호하는 장치 및 방법
KR102254283B1 (ko) 2020-11-12 2021-05-21 주식회사 시큐브 멀티프로세스 클러스터링 기반 랜섬웨어 공격 탐지 장치, 방법 및 그 방법을 실현하기 위한 프로그램을 기록한 기록매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080093359A (ko) * 2007-04-16 2008-10-21 삼성전자주식회사 가상화 환경에서의 안전한 시스템 보호 장치 및 방법
KR20090075595A (ko) * 2008-01-04 2009-07-08 주식회사 마크애니 가상 응용 프로그램 시스템, 저장장치, 가상 응용 프로그램수행 방법 및 가상 환경 보호 방법
KR101265533B1 (ko) * 2012-02-20 2013-05-20 주식회사 안랩 폴더 액세스 제어 장치 및 방법
KR20160030385A (ko) * 2013-07-05 2016-03-17 비트데펜더 아이피알 매니지먼트 엘티디 가상 머신에서 멀웨어 탐지를 위한 프로세스 평가
KR101673774B1 (ko) * 2015-06-01 2016-11-08 주식회사 수산아이앤티 가상화 시스템에서 파일 입출력 제어를 위한 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080093359A (ko) * 2007-04-16 2008-10-21 삼성전자주식회사 가상화 환경에서의 안전한 시스템 보호 장치 및 방법
KR20090075595A (ko) * 2008-01-04 2009-07-08 주식회사 마크애니 가상 응용 프로그램 시스템, 저장장치, 가상 응용 프로그램수행 방법 및 가상 환경 보호 방법
KR101265533B1 (ko) * 2012-02-20 2013-05-20 주식회사 안랩 폴더 액세스 제어 장치 및 방법
KR20160030385A (ko) * 2013-07-05 2016-03-17 비트데펜더 아이피알 매니지먼트 엘티디 가상 머신에서 멀웨어 탐지를 위한 프로세스 평가
KR101673774B1 (ko) * 2015-06-01 2016-11-08 주식회사 수산아이앤티 가상화 시스템에서 파일 입출력 제어를 위한 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638968A (zh) * 2019-03-01 2020-09-08 维塔科技(北京)有限公司 共享内存访问权限设置方法和装置,电子设备和存储介质
CN111638968B (zh) * 2019-03-01 2024-03-15 维塔科技(北京)有限公司 共享内存访问权限设置方法和装置,电子设备和存储介质
CN110555306A (zh) * 2019-09-02 2019-12-10 慧盾信息安全科技(苏州)股份有限公司 一种自动控制进程访问服务器数据权限的系统和方法
CN110555306B (zh) * 2019-09-02 2024-02-06 慧盾信息安全科技(苏州)股份有限公司 一种自动控制进程访问服务器数据权限的系统和方法
US11227053B2 (en) 2019-12-10 2022-01-18 Micro Focus Llc Malware management using I/O correlation coefficients
CN112818346A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 文件诱捕反勒索病毒的方法

Also Published As

Publication number Publication date
KR20190021673A (ko) 2019-03-06

Similar Documents

Publication Publication Date Title
WO2019039730A1 (ko) 랜섬웨어 방지 장치 및 방법
WO2018056601A1 (ko) 콘텐츠 파일 접근 제어를 이용한 랜섬웨어 차단 장치 및 차단 방법
KR101626424B1 (ko) 가상 머신 모니터 기반 안티 악성 소프트웨어 보안 시스템 및 방법
US9038176B2 (en) System and method for below-operating system trapping and securing loading of code into memory
US7657941B1 (en) Hardware-based anti-virus system
US9032525B2 (en) System and method for below-operating system trapping of driver filter attachment
WO2015115876A1 (en) Methods and apparatus for protecting operating system data
WO2012015171A2 (ko) 해커 바이러스 보안통합관리기
WO2017034072A1 (ko) 네트워크 보안 시스템 및 보안 방법
US20050071668A1 (en) Method, apparatus and system for monitoring and verifying software during runtime
WO2018212474A1 (ko) 독립된 복원영역을 갖는 보조기억장치 및 이를 적용한 기기
US20060053492A1 (en) Software tracking protection system
US20070101424A1 (en) Apparatus and Method for Improving Security of a Bus Based System Through Communication Architecture Enhancements
WO2018030667A1 (ko) 피싱 또는 랜섬웨어 공격을 차단하는 방법 및 시스템
WO2016195343A1 (ko) 가상화 시스템에서 파일 입출력 제어를 위한 방법
Schiffman et al. The smm rootkit revisited: Fun with usb
WO2018043832A1 (ko) 보안 웹브라우저 동작 방법
WO2014077615A1 (en) Anti-malware system, method of processing packet in the same, and computing device
CN114186293A (zh) Usb设备与被保护设备的通信控制方法、装置及电子设备
WO2019225849A1 (ko) 게스트 운영체제의 무결성과 파일 입출력 제어를 통해서 보안 서비스를 제공하는 보안 장치 및 방법
WO2014168406A1 (ko) 메모리 보호기능 우회 공격 진단 장치 및 방법
WO2019066099A1 (ko) 통합된 분석 모델에 기초하여 이상 행동을 감지하는 시스템 및 그 방법
CN115344834A (zh) 应用安全运行方法、装置、电子设备和计算机可读介质
WO2023113081A1 (ko) 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체
WO2018088680A1 (ko) 차단된 사이트로의 접속 요청을 처리하는 보안 시스템 및 방법

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: 18848716

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: 18848716

Country of ref document: EP

Kind code of ref document: A1