KR20110036991A - Data security system using application virtualization and method thereof - Google Patents
Data security system using application virtualization and method thereof Download PDFInfo
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- 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
- G06F21/6218—Protecting 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
-
- 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
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Abstract
Description
본 발명은 가상화를 제공하고자 하는 응용프로그램으로부터 실제파일영역으로 전달되는 파일작업을 후킹(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
상기 서버(110)는 허가된 응용프로그램이 실행하는데 필요한 정보를 구비한다. 여기서 정보란 허가된 응용프로그램이 실행 또는 응용프로그램에 접근할 수 있는 파일목록과 각 파일에 대한 인증정보인 것이 바람직하며, 상기 정보를 각 클라이언트 컴퓨터(140)에 전송하여 각 클라이언트 컴퓨터(140)에서 허용된 응용프로그램만이 가상영역에서 구동할 수 있도록 한다.The
서버(110)는 상기 정보를 클라이언트 컴퓨터(140)로 전송하여 클라이언트 컴퓨터(120)에서 보안영역 접근을 위하여 가상화로 구동하고자 하는 응용프로그램의 유효성을 검사한다. The
상기 클라이언트 컴퓨터(140)는 상기 정보를 이용하여 가상파일목록을 제작한다. 여기서, 상기 정보의 파일목록과 상기 클라이언트 컴퓨터(140)의 가상데이터영역에 존재하는 파일목록을 병합하여 가상파일목록을 제작한다. The
구성 파일에 대한 유효성이 검증된 응용프로그램일 경우, 응용프로그램의 파일입출력 요청시 상기 가상파일목록을 참조하여 파일입출력을 처리한다. 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
여기서 커널모드(Kernel Mode)에서 실질적인 파일 작업을 수행할 때, 종래에는 파일시스템드라이버(240)를 참조하여 실제파일영역에 바로 접근하였으나, 본 발 명에 따른 응용프로그램 가상화를 이용한 데이터 보안 시스템은 도 2에 도시된 바와 같이 파일시스템드라이버(240)보다 상위 계층에 가상파일시스템레이어(230)를 구비한다.Here, when performing a practical file operation in the kernel mode (Kernel Mode), in the past, the
여기서, 상기 가상파일시스템레이어(230)는 파일시스템드라이버(240) 바로 상위에 구비될 수도 있으며, 또는 File API(210)와 시스템 서비스 콜(220) 사이에 구비될 수도 있다. 즉, 상기 가상파일시스템레이어(230)는 상기 파일시스템드라이버(240)를 대체, 또는 상기 파일시스템드라이버(240) 보다 상위계층이면 어디 위치에 구비하여도 무방하며, 상기 가상파일시스템레이어(230)를 통하여 파일입출력방향을 조절한다.Here, the virtual
기존의 시스템은 응용프로그램에서 파일시스템으로의 접근은 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
상기와 같은 응용프로그램 가상화를 이용한 데이터 보안 시스템은 다음과 같은 방법으로 구현된다.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
다음으로, 가상데이터영역에 있는 파일목록을 수집하고(S220), 상기 유효한 파일목록(300)과 상기 가상데이터영역에 있는 파일목록(400)을 병합한다(S230). Next, the file list in the virtual data area is collected (S220), and the
여기서, 동일한 경로의 두개의 파일이 존재할 경우에는 가상데이터영역의 파일을 목록에 추가하고, 실제파일영역의 파일목록은 제거한다(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
다음으로, 유저모드에서 커널모드로 가는 응용프로그램의 파일 입출력이 요청된다(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)
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)
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 |
-
2009
- 2009-10-05 KR KR1020090094212A patent/KR20110036991A/en not_active Application Discontinuation
Cited By (3)
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 |