KR20110036991A - Data security system using application virtualization and method thereof - Google Patents

Data security system using application virtualization and method thereof Download PDF

Info

Publication number
KR20110036991A
KR20110036991A KR1020090094212A KR20090094212A KR20110036991A KR 20110036991 A KR20110036991 A KR 20110036991A KR 1020090094212 A KR1020090094212 A KR 1020090094212A KR 20090094212 A KR20090094212 A KR 20090094212A KR 20110036991 A KR20110036991 A KR 20110036991A
Authority
KR
South Korea
Prior art keywords
file
application program
virtual
information
application
Prior art date
Application number
KR1020090094212A
Other languages
Korean (ko)
Inventor
심형진
이상화
신대균
Original Assignee
스페이스인터내셔널 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 스페이스인터내셔널 주식회사 filed Critical 스페이스인터내셔널 주식회사
Priority to KR1020090094212A priority Critical patent/KR20110036991A/en
Publication of KR20110036991A publication Critical patent/KR20110036991A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Abstract

PURPOSE: A data security system and method thereof uses the virtualization of an application are provided to control the input/output of the application program through the offer of a virtual file list. CONSTITUTION: A server(110) includes information necessary to execute a permitted application program. A client computer(140) receives the information. The client computer inspects the validity of the application. The client computer manufactures a virtual file list in the use of information. The client computer processes the file I/O(Input/Output) of the application program in a virtual data area.

Description

응용프로그램의 가상화를 이용한 데이터 보안 시스템 및 그 방법 {Data Security System Using Application Virtualization and method thereof}Data security system using application virtualization and its method {Data Security System Using Application Virtualization and method

본 발명은 가상화를 제공하고자 하는 응용프로그램으로부터 실제파일영역으로 전달되는 파일작업을 후킹(hooking)하여 가상파일목록을 기반으로 실제 파일영역으로의 파일입출력을 차단하거나 가상데이터영역으로 임의로 변경하여 파일입출력 처리하여, 보안이 필요한 데이터가 내부인가자에 의하여 유출되거나 변경되는 것을 방지하는 응용프로그램의 가상화를 이용한 데이터 보안 시스템 및 그 방법에 관한 것이다.The present invention hooks a file operation transferred from an application program to provide virtualization to a real file area to block file I / O to a real file area based on a virtual file list or to arbitrarily change the file data to a virtual data area. The present invention relates to a data security system and method using virtualization of an application program that prevents data leaking or changed by an internal authorized person by processing.

최근 인터넷과 컴퓨터 기술이 급속도로 발전함에 따라 기업 또는 공공기관 등은 다양한 업무들이 PC를 통해서 이루어지고 있으며, 이와 관련하여 PC에는 중요한 정보 등이 포함되어 있다.Recently, with the rapid development of the Internet and computer technology, companies or public institutions perform various tasks through the PC, and in this regard, important information is included in the PC.

기존에는 이러한 중요한 정보의 보안을 위해 기업 또는 공공기관 등은 외부로부터 데이터 침입 및 불법적인 정보 유출을 차단하기 위하여 방화벽 등을 사용하 고 있으며, 내부 인가자로부터 기업 또는 공공기관 내 중요한 정보의 공개를 차단하고 불법적인 유출을 막기 위해 패스워드 인증을 이용하여 해당 PC의 사용권한이 있는 자만이 패스워드 입력을 통해 부팅과정을 계속 진행시켜 이를 사용할 수 있도록 하는 보안 시스템 등이 있다. 하지만, 이러한 보안 방법은 내부 인가자가 정보를 고의적으로 유출하고자 하는 경우에는 내부 정보를 보호할 방법을 제공하지 못한다는 단점을 가진다.In order to secure such important information, corporations or public institutions have used firewalls to prevent data intrusion and illegal information leakage from outside, and the disclosure of important information from companies or public organizations by internal licensees In order to block and prevent illegal leaks, there is a security system that allows only those who have permission to use the PC to proceed with the booting process by entering a password and use it. However, such a security method has a disadvantage in that it does not provide a method for protecting internal information when the internal licensee intends to leak the information on purpose.

따라서, 내부 인가자로부터 기업 또는 공공기관 내의 중요한 정보의 불법적인 유출을 막기 위하여 가상 데이터 영역을 이용한 데이터 영역 보안 제품이 등장하게 되었다. 하지만, 종래의 기술은 보안 모델의 적용상 또는 운영상의 몇 가지 문제점을 가지고 있다. Therefore, a data area security product using a virtual data area has emerged in order to prevent illegal leakage of important information in an enterprise or a public institution from an internal licensee. However, the prior art has some problems in application or operation of the security model.

종래의 기술 중 보안디스크를 사용한 보안 제품은 영역 보안 제품을 납품 할 때 고객사에서 사용하는 응용 프로그램에 영역 보안 솔루션을 적용하기 위하여 기존 응용 프로그램의 파일 입출력을 분석하고 그에 따라 개발자의 판단에 의하여 보안 모듈을 선별적으로 적용하는 과정을 요구한다.The security product using the security disk of the prior art analyzes the file I / O of the existing application to apply the area security solution to the application used by the customer when delivering the area security product, and accordingly the security module at the developer's discretion It requires a process of selectively applying

이 과정에서 개발자 및 작업자의 판단 실수에 의하여 보안을 요하는 파일 입출력이 누락되는 경우가 발생하며, 또는 이러한 절차로 인한 많은 커스터마이징(Customizing) 비용이 소요된다. 또한 이러한 과정을 거처 보안이 적용되어 인증된 응용 프로그램의 경우도 각종 실행파일 패치 및 런타임 후킹에 의하여 악성 코드가 인증된 권한으로 동작하여 보안 영역으로 침투할 수 있는 보안 취약점을 가지고 있는 단점이 있다. In this process, a file input / output that requires security may be missed due to a mistake of a developer and a worker, or a lot of customization costs may be required due to this procedure. In addition, even in the case of an application certified by applying the security through such a process, a malicious code may operate as an authorized authority by various executable file patches and runtime hooking and have a security vulnerability that can penetrate into the security domain.

본 발명은 이러한 문제점을 해결하기 위해 안출된 것으로 본 발명이 이루고자 하는 기술적 과제는 가상파일목록을 제공하여 응용프로그램의 파일에 대한 입출력을 통제할 수 있어 데이터의 보안을 강화할 수 있는 응용프로그램 가상화를 이용한 데이터 보안 시스템 및 방법을 제공하는 것을 목적으로 한다.The present invention has been made to solve this problem, the technical problem to be achieved by the present invention is to provide a virtual file list to control the input and output of the application file using the application virtualization that can enhance the security of the data It is an object of the present invention to provide a data security system and method.

본 발명이 이루고자 하는 다른 기술적 과제는 각종 실행파일 패치 등 런타임 후킹(hooking)을 통한 응용프로그램 해킹 공격을 방어할 수 있고, 파일 시스템 입출력 제어를 통해 운영체제 및 시스템의 피해를 방지할 수 있는 응용프로그램 가상화를 이용한 데이터 보안 시스템 및 방법을 제공하는 것을 목적으로 한다.Another technical problem to be achieved by the present invention is to defend against application hacking attacks through runtime hooking such as patching various executable files, and to virtualize application programs that can prevent damage to the operating system and system through file system input / output control. An object of the present invention is to provide a data security system and method.

본 발명이 이루고자 하는 또 다른 기술적 과제는 제품 납품시 발생하는 응용프로그램의 파일 입출력 분석을 통한 커스터마이징에 대한 비용을 절감할 수 있는 응용프로그램 가상화를 이용한 데이터 보안 시스템 및 방법을 제공하는 것을 목적으로 한다.It is another object of the present invention to provide a data security system and method using application virtualization that can reduce the cost of customization by analyzing the file input and output of the application program generated during product delivery.

본 발명은 상기한 바와 같이 이루어지는 종래기술의 문제점을 해소하기 위한 것으로, 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템은 허가된 응용프로그램이 실행되는데 필요한 정보를 구비하는 서버; 및 상기 정보를 수신하여 응용프로그램의 유효성을 검사하고, 상기 정보를 이용하여 가상파일목록을 제 작하며, 가상데이터영역에서 응용프로그램의 파일입출력을 처리하는 클라이언트 컴퓨터를 포함하는 것을 특징으로 한다.The present invention is to solve the problems of the prior art made as described above, the data security system using the virtualization of the application program according to the present invention includes a server having the information required to run the licensed application program; And a client computer receiving the information, checking the validity of the application program, creating a virtual file list using the information, and processing file input / output of the application program in the virtual data area.

여기서, 상기 클라이언트 컴퓨터는 상기 가상파일목록을 참조하여 파일입출력방향을 조절하는 가상파일시스템 레이어를 구비하는 것이 바람직하다.Here, the client computer preferably includes a virtual file system layer for controlling a file input / output direction with reference to the virtual file list.

게다가, 상기 정보는 허가된 응용프로그램이 실행 또는 접근할 수 있는 파일목록인 것이 바람직하며, 상기 가상파일목록은, 상기 서버에서 수신된 정보와 가상데이터영역에 존재하는 파일목록을 병합하여 제작되는 것이 바람직하다.In addition, the information is preferably a file list that can be executed or accessed by an authorized application program, and the virtual file list is produced by merging the file list existing in the virtual data area with the information received from the server. desirable.

또한, 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 방법은 허가된 응용프로그램이 실행되는데 필요한 정보를 수신하여 응용프로그램의 유효성을 검사하는 유효성검사단계; 상기 정보를 이용하여 가상파일목록을 제작하는 가상파일목록제작단계; 응용프로그램의 파일 입출력이 요청되는 파일입출력요청단계; 및 허가된 응용프로그램의 파일입출력 요청시 상기 가상파일목록을 참조하여 응용프로그램의 파일입출력을 처리하는 가상응용프로그램 파일입출력처리단계를 포함하는 것을 특징으로 한다.In addition, the data security method using the virtualization of the application program according to the present invention includes a validation step of receiving the information necessary to run the authorized application program to validate the application program; A virtual file list production step of producing a virtual file list using the information; A file input / output request step in which file input / output of an application program is requested; And a virtual application file input / output processing step of processing file input / output of an application program by referring to the virtual file list when a file input / output request of an authorized application program is performed.

본 발명의 응용프로그램 가상화를 이용한 데이터 보안 시스템 및 방법에 따르면, 가상파일목록을 제공하여 응용프로그램의 파일에 대한 입출력을 통제할 수 있어 데이터의 보안 취약점을 해결할 수 있다.According to the data security system and method using the virtualization of the application of the present invention, by providing a virtual file list can control the input and output of the file of the application can solve the security vulnerability of the data.

즉, 응용프로그램을 실행 시 가상파일목록에 존재하는 파일만을 접근할 수 있으며 그로인해 가상화된 응용프로그램은 공격자에 의해 배포된 임의의 파일에 접근할 수 없음으로, 각종 실행파일 패치 등 런타임 후킹(hooking)을 통한 응용프로그램 해킹 공격의 취약점을 해결할 수 있다. In other words, when executing an application, only files existing in the virtual file list can be accessed. As a result, virtualized applications cannot access arbitrary files distributed by attackers. Can solve the vulnerability of application hacking attack.

또한, 파일 시스템 입출력 제어를 통해 운영체제 및 시스템의 피해를 방지할 수는 있는 효과를 가진다.In addition, it is possible to prevent damage to the operating system and the system through the file system input and output control.

게다가, 가상화를 통하여 기본 영역 보안 제품의 납품 시 발생하는 응용 프로그램과의 커스터마이징을 획기적으로 제거하여 제품 납품시 발생하는 응용프로그램의 파일 입출력 분석을 통한 커스터마이징에 대한 비용을 효율적으로 줄일 수 있다. In addition, through virtualization, customizing with applications that occur in the delivery of basic area security products can be eliminated drastically, thereby reducing the cost of customization through file input / output analysis of application programs that occur during product delivery.

이하 첨부된 도면을 참조하여 본 발명에 따른 실시예에 의하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템의 전체 구성도, 도 2는 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템의 동작 구성도이다.1 is an overall configuration diagram of a data security system using an application program virtualization according to the present invention, Figure 2 is an operational configuration diagram of a data security system using an application program virtualization according to the present invention.

본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템은 도 1에 도시된 바와 같이, 서버(110)는 다수의 클라이언트 컴퓨터(140)와 네트워크(130)로 연결되어 있으며, 서버(110)의 데이터베이스(120)에는 허가된 응용프로그램이 실행할 수 있는 정보가 저장되어 있다.In the data security system using application virtualization according to the present invention, as shown in FIG. 1, the server 110 is connected to a plurality of client computers 140 and a network 130, and the database of the server 110 ( 120 stores information that can be executed by an authorized application program.

상기 서버(110)는 허가된 응용프로그램이 실행하는데 필요한 정보를 구비한다. 여기서 정보란 허가된 응용프로그램이 실행 또는 응용프로그램에 접근할 수 있는 파일목록과 각 파일에 대한 인증정보인 것이 바람직하며, 상기 정보를 각 클라이언트 컴퓨터(140)에 전송하여 각 클라이언트 컴퓨터(140)에서 허용된 응용프로그램만이 가상영역에서 구동할 수 있도록 한다.The server 110 has the information necessary for the licensed application to execute. In this case, the information is preferably a list of files accessible by an authorized application program or access to the application program and authentication information for each file, and the information is transmitted to each client computer 140 to be transmitted from each client computer 140. Only allowed applications can run in the virtual domain.

서버(110)는 상기 정보를 클라이언트 컴퓨터(140)로 전송하여 클라이언트 컴퓨터(120)에서 보안영역 접근을 위하여 가상화로 구동하고자 하는 응용프로그램의 유효성을 검사한다. The server 110 transmits the information to the client computer 140 to check the validity of the application program to be virtualized in order to access the secure area from the client computer 120.

상기 클라이언트 컴퓨터(140)는 상기 정보를 이용하여 가상파일목록을 제작한다. 여기서, 상기 정보의 파일목록과 상기 클라이언트 컴퓨터(140)의 가상데이터영역에 존재하는 파일목록을 병합하여 가상파일목록을 제작한다. The client computer 140 creates a virtual file list using the information. Here, the file list of the information and the file list existing in the virtual data area of the client computer 140 are merged to produce a virtual file list.

구성 파일에 대한 유효성이 검증된 응용프로그램일 경우, 응용프로그램의 파일입출력 요청시 상기 가상파일목록을 참조하여 파일입출력을 처리한다. When the application program has been validated for the configuration file, the file I / O is processed by referring to the virtual file list when a file I / O request is made.

일반적으로 클라이어트 컴퓨터(140)에서 응용프로그램 실행시 파일입출력처리는 유저모드(User Mode)에 있는 응용프로그램이 파일 작업에 대한 요청을 담당하는 File API를 호출하고, 해당 유저모드의 File API는 다시 커널모드(Kernel Mode)에서 실질적인 파일 작업을 수행 후, 그 결과를 다시 유저모드(User Mode)의 응용프로그램에게 돌려준다. In general, when the application program is executed in the client computer 140, the file I / O processing calls a File API in which an application program in a user mode is responsible for a request for a file operation. After performing the actual file operation in Kernel Mode, the result is returned to the user mode application.

여기서 커널모드(Kernel Mode)에서 실질적인 파일 작업을 수행할 때, 종래에는 파일시스템드라이버(240)를 참조하여 실제파일영역에 바로 접근하였으나, 본 발 명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템은 도 2에 도시된 바와 같이 파일시스템드라이버(240)보다 상위 계층에 가상파일시스템레이어(230)를 구비한다.Here, when performing a practical file operation in the kernel mode (Kernel Mode), in the past, the file system driver 240 directly accesses the actual file area, but the data security system using the virtualization of the application program according to the present invention is shown in FIG. As shown in FIG. 2, the virtual file system layer 230 is provided at a higher layer than the file system driver 240.

여기서, 상기 가상파일시스템레이어(230)는 파일시스템드라이버(240) 바로 상위에 구비될 수도 있으며, 또는 File API(210)와 시스템 서비스 콜(220) 사이에 구비될 수도 있다. 즉, 상기 가상파일시스템레이어(230)는 상기 파일시스템드라이버(240)를 대체, 또는 상기 파일시스템드라이버(240) 보다 상위계층이면 어디 위치에 구비하여도 무방하며, 상기 가상파일시스템레이어(230)를 통하여 파일입출력방향을 조절한다.Here, the virtual file system layer 230 may be provided directly above the file system driver 240 or may be provided between the File API 210 and the system service call 220. That is, the virtual file system layer 230 may replace the file system driver 240 or may be provided at any position if it is higher than the file system driver 240, and the virtual file system layer 230 may be provided. Adjust file I / O direction through.

기존의 시스템은 응용프로그램에서 파일시스템으로의 접근은 File API(210)가 호출되면 시스템 서비스 콜(220)에서 파일 시스템 드라이버(240)를 참조하여 실제파일영역에서 바로 입출력이 처리되는 과정이었으나, 본 발명에서는 유저모드(User Mode)에서 커널모드(Kernel Mode)로 가는 모든 파일 요청을 가상파일시스템레이어(230)에서 접수하여 파일시스템드라이버(240)로의 바로 접근을 차단하고, 가상데이터영역으로 파일입출력방향을 조절한다.In the existing system, access to the file system from an application program was a process in which input / output is processed directly in the actual file area by referring to the file system driver 240 in the system service call 220 when the File API 210 is called. In the present invention, all file requests from the user mode to the kernel mode are accepted by the virtual file system layer 230 to block direct access to the file system driver 240, and the file input and output to the virtual data area. Adjust the direction.

상기와 같은 응용프로그램 가상화를 이용한 데이터 보안 시스템은 다음과 같은 방법으로 구현된다.The data security system using the application virtualization as described above is implemented in the following way.

도 3은 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 방법의 흐름도이다.3 is a flowchart of a data security method using application virtualization according to the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 응용프로그램 가상화를 이용한 데 이터 보안 방법은 유효성검사단계(S100), 가상파일목록제작단계(S200), 파일입출력요청단계(S300), 파일입출력처리단계(S400)을 포함한다.As shown in Figure 3, the data security method using the application virtualization according to the present invention validation step (S100), virtual file list production step (S200), file input and output request step (S300), file input and output processing step (S400).

허가된 응용프로그램이 실행되는데 필요한 정보를 서버에서 수신하여 응용프로그램의 유효성을 검사하고(S100), 상기 서버에서 수신받은 정보를 이용하여 가상파일목록을 제작하고(S200), 이후 유저모드에서 커널모드로 가는 응용프로그램의 파일입출력 요청을 수신하면(S300), 상기 가상파일목록을 참조하여 파일입출력을 처리한다(S400).Receiving the information required to run the authorized application in the server to check the validity of the application (S100), using the information received from the server to create a virtual file list (S200), then kernel mode in the user mode When receiving a file I / O request of an application program (S300), the file I / O is processed by referring to the virtual file list (S400).

유효성검사단계(S100)는 허가된 응용프로그램이 실행하는데 필요한 정보를 수신하여 가상화하고자 하는 응용프로그램의 구성 파일의 유효성을 확인한다. Validation step (S100) checks the validity of the configuration file of the application to be virtualized by receiving the information required to run the licensed application.

도 4는 유효성검사단계(S100)의 세부 흐름도로, 먼저, 가상화하고자 하는 응용프로그램을 실행하는 데 필요한 정보를 서버에서 수신한다(S110). 여기서, 상기 정보는 허가된 응용프로그램이 실행될 수 있는 파일목록을 말하는 것으로, 상기 서버에서 수신받은 파일목록의 해시(Hash)값과 클라이언트 컴퓨터컴퓨터에 기저장된 각 파일의 해쉬(Hash)값과 비교하여 수신받은 파일목록이 변조되지 않은 파일인지를 검사한다(S120).4 is a detailed flowchart of the validation step S100. First, information necessary to execute an application program to be virtualized is received from a server (S110). In this case, the information refers to a file list in which an authorized application program can be executed, and compares a hash value of a file list received from the server with a hash value of each file previously stored in a client computer. It is checked whether the received file list is an unmodulated file (S120).

변조되지 않은 파일로 파일목록의 유효성이 확인되면 응용프로그램의 가상화를 실행하고, 그렇지 않으면 응용프로그램의 가상화 실행을 거부하고 사용자에게 해당사실을 통보한다(S130). When the validity of the file list is confirmed as an unmodified file, the virtualization of the application is executed. Otherwise, the virtualization of the application is rejected and the user is notified of the fact (S130).

다음으로, 상기 유효성검사단계(S100)에서 응용프로그램의 유효성이 확인되면, 상기 정보를 이용하여 가상파일목록을 제작한다(S200). 상기 정보인 파일목록 과 클라이언트 컴퓨터의 가상데이터영역에 있는 파일목록을 병합하여 가상파일목록을 제작한다(S200).Next, when the validity of the application program is confirmed in the validation step (S100), a virtual file list is produced using the information (S200). The file list, which is the information, and the file list in the virtual data area of the client computer are merged to produce a virtual file list (S200).

도 5는 가상파일목록제작단계(S200)의 세부 흐름도이다.5 is a detailed flowchart of the virtual file list production step (S200).

도시된 바와 같이, 먼저, 서버에서 수신한 파일목록을 로드(S210)하고, 로드한 파일목록이 클라이언트 컴퓨터의 실제파일영역에 존재하는지 검사하여 유효한 것만 파일목록으로 추출한다(S212). As shown, first, the file list received from the server is loaded (S210), and the loaded file list is checked whether it exists in the actual file area of the client computer, and only the valid one is extracted into the file list (S212).

상기 유효한 것으로 추출된 파일목록(300)은 응용프로그램이 구동할 수 있는 데 필요한 파일로서, 파일이름과 실제파일이 존재하는 경로를 포함한다.The file list 300 extracted as valid is a file required for an application program to run, and includes a file name and a path in which an actual file exists.

다음으로, 가상데이터영역에 있는 파일목록을 수집하고(S220), 상기 유효한 파일목록(300)과 상기 가상데이터영역에 있는 파일목록(400)을 병합한다(S230). Next, the file list in the virtual data area is collected (S220), and the valid file list 300 and the file list 400 in the virtual data area are merged (S230).

여기서, 동일한 경로의 두개의 파일이 존재할 경우에는 가상데이터영역의 파일을 목록에 추가하고, 실제파일영역의 파일목록은 제거한다(S240). 상기와 같은 과정을 거쳐 새로운 가상파일목록(500)을 제작한다. If two files of the same path exist, the file of the virtual data area is added to the list, and the file list of the actual file area is removed (S240). The new virtual file list 500 is produced through the above process.

다음으로, 유저모드에서 커널모드로 가는 응용프로그램의 파일 입출력이 요청된다(S300). 여기서, 파일입출력을 요청한 응용프로그램이 가상화가 적용되도록 허가된 응용프로그램인지를 검사하여 허가된 응용프로그램일 경우 가상파일목록을 참조하고, 미인가된 응용프로그램일 경우 기존파일영역의 파일목록을 참조하도록 한다. Next, a file input / output of an application program going from the user mode to the kernel mode is requested (S300). Here, it checks whether the application program requesting file I / O is an application that is allowed to apply virtualization and refers to the virtual file list in the case of the authorized application, and to the file list of the existing file area in the case of the unauthorized application. .

도 6은 파일입출력요청단계(S300)의 세부 흐름도로서, 먼저, 파일입출력을 발생시킨 응용프로그램이 프로세스 ID, 쓰레드 ID 등의 객체정보를 이용하여 가상 화가 적용되도록 허가된 응용프로그램과 일치하는지를 검사한다(S310).6 is a detailed flowchart of the file I / O request step S300. First, it is checked whether an application program generating the file I / O coincides with an application program that is allowed to apply virtualization using object information such as a process ID and a thread ID. (S310).

일치하면 가상파일목록을 기반으로 하는 가상파일영역으로 해당입출력요청을 전달하고(S320), 일치하지 않으면 파일시스템드라이버를 참조하여 실제파일영역으로 입출력요청을 허가하고 가상데이터 영역으로의 입출력 요청을 차단한다(S330).  If there is a match, the I / O request is forwarded to the virtual file area based on the virtual file list (S320). If there is a mismatch, the I / O request is granted to the physical file area by referring to the file system driver and the I / O request to the virtual data area is blocked. (S330).

이후, 가상화가 허가된 응용프로램일 경우, 가상파일영역으로 해당입출력요청을 전달한 후 가상파일목록을 참조하여 입출력 요청을 처리한다(S400).Subsequently, in the case of an application program that allows virtualization, the I / O request is transmitted to the virtual file area and the I / O request is processed with reference to the virtual file list (S400).

상기 가상파일목록을 참조하여 입출력이 요청된 파일의 유무, 파일의 위치, 파일의 속성인 Read/Write 속성에 따라 각각 입출력을 달리 처리한다.By referring to the virtual file list, I / O is handled differently according to the presence / absence of the file for which I / O is requested, the location of the file, and the Read / Write attribute of the file.

도 7은 파일입출력처리단계(S400)의 세부 흐름도이고, 가상 응용 프로그램의 파일 입출력 요청에 대한 처리는 다음과 같다. 7 is a detailed flowchart of the file input and output processing step (S400), and the processing for the file input / output request of the virtual application program is as follows.

먼저, 파일입출력 요청이 수신되면(S300), 앞서 제작된 가상파일목록을 참조하여 입출력 요청된 파일이 어느 영역에 존재하는 파일인지 검사한다(S410). First, when a file input / output request is received (S300), it is checked in which area an input / output request file exists in the file by referring to the previously prepared virtual file list (S410).

여기서, 실제파일영역 대한 입출력 요청시, 파일입출력 속성을 검사한다(S411). Read 속성만 존재할 경우는 실제파일영역을 향하도록 입출력 요청을 통과시켜(S412), 실제파일영역에 접근하도록 허용한다(S413).In this case, when an input / output request is made for an actual file area, the file input / output attribute is checked (S411). If only the Read attribute exists, the I / O request is passed to the real file area (S412), and the real file area is allowed to be accessed (S413).

Write 속성이 존재할 경우에는, 가상데이터영역에 동일한 파일을 복사(S421)하고 가상데이터영역을 향하도록 입출력방향을 변경한다(S422). 그리고, 가상파일목록을 업데이트(S423)한 후 가상데이터영역에 접근하여(S424) 파일입출력을 처리한다.If the Write attribute exists, the same file is copied to the virtual data area (S421) and the input / output direction is changed to face the virtual data area (S422). After updating the virtual file list (S423), the virtual data area is accessed (S424) to process file input / output.

그리고, 가상데이터영역에 대한 입출력 요청시에는 가상데이터영역에 접근하여(S424) 입출력을 처리하고, 존재하지 않는 파일에 대한 입출력 요청시에는 가상데이터영역을 향하도록 입출력방향을 변경하고(S422), 가상파일목록을 업데이트(S423)한 후 가상데이터영역에 접근(S424)하여 파일입출력을 처리한다.When the I / O request for the virtual data area is requested, the virtual data area is accessed (S424), and the I / O direction is changed to face the virtual data area when the I / O request for a file does not exist (S422). After updating the virtual file list (S423), the virtual data area is accessed (S424) to process file I / O.

본 실시예 및 본 명세서에 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형예와 구체적인 실시예는 모두 본 발명의 기술적 사상의 범위에 포함되는 것은 자명하다.It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. It will be understood that various changes and modifications may be made without departing from the scope of the present invention.

도 1은 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템의 전체 구성도1 is an overall configuration diagram of a data security system using application virtualization according to the present invention

도 2는 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템의 동작 구성도2 is an operational configuration diagram of a data security system using application virtualization according to the present invention.

도 3은 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 방법의 흐름도3 is a flowchart of a data security method using application virtualization according to the present invention.

도 4는 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 방법에서 유효성검사단계의 세부 흐름도4 is a detailed flowchart of a validation step in a data security method using application virtualization according to the present invention;

도 5는 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 방법에서 가상파일목록제작단계의 세부 흐름도5 is a detailed flowchart of a virtual file list creation step in a data security method using application program virtualization according to the present invention.

도 6은 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 방법에서 파일입출력요청단계의 세부 흐름도6 is a detailed flowchart of a file input / output request step in a data security method using application program virtualization according to the present invention.

도 7은 본 발명에 따른 응용프로그램 가상화를 이용한 데이터 보안 방법에서 파일입출력처리단계의 세부 흐름도7 is a detailed flowchart of a file input / output processing step in a data security method using application program virtualization according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

110 : 서버 120 : 정보110: server 120: information

130 : 네트워크 140 : 클라이언트 컴퓨터130: network 140: client computer

210 : File API 220: 시스템 서비스 콜210: File API 220: System Service Call

230 : 가상 파일 시스템 레이어 240 : 파일 시스템 드라이버230: Virtual File System Layer 240: File System Driver

250 : 디스크 드라이버 260 : 하드웨어 추상 레이어250: Disk Driver 260: Hardware Abstraction Layer

300 : 실제파일영역 파일목록 400 : 가상데이터영역 파일목록300: List of actual file area files 400: List of virtual data area files

500 : 가상파일목록500: virtual file list

Claims (9)

허가된 응용프로그램이 실행되는데 필요한 정보를 구비하는 서버; 및A server having information necessary for executing an authorized application program; And 상기 정보를 수신하여 응용프로그램의 유효성을 검사하고, 상기 정보를 이용하여 가상파일목록을 제작하며, 가상데이터영역에서 응용프로그램의 파일입출력을 처리하는 클라이언트 컴퓨터를 포함하는 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 시스템.Receiving the information, checking the validity of the application program, creating a virtual file list using the information, and including a client computer for processing file input and output of the application program in the virtual data area. Data security system. 제 1항에 있어서, 상기 클라이언트 컴퓨터는, The method of claim 1, wherein the client computer, 상기 가상파일목록을 참조하여 파일입출력방향을 조절하는 가상파일시스템 레이어를 구비하는 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 시스템. And a virtual file system layer for controlling a file input / output direction by referring to the virtual file list. 제 2항에 있어서, 상기 정보는,The method of claim 2, wherein the information is, 허가된 응용프로그램이 실행 또는 접근할 수 있는 파일목록인 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 시스템.Data security system using application virtualization, characterized in that the file list that the authorized application can run or access. 제 3항에 있어서, 상기 가상파일목록은,The method of claim 3, wherein the virtual file list, 상기 서버에서 수신된 정보와 가상데이터영역에 존재하는 파일목록을 병합하여 제작되는 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 시스 템. And a file list existing in the virtual data area and the information received from the server. 허가된 응용프로그램이 실행되는데 필요한 정보를 수신하여 응용프로그램의 유효성을 검사하는 유효성검사단계;A validation step of receiving information necessary to execute the authorized application program and validating the application program; 상기 정보를 이용하여 가상파일목록을 제작하는 가상파일목록제작단계;A virtual file list production step of producing a virtual file list using the information; 응용프로그램의 파일 입출력이 요청되는 파일입출력요청단계; 및A file input / output request step in which file input / output of an application program is requested; And 허가된 응용프로그램의 파일입출력 요청시 상기 가상파일목록을 참조하여 상기 응용프로그램의 파일입출력을 처리하는 가상응용프로그램 파일입출력처리단계를 포함하는 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 방법.And a virtual application file input / output processing step of processing file input / output of the application program by referring to the virtual file list when a file input / output request of an authorized application program is performed. 제 5항에 있어서, 상기 유효성검사단계는,The method of claim 5, wherein the validation step, 응용프로그램 실행에 대한 유효성 검사를 위한 정보를 수신하는 단계;Receiving information for validating the execution of the application program; 상기 정보와 클라이언트 컴퓨터에 기저장된 파일의 해쉬(Hash)값을 비교하여 유효성을 검사하는 단계; 및Checking the validity by comparing a hash value of a file previously stored in the client computer with the information; And 유효성이 확인되면 응용프로그램의 가상화를 실행하고, 유효성이 확인되지 않을 경우 응용프로그램의 가상화 실행을 거부하는 단계를 포함하는 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 방법.If the validation is confirmed, the virtualization of the application, and if not validated, Data security method using the application virtualization comprising the step of refusing to run the virtualization of the application. 제 5항에 있어서, 상기 가상파일목록제작단계는, The method of claim 5, wherein the virtual file list production step is performed. 상기 정보와 가상데이터영역의 파일목록을 이용하여 가상파일목록을 제작하 고,A virtual file list is produced using the information and the file list of the virtual data area, 상기 정보는 허가된 응용프로그램이 실행 또는 접근할 수 있는 파일목록인 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 방법.The information is a data security method using application program virtualization, characterized in that the file list that can be executed or accessed by the authorized application program. 제 5항에 있어서, 상기 파일입출력요청단계는,The method of claim 5, wherein the file input and output request step, 파일입출력을 발생시킨 응용프로그램의 객체정보를 검사하여 가상화가 적용되도록 허가된 응용프로그램인지 검사하는 단계; 및Examining object information of the application program that generated the file I / O and checking whether the application program is authorized to apply virtualization; And 허가된 응용프로그램일 경우 가상데이터영역으로 입출력요청을 전달하고, 미허가된 응용프로그램일 경우 실제파일영역으로 입출력요청을 허가하고 가상데이터 영역으로의 입출력 요청을 차단하는 단계를 포함하는 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 방법.And transmitting an I / O request to the virtual data area in the case of an authorized application program, and allowing an I / O request to the physical file area in the case of an unlicensed application program and blocking an I / O request to the virtual data area. Data security method using application virtualization. 제 5항에 있어서, 상기 파일입출력처리단계는,6. The file input / output processing step according to claim 5, wherein 가상파일목록을 참조하여 입출력이 요청된 파일의 유무, 파일의 위치, 파일 속성에 따라 입출력을 처리하는 것을 특징으로 하는 응용프로그램 가상화를 이용한 데이터 보안 방법. A method of data security using application program virtualization, characterized in that the processing of the input and output according to the presence or absence of the file, the location of the file, the file attributes with reference to the virtual file list.
KR1020090094212A 2009-10-05 2009-10-05 Data security system using application virtualization and method thereof KR20110036991A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090094212A KR20110036991A (en) 2009-10-05 2009-10-05 Data security system using application virtualization and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090094212A KR20110036991A (en) 2009-10-05 2009-10-05 Data security system using application virtualization and method thereof

Publications (1)

Publication Number Publication Date
KR20110036991A true KR20110036991A (en) 2011-04-13

Family

ID=44044530

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090094212A KR20110036991A (en) 2009-10-05 2009-10-05 Data security system using application virtualization and method thereof

Country Status (1)

Country Link
KR (1) KR20110036991A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284783B1 (en) * 2011-06-17 2013-08-23 워터월시스템즈 주식회사 System and method for preventing electronic document leakage
KR20190090436A (en) * 2018-01-25 2019-08-02 주식회사 엑스게이트 Apparatus, method and system for checking vulnerable point
WO2022169017A1 (en) * 2021-02-05 2022-08-11 (주)나무소프트 Data protection system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284783B1 (en) * 2011-06-17 2013-08-23 워터월시스템즈 주식회사 System and method for preventing electronic document leakage
KR20190090436A (en) * 2018-01-25 2019-08-02 주식회사 엑스게이트 Apparatus, method and system for checking vulnerable point
WO2022169017A1 (en) * 2021-02-05 2022-08-11 (주)나무소프트 Data protection system

Similar Documents

Publication Publication Date Title
De Benedictis et al. Integrity verification of Docker containers for a lightweight cloud environment
Weiser et al. Sgxio: Generic trusted i/o path for intel sgx
US5841870A (en) Dynamic classes of service for an international cryptography framework
Meng et al. A survey of Android exploits in the wild
Proudler et al. Trusted Computing Platforms
JP4975127B2 (en) Apparatus for providing tamper evidence to executable code stored on removable media
Wang et al. Running language interpreters inside SGX: A lightweight, legacy-compatible script code hardening approach
US9374377B2 (en) Mandatory protection control in virtual machines
Ahamed et al. Security audit of docker container images in cloud architecture
KR20220090537A (en) Validate Virtual Environment Type for Policy Enforcement
WO2017016231A1 (en) Policy management method, system and computer storage medium
US8656182B2 (en) Security mechanism for developmental operating systems
Sierra et al. Defending your android app
Liu et al. Practical and efficient in-enclave verification of privacy compliance
KR20110036991A (en) Data security system using application virtualization and method thereof
Yao et al. Building Secure Firmware
Avonds et al. Salus: Non-hierarchical memory access rights to enforce the principle of least privilege
Khadiranaikar et al. Improving Android application security for intent based attacks
Alam et al. Analysis of existing remote attestation techniques
RU2812867C1 (en) Protecting binary files of typical commercial programs from piracy using hardware enclaves
Küçük et al. SoK: How Not to Architect Your Next-Generation TEE Malware?
Sabanal et al. Playing in the Reader X sandbox
Iannillo et al. An REE-independent Approach to Identify Callers of TEEs in TrustZone-enabled Cortex-M Devices
US20220366070A1 (en) Securing Sensitive Data Executed By Program Scripts In A Computing Device
Song et al. TZ-IMA: Supporting Integrity Measurement for Applications with ARM TrustZone

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application