KR20210123121A - Apparatus and method for protecting files through hash management - Google Patents
Apparatus and method for protecting files through hash management Download PDFInfo
- Publication number
- KR20210123121A KR20210123121A KR1020200040463A KR20200040463A KR20210123121A KR 20210123121 A KR20210123121 A KR 20210123121A KR 1020200040463 A KR1020200040463 A KR 1020200040463A KR 20200040463 A KR20200040463 A KR 20200040463A KR 20210123121 A KR20210123121 A KR 20210123121A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- preset
- operating system
- deletion
- preset group
- Prior art date
Links
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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- 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/60—Protecting data
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
이하의 일 실시 예들은 가상화 시스템에서 게스트 운영체제를 운영함에 있어서 게스트 운영체제의 무결성을 확보하고 게스트 운영체제를 통해서 기설정된 그룹에 포함된 파일의 수정 또는 삭제를 보호하는 장치 및 방법에 관한 것이다.The following embodiments relate to an apparatus and method for securing the integrity of a guest operating system in operating a guest operating system in a virtualization system and protecting the modification or deletion of files included in a preset group through the guest operating system.
"가상화"의 사전적 의미는 "실제로 있지 않거나 모호한 것에 대하여 실제로 존재하는 사실이나 개체로 가정하여 취급하는 것"으로 정의되어 있다.The dictionary meaning of "virtualization" is defined as "treating something that does not actually exist or is vague as a fact or entity that actually exists".
본 발명에서 가상화 기술은 "컴퓨터 운영체제를 시스템 구조나 하드웨어에 영향을 받지 않고 설치, 사용할 수 있는 기술"이다.In the present invention, the virtualization technology is "a technology capable of installing and using a computer operating system without being affected by the system structure or hardware".
가상화 기술은 최초로 1970년대에 IBM에서 제안한 기술로 당시에는 메인 프레임의 공간 절감과 비용적 문제를 해결하고자 제안되었다. 하지만, 최근에는 비용절감의 효과뿐만 아니라 호환성 및 유연성, 보안성을 제공하여 가상화 기술이 주목받고 있다. 주로 적용 분야는 클라우드 컴퓨팅을 위한 서버 가상화와 데스크톱 가상화, 모바일 가상화 등 분야가 다양하다.The virtualization technology was first proposed by IBM in the 1970s and was proposed to solve the problem of space saving and cost of the main frame at that time. However, in recent years, virtualization technology is attracting attention because it provides compatibility, flexibility, and security as well as cost reduction effect. Mainly applied fields are diverse, such as server virtualization for cloud computing, desktop virtualization, and mobile virtualization.
이러한 가상화 기술을 보안성 때문에 이용되는 이유는, 높은 격리성(Isolation)이란 가상화의 장점에 바탕을 둔다. 가상화 환경은 일반적으로 게스트 운영체제가 실행되는 가상 머신과 이를 관리하는 호스트 운영체제가 실행되는 가상 머신 모니터(VMM; Virtual machine monitor) 혹은 하이퍼바이저(Hypervisor)로 구성되며, 각 가상 머신은 격리된 공간으로 존재한다. 특히 가상 머신에 위협이 발생한 경우에도 해당 가상 머신을 제외한 다른 가상 머신과 가상 머신 모니터에는 영향을 주지 않기 때문이다.The reason why this virtualization technology is used for security is based on the advantage of virtualization called high isolation. A virtual environment generally consists of a virtual machine running a guest operating system and a virtual machine monitor (VMM) or hypervisor running a host operating system that manages it, and each virtual machine exists as an isolated space. do. In particular, even when a threat occurs to a virtual machine, it does not affect other virtual machines and virtual machine monitors except for the virtual machine.
하지만, 가상화 시스템에서 기존에 물리머신에서 사용되는 보안솔루션들은 한계를 보이고 있고, 보안위협의 발생빈도도 크게 증가하고 있다.However, in the virtualization system, the existing security solutions used in physical machines have limitations, and the frequency of occurrence of security threats is increasing significantly.
가상화 시스템에서 보안솔루션이 한계를 보이는 대표적인 이유는 하나의 가상화 시스템에 다수의 운영체제가 설치될 수 있기 때문이다. A typical reason why security solutions have limitations in virtualization systems is that multiple operating systems can be installed in one virtualization system.
해커들이 가상화 시스템에 설치되는 운영체제 중에서 하나를 이용해서 운영체제 수준에서 공격하여 파일을 수정 또는 삭제하는 경우, 이를 막기 어려운 문제를 가지고 있다. When hackers modify or delete files by attacking at the operating system level using one of the operating systems installed in the virtualization system, it is difficult to prevent this.
따라서, 파일의 수정 또는 삭제를 효율적으로 감시하고 차단할 수 있는 기술이 요구된다.Accordingly, there is a need for a technology capable of efficiently monitoring and blocking file modification or deletion.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 해쉬 관리를 통해 파일을 보호하는 장치 및 방법을 제공하는 것을 목적으로 한다.The present invention was derived to solve the problems of the prior art as described above, and an object of the present invention is to provide an apparatus and method for protecting a file through hash management.
본 발명의 일 실시 예에 따른 파일을 보호하는 방법은, 가상화 드라이버에서 게스트 운영체제를 모니터링하다가 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하는 단계; 상기 가상화 드라이버에서 호스트 운영체제로 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의하는 단계; 상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하는 단계; 및 상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부에 대한 판단결과에 따라서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하거나 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 차단하는 단계를 포함한다.A method of protecting a file according to an embodiment of the present invention includes: detecting a request to modify or delete a file included in a preset group while monitoring a guest operating system in a virtualization driver; inquiring from the virtual driver to a host operating system for permission to modify or delete a file included in the preset group; determining, in the host operating system, whether to allow modification or deletion of the file included in the preset group by using whether the file included in the preset group is included in the preset file list; and the host operating system permits modification or deletion of files included in the preset group or permits modification or deletion of files included in the preset group according to the determination result of whether to permit the modification or deletion of the files included in the preset group. Blocking modification or deletion of the file.
이때, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하는 단계는, 상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단할 수 있다.In this case, the step of determining whether to allow the modification or deletion of the file included in the preset group may include, if the file included in the preset group is not included in the preset file list, included in the preset group It can be determined that modification or deletion of a file is permitted, and when a file included in the preset group is included in the preset file list, it is determined that modification or deletion of a file included in the preset group is not permitted. .
이때, 상기 기설정된 그룹에 포함된 파일은, 실행 파일인 것을 특징으로 할 수 있다.In this case, the file included in the preset group may be an executable file.
이때, 상기 가상화 드라이버에서 호스트 운영체제로 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의하는 단계는, 상기 가상화 드라이버에서 상기 기설정된 그룹에 포함된 파일을 기설정된 해쉬 함수를 이용해서 해쉬하여 계산된 해쉬값을 생성하고, 상기 계산된 해쉬값을 상기 호스트 운영체제로 송신하여 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의하고, 상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하는 단계는, 상기 호스트 운영체제의 파일 관리부에서 수정 또는 삭제가 차단되어야 하는 파일의 해쉬값이 저장된 기설정된 파일 목록에 상기 계산된 해쉬값이 포함되어 있는지 확인하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단할 수 있다.In this case, the step of inquiring from the virtualization driver to the host operating system for permission to modify or delete the file included in the preset group includes using a preset hash function for the file included in the preset group in the virtualization driver. to generate a hash value calculated by hashing, and transmit the calculated hash value to the host operating system to inquire permission to modify or delete a file included in the predetermined group, The step of determining whether to allow modification or deletion of the file included in the preset group using whether the file included in the group is included in the preset file list may include modifying or deleting the file in the file management unit of the host operating system. Checks whether the calculated hash value is included in the preset file list in which the hash value of the file to be blocked is stored, and if the calculated hash value is not included in the preset file list, included in the preset group If modification or deletion of a file is permitted, and the calculated hash value is included in the predetermined file list, it may be determined that modification or deletion of the file included in the predetermined group is not permitted.
이때, 상기 기설정된 파일 목록은, 수정 또는 삭제가 차단되어야 하는 파일에 대응하는 해쉬값을 저장하고, 상기 파일을 식별할 수 있는 식별자 정보 또는 상기 파일의 경로 중에서 적어도 하나를 더 포함할 수 있다.In this case, the preset file list may store a hash value corresponding to a file to be blocked from modification or deletion, and may further include at least one of identifier information for identifying the file or a path of the file.
이때, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하는 단계 이전에, 상기 기설정된 파일 목록에 파일의 등록을 요청받으면, 사전에 허가된 로컬 네트워크를 통한 등록 요청인지 확인하는 단계; 및 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 등록 요청이면, 기설정된 해쉬 함수를 이용해서 수정할 파일의 해쉬값을 계산하여 상기 등록할 파일에 대응하는 해쉬값을 상기 기설정된 파일 목록에 저장하는 단계를 더 포함할 수 있다.At this time, before detecting a request for modification or deletion of a file included in the preset group, when a request to register a file in the preset file list is received, checking whether the request is a registration request through a pre-approved local network ; and if the registration request is a registration request through a pre-approved local network, a hash value of the file to be modified is calculated using a preset hash function, and the hash value corresponding to the file to be registered is stored in the preset file list. It may further include the step of
이때, 파일을 보호하는 방법은, 상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 수정 요청을 수신하는 단계; 상기 기설정된 그룹에 포함된 파일을 수정하면 기설정된 해쉬 함수를 이용해서 상기 수정된 파일의 해쉬값을 계산하는 단계; 및 상기 기설정된 파일 목록에 저장된 수정전 파일의 해쉬값을 상기 수정된 파일의 해쉬값으로 수정하는 단계를 더 포함할 수 있다.In this case, the method of protecting a file may include: receiving a modification request for a file included in the preset file list through a local network permitted by the host operating system; calculating a hash value of the modified file using a preset hash function when a file included in the preset group is modified; and modifying the hash value of the file before modification stored in the preset file list to the hash value of the modified file.
이때, 파일을 보호하는 방법은, 상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 삭제 요청을 수신하는 단계; 및 상기 기설정된 파일 목록에서 삭제 요청받은 파일에 대응하는 해쉬값을 삭제하는 단계를 더 포함할 수 있다.In this case, the method of protecting a file may include: receiving a deletion request for a file included in the preset file list through a local network permitted by the host operating system; and deleting a hash value corresponding to the file requested to be deleted from the preset file list.
이때, 파일을 보호하는 방법은, 상기 게스트 운영체제를 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 상기 게스트 운영체제를 실행하는 상기 가상화 드라이버에 대한 무결성을 검증하는 단계; 검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리 영역, 상기 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 상기 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 변조를 차단하는 단계; 및 상기 게스트 운영체제와 상기 가상화 드라이버를 실행하는 단계를 더 포함할 수 있다.In this case, the method of protecting a file may include parsing the file system of the guest operating system before starting the guest operating system and verifying the integrity of the virtualization driver executing the guest operating system; As a result of the verification, if the virtualization driver is intact, the memory area to which the virtualization driver is allocated, the memory area corresponding to the master boot record (MBR) of the guest operating system, and the memory area corresponding to the volume boot record (VBR) of the guest operating system are blocking tampering; and executing the guest operating system and the virtualization driver.
본 발명의 일 실시 예에 따른 파일을 보호하는 장치는, 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하는 파일 관리부; 및 가상화 드라이버로부터 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의 받으면, 상기 파일 관리부를 통해서 허가 여부를 확인하고 판단 결과에 따라 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하거나 차단하는 호스트 운영체제 파일 보호부를 포함한다.The device for protecting a file according to an embodiment of the present invention permits modification or deletion of a file included in the preset group by using whether the file included in the preset group is included in the preset file list. a file management unit to determine whether or not; And upon receiving an inquiry from the virtualization driver for permission to modify or delete a file included in the preset group, check whether permission is granted through the file management unit, and modify or modify the file included in the preset group according to the determination result Includes a host operating system file protector that permits or blocks deletion.
이때, 상기 파일 관리부는, 상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단할 수 있다.In this case, the file management unit, if the file included in the preset group is not included in the preset file list, permits modification or deletion of the file included in the preset group, and is included in the preset group. If the file is included in the preset file list, it may be determined that modification or deletion of the file included in the preset group is not permitted.
이때, 상기 기설정된 그룹에 포함된 파일은, 실행 파일인 것을 특징으로 할 수 있다.In this case, the file included in the preset group may be an executable file.
이때, 상기 파일 관리부는, 상기 가상화 드라이버로부터 상기 기설정된 그룹에 포함된 파일에 대한 계산된 해쉬값을 수신하면 상기 기설정된 파일 목록에 상기 계산된 해쉬값이 포함되어 있는지 확인하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단할 수 있다.In this case, the file management unit, upon receiving the calculated hash value for the file included in the preset group from the virtualization driver, checks whether the calculated hash value is included in the preset file list, and the calculated hash value If the value is not included in the preset file list, modification or deletion of the file included in the preset group is permitted, and if the calculated hash value is included in the preset file list, it is included in the preset group It may be determined that modification or deletion of the deleted file is not permitted.
이때, 상기 기설정된 파일 목록은, 수정 또는 삭제가 차단되어야 하는 파일에 대응하는 해쉬값을 저장하고, 상기 파일을 식별할 수 있는 식별자 정보 또는 상기 파일의 경로 중에서 적어도 하나를 더 포함할 수 있다.In this case, the preset file list may store a hash value corresponding to a file to be blocked from modification or deletion, and may further include at least one of identifier information for identifying the file or a path of the file.
이때, 상기 파일 관리부는, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하기 전에, 상기 기설정된 파일 목록에 파일의 등록을 요청받으면, 사전에 허가된 로컬 네트워크를 통한 등록 요청인지 확인하고, 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 등록 요청이면, 기설정된 해쉬 함수를 이용해서 수정할 파일의 해쉬값을 계산하여 상기 등록할 파일에 대응하는 해쉬값으로 상기 기설정된 파일 목록에 저장할 수 있다.At this time, when the file management unit receives a request to register a file in the preset file list before detecting a request for modification or deletion of a file included in the preset group, whether it is a registration request through a pre-approved local network After checking, if the registration request is a registration request through a pre-approved local network, a hash value of the file to be modified is calculated using a preset hash function, and the preset file list is set as a hash value corresponding to the file to be registered. can be stored in
이때, 상기 파일 관리부는, 상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 수정 요청을 수신하면, 기설정된 해쉬 함수를 이용해서 수정된 파일의 해쉬값을 계산하고, 상기 기설정된 파일 목록에 저장된 수정전 파일의 해쉬값을 상기 수정된 파일의 해쉬값으로 수정할 수 있다.At this time, when the file management unit receives a request to modify a file included in the preset file list through a local network permitted by the host operating system, it calculates a hash value of the modified file using a preset hash function, , the hash value of the file before modification stored in the preset file list may be modified as the hash value of the modified file.
이때, 상기 파일 관리부는, 상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 삭제 요청을 수신하면, 상기 기설정된 파일 목록에서 삭제 요청받은 파일에 대응하는 해쉬값을 삭제할 수 있다.In this case, when the file manager receives a request to delete a file included in the preset file list through a local network permitted by the host operating system, a hash value corresponding to the file requested to be deleted from the preset file list is can be deleted.
이때, 파일을 보호하는 장치는, 게스트 운영체제를 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 상기 게스트 운영체제를 실행하는 가상화 드라이버에 대한 무결성을 검증하는 분석부; 및 상기 게스트 운영체제를 모니터링하다가 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하면, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가 여부를 상기 호스트 운영체제 파일 보호부로 문의하는 상기 가상화 드라이버를 더 포함하고, 상기 호스트 운영체제 파일 보호부는, 검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리 영역, 상기 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 상기 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 변조를 차단하고, 상기 가상화 드라이버로부터 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가 여부를 문의 받으면, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가 여부를 판단한 결과를 상기 가상화 드라이버로 송신할 수 있다.In this case, the apparatus for protecting a file includes: an analysis unit that parses the file system of the guest operating system before starting the guest operating system and verifies the integrity of the virtualization driver executing the guest operating system; and if a request for modification or deletion of a file included in the preset group is detected while monitoring the guest operating system, it inquires to the host operating system file protection unit for permission to modify or delete a file included in the preset group and the host operating system file protection unit, if the verification result is that the virtualization driver is intact, a memory area to which the virtualization driver is allocated, a memory area corresponding to a master boot record (MBR) of the guest operating system, and Blocks modulation of a memory area corresponding to the volume boot record (VBR) of the guest operating system, and receives an inquiry from the virtualization driver whether to allow modification or deletion of files included in the preset group, the preset group A result of determining whether to allow the modification or deletion of the file included in the file may be transmitted to the virtualization driver.
이때, 상기 가상화 드라이버는, 상기 호스트 운영체제 파일 보호부에서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않으면 상기 기설정된 그룹에 포함된 파일로의 접근을 차단하고, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 수행할 수 있다.In this case, the virtualization driver blocks access to the file included in the preset group if the host operating system file protection unit does not permit modification or deletion of the file included in the preset group, and the preset group If modification or deletion of a file included in . is permitted, modification or deletion of a file included in the preset group may be performed.
이때, 상기 호스트 운영체제 파일 보호부는, 상기 가상화 드라이버의 시작 시간과 변조를 차단할 메모리 영역의 주소를 상기 가상화 드라이버로부터 수신하면, 상기 가상화 드라이버가 할당된 메모리 영역, 상기 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 상기 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.At this time, when 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 to block modulation, the memory area to which the virtualization driver is allocated, the master boot record (MBR) of the guest operating system Modulation may be blocked by setting the access right of the memory area corresponding to , and the memory area corresponding to the volume boot record (VBR) of the guest operating system to read only.
본 발명은 가상화 드라이버에서 게스트 운영체제를 모니터링하다가 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하고, 상기 가상화 드라이버에서 호스트 운영체제로 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의하고, 상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하고, 상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부에 대한 판단결과에 따라서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하거나 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 차단하는 파일을 보호하는 장치 및 방법에 관한 것으로, 기설정된 그룹에 포함된 파일 중에서 기설정된 파일 목록에 포함된 파일의 수정과 삭제로부터 파일을 보호할 수 있다.The present invention detects a request for modification or deletion of a file included in a preset group while monitoring the guest operating system in the virtualization driver, and the virtualization driver to the host operating system for modification or deletion of a file included in the preset group Inquiring for permission, the host operating system determines whether modification or deletion of the file included in the preset group is permitted by using whether the file included in the preset group is included in a preset file list, The host operating system permits modification or deletion of a file included in the preset group or permits modification or deletion of a file included in the preset group or files included in the preset group according to a determination result of whether to permit modification or deletion of the file included in the preset group It relates to an apparatus and method for protecting a file that blocks modification or deletion of a file, and it is possible to protect a file from modification and deletion of a file included in a preset file list among files included in a preset group.
도 1은 일 실시예에 따라 가상화 시스템에서 게스트 운영체제와 파일 시스템의 파일을 보호하는 장치의 구성을 도시한 도면이다.
도 2는 일 실시예에 따라 가상화 드라이버의 메모리 영역에 대한 변조를 차단하기 위해 수정하는 페이지 테이블 엔트리를 도시한 도면이다.
도 3은 일 실시예에 따른 장치에서 기설정된 그룹에 포함된 파일을 수정 또는 삭제하기 전에 허가 받는 과정을 도시한 흐름도이다.
도 4는 일 실시예에 따른 장치에서 파일 목록에 파일을 등록하는 과정을 도시한 흐름도이다.
도 5는 일 실시예에 따른 장치에서 파일 목록에 포함된 파일을 수정하는 과정을 도시한 흐름도이다.
도 6은 일 실시예에 따른 장치에서 파일 목록에 포함된 파일을 삭제하는 과정을 도시한 흐름도이다.
도 7은 일 실시예에 따른 가상화 시스템에서 기설정된 그룹에 포함된 파일을 보호하는 위한 메시지 흐름을 도시한 도면이다.1 is a diagram illustrating a configuration of an apparatus for protecting files of a guest operating system and a file system in a virtualization system according to an embodiment.
FIG. 2 is a diagram illustrating a page table entry modified in order to block modulation of a memory area of a virtualization driver according to an embodiment.
3 is a flowchart illustrating a process of obtaining permission before modifying or deleting a file included in a preset group in an apparatus according to an exemplary embodiment.
4 is a flowchart illustrating a process of registering a file in a file list in an apparatus according to an exemplary embodiment.
5 is a flowchart illustrating a process of modifying a file included in a file list in an apparatus according to an exemplary embodiment.
6 is a flowchart illustrating a process of deleting a file included in a file list in an apparatus according to an exemplary embodiment.
7 is a diagram illustrating a message flow for protecting a file included in a preset group in a virtualization system according to an embodiment.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for description purposes only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In the description of the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. In addition, in describing the components of the embodiment, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the components from other components, and the essence, order, or order of the components are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It will be understood that may also be "connected", "coupled" or "connected".
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having a common function will be described using the same names in other embodiments. Unless otherwise stated, a description described in one embodiment may be applied to another embodiment, and a detailed description in the overlapping range will be omitted.
이하에서는, 본 발명의 일 실시 예에 따른 해쉬 관리를 통해 파일을 보호하는 장치 및 방법을 첨부된 도 1 내지 도 8을 참조하여 상세히 설명한다.Hereinafter, according to an embodiment of the present invention An apparatus and method for protecting a file through hash management will be described in detail with reference to the accompanying FIGS. 1 to 8 .
도 1은 일 실시예에 따라 가상화 시스템에서 게스트 운영체제와 파일 시스템의 파일을 보호하는 장치의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of an apparatus for protecting files of a guest operating system and a file system in a virtualization system according to an embodiment.
도 1을 참조하면, 보안 장치는 크게 게스트 운영체제 시스템(OS; Operating System)(110), 호스트 운영체제 시스템(OS; Operating System)(120) 및 로컬 단말기(130)를 포함하여 구성될 수 있다.Referring to FIG. 1 , the security device may largely include a guest operating system (OS) 110 , a host operating system (OS) 120 , and a
게스트 OS(110)은 IP 주소를 가지고 네트워크에 연결되며, 호스트 OS(120)는 IP 주소를 가지고 있지 않거나, IP 주소를 가지고 있다 하더라도 호스트 OS(120)의 제어는 로컬 네트워크를 통한 로컬 단말기(130)를 통해서만 제어가 가능하도록 할 수 있다.The
네트워크를 통해서 게스트 OS(110)로 전송되는 데이터는 호스트 OS(120)를 통해서 게스트 OS(110)로 전달되지만, 호스트 OS(120)는 IP 주소를 가지고 있지 않거나, IP 주소를 가지고 있다 하더라도 허가된 로컬 단말기(130)를 통해서만 제어가 가능하므로, 외부에서는 호스트 OS(120)에 직접적으로 접근할 수 없도록 할 수 있다. Data transmitted to the
즉, 호스트 OS(120)는 IP 주소의 보유 여부와 상관없이 허가된 단말기를 통해서만 접근할 수 있다. 따라서, 외부에서 호스트 OS(120)로 직접적인 접근이 원천적으로 봉쇄할 수 있도록 IP 주소를 가지고 있지 않는 것이 더 바람직하겠다.That is, the
보다 구체적으로 게스트 OS(110)은 가상화 드라이버(Para-virtualized Agent)(112), 파일 시스템(114)을 포함하고, 호스트 OS(120)는 호스트 운영체제(OS) 파일 보호부(122), 분석부(Parser)(124), 파일 관리부(126)를 포함하여 구성될 수 있다.More specifically, the
가상화 드라이버(112)는 게스트 운영체제 시스템에서 시작하기에 앞서, 시작 시간과 가상화 드라이버의 메모리 영역 정보를 호스트 운영체제 파일 보호부(122)를 통해 분석부(124)로 제공하여 무결성 여부를 확인한다. 이때, 에이전트의 메모리 영역 정보에 해당하는 메모리 주소는 커널의 구조체(structure) 및 API(Application Programming Interface)를 통해 획득할 수 있다.Before starting in the guest operating system, the
가상화 드라이버(112)는 운영체제에 관계없이 구현될 수 있으나, 운영체제에 따라 구현 방법이 달리질 수 있다. 예를 들어, 윈도우(Windows)의 경우 파일 시스템 미니필터 드라이버(file system minifilter driver)를 통해 가상화 드라이버(112)가 구현될 수 있고, 리눅스(Linux)의 경우 커널 모듈(kernel module)을 통해 가상화 드라이버(112)가 구현될 수 있다.The
분석부(124)는 게스트 OS(110)을 시작하기 전에 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증하고, 검증 결과를 호스트 운영체제 파일 보호부(122)로 제공한다.The
호스트 운영체제 파일 보호부(122)는 분석부(124)의 검증결과 가상화 드라이버가 무결하면, 가상화 드라이버(112)가 할당된 메모리 영역의 변조를 차단한다. The host operating system
또한, 호스트 운영체제 파일 보호부(122)는 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 변조를 차단한다.In addition, the host operating system
보다 구체적으로, 호스트 운영체제 파일 보호부(122)는 수신한 가상화 드라이버(112)의 시작 시간과 가상화 드라이버(112)가 할당된 메모리 영역의 주소를 이용하여 가상화 드라이버(112)가 할당된 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.More specifically, the host operating system
그리고, 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역의 주소와 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 주소를 이용해서 해당 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단할 수 있다.And, by using the address of the memory area corresponding to the master boot record (MBR) of the guest operating system and the address of the memory area corresponding to the volume boot record (VBR) of the guest operating system, the access right of the corresponding memory area is read only (read only) ) to block tampering.
도 2는 일 실시예에 따라 가상화 드라이버의 메모리 영역에 대한 변조를 차단하기 위해 수정하는 페이지 테이블 엔트리를 도시한 도면이다.FIG. 2 is a diagram illustrating a page table entry modified in order to block modulation of a memory area of a virtualization driver according to an embodiment.
도 2를 참조하면, 호스트 운영체제 파일 보호부(122)는 페이지 테이블 엔트리(page table entry)에서 음영으로 표시한 접근 권한(RWX bits)을 쓰기금지에 해당하는 읽기(read)로 수정하여 변조를 차단할 수 있다.Referring to FIG. 2 , the host operating system
한편, 메모리 영역에 대한 변조를 차단하기 위해서 인텔의 경우 메모리 가상화 기술인 Extended Page Table(EPT)를 활용하고, AMD의 경우 Nested Page Tables(NPT)를 활용할 수 있다.Meanwhile, in the case of Intel, memory virtualization technology, Extended Page Table (EPT), can be used to block tampering in the memory area, and in the case of AMD, Nested Page Tables (NPT) can be utilized.
다시 도1의 설명으로 돌아와서, 가상화 드라이버(112)는 게스트 운영체제를 모니터링하다가 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하면, 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가 여부를 호스트 운영체제 파일 보호부(122)로 문의할 수 있다.Returning to the description of FIG. 1 again, when the
이때, 가상화 드라이버(112)는 기설정된 그룹에 포함된 파일을 기설정된 해쉬함수를 이용해서 해쉬하여 계산된 해쉬값을 생성하고, 기설정된 그룹에 포함된 파일에 대한 계산된 해쉬값을 호스트 운영체제 파일 보호부(122)로 송신하여 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의할 수 있다.At this time, the
호스트 운영체제 파일 보호부(122)는 가상화 드라이버(112)로부터 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의 받으면, 파일 관리부(126)를 통해서 허가 여부를 확인하고 판단 결과에 따라 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하거나 차단하고 판단결과를 가상화 드라이버(112)로 송신한다.When the host operating system
기설정된 그룹에 포함된 파일은 파일헤더 또는 확장자로 구분할 수 있으며, 실행 파일을 기설정된 그룹으로 분류할 수 있다. 이때, 실행 파일은 파일헤더가 PE(실행파일 헤더)구조 이거나 확장자가 EXE, DLL, SYS 등의 파일이 실행파일에 해당할 수 있다.Files included in a preset group may be classified by a file header or extension, and executable files may be classified into a preset group. In this case, in the executable file, the file header may have a PE (executable file header) structure, or files with extensions such as EXE, DLL, SYS, etc. may correspond to the executable file.
파일 관리부(126)는 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단할 수 있다.The
파일 관리부(126)는 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있지 않으면 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있으면 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단할 수 있다.If the file included in the preset group is not included in the preset file list, the
보다 구체적으로, 파일 관리부(126)는 가상화 드라이버(112)로부터 기설정된 그룹에 포함된 파일에 대한 계산된 해쉬값을 수신하면 기설정된 파일 목록에 계산된 해쉬값이 포함되어 있는지 확인하고, 계산된 해쉬값이 기설정된 파일 목록에 포함되어 있지 않으면 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 계산된 해쉬값이 기설정된 파일 목록에 포함되어 있으면 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단할 수 있다.More specifically, when the
이때, 기설정된 파일 목록은 수정 또는 삭제가 차단되어야 하는 파일에 대응하는 해쉬값을 저장하고, 파일을 식별할 수 있는 식별자 정보 또는 파일의 경로 중에서 적어도 하나를 더 포함할 수 있다.In this case, the preset file list may store a hash value corresponding to a file to be blocked from modification or deletion, and may further include at least one of identifier information for identifying the file or a file path.
한편, 파일 관리부(126)는 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하기 전에, 기설정된 파일 목록에 파일의 등록을 요청받으면, 사전에 허가된 로컬 네트워크를 통한(예를 들어, 허가된 로컬 단말기(130)를 통해서) 등록 요청인지 확인하고, 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 등록 요청이면, 기설정된 해쉬 함수를 이용해서 수정할 파일의 해쉬값을 계산하여 등록할 파일에 대응하는 해쉬값으로 기설정된 파일 목록에 저장할 수 있다.On the other hand, when the
파일 관리부(126)는 호스트 운영체제(120)에서 허가된 로컬 네트워크를 통해서(예를 들어, 허가된 로컬 단말기(130)를 통해서) 기설정된 파일 목록에 포함된 파일에 대한 수정 요청을 수신하면, 기설정된 해쉬 함수를 이용해서 수정된 파일의 해쉬값을 계산하고, 기설정된 파일 목록에 저장된 수정전 파일의 해쉬값을 수정된 파일의 해쉬값으로 수정할 수 있다.When the
파일 관리부(126)는 호스트 운영체제(120)에서 허가된 로컬 네트워크를 통해서(예를 들어, 허가된 로컬 단말기(130)를 통해서) 기설정된 파일 목록에 포함된 파일에 대한 삭제 요청을 수신하면, 기설정된 파일 목록에서 삭제 요청받은 파일에 대응하는 해쉬값을 삭제할 수 있다.When the
가상화 드라이버(112)는 호스트 운영체제 파일 보호부(122)에서 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않으면 기설정된 그룹에 포함된 파일로의 접근을 차단하고, 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하면 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 수행하도록 할 수 있다.The
한편, 가상화 드라이버(112)와 호스트 운영체제 파일 보호부(122)는 하이퍼콜 인터페이스(hypercall interface)를 이용해서 통신할 수 있다.Meanwhile, the
이하, 상기와 같이 구성된 본 발명에 따른 방법을 아래에서 도면을 참조하여 설명한다.Hereinafter, a method according to the present invention configured as described above will be described with reference to the drawings below.
도 3은 일 실시예에 따른 장치에서 기설정된 그룹에 포함된 파일을 수정 또는 삭제하기 전에 허가 받는 과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of obtaining permission before modifying or deleting a file included in a preset group in an apparatus according to an exemplary embodiment.
도 3을 참조하면, 가상화 드라이버(112)에서 게스트 운영체제(110)를 모니터링하다가 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하면(310), 가상화 드라이버(112)에서 호스트 운영체제(120)의 호스트 운영체제 파일 보호부(122)로 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의한다(320).Referring to FIG. 3 , when the
이때, 기설정된 그룹에 포함된 파일은 파일헤더 및 확장자로 구분할 수 있으며, 실행 파일을 기설정된 그룹으로 분류할 수 있다. 실행 파일은 파일헤더가 PE(실행파일 헤더)구조 이거나 확장자가 EXE, DLL, SYS 등의 파일이 실행파일에 해당할 수 있다.In this case, files included in the preset group may be classified by a file header and an extension, and executable files may be classified into a preset group. In an executable file, the file header may have a PE (executable file header) structure, or files with extensions such as EXE, DLL, SYS, etc. may correspond to executable files.
보다 구체적으로 320단계는 가상화 드라이버(112)에서 기설정된 그룹에 포함된 파일을 기설정된 해쉬함수를 이용해서 해쉬하여 계산된 해쉬값을 생성하고, 기설정된 그룹에 포함된 파일에 대한 계산된 해쉬값을 호스트 운영체제 파일 보호부(122)로 송신하여 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의할 수 있다.More specifically, in
호스트 운영체제 파일 보호부(122)에서 파일 관리부(126)를 통해서 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 존재하는지 여부를 확인한다(330).The host operating system
330단계의 확인결과 호스트 운영체제 파일 보호부(122)에서 파일 관리부(126)의 판단결과 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있으면, 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않고 차단으로 판단하고, 가상화 드라이버(112)로 판단결과를 제공하여 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 차단한다(340).As a result of the check in
330단계의 확인결과 호스트 운영체제 파일 보호부(122)에서 파일 관리부(126)의 판단결과 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있지 않으면, 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하는 것으로 판단하고, 가상화 드라이버(112)로 판단결과를 제공하여 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가한다(350).If it is determined in
330단계는 호스트 운영체제(120)의 파일 관리부(126)에서 기설정된 파일 목록에 가상 드라이버(112)에서 송신한 계산된 해쉬값이 포함되어 있는지 확인하는 것으로, 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 존재하는지 여부를 확인할 수 있다. 이때, 기설정된 파일 목록은 수정 또는 삭제가 차단되어야 하는 파일에 대응하는 해쉬값을 저장하고, 파일을 식별할 수 있는 식별자 정보 또는 파일의 경로 중에서 적어도 하나를 더 포함할 수 있다.In
한편 도 3에는 도시되어 있지 않지만, 호스트 운영체제(120)의 분석부(124)에서 게스트 운영체제를 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 게스트 운영체제를 실행하는 가상화 드라이버에 대한 무결성을 검증하고, 호스트 운영체제 파일 보호부(122)에서 분석부(124)의 무결성 검증결과 가상화 드라이버가 무결하면, 가상화 드라이버가 할당된 메모리 영역, 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 변조를 차단한 후에, 게스트 운영체제(110)와 가상화 드라이버(112)를 실행할 수 있다.Meanwhile, although not shown in FIG. 3 , before starting the guest operating system in the
도 4는 일 실시예에 따른 장치에서 파일 목록에 파일을 등록하는 과정을 도시한 흐름도이다.4 is a flowchart illustrating a process of registering a file in a file list in an apparatus according to an exemplary embodiment.
도 4를 참조하면, 파일 관리부(126)는 기설정된 파일 목록에 파일의 등록을 요청받으면(410), 사전에 허가된 로컬 네트워크를 통한 등록 요청인지 확인한다(420).Referring to FIG. 4 , when the
420단계의 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 등록 요청이면, 파일 관리부(126)는 기설정된 해쉬 함수를 이용해서 수정할 파일의 해쉬값을 계산하여 등록할 파일에 대응하는 해쉬값을 기설정된 파일 목록에 저장한다(430).As a result of checking in
420단계의 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 등록 요청이 아니면, 파일 관리부(126)는 파일의 등록 요청을 차단한다(440).If it is determined in
도 5는 일 실시예에 따른 장치에서 파일 목록에 포함된 파일을 수정하는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process of modifying a file included in a file list in an apparatus according to an exemplary embodiment.
도 5를 참조하면, 파일 관리부(126)는 기설정된 파일 목록에 포함된 파일에 대한 수정을 요청받으면(510), 사전에 허가된 로컬 네트워크를 통한 수정 요청인지 확인한다(520).Referring to FIG. 5 , when receiving a request to modify a file included in a preset file list ( 510 ), the
520단계의 확인결과 수정 요청이 사전에 허가된 로컬 네트워크를 통한 수정 요청이면, 파일 관리부(126)는 기설정된 해쉬 함수를 이용해서 수정된 파일의 해쉬값을 계산하고, 기설정된 파일 목록에 저장된 수정전 파일의 해쉬값을 수정된 파일의 해쉬값으로 수정한다(530).As a result of checking in
520단계의 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 수정 요청이 아니면, 파일 관리부(126)는 파일의 수정 요청을 차단한다(540).If it is determined in
도 6은 일 실시예에 따른 장치에서 파일 목록에 포함된 파일을 삭제하는 과정을 도시한 흐름도이다.6 is a flowchart illustrating a process of deleting a file included in a file list in an apparatus according to an exemplary embodiment.
도 6을 참조하면, 파일 관리부(126)는 기설정된 파일 목록에 포함된 파일에 대한 삭제를 요청받으면(610), 사전에 허가된 로컬 네트워크를 통한 삭제 요청인지 확인한다(620).Referring to FIG. 6 , when the
620단계의 확인결과 수정 요청이 사전에 허가된 로컬 네트워크를 통한 삭제 요청이면, 파일 관리부(126)는 기설정된 파일 목록에서 삭제 요청받은 파일에 대응하는 해쉬값을 삭제한다(630).As a result of checking in
620단계의 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 삭제 요청이 아니면, 파일 관리부(126)는 파일의 삭제 요청을 차단한다(640).If it is determined in
도 7은 일 실시예에 따른 가상화 시스템에서 기설정된 그룹에 포함된 파일을 보호하는 위한 메시지 흐름을 도시한 도면이다.7 is a diagram illustrating a message flow for protecting a file included in a preset group in a virtualization system according to an embodiment.
도 7을 참조하면, 가상화 드라이버(112)는 게스트 운영체제 시스템에서 시작하기에 앞서, 시작 시간과 가상화 드라이버의 메모리 영역 정보를 호스트 운영체제 파일 보호부(122)로 송신한다(710).Referring to FIG. 7 , before starting in the guest operating system, the
호스트 OS 파일 보호부(122)는 시작 시간과 가상화 드라이버의 메모리 영역 정보를 분석부(124)로 제공한다(712).The host OS
분석부(124)는 게스트 OS(110)을 시작하기 전에 게스트 운영체제의 파일 시스템을 파싱하고 가상화 드라이버에 대한 무결성을 검증한다(714).The
그리고, 분석부(124)는 무결성을 판단한 결과를 호스트 OS 파일 보호부(122)로 제공한다(716).Then, the
호스트 OS 파일 보호부(122)는 분석부(124)의 검증결과 가상화 드라이버가 무결하면, 가상화 드라이버(112)가 할당된 메모리 영역, 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역에 쓰기가 금지되도록 읽기전용(read only)로 설정하여 변조를 차단한다(718).The host OS
이후, 가상화 드라이버(112)는 게스트 운영체제(110)를 모니터링하다가 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하면(720), 호스트 운영체제(120)의 호스트 운영체제 파일 보호부(122)로 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의한다(722).Thereafter, when the
호스트 운영체제 파일 보호부(122)는 파일 관리부(126)로 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의한다(724).The host operating system
파일 관리부(126)는 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단한다(726).The
파일 관리부(126)는 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부에 대한 판단결과를 호스트 운영체제 파일 보호부(122)로 응답한다(728).The
호스트 운영체제 파일 보호부(122)는 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부에 대한 판단결과를 가상화 드라이버(112)로 응답한다(730).The host operating system
가상화 드라이버(112)는 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부에 대한 판단결과에 따라서 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하거나 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 차단한다(732).The
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
110; 게스트 운영체제 시스템
112; 가상화 드라이버
114; 파일 시스템
120; 호스트 운영체제 시스템
122; 호스트 운영체제 파일 보호부
124; 분석부
126; 파일 관리부
130; 로컬 단말기110; guest operating system
112; virtualization driver
114; file system
120; host operating system
122; Host operating system file protection
124; analysis department
126; file management department
130; local terminal
Claims (20)
상기 가상화 드라이버에서 호스트 운영체제로 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의하는 단계;
상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하는 단계; 및
상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부에 대한 판단결과에 따라서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하거나 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 차단하는 단계
를 포함하는 파일을 보호하는 방법.
Detecting a request to modify or delete a file included in a preset group while monitoring the guest operating system in the virtualization driver;
inquiring from the virtual driver to a host operating system for permission to modify or delete a file included in the preset group;
determining, in the host operating system, whether to allow modification or deletion of the file included in the preset group by using whether the file included in the preset group is included in the preset file list; and
The host operating system permits modification or deletion of a file included in the preset group or permits modification or deletion of a file included in the preset group or files included in the preset group according to a determination result of whether to permit modification or deletion of the file included in the preset group Steps to block modifications or deletions to
How to protect files containing .
상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하는 단계는,
상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고,
상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단하는
파일을 보호하는 방법.
According to claim 1,
The step of determining whether to allow modification or deletion of files included in the preset group includes:
If the file included in the preset group is not included in the preset file list, modify or delete the file included in the preset group is permitted,
If the file included in the preset group is included in the preset file list, it is determined that modification or deletion of the file included in the preset group is not permitted.
How to protect your files.
상기 기설정된 그룹에 포함된 파일은,
실행 파일인 것을 특징으로 하는
파일을 보호하는 방법.
According to claim 1,
The files included in the preset group are,
characterized in that it is an executable file
How to protect your files.
상기 가상화 드라이버에서 호스트 운영체제로 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의하는 단계는,
상기 가상화 드라이버에서 상기 기설정된 그룹에 포함된 파일을 기설정된 해쉬 함수를 이용해서 해쉬하여 계산된 해쉬값을 생성하고, 상기 계산된 해쉬값을 상기 호스트 운영체제로 송신하여 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의하고,
상기 호스트 운영체제에서 상기 기설정된 그룹에 포함된 파일이 기설정된 파일 목록에 포함되어 있는지 여부를 이용해서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제의 허가 여부를 판단하는 단계는,
상기 호스트 운영체제의 파일 관리부에서 수정 또는 삭제가 차단되어야 하는 파일의 해쉬값이 저장된 기설정된 파일 목록에 상기 계산된 해쉬값이 포함되어 있는지 확인하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단하는
파일을 보호하는 방법.
According to claim 1,
Inquiring from the virtualization driver to the host operating system for permission to modify or delete a file included in the preset group comprises:
The virtualization driver hashes the file included in the preset group using a preset hash function to generate a calculated hash value, and transmits the calculated hash value to the host operating system to send the file included in the preset group. Inquire for permission to modify or delete
The step of determining, in the host operating system, whether modification or deletion of the file included in the preset group is permitted by using whether the file included in the preset group is included in the preset file list,
The file management unit of the host operating system checks whether the calculated hash value is included in a preset file list in which a hash value of a file to be blocked from modification or deletion is stored, and the calculated hash value is included in the preset file list If not, modification or deletion of files included in the preset group is permitted, and if the calculated hash value is included in the preset file list, modification or deletion of files included in the preset group is permitted. deciding not to
How to protect your files.
상기 기설정된 파일 목록은,
수정 또는 삭제가 차단되어야 하는 파일에 대응하는 해쉬값을 저장하고,
상기 파일을 식별할 수 있는 식별자 정보 또는 상기 파일의 경로 중에서 적어도 하나를 더 포함하는
파일을 보호하는 방법.
5. The method of claim 4,
The preset file list is,
Stores the hash value corresponding to the file that should be blocked from modification or deletion,
Further comprising at least one of identifier information for identifying the file or a path of the file
How to protect your files.
상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하는 단계 이전에,
상기 기설정된 파일 목록에 파일의 등록을 요청받으면, 사전에 허가된 로컬 네트워크를 통한 등록 요청인지 확인하는 단계; 및
확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 등록 요청이면, 기설정된 해쉬 함수를 이용해서 수정할 파일의 해쉬값을 계산하여 상기 등록할 파일에 대응하는 해쉬값을 상기 기설정된 파일 목록에 저장하는 단계
를 더 포함하는 파일을 보호하는 방법.
According to claim 1,
Prior to the step of detecting a request to modify or delete a file included in the preset group,
checking whether the request for registration of a file in the preset file list is received through a pre-approved local network; and
If the registration request is a registration request through a pre-approved local network, the hash value of the file to be modified is calculated using a preset hash function, and the hash value corresponding to the file to be registered is stored in the preset file list. step
How to protect files containing more.
상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 수정 요청을 수신하는 단계;
상기 기설정된 그룹에 포함된 파일을 수정하면 기설정된 해쉬 함수를 이용해서 상기 수정된 파일의 해쉬값을 계산하는 단계; 및
상기 기설정된 파일 목록에 저장된 수정전 파일의 해쉬값을 상기 수정된 파일의 해쉬값으로 수정하는 단계
를 더 포함하는 파일을 보호하는 방법.
According to claim 1,
receiving a modification request for a file included in the preset file list through a local network permitted by the host operating system;
calculating a hash value of the modified file using a preset hash function when a file included in the preset group is modified; and
Correcting the hash value of the file before modification stored in the preset file list to the hash value of the modified file
How to protect files containing more.
상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 삭제 요청을 수신하는 단계; 및
상기 기설정된 파일 목록에서 삭제 요청받은 파일에 대응하는 해쉬값을 삭제하는 단계
를 더 포함하는 파일을 보호하는 방법.
According to claim 1,
receiving a deletion request for a file included in the preset file list through a local network permitted by the host operating system; and
Deleting a hash value corresponding to a file requested to be deleted from the preset file list
How to protect files containing more.
상기 게스트 운영체제를 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 상기 게스트 운영체제를 실행하는 상기 가상화 드라이버에 대한 무결성을 검증하는 단계;
검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리 영역, 상기 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 상기 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 변조를 차단하는 단계; 및
상기 게스트 운영체제와 상기 가상화 드라이버를 실행하는 단계
를 더 포함하는 파일을 보호하는 방법.
According to claim 1,
parsing the file system of the guest operating system before starting the guest operating system and verifying the integrity of the virtualization driver executing the guest operating system;
As a result of the verification, if the virtualization driver is intact, the memory area to which the virtualization driver is allocated, the memory area corresponding to the master boot record (MBR) of the guest operating system, and the memory area corresponding to the volume boot record (VBR) of the guest operating system are blocking tampering; and
executing the guest operating system and the virtualization driver
How to protect files containing more.
가상화 드라이버로부터 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가를 문의 받으면, 상기 파일 관리부를 통해서 허가 여부를 확인하고 판단 결과에 따라 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하거나 차단하는 호스트 운영체제 파일 보호부
를 포함하는 파일을 보호하는 장치.
a file management unit for determining whether to permit modification or deletion of files included in the preset group using whether a file included in a preset group is included in a preset file list; and
Upon receiving an inquiry from the virtualization driver for permission to modify or delete a file included in the preset group, check whether permission is granted through the file management unit, and modify or delete a file included in the preset group according to the determination result Host operating system file protection unit that allows or blocks
A device that protects files containing .
상기 파일 관리부는,
상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고,
상기 기설정된 그룹에 포함된 파일이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단하는
파일을 보호하는 장치.
11. The method of claim 10,
The file management unit,
If the file included in the preset group is not included in the preset file list, modify or delete the file included in the preset group is permitted,
If the file included in the preset group is included in the preset file list, it is determined that modification or deletion of the file included in the preset group is not permitted.
A device that protects your files.
상기 기설정된 그룹에 포함된 파일은,
실행 파일인 것을 특징으로 하는
파일을 보호하는 장치.
11. The method of claim 10,
The files included in the preset group are,
characterized in that it is an executable file
A device that protects your files.
상기 파일 관리부는,
상기 가상화 드라이버로부터 상기 기설정된 그룹에 포함된 파일에 대한 계산된 해쉬값을 수신하면 상기 기설정된 파일 목록에 상기 계산된 해쉬값이 포함되어 있는지 확인하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있지 않으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하고, 상기 계산된 해쉬값이 상기 기설정된 파일 목록에 포함되어 있으면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않음으로 판단하는
파일을 보호하는 장치.
11. The method of claim 10,
The file management unit,
Upon receiving the calculated hash value for the file included in the preset group from the virtualization driver, it is checked whether the calculated hash value is included in the preset file list, and the calculated hash value is the preset file list If not included in , modification or deletion of files included in the preset group is permitted, and if the calculated hash value is included in the preset file list, correction or deletion of files included in the preset group judged not to permit
A device that protects your files.
상기 기설정된 파일 목록은,
수정 또는 삭제가 차단되어야 하는 파일에 대응하는 해쉬값을 저장하고,
상기 파일을 식별할 수 있는 식별자 정보 또는 상기 파일의 경로 중에서 적어도 하나를 더 포함하는
파일을 보호하는 장치.
14. The method of claim 13,
The preset file list is,
Stores the hash value corresponding to the file that should be blocked from modification or deletion,
Further comprising at least one of identifier information for identifying the file or a path of the file
A device that protects your files.
상기 파일 관리부는,
상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하기 전에, 상기 기설정된 파일 목록에 파일의 등록을 요청받으면, 사전에 허가된 로컬 네트워크를 통한 등록 요청인지 확인하고, 확인결과 등록 요청이 사전에 허가된 로컬 네트워크를 통한 등록 요청이면, 기설정된 해쉬 함수를 이용해서 수정할 파일의 해쉬값을 계산하여 상기 등록할 파일에 대응하는 해쉬값으로 상기 기설정된 파일 목록에 저장하는
파일을 보호하는 장치.
11. The method of claim 10,
The file management unit,
When a request to register a file in the preset file list is received before detecting a request for modification or deletion of a file included in the preset group, it is checked whether it is a registration request through a pre-approved local network, and the confirmation result is a registration request If it is a registration request through the local network permitted in advance, the hash value of the file to be modified is calculated using a preset hash function and stored in the preset file list as a hash value corresponding to the file to be registered.
A device that protects your files.
상기 파일 관리부는,
상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 수정 요청을 수신하면, 기설정된 해쉬 함수를 이용해서 수정된 파일의 해쉬값을 계산하고, 상기 기설정된 파일 목록에 저장된 수정전 파일의 해쉬값을 상기 수정된 파일의 해쉬값으로 수정하는
파일을 보호하는 장치.
11. The method of claim 10,
The file management unit,
When a modification request for a file included in the preset file list is received through a local network permitted by the host operating system, a hash value of the modified file is calculated using a preset hash function and added to the preset file list. Modifying the hash value of the stored file before modification to the hash value of the modified file
A device that protects your files.
상기 파일 관리부는,
상기 호스트 운영체제에서 허가된 로컬 네트워크를 통해서 상기 기설정된 파일 목록에 포함된 파일에 대한 삭제 요청을 수신하면, 상기 기설정된 파일 목록에서 삭제 요청받은 파일에 대응하는 해쉬값을 삭제하는
파일을 보호하는 장치.
11. The method of claim 10,
The file management unit,
When a deletion request for a file included in the preset file list is received through a local network permitted by the host operating system, a hash value corresponding to the file requested to be deleted from the preset file list is deleted.
A device that protects your files.
게스트 운영체제를 시작하기 전 게스트 운영체제 시스템의 파일 시스템을 파싱하고 상기 게스트 운영체제를 실행하는 가상화 드라이버에 대한 무결성을 검증하는 분석부; 및
상기 게스트 운영체제를 모니터링하다가 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제 요청을 감지하면, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가 여부를 상기 호스트 운영체제 파일 보호부로 문의하는 상기 가상화 드라이버를 더 포함하고,
상기 호스트 운영체제 파일 보호부는,
검증결과 상기 가상화 드라이버가 무결하면, 상기 가상화 드라이버가 할당된 메모리 영역, 상기 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 상기 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 변조를 차단하고, 상기 가상화 드라이버로부터 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가 여부를 문의 받으면, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제에 대한 허가 여부를 판단한 결과를 상기 가상화 드라이버로 송신하는
파일을 보호하는 장치.
11. The method of claim 10,
an analysis unit that parses the file system of the guest operating system before starting the guest operating system and verifies the integrity of the virtualization driver executing the guest operating system; and
When a request for modification or deletion of a file included in the preset group is detected while monitoring the guest operating system, it inquires to the host operating system file protection unit for permission to modify or delete a file included in the preset group Further comprising the virtualization driver,
The host operating system file protection unit,
As a result of the verification, if the virtualization driver is intact, the memory area to which the virtualization driver is allocated, the memory area corresponding to the master boot record (MBR) of the guest operating system, and the memory area corresponding to the volume boot record (VBR) of the guest operating system are When tampering is blocked, and when a request is made from the virtualization driver whether to allow modification or deletion of files included in the preset group, the result of determining whether to permit modification or deletion of files included in the preset group to the virtualization driver
A device that protects your files.
상기 가상화 드라이버는,
상기 호스트 운영체제 파일 보호부에서 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하지 않으면 상기 기설정된 그룹에 포함된 파일로의 접근을 차단하고, 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 허가하면 상기 기설정된 그룹에 포함된 파일에 대한 수정 또는 삭제를 수행하는
파일을 보호하는 장치.
19. The method of claim 18,
The virtualization driver is
If the host operating system file protection unit does not permit modification or deletion of the file included in the preset group, access to the file included in the preset group is blocked, and the file included in the preset group is modified Or, if deletion is permitted, modification or deletion of files included in the preset group is performed.
A device that protects your files.
상기 호스트 운영체제 파일 보호부는,
상기 가상화 드라이버의 시작 시간과 변조를 차단할 메모리 영역의 주소를 상기 가상화 드라이버로부터 수신하면, 상기 가상화 드라이버가 할당된 메모리 영역, 상기 게스트 운영체제의 마스터 부트 레코드(MBR)에 해당하는 메모리 영역 및 상기 게스트 운영체제의 볼륨 부트 레코드(VBR)에 해당하는 메모리 영역의 접근 권한을 읽기전용(read only)로 설정하여 변조를 차단하는
파일을 보호하는 장치.19. The method of claim 18,
The host operating system file protection unit,
When the start time of the virtualization driver and the address of the memory area to block modulation are received from the virtualization driver, the memory area to which the virtualization driver is allocated, the memory area corresponding to the master boot record (MBR) of the guest operating system, and the guest operating system It blocks tampering by setting the access right of the memory area corresponding to the volume boot record (VBR) to read only.
A device that protects your files.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200040463A KR102323732B1 (en) | 2020-04-02 | 2020-04-02 | Apparatus and method for protecting files through hash management |
PCT/KR2021/003561 WO2021201483A1 (en) | 2020-04-02 | 2021-03-23 | Apparatus and method for protecting files through hash management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200040463A KR102323732B1 (en) | 2020-04-02 | 2020-04-02 | Apparatus and method for protecting files through hash management |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210123121A true KR20210123121A (en) | 2021-10-13 |
KR102323732B1 KR102323732B1 (en) | 2021-11-11 |
Family
ID=77927639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200040463A KR102323732B1 (en) | 2020-04-02 | 2020-04-02 | Apparatus and method for protecting files through hash management |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102323732B1 (en) |
WO (1) | WO2021201483A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140125322A (en) * | 2013-04-18 | 2014-10-28 | 주식회사 페이스콘 | File security method and apparatus therefor |
KR20190021673A (en) * | 2017-08-23 | 2019-03-06 | 주식회사 수산아이앤티 | Apparatus and method for preventing ransomware |
KR20190134323A (en) * | 2018-05-25 | 2019-12-04 | 주식회사 수산아이앤티 | Security device and method for providing security service through guest operating system integrity and file i / o control |
KR20200035016A (en) * | 2017-08-04 | 2020-04-01 | 비트데펜더 아이피알 매니지먼트 엘티디 | Secure storage devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101673774B1 (en) * | 2015-06-01 | 2016-11-08 | 주식회사 수산아이앤티 | Method for controlling file input and file output in a virtualized system |
-
2020
- 2020-04-02 KR KR1020200040463A patent/KR102323732B1/en active IP Right Grant
-
2021
- 2021-03-23 WO PCT/KR2021/003561 patent/WO2021201483A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140125322A (en) * | 2013-04-18 | 2014-10-28 | 주식회사 페이스콘 | File security method and apparatus therefor |
KR20200035016A (en) * | 2017-08-04 | 2020-04-01 | 비트데펜더 아이피알 매니지먼트 엘티디 | Secure storage devices |
KR20190021673A (en) * | 2017-08-23 | 2019-03-06 | 주식회사 수산아이앤티 | Apparatus and method for preventing ransomware |
KR20190134323A (en) * | 2018-05-25 | 2019-12-04 | 주식회사 수산아이앤티 | Security device and method for providing security service through guest operating system integrity and file i / o control |
Also Published As
Publication number | Publication date |
---|---|
WO2021201483A1 (en) | 2021-10-07 |
KR102323732B1 (en) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747172B2 (en) | Selective access to executable memory | |
US9229881B2 (en) | Security in virtualized computer programs | |
EP3103056B1 (en) | Methods and apparatus for protecting operating system data | |
US7765579B2 (en) | Security deployment system | |
US10630484B2 (en) | Securing code loading by a guest in a virtual environment | |
US20100058041A1 (en) | Method and Apparatus for Secure Instantly-On Computer System | |
US10922402B2 (en) | Securing secret data embedded in code against compromised interrupt and exception handlers | |
US9396329B2 (en) | Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage | |
US10474832B2 (en) | Method for controlling file input-output in virtualization system | |
KR20190021673A (en) | Apparatus and method for preventing ransomware | |
US20210209222A1 (en) | Security device and method for providing security service through control of file input/output and integrity of guest operating system | |
EP3178032B1 (en) | Embedding secret data in code | |
US11500787B2 (en) | Enforcing code integrity using a trusted computing base | |
Schwarzl et al. | Remote memory-deduplication attacks | |
US9398019B2 (en) | Verifying caller authorization using secret data embedded in code | |
CN107562514B (en) | Physical memory access control and isolation method | |
KR102323732B1 (en) | Apparatus and method for protecting files through hash management | |
CN113448682A (en) | Virtual machine monitor loading method and device and electronic equipment | |
US10809924B2 (en) | Executable memory protection | |
WO2024078159A1 (en) | Integrity measurement method and apparatus | |
CN115982699A (en) | Malicious attack defense method, device, equipment and medium based on secure memory | |
KR102084778B1 (en) | Access control method and apparutus thereof | |
KR20240045550A (en) | Data protection system | |
CN115474197A (en) | Method and device for accessing virtual electronic equipment, electronic equipment and storage medium | |
CN112580023A (en) | Shadow stack management method and device, medium and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |