KR101221399B1 - File access control system and method based on file path - Google Patents
File access control system and method based on file path Download PDFInfo
- Publication number
- KR101221399B1 KR101221399B1 KR1020100117877A KR20100117877A KR101221399B1 KR 101221399 B1 KR101221399 B1 KR 101221399B1 KR 1020100117877 A KR1020100117877 A KR 1020100117877A KR 20100117877 A KR20100117877 A KR 20100117877A KR 101221399 B1 KR101221399 B1 KR 101221399B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- path
- nodes
- access control
- access
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012544 monitoring process Methods 0.000 claims abstract description 33
- 239000000284 extract Substances 0.000 claims abstract description 10
- 238000012360 testing method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 241000700605 Viruses Species 0.000 description 4
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 229960005486 vaccine Drugs 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
- G06F16/192—Implementing virtual folder structures
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
- G06F21/126—Interacting with the operating system
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 컴퓨터의 파일 접근 제어 시스템에 관한 것으로, 특히 파일이 저장된 파일 경로에 의해 파일 접근 제어를 수행하는 파일 경로 기반 파일 접근 제어 시스템 및 방법에 관한 것이다.
이러한 본 발명은 파일에 대한 파일 접근 제어 명령 발생 시 상기 파일 접근 제어 명령에 포함되어 있는 파일 경로를 추출하여 출력하는 파일 입출력 감시부와, 저장장치에 저장되는 파일들의 파일 경로를 분석하여 경로 노드들로 분류하여 저장하는 파일 트리 경로 테이블 및 상기 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 저장하고 있으며, 상기 파일 입출력 감시부로부터 입력되는 상기 파일 경로를 분석하여 트리 노드들로 분류하고, 상기 파일 트리 경로 테이블에서 분류된 노드들을 순차적으로 찾아 상기 파일 경로의 모든 노드들을 포함하는 경우 최종 노드에 해당하는 접근 정책에 따라 파일 접근 제어를 수행하는 접근 제어부를 포함하는 것을 특징으로 한다.The present invention relates to a file access control system of a computer, and more particularly, to a file path-based file access control system and method for performing file access control by a file path in which a file is stored.
The present invention provides a file input / output monitoring unit that extracts and outputs a file path included in the file access control command when a file access control command for a file is generated, and path nodes by analyzing file paths of files stored in a storage device. A file tree path table which is classified and stored as a file and an access policy for each of the last nodes of the file tree path are stored. The file paths inputted from the file input / output monitoring unit are analyzed and classified into tree nodes. And sequentially searching for nodes classified in the file tree path table to include all nodes of the file path, and including an access control unit for performing file access control according to an access policy corresponding to a final node.
Description
본 발명은 컴퓨터의 파일 접근 제어 시스템에 관한 것으로, 특히 파일이 저장된 파일 경로에 의해 파일 접근 제어를 수행하는 파일 경로 기반 파일 접근 제어 시스템 및 방법에 관한 것이다.
The present invention relates to a file access control system of a computer, and more particularly, to a file path-based file access control system and method for performing file access control by a file path in which a file is stored.
일반적으로, 운영체제(Operating System: OS)는 보안을 위해 파일 접근 제어(File Access Control)를 수행한다. 통상 파일 접근 제어를 위해서는 파일의 식별이 필요하다. 파일 접근 제어를 위한 파일의 식별은 파일의 전체 경로 또는 파일아이디(FileID: 이하 "파일식별자"라 함)에 의해 이루어진다.Generally, an operating system (OS) performs file access control for security. Typically file identification is required for file access control. The identification of a file for file access control is made by the full path or file ID of the file (hereinafter referred to as "file identifier").
통상 위도우즈와 같은 운영체제는 동일한 파일에 긴 경로(LongPath)와 짧은 경로(ShortPath)가 존재 할 수 있고, 또한 이 두 가지의 조합으로 경로를 만들 수 있어 저장된 하나의 파일에 대해 다양한 다수의 경로들이 나올 수 있으므로 적절하지 않다. 따라서 윈도우즈는 파일 시스템(File System)에 의해 생성되는 파일들이 고유하게 가지는 파일 식별자(FileID)를 이용하는 파일식별자 방식이 적용된다.In general, an operating system such as Windows may have a long path and a short path in the same file, and a combination of the two may be used to create multiple paths for a single file. It is not appropriate because it can come out. Therefore, in Windows, a file identifier method using a file identifier (FileID) unique to files generated by a file system is applied.
따라서 접근제어 수행 시 파일 접근 제어부는 파일접근 제어 정책이 설정된 파일에 대한 파일식별자들을 해시테이블(Hash Table)로 만들어 관리한다. 통상 정책은 하나의 파일 당 하나의 정책으로 구성된다.Therefore, when performing access control, the file access control unit creates and manages file identifiers for files for which the file access control policy is set as a hash table. Typically, a policy consists of one policy per file.
파일식별자는 동일 드라이브에 있는 각 파일에 유일한 값이 할당되나 서로 다른 두 드라이버에 동일 파일이 저장되는 경우 상기 두 파일에는 동일한 파일식별자가 할당될 수 있다. 따라서 파일식별자는 단독으로 사용될 수 없고, 드라이브 명과 함께 사용된다.If a file identifier is assigned a unique value to each file in the same drive, but the same file is stored in two different drivers, the same file identifier may be assigned to the two files. Therefore, the file identifier cannot be used alone, but with a drive letter.
통상 파일식별자를 얻기 위해서는 파일이 저장된 파일 전체 경로를 이용해 해당 파일을 오픈(Open)하여 핸들을 얻은 후, 핸들을 파라미터로 사용하는 함수에 의해 파일을 오픈하여 파일식별자를 얻는다. 윈도우즈의 경우 상기 파일식별자를 얻기 위한 함수로는 ZwQueryInformationFile() 함수가 사용될 수 있을 것이다.In order to obtain a file identifier, the handle is obtained by opening the file using the full path of the file in which the file is stored, and the file identifier is obtained by opening the file by a function using the handle as a parameter. For Windows, the ZwQueryInformationFile () function may be used as a function for obtaining the file identifier.
도 1은 일반적인 윈도우즈 커널에서의 파일식별자 획득 방법을 나타낸 도면이다. 이하 도 1을 참조하여 핸들 획득 후의 일반적인 파일식별자 기반의 파일 접근 제어를 수행하기 위한 윈도우즈 커널에서의 파일식별자 획득 방법을 설명한다.1 is a diagram illustrating a method of obtaining a file identifier in a general Windows kernel. Hereinafter, a method of obtaining a file identifier in a Windows kernel for performing file access control based on a general file identifier after obtaining a handle will be described with reference to FIG. 1.
우선, 사용자 계층인 윈도우 응용 프로그램 구동부(10)는 응용 프로그램 구동에 의한 파일 접근 이벤트가 발생하면 파일 접근 명령을 커널계층의 제1파일 시스템 필터 드라이버부(20)로 제공한다(①). 상기 파일 접근 명령은 파일 읽기, 쓰기 명령에 의한 파일 오픈 명령, 파일 생성 명령, 파일 삭제 명령 및 파일 실행 명령 등이 될 수 있다.First, when a file access event is generated by an application program driving, the Windows
제1파일 시스템 필터 드라이버부(20)는 윈도우 응용 프로그램 구동부(10)로부터 파일 접근 이벤트의 발생에 의한 파일 접근 명령이 입력되는지를 감시하고, 파일 접근 명령이 입력되면 입력된 파일 접근 명령이 재진입한 파일 접근 명령인지를 판단한다. 상기 파일 접근 명령이 재진입한 명령인지의 판단은 상기 파일 접근 명령의 고유의 쓰레드 ID와 동일한 쓰레드 ID가 저장되어 있는지를 검사하여 판단한다. 상기 저장된 쓰레드 ID는 후술할 ⑨과정에서 파일 핸들 정보를 얻은 뒤 삭제된다. 상기 판단결과, 재진입 파일 접근 명령이 아니면 파일 접근 명령에 포함되어 있는 파일 전체 경로, 파일 이름 등의 파일정보들을 검출하고 선택된 파일의 핸들정보를 얻기 위한 파일 전체 경로 정보를 파일 조회부(21)로 제공하여 파일 조회를 요청한다(②).The first file
파일 조회를 요청받은 파일 조회부(21)는 상기 파일 전체 경로 정보를 포함하는 파일 조회 명령을 생성하여 출력한다(③).The file inquiry unit 21 that has received a file inquiry request generates and outputs a file inquiry command including the entire file path information (③).
출력된 파일 조회 명령은 파일 관리부(40)로 바로 입력될 수도 있고, 바이러스 프로그램과 같이 시스템 필터 드라이버를 생성하는 프로그램이 설치되어 있는 경우 제2파일 시스템 필터 드라이버부(30)로 입력된다.The output file inquiry command may be input directly to the
파일 관리부(40)로 바로 입력되는 경우 파일 관리부(40)는 상기 파일 조회 명령을 입력받고, 상기 파일 조회 명령에 포함된 파일 경로의 파일에 대한 핸들 정보를 제1파일 시스템 필터 드라이버부(20)의 파일 조회부(20)로 제공한다(⑨).When the
핸들 정보가 획득되면 제1파일 시스템 필터 드라이버부(20)는 ZwQueryInformationFile() 함수를 이용하여 상기 선택된 파일의 파일식별자(FileID)를 획득한다.When the handle information is obtained, the first file
반면, 파일 조회 명령이 제2파일 시스템 필터 드라이버부(30)로 입력하는 경우, 제2파일 시스템 필터 드라이버부(30)는 상기 파일 조회 명령으로부터 파일 정보들을 검출하고, 해당 기능의 수행을 위한 파일 오픈을 위해 검출된 파일 정보들을 파일 조회부(31)로 제공한다(④). 예를 들어, 상기 제2파일 시스템 필터 드라이버부(30)가 바이러스 응용프로그램에 의해 설치된 드라이버인 경우 상기 선택된 파일에 대한 바이러스 검사를 위한 파일 접근 명령을 생성하여 제1파일 시스템 필터 드라이버부(20)로 출력한다(⑤).On the other hand, when a file inquiry command is input to the second file
그러면 제1파일 시스템 필터 드라이버부(20)는 상기 파일 접근 명령이 재진입 명령인지를 판단한다. 이때, 상기 파일 접근 명령은 제2파일 시스템 필터 드라이버부(30)로부터 재진입한 명령이므로 그대로 바이패스하여 파일 관리부(40)로 출력한다(⑥).Then, the first file
파일 관리부(40)는 상기 바이패스된 파일 접근 명령을 입력받고, 파일 접근 명령에 포함된 파일 정보에 대응하는 파일에 대한 핸들 정보를 읽어 제2파일 시스템 필터 드라이버부(30)의 파일 조회부(31)로 제공한다(⑦).The
파일 정보를 입력받은 파일 조회부(31)는 제1파일 시스템 필터 드라이브(20)의 파일 조회부(21)가 요청에 의한 파일 조회 명령을 파일 관리부(40)로 제공한다(⑨).The file inquiry unit 31 that has received the file information provides the
그러면 파일 관리부(40)는 상기 파일 조회 명령에 포함된 파일 경로의 파일에 대한 핸들 정보를 제1파일 시스템 필터 드라이버부(20)의 파일 조회부(20)로 제공한다(⑨).Then, the
핸들 정보가 획득되면 제1파일 시스템 필터 드라이버부(20)는 ZwQueryInformationFile() 함수를 이용하여 상기 선택된 파일의 파일식별자(FileID)를 획득한다.When the handle information is obtained, the first file
상술한 바와 같이 파일식별자 기반 접근제어는 파일식별자를 획득하기 위해 많은 단계를 수행해야 함으로 많은 시간을 소요하고, 시스템에 많은 부하를 주는 문제점이 있었다.As described above, the file identifier-based access control requires a lot of time in order to obtain a file identifier, which causes a lot of time and a lot of load on the system.
또한 종래 파일식별자 기반 접근제어는 파일식별자를 얻기 위해 파일을 오픈함으로 행(Hang) 현상과 무한 반복을 수행하는 스택 오버플로우(Stack Overflow)가 발생할 수 있는 문제점이 있었다.In addition, the conventional file identifier-based access control has a problem in that a stack overflow may be generated by performing a hang phenomenon and infinite repetition by opening a file to obtain a file identifier.
또한, 종래 파일식별자 기반 접근제어는 파일 시스템 필터 드라이버를 생성하는 응용프로그램들 간에 파일식별자 획득 시 충돌이 발생할 수 있으므로 시스템이 불안정해 질 수 있는 문제점이 있었다.
In addition, the conventional file identifier-based access control has a problem that a system may become unstable because a collision may occur when acquiring a file identifier between applications generating a file system filter driver.
따라서, 본 발명의 목적은 파일 생성 및 접근 시 파일 접근 제어를 위한 경로를 트리방식으로 분할해서 해시 테이블에 등록하고, 해시 테이블에 등록된 파일 경로를 기반으로 접근제어를 수행하는 파일 경로 기반 파일 접근 제어 시스템 및 방법을 제공하는 데 있다.
Accordingly, an object of the present invention is to divide a path for file access control in a tree method when creating and accessing a file, to register it in a hash table, and to perform file access based on a file path registered in a hash table. It is to provide a control system and method.
상기와 같은 목적을 달성하기 위한 본 발명의 파일 경로 기반 파일 접근 제어 시스템은; 파일에 대한 파일 접근 제어 명령 발생 시 상기 파일 접근 제어 명령에 포함되어 있는 파일 경로를 추출하여 출력하는 파일 입출력 감시부와, 윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 테이블에 할당하여 등록하는 파일 트리 경로 테이블 및 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 저장하고 있으며, 상기 파일 입출력 감시부로부터 입력되는 상기 파일 경로를 분석하여 트리 노드들로 분류하고, 상기 파일 트리 경로 테이블에서 분류된 노드들을 순차적으로 찾아 상기 파일 경로의 긴 경로 및 짧은 경로 중 한 경로에 대한 노드들을 포함하는 경우 최종 노드에 설정된 해당 접근 정책에 따라 파일 접근 제어를 수행하는 접근 제어부를 포함하되, 상기 파일 입출력 감시부는, 상기 파일 접근 명령에 포함된 파일 경로를 추출하여 상기 접근 제어부로 출력하는 적어도 하나 이상의 파일 시스템 필터 드라이버부를 포함하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 파일 경로 기반 파일 접근 제어 시스템은; 파일에 대한 파일 접근 제어 명령 발생 시 상기 파일 접근 제어 명령에 포함되어 있는 파일 경로를 추출하여 출력하는 파일 입출력 감시부와, 윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 테이블에 할당하여 등록하는 파일 트리 경로 테이블 및 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 저장하고 있으며, 상기 파일 입출력 감시부로부터 입력되는 상기 파일 경로를 분석하여 트리 노드들로 분류하고, 상기 파일 트리 경로 테이블에서 분류된 노드들을 순차적으로 찾아 상기 파일 경로의 긴 경로 및 짧은 경로 중 한 경로에 대한 노드들을 포함하는 경우 최종 노드에 설정된 해당 접근 정책에 따라 파일 접근 제어를 수행하는 접근 제어부를 포함하되, 상기 파일 입출력 감시부는, 상기 파일 접근 명령에 포함된 파일 경로를 추출하고, 추출된 파일 경로를 상기 접근 제어부로 출력하는 오픈 모드와, 상기 추출된 파일이 짧은 경로이면 긴 경로를 구하여 상기 접근 제어부로 출력하는 노멀라이즈 모드를 구비하는 파일 시스템 미니 필터 드라이버부를 포함하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 파일 경로 기반 파일 접근 제어 시스템은; 파일에 대한 파일 접근 제어 명령 발생 시 상기 파일 접근 제어 명령에 포함되어 있는 파일 경로를 추출하여 출력하는 파일 입출력 감시부와, 윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 테이블에 할당하여 등록하는 파일 트리 경로 테이블 및 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 저장하고 있으며, 상기 파일 입출력 감시부로부터 입력되는 상기 파일 경로를 분석하여 트리 노드들로 분류하고, 상기 파일 트리 경로 테이블에서 분류된 노드들을 순차적으로 찾아 상기 파일 경로의 긴 경로 및 짧은 경로 중 한 경로에 대한 노드들을 포함하는 경우 최종 노드에 설정된 해당 접근 정책에 따라 파일 접근 제어를 수행하는 접근 제어부를 포함하되, 상기 파일 경로의 분석된 노드들은 하기 수학식 2에 의해 계산되는 키(KEY)에 대응하는 버킷에 순차적으로 할당되어 저장되는 것을 특징으로 한다.
[수학식 2]
단, MAXSIZE는 상기 테이블의 버킷(Bucket) 수File path based file access control system of the present invention for achieving the above object; A file input / output monitoring unit which extracts and outputs a file path included in the file access control command when a file access control command for a file is generated, and a file including path information including a long path and a short path from a Windows application driver. File tree path table and each file tree that classify the path information into nodes constituting the long and short paths of the path information and assign the classified nodes to a table to include the long path and the short path information. Access policy for each of the last nodes of the path is stored, and the file paths inputted from the file input / output monitoring unit are analyzed and classified into tree nodes, and the nodes classified in the file tree path table are sequentially found. For one of the long and short paths of the file path In the case of including the node includes an access control for performing a file access control according to the access policy set in the last node, the file input and output monitoring unit, extracts the file path included in the file access command to output to the access control And at least one file system filter driver.
File path based file access control system of the present invention for achieving the above object; A file input / output monitoring unit which extracts and outputs a file path included in the file access control command when a file access control command for a file is generated, and a file including path information including a long path and a short path from a Windows application driver. File tree path table and each file tree that classify the path information into nodes constituting the long and short paths of the path information and assign the classified nodes to a table to include the long path and the short path information. Access policy for each of the last nodes of the path is stored, and the file paths inputted from the file input / output monitoring unit are analyzed and classified into tree nodes, and the nodes classified in the file tree path table are sequentially found. For one of the long and short paths of the file path In the case of including the node includes an access control unit for performing a file access control according to the corresponding access policy set in the last node, the file input and output monitoring unit, extracts the file path included in the file access command, and extracts the extracted file path And a file system mini filter driver having an open mode output to the access controller and a normalization mode for obtaining a long path and outputting the long path if the extracted file is a short path.
File path based file access control system of the present invention for achieving the above object; A file input / output monitoring unit which extracts and outputs a file path included in the file access control command when a file access control command for a file is generated, and a file including path information including a long path and a short path from a Windows application driver. File tree path table and each file tree that classify the path information into nodes constituting the long and short paths of the path information and assign the classified nodes to a table to include the long path and the short path information. Access policy for each of the last nodes of the path is stored, and the file paths inputted from the file input / output monitoring unit are analyzed and classified into tree nodes, and the nodes classified in the file tree path table are sequentially found. For one of the long and short paths of the file path In the case of including nodes, the access control unit performs a file access control according to a corresponding access policy set in a final node, wherein the analyzed nodes of the file path are buckets corresponding to a key calculated by
&Quot; (2) "
However, MAXSIZE is the number of buckets in the table.
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
본 발명의 목적을 달성하기 위한 본 발명의 파일 경로 기반 파일 접근 제어 방법은; 파일 접근 제어 방법에 있어서, 윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 파일 트리 경로 테이블에 할당하여 등록하고, 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 등록하는 파일 경로 기반 접근정책 설정 과정과, 상기 파일에 대한 파일 접근 명령이 발생되면 상기 파일 접근 명령에 포함된 경로 정보를 검출하고, 상기 경로 정보의 노드들을 검출하여 상기 테이블에서 순차적으로 추적하여 상기 파일 경로의 노드를 포함하는 최종 노드에 맵핑된 파일 접근정책에 따라 파일 접근 제어를 수행하는 파일 접근 제어 과정을 포함하되, 상기 파일 경로 기반 접근정책 설정 과정은, 파일 입출력 감시부를 통해 윈도우 응용프로그램 구동부의 접근 정책 설정 응용프로그램으로부터 파일 등록 이벤트가 발생하는지를 검사하는 이벤트 발생 단계와, 상기 파일 등록 이벤트 발생 시 상기 파일 등록 이벤트 발생 시 발생하는 파일 등록 명령으로부터 등록할 상기 파일에 대한 긴 경로 및 짧은 경로를 포함하는 파일 경로를 획득하는 파일 경로 획득 단계와, 상기 획득된 파일 경로의 긴 경로 및 짧은 경로의 노드들을 분류하여 검출하고, 각 노드들에 대해 하기 수학식 3에 의해 키 값을 계산하는 키 값 계산 단계와, 키 값이 계산되면 경로 정보가 포함되도록 상기 키 값에 대응하는 파일 경로 테이블의 버킷에 상기 각 노드들을 할당하여 저장하는 경로 테이블 할당 단계와, 상기 파일 경로 테이블에 등록된 파일 경로에 대응하는 파일의 접근 정책을 윈도우 응용 프로그램 구동부의 상기 접근 정책 설정 응용 프로그램을 통해 입력받아 파일 접근정책을 설정하는 파일 접근 정책 설정 단계를 포함하는 것을 특징으로 한다.
본 발명의 목적을 달성하기 위한 본 발명의 파일 경로 기반 파일 접근 제어 방법은; 상기 파일 접근 제어 과정은, 파일 입출력 감시부를 통해 윈도우 응용프로그램 구동부의 응용 프로그램들로부터 파일 접근 이벤트가 발생하는지를 검사하는 파일 접근 이벤트 발생 단계와, 파일 접근 이벤트가 발생하면 파일 접근 명령으로부터 파일 경로를 획득하는 파일 경로 획득 단계와, 상기 획득된 파일 경로의 노드들을 검출하고, 각 노드들에 대해 하기 수학식 3에 의해 키 값을 계산하는 키 값 계산 단계와, 상기 경로 테이블에서 상기 계산된 키 값들에 대응하는 노드들을 파일 경로에 따라 상기 경로 테이블에서 순차적으로 추적하여 상기 파일 경로에 대응하는 모든 노드를 구비하는지를 검사하는 접근 정책 등록 판단 단계와, 모든 노드가 있으면 상기 노드들의 최종 노드에 맵핑되어 있는 파일 접근 정책에 따라 파일 접근 제어를 수행하는 파일 접근 제어 단계를 포함하는 것을 특징으로 한다.
File path based file access control method of the present invention for achieving the object of the present invention; In the file access control method, when a file registration event including path information including a long path and a short path is received from a Windows application driver, the file access control method is classified and classified into nodes constituting the long path and the short path of the path information. A file path based access policy setting process of allocating nodes to a file tree path table to include long path and short path information, and registering an access policy for each of the last nodes of each file tree path; When a file access command is generated, path information included in the file access command is detected, nodes of the path information are detected and sequentially tracked in the table to access a file mapped to a final node including nodes of the file path. Includes a file access control process that performs file access control in accordance with policy. However, the file path based access policy setting process may include an event generation step of checking whether a file registration event occurs from an access policy setting application of a window application driver through a file input / output monitoring unit, and registering the file when the file registration event occurs. A file path obtaining step of obtaining a file path including a long path and a short path to the file to be registered from a file registration command generated when an event occurs; and classifying nodes of long path and short path of the obtained file path A key value calculating step of detecting and calculating a key value for each node according to
File path based file access control method of the present invention for achieving the object of the present invention; The file access control process may include a file access event generation step of checking whether a file access event occurs from applications of a Windows application driver through a file input / output monitoring unit, and obtaining a file path from a file access command when a file access event occurs. A file path obtaining step, detecting a node of the obtained file path, calculating a key value for each node by
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
본 발명은 접근제어를 수행하기 위해 파일식별자를 획득하지 않아도 됨으로 적어도 한 번 이상의 파일식별자 획득에 드는 시간을 절약할 수 있으므로 접근제어에 소요되는 시간을 줄일 수 있는 효과를 가진다.The present invention has the effect of reducing the time required for access control because it does not need to obtain a file identifier to perform the access control can save the time required to obtain at least one file identifier.
또한, 본 발명은 파일식별자를 얻기 위한 파일을 오픈하지 않아도 되므로 재진으로 인한 행(Hang) 현상 및 무한 반복하는 스택 오버플로우가 발생하지 않으므로 시스템의 안전성을 향상시킬 수 있는 효과를 가진다.In addition, since the present invention does not need to open a file to obtain a file identifier, a hang phenomenon and infinitely repeating stack overflow due to recurrence do not occur, thereby improving the safety of the system.
또한, 본 발명은 증가 추세에 있는 파일 시스템 필터 드라이버를 사용하는 응용 프로그램들의 파일 시스템 필터 드라이버들이 파일식별자 획득 시 발생하는 충돌을 줄일 수 있음으로 시스템의 안전성 및 속도를 향상시킬 수 있는 효과를 가진다.
In addition, the present invention has the effect of improving the safety and speed of the system because the file system filter drivers of the application programs using the file system filter driver that is on the increase can reduce the collision occurring when obtaining the file identifier.
도 1은 일반적인 파일식별자 기반 파일 접근 제어 장치의 구성을 나타낸 도면
도 2는 본 발명에 따른 파일경로 기반 파일 접근 제어 장치의 구성을 나타낸 도면
도 3은 본 발명에 따라 단일의 파일 시스템 필터 드라이버부를 구비하는 경우의 파일경로 기반 파일 접근 제어 장치의 구성을 설명하기 위한 도면
도 4는 본 발명에 따라 2개의 파일 시스템 필터 드라이버부를 구비하는 경우의 파일경로 기반 파일 접근 제어 장치의 구성을 나타낸 도면
도 5는 본 발명의 제3실시 예에 따라 파일 시스템 미니 필터 드라이버를 이용한 파일경로 기반 파일 접근 제어 장치의 파일 입출력 감시부의 구성을 나타낸 도면
도 6은 본 발명에 따른 파일 경로 기반 파일 접근 제어를 위한 파일 경로 테이블 형성 방법을 나타낸 흐름도
도 7은 본 발명에 따른 파일 경로 기판 파일 접근 제어 방법을 나타낸 흐름도1 is a diagram illustrating a configuration of a general file identifier-based file access control device.
2 is a view showing the configuration of a file path based file access control apparatus according to the present invention;
3 is a view for explaining the configuration of a file path-based file access control apparatus in the case of having a single file system filter driver according to the present invention;
4 is a diagram illustrating a configuration of a file path-based file access control apparatus when two file system filter driver units are provided according to the present invention.
FIG. 5 is a diagram illustrating a configuration of a file input / output monitoring unit of a file path based file access control apparatus using a file system mini filter driver according to a third embodiment of the present invention.
6 is a flowchart illustrating a method of forming a file path table for file path based file access control according to the present invention.
7 is a flowchart illustrating a file path board file access control method according to the present invention.
이하 도면을 참조하여 본 발명에 따른 파일 경로 기반 파일 접근 제어 시스템 및 방법을 설명한다.Hereinafter, a file path based file access control system and method according to the present invention will be described with reference to the accompanying drawings.
도 2는 본 발명에 따른 파일경로 기반 파일 접근 제어 장치의 구성을 나타낸 도면이다.2 is a diagram illustrating a configuration of a file path-based file access control apparatus according to the present invention.
본 발명에 따른 파일 경로 기반 파일 접근 제어 장치는 윈도우 응용 프로그램 구동부(10)와 파일 입출력 감시부(100)와 파일 관리부(40)와 접근 제어부(200)를 포함한다.The file path based file access control apparatus according to the present invention includes a
윈도우 응용 프로그램 구동부(10)는 파일에 접근하는 다양한 응용프로그램들을 구비하고, 구동된 응용프로그램으로부터 사용자에 의한 파일 접근 이벤트 발생 시 파일 접근 명령을 커널 계층으로 출력한다.The
파일 입출력 감시부(100)는 윈도우 응용 프로그램 구동부(10)를 모니터링 하여 파일 입출력을 위한 파일 접근이 발생하는지를 모니터링하고, 윈도우 응용 프로그램 구동부(10)로부터 파일 접근 명령이 발생하면 파일 접근 명령으로부터 접근하고자 하는 파일의 파일경로명을 검출하여 접근 제어부(200)로 제공한다.The file input /
파일 관리부(40)는 운영체제의 파일시스템에 따라 파일을 생성, 삭제하고, 생성된 파일의 읽기, 쓰기 등을 수행한다.The
접근 제어부(200)는 파일 입출력 감시부(100)로부터 입력되는 파일 경로를 가지는 파일에 대해 파일 경로를 기반으로 한 접근 제어를 수행한다.The
구체적으로 접근 제어부(200)는 접근 통제 제어부(210), 경로 테이블 생성부(220) 및 경로 테이블 저장부(230) 및 접근 정책 저장부(240)를 포함한다.In more detail, the
접근 통제 제어부(210)는 본 발명에 따른 접근 제어부(200)의 전반적인 동작을 제어한다. 특히 접근 통제 제어부(210)는 윈도우 응용 프로그램 구동부(10)의 파일접근 정책 응용 프로그램에 의해 새로이 생성되는 파일 또는 하드디스크와 같은 저장장치에 저장된 모든 파일 또는 선택되는 파일들에 대해 파일 경로 및 접근 정책을 입력받아 각각 경로 테이블 저장부(230) 및 접근 정책 저장부(240)에 저장하고, 저장된 파일 경로 및 접근 정책에 따라 파일 접근 제어를 수행한다. 특히 접근 통제 제어부(210)는 파일들에 대한 파일 경로 저장 시 파일 입출력 감시부(100)로부터 입력되는 파일 경로를 그대로 저장하지 않고, 경로 테이블 생성부(220)를 통해 파일 경로의 각 노드들을 검출하고, 파일 경로의 순서에 따라 노드들을 경로 테이블에 할당하여 저장한다. 그리고 접근 통제 제어부(210)는 파일 입출력 감시부(100)로부터 입력되는 파일 경로에 대한 파일의 접근 제어 시에도 파일 경로의 각 노드들을 파일 경로에 따라 순차적으로 검출하고, 검출된 모든 노드들을 구비하는 경우 최종 노드에 지정된 접근 제어 정책을 접근 정책 저장부(240)로부터 읽어와 접근 제어를 수행한다.The access
경로 테이블 생성부(220) 관점에서 구체적으로 설명하면, 경로 테이블 생성부(220)는 접근 통제 제어부(210)로부터 파일 경로가 입력되면 파일 경로를 구성하는 노드들, 예를 들어, 경로가 "C\Test\TestFile001.txt"인 경우, C, Test, TestFile001.txt를 노드로 검출하고, C, Test, TestFile001.txt를 순차적으로 경로 테이블에 저장한다. 경로 테이블 생성부(220)는 경로 테이블에 노드들을 저장 시 하기 수학식 1에 의해 키를 계산하고, 계산된 키에 해당하는 버킷(Bucket)에 노드를 저장한다.Specifically, from the viewpoint of the
단, MAXSIZE는 버킷 수
However, MAXSIZE is the number of buckets
하기 표 1은 파일 경로 테이블의 일부를 나타낸 것이다. 버킷 수(MAXSIZE)가 1024이고, 파일 경로는 긴 경로(LongPath)인 C:\Test\testFile001.txt와 짧은 경로(ShortPath)인 C:\Test\TestFi~1.txt이고, 상기 경로의 노드 C의 ASCII 코드는 "1026", TEST의 ASCII 코드의 합이 "1025"이라 하며, TestFile001.txt의 ASCII 코드의 합이 "1027"이라 하며, TestFi~1.txt의 ASCII 코드의 합이 "1028"이라 가정하여 표 1의 파일 경로 테이블에 저장하는 방법을 설명한다. 상기 ASCII 코드의 합은 실제 ASCII 코드들의 합이 아니라 임의로 정한 값이다.
Table 1 below shows a part of the file path table. The number of buckets (MAXSIZE) is 1024, the file path is C: \ Test \ testFile001.txt for long path (LongPath) and C: \ Test \ TestFi ~ 1.txt for short path (ShortPath), and node C of the path Is ASCII code of "1026", TEST ASCII code is "1025", TestFile001.txt ASCII code is "1027", and TestFi ~ 1.txt ASCII code is "1028" Assuming this, the method of storing in the file path table of Table 1 will be described. The sum of the ASCII codes is not a sum of actual ASCII codes, but a predetermined value.
(3-1)Testfile001.txt
(3-1)
(4-1)TestFi ~ 1.txt
(4-1)
상기 수학식 1에 따라 C의 키 값은 1026 & (1024-1) = 2, Test의 키 값은 1025 & (1024-1) = 1이고, TestFile001.txt의 키 값은 1027 &(1024-1) =3이며, TestFi~1.txt의 키 값은 1028 & (1024-1) = 4가 된다. 따라서 C는 2-1 위치에 등록되고, test는 1-1 위치에 등록되고, TestFile001.tex는 3-1 위치에 등록되고, TestFi~1.txt는 4-1 위치에 등록된다.According to Equation 1, the key value of C is 1026 & (1024-1) = 2, the key value of Test is 1025 & (1024-1) = 1, and the key value of TestFile001.txt is 1027 & (1024-1). ) = 3, and the key value of TestFi ~ 1.txt is 1028 & (1024-1) = 4. Therefore, C is registered at position 2-1, test is registered at position 1-1, TestFile001.tex is registered at position 3-1, and TestFi ~ 1.txt is registered at position 4-1.
상기와 같이 등록 후, ASCII코드의 합이 "1029"이고 C:\Test\a.txt의 경로를 가지는 a.txt 파일에 대한 정책 등록 명령이 입력되면 경로 테이블 생성부(220) 상기 a.txt 파일의 키 값이 5이므로 5-1 위치에 등록한다. 이때 C와 Test는 미리등록되어 있으므로 중복하여 등록하지 않고 레퍼런스 카운터(Reference Counter)만 증가해 둔다. 레퍼런스 카운터는 동일한 노드를 반복 등록하여 발생하는 메모리 증가를 방지할 수 있으며, 등록된 파일에 대한 정책을 삭제할 때 사용된다. 등록된 정책의 삭제는 등록할 때와 마찬가지로 경로의 노드별로 삭제하는데, 삭제할 노드의 키 값을 구해 해당 노드를 찾은 후 레퍼런스 카운터를 감소시켜 주고, 그 값이 0이 되면 해당 노드를 완전히 삭제한다.After the registration as described above, if the policy registration command for the a.txt file having the sum of ASCII codes "1029" and a path of C: \ Test \ a.txt is inputted, the
그리고 추후, ASCII코드의 합이 "1027"이고 파일 경로가 C:\Test\b.txt인 b.txt 파일에 대한 정책 등록 명령이 발생되면 경로 테이블 생성부(220)는 노드, b.txt를 32위치에 등록한다. 이때, C와 Test는 미리 등록되어 있으므로 중복하여 등록하지 않고 레퍼런스 카운터만 증가해 둔다.
Subsequently, if a policy registration command for the b.txt file having the sum of the ASCII codes "1027" and the file path of C: \ Test \ b.txt is generated, the
(제1실시 예)(Embodiment 1)
도 3은 본 발명에 따라 단일의 파일 시스템 필터 드라이버부를 구비하는 경우의 의 의 제1실시 예에 따라 파일경로 기반 파일 접근 제어 장치의 파일 입출력 감시부의 구성을 상세히 나타낸 도면이다.3 is a diagram illustrating in detail a configuration of a file input / output monitoring unit of a file path-based file access control device according to a first embodiment of the present invention having a single file system filter driver unit according to the present invention.
도 3을 참조하면, 도 2와 같이 경로 기반 접근제어를 구성함으로써 파일 입출력 감시부(100)의 제1파일 시스템 필터 드라이버부(110)는 윈도우 응용 프로그램 구동부(10)로부터 파일 접근 명령을 입력받는다(①).Referring to FIG. 3, by configuring path-based access control as shown in FIG. 2, the first file
상기 파일 접근 명령이 입력되면 제1파일 시스템 필터 드라이버부(110)는 파일식별자를 얻기 위한 과정 없이 상기 파일 접근 명령에 포함되어 있는 파일 경로를 접근 제어부(200)로 전송하여 파일 경로 기반 접근 제어를 수행한 후, 정책에 따라 파일 접근 명령을 바이패스한다(②). 만일, 정책이 특정 관리자에 한해서만 허용되었다면 접근 제어부(200)는 기존의 인증과정을 통해 인증에 성공해야만 상기 제1파일 시스템 필터 드라이버부(110)를 통해 파일 접근 명령을 바이패스시키도록 할 것이다. 또한 인증에 실패한다면 제1파일 시스템 필터 드라이버부(110)는 상기 파일 접근 명령을 차단할 것이다.When the file access command is input, the first file
파일 접근 명령을 받은 파일 관리부(20)는 해당 파일에 대한 처리를 수행한 후 처리 결과를 제1파일 시스템 필터 드라이버부(110)로 제공한다(③).The
상술한 바와 같이 파일식별을 위한 과정들을 가지지 않으므로 시스템 속도를 향상시킬 수 있다.
As described above, since there are no processes for file identification, the system speed can be improved.
(제2실시 예)(Second Embodiment)
도 4는 본 발명에 따라 2개의 파일 시스템 필터 드라이버부를 구비하는 경우의 파일경로 기반 파일 접근 제어 장치의 구성을 나타낸 도면으로, 백신 프로그램에 의한 제2파일 시스템 필터 드라이버부(120)를 더 구비하는 경우를 나타낸 것이다.FIG. 4 is a diagram illustrating a configuration of a file path-based file access control apparatus in the case of having two file system filter driver units according to the present invention, and further comprising a second file system
도 4에서와 같이 제1파일 시스템 필터 드라이버부(110)는 본 발명에 따른 경로 기반 접근 제어를 수행하고, 제2파일 시스템 필터 드라이버부(120)는 파일식별자 기반의 접근 제어를 수행하는 경우를 나타낸 것이다. 이는 파일식별자 기반의 접근제어를 수행하는 백신 응용프로그램과의 호환성을 제공하기 위한 것이다. 그러나 본 발명에 따른 경로 기반의 접근 제어를 수행하는 백신 응용프로그램을 유도할 수도 있을 것이다.As shown in FIG. 4, the first file
도 4를 참조하면, 제1파일 시스템 필터 드라이버부(110)는 상술한 도 3과 같이 파일 경로 기반 접근 제어 수행 후 파일 접근 명령을 출력한다(③).Referring to FIG. 4, the first file
상기 파일 접근 명령은 제2파일 시스템 필터 드라이버부(120)의 파일 조회부(121)로 입력된다.The file access command is input to the file inquiry unit 121 of the second file system
파일 접근 명령을 입력받은 파일 조회부(121)는 도 1에서 설명한 바와 같이 바이러스 검사를 위한 파일 접근 명령을 생성하여 제1파일 시스템 필터 드라이버부(110)로 출력하고(④), 도 1의 과정 ⑥ 내지 과정 ⑨에 대응하는 도 4의 과정 ⑤ 내지 과정 ⑧을 수행한다.
The file inquiry unit 121 receiving the file access command generates a file access command for virus scanning as described in FIG. 1 and outputs the file access command to the first file system filter driver 110 (④).
(제3실시 예)(Third Embodiment)
도 5는 본 발명의 제3실시 예에 따라 파일 시스템 미니 필터 드라이버를 이용한 파일경로 기반 파일 접근 제어 장치의 파일 입출력 감시부의 구성을 나타낸 도면이다.5 is a diagram illustrating a configuration of a file input / output monitoring unit of a file path-based file access control apparatus using a file system mini filter driver according to a third embodiment of the present invention.
본 발명의 제3실시 예에서는 도 5와 같이 파일 입출력 감시부(100)를 파일 시스템 미니 필터 드라이버부(130)로 구성한다.In the third embodiment of the present invention, as shown in FIG. 5, the file input /
파일 시스템 미니 필터 드라이버부(130)는 사용자가 입력한 경로가 짧은 경로이면 그대로 짧은 경로를, 긴 경로이면 긴 경로를 그대로 리턴하는 오픈 모드와 사용자가 입력한 경로가 짧은 경로이면 짧은 경로에 대한 긴 경로를 구해 리턴하고, 긴 경로이면 그대로 리턴하는 노멀라이즈 모드를 제공한다. 즉 오픈 모드에서 파일 시스템 미니 필터 드라이버부(130)는 파일 접근 명령에 포함된 경로를 그대로 접근 제어부(200)로 제공한다. 반면, 노멀라이즈 모드에서 파일 시스템 미니 필터 드라이버부(130)는 파일 접근 명령에 포함된 경로가 긴 경로이면 그대로 접근 제어부(200)로 제공하고, 짧은 경로이면 긴 경로를 구하고, 구해진 긴 경로를 접근 제어부(200)로 제공한다.The file system
그러나 노멀라이즈 모드의 경우, 짧은 경로에 대한 긴 경로를 구하기 위해 많은 작업을 하게 되어 많은 리소스를 사용하게 되므로 성능이 떨어질 수 있다. 따라서 노멀라이즈 모드 보다는 오픈 모드를 사용하는 것이 바람직할 것이다.However, in normalized mode, performance can be degraded because it takes a lot of work to find a long path for a short path. Therefore, it would be desirable to use open mode rather than normalized mode.
상기 파일 시스템 미니 필터 드라이버부(130)를 사용하는 경우도 상기 파일 시스템 필터 드라이버부(130)와 경로를 얻는 과정만 다를 뿐 그 이외의 동작을 동일하므로 경로 획득 이후의 동작은 설명하지 않음을 유의하여야 한다.
Note that even when the file system
도 6은 본 발명에 따른 파일 경로 기반 파일 접근 제어를 위한 파일 경로 테이블 형성 방법을 나타낸 흐름도이다. 이하 도 6을 참조하여 파일 경로 등록 방법을 설명한다.6 is a flowchart illustrating a method of forming a file path table for file path based file access control according to the present invention. Hereinafter, a file path registration method will be described with reference to FIG. 6.
우선, 접근 통제 제어부(210)는 도 2에서 보이는 바와 같이 윈도우 응용프로그램 구동부(10)로부터 파일 경로 등록 이벤트가 발생하는지를 검사한다(S511). 상기 파일 경로 등록 이벤트는 윈도우 응용 프로그램 구동부(10)에서 실행되는 파일 접근 제어 정책 응용프로그램 등에 의해 발생한다. 예를 들어 파일 접근 제어 정책에 모든 파일에 대해 접근 제어를 수행하는 것으로 설정되어 있으면, 상기 정책이 적용되는 초기 모든 파일에 대한 파일 경로 등록 이벤트가 발생할 것이다. 그리고 파일 접근 제어 정책에 선택되는 특정 파일에 대해서만 파일 접근 제어를 수행하도록 정책이 설정되어 있는 경우에는 파일 접근 제어 정책 설정 응용프로그램을 통해 선택되는 파일에 대해서만 파일 경로 등록 이벤트가 발생할 수도 있을 것이다. 그리고 새로 생성되는 파일에 대해서만 파일 접근 제어를 수행하도록 정책이 설정되어 있는 경우에는 새로 파일이 생성되는 경우에만 파일 경로 등록 이벤트가 발생할 것이다. 상기 파일 경로 등록 이벤트에 의한 파일 경로 등록 명령 또한 파일 접근 명령과 동일하게 짧은 경로 및 긴 경로를 포함하는 파일 경로를 포함한다.First, as shown in FIG. 2, the
파일 등록 이벤트가 발생하면, 접근 통제 제어부(210)는 직접 또는 파일 등록 명령을 경로 테이블 생성부(220)로 출력하여 상기 파일 등록 명령에 포함되어 있는 파일 경로 정보를 검출한다(S513).When a file registration event occurs, the
긴 경로 및 짧은 경로를 포함하는 파일 경로 정보가 검출되면 경로 테이블 생성부(220)는 접근 통제 제어부(210)의 제어에 따라 파일 경로에 포함된 긴 경로 및 짧은 경로의 노드들을 상위 노드부터 순서대로 검출하고, 상기 수학식 1에 따라 각 노드들에 대한 키 값을 계산한다(S515).When the file path information including the long path and the short path is detected, the
키 값이 계산되면 경로 테이블 생성부(220)는 경로 테이블 저장부(230)에 저장되어 있는 경로 테이블의 계산된 키 값에 대응하는 버킷에 해당 노드들을 할당하여 저장한다(S517).When the key value is calculated, the
상기와 같이 버킷에 할당되어 저장되면, 접근 통제 제어부(210)는 윈도우 응용 프로그램 구동부(10)의 정책 설정 응용프로그램으로 경로 테이블 등록이 완료되었음을 알리게 될 것이다. 이에 응답하여 윈도우 응용 프로그램 구동부(10)의 정책 설정 응용프로그램으로부터 최종 노드, 즉 파일명에 대해 접근 제어 정책이 입력되면 접근 정책 저장부(240)에 상기 경로 테이블에 할당된 최종 노드와 맵핑된 접근 정책을 저장한다(S519). If the bucket is allocated and stored as described above, the access
도 7은 본 발명에 따른 파일 경로 기판 파일 접근 제어 방법을 나타낸 흐름도이다.7 is a flowchart illustrating a file path substrate file access control method according to the present invention.
도 7을 참조하면, 접근 통제 제어부(210)는 파일 입출력 감시부(100)를 통해 파일 접근 명령이 입력되는지를 검사하여 파일 접근 이벤트의 발생 여부를 판단한다(S611).Referring to FIG. 7, the
파일 접근 이벤트가 발생하면 접근 통제 제어부(210)는 파일 접근 명령에 포함된 파일 경로를 검출하고(S613), 상기 파일 경로의 노드들을 상위 노드부터 순차적으로 검출하고, 검출된 각 노드들에 대해 상기 수학식 1에 의한 키 값을 계산한다(S615).When a file access event occurs, the
키 값이 계산되면 접근 통제 제어부(210)는 상기 경로 테이블 저장부(230)의 테이블에서 파일 경로의 상위 노드에 대응하는 키 값에 대응하는 노드부터 순차적으로 추적한다(S617).When the key value is calculated, the access
이때, 접근 통제 제어부(210)는 파일 경로의 모든 노드들이 있는지를 판단하고(S619), 모든 노드가 있으면, 최종 노드에 책정된 접근 제어 정책을 접근 정책 저장부(240)로부터 로드하고, 로드된 파일 접근 정책에 따라 파일 접근 제어를 수행한다(S621).In this case, the
한편, 본 발명은 전술한 전형적인 바람직한 실시 예에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다.
On the other hand, the present invention is not limited to the above-described typical preferred embodiment, it can be carried out in various ways without departing from the gist of the present invention various modifications, changes, substitutions or additions in the art Anyone who has this can easily understand it. It is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, it is intended to cover various modifications within the scope of the appended claims.
10: 윈도우 응용프로그램 구동부 40: 파일 관리부
100: 파일 입출력 감시부 200: 접근 제어부
210: 접근 통제 제어부 220: 경로 테이블 생성부
230: 경로 테이블 저장부 240: 접근 정책 저장부10: Windows application driver 40: File management unit
100: file input and output monitoring unit 200: access control unit
210: access control control unit 220: route table generation unit
230: route table storage unit 240: access policy storage unit
Claims (7)
윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 테이블에 할당하여 등록하는 파일 트리 경로 테이블 및 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 저장하고 있으며, 상기 파일 입출력 감시부로부터 입력되는 상기 파일 경로를 분석하여 트리 노드들로 분류하고, 상기 파일 트리 경로 테이블에서 분류된 노드들을 순차적으로 찾아 상기 파일 경로의 긴 경로 및 짧은 경로 중 한 경로에 대한 노드들을 포함하는 경우 최종 노드에 설정된 해당 접근 정책에 따라 파일 접근 제어를 수행하는 접근 제어부를 포함하되,
상기 파일 입출력 감시부는,
상기 파일 접근 명령에 포함된 파일 경로를 추출하여 상기 접근 제어부로 출력하는 적어도 하나 이상의 파일 시스템 필터 드라이버부를 포함하는 것을 특징으로 하는 파일 경로 기반 파일 접근 제어 시스템.
A file input / output monitoring unit which extracts and outputs a file path included in the file access control command when a file access control command for a file occurs;
When a file registration event having path information including a long path and a short path is received from a Windows application driver, the nodes are classified into nodes constituting the long path and the short path of the path information, and the classified nodes are long path and short path. A file tree path table for allocating and registering information in a table to store information and an access policy for each of the last nodes of each file tree path are stored. The tree node is analyzed by analyzing the file path input from the file input / output monitoring unit. Classify the nodes in the file tree path table and sequentially include the nodes for one of the long path and the short path of the file path according to the corresponding access policy set in the last node. Including an access control to perform,
The file input and output monitoring unit,
And at least one file system filter driver unit extracting a file path included in the file access command and outputting the file path to the access control unit.
윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 테이블에 할당하여 등록하는 파일 트리 경로 테이블 및 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 저장하고 있으며, 상기 파일 입출력 감시부로부터 입력되는 상기 파일 경로를 분석하여 트리 노드들로 분류하고, 상기 파일 트리 경로 테이블에서 분류된 노드들을 순차적으로 찾아 상기 파일 경로의 긴 경로 및 짧은 경로 중 한 경로에 대한 노드들을 포함하는 경우 최종 노드에 설정된 해당 접근 정책에 따라 파일 접근 제어를 수행하는 접근 제어부를 포함하되,
상기 파일 입출력 감시부는,
상기 파일 접근 명령에 포함된 파일 경로를 추출하고, 추출된 파일 경로를 상기 접근 제어부로 출력하는 오픈 모드와, 상기 추출된 파일이 짧은 경로이면 긴 경로를 구하여 상기 접근 제어부로 출력하는 노멀라이즈 모드를 구비하는 파일 시스템 미니 필터 드라이버부를 포함하는 것을 특징으로 하는 파일 경로 기반 파일 접근 제어 시스템.
A file input / output monitoring unit which extracts and outputs a file path included in the file access control command when a file access control command for a file occurs;
When a file registration event having path information including a long path and a short path is received from a Windows application driver, the nodes are classified into nodes constituting the long path and the short path of the path information, and the classified nodes are long path and short path. A file tree path table for allocating and registering information in a table to store information and an access policy for each of the last nodes of each file tree path are stored. The tree node is analyzed by analyzing the file path input from the file input / output monitoring unit. Classify the nodes in the file tree path table and sequentially include the nodes for one of the long path and the short path of the file path according to the corresponding access policy set in the last node. Including an access control to perform,
The file input and output monitoring unit,
An open mode for extracting a file path included in the file access command, outputting the extracted file path to the access control unit, and a normalizing mode for obtaining a long path if the extracted file is a short path and outputting the long path to the access control unit; File path based file access control system comprising a file system mini-filter driver provided.
윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 테이블에 할당하여 등록하는 파일 트리 경로 테이블 및 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 저장하고 있으며, 상기 파일 입출력 감시부로부터 입력되는 상기 파일 경로를 분석하여 트리 노드들로 분류하고, 상기 파일 트리 경로 테이블에서 분류된 노드들을 순차적으로 찾아 상기 파일 경로의 긴 경로 및 짧은 경로 중 한 경로에 대한 노드들을 포함하는 경우 최종 노드에 설정된 해당 접근 정책에 따라 파일 접근 제어를 수행하는 접근 제어부를 포함하되,
상기 파일 경로의 분석된 노드들은 하기 수학식 2에 의해 계산되는 키(KEY)에 대응하는 버킷에 순차적으로 할당되어 저장되는 것을 특징으로 하는 파일 경로 기반 파일 접근 제어 시스템.
[수학식 2]
단, MAXSIZE는 상기 테이블의 버킷(Bucket) 수
A file input / output monitoring unit which extracts and outputs a file path included in the file access control command when a file access control command for a file occurs;
When a file registration event having path information including a long path and a short path is received from a Windows application driver, the nodes are classified into nodes constituting the long path and the short path of the path information, and the classified nodes are long path and short path. A file tree path table for allocating and registering information in a table to store information and an access policy for each of the last nodes of each file tree path are stored. The tree node is analyzed by analyzing the file path input from the file input / output monitoring unit. Classify the nodes in the file tree path table and sequentially include the nodes for one of the long path and the short path of the file path according to the corresponding access policy set in the last node. Including an access control to perform,
The parsed nodes of the file path are sequentially assigned and stored in a bucket corresponding to a key calculated by Equation 2 below.
&Quot; (2) "
However, MAXSIZE is the number of buckets in the table.
윈도우 응용 프로그램 구동부로부터 긴 경로 및 짧은 경로를 포함하는 경로 정보를 구비하는 파일 등록 이벤트의 수신 시 상기 경로 정보의 긴 경로 및 짧은 경로를 구성하는 노드들로 분류하고 분류된 노드들을 긴 경로 및 짧은 경로 정보가 포함되도록 파일 트리 경로 테이블에 할당하여 등록하고, 상기 각 파일 트리 경로의 최종 노드들 각각에 대한 접근 정책을 등록하는 파일 경로 기반 접근정책 설정 과정과,
상기 파일에 대한 파일 접근 명령이 발생되면 상기 파일 접근 명령에 포함된 경로 정보를 검출하고, 상기 경로 정보의 노드들을 검출하여 상기 테이블에서 순차적으로 추적하여 상기 파일 경로의 노드를 포함하는 최종 노드에 맵핑된 파일 접근정책에 따라 파일 접근 제어를 수행하는 파일 접근 제어 과정을 포함하되,
상기 파일 경로 기반 접근정책 설정 과정은,
파일 입출력 감시부를 통해 윈도우 응용프로그램 구동부의 접근 정책 설정 응용프로그램으로부터 파일 등록 이벤트가 발생하는지를 검사하는 이벤트 발생 단계와,
상기 파일 등록 이벤트 발생 시 상기 파일 등록 이벤트 발생 시 발생하는 파일 등록 명령으로부터 등록할 상기 파일에 대한 긴 경로 및 짧은 경로를 포함하는 파일 경로를 획득하는 파일 경로 획득 단계와,
상기 획득된 파일 경로의 긴 경로 및 짧은 경로의 노드들을 분류하여 검출하고, 각 노드들에 대해 하기 수학식 3에 의해 키 값을 계산하는 키 값 계산 단계와,
키 값이 계산되면 경로 정보가 포함되도록 상기 키 값에 대응하는 파일 경로 테이블의 버킷에 상기 각 노드들을 할당하여 저장하는 경로 테이블 할당 단계와,
상기 파일 경로 테이블에 등록된 파일 경로에 대응하는 파일의 접근 정책을 윈도우 응용 프로그램 구동부의 상기 접근 정책 설정 응용 프로그램을 통해 입력받아 파일 접근정책을 설정하는 파일 접근 정책 설정 단계를 포함하는 것을 특징으로 하는 방법.
In the file access control method,
When a file registration event having path information including a long path and a short path is received from a Windows application driver, the nodes are classified into nodes constituting the long path and the short path of the path information, and the classified nodes are long path and short path. A file path-based access policy setting process of allocating and registering an access policy in a file tree path table to include information, and registering an access policy for each of the last nodes of each file tree path;
When a file access command for the file is generated, path information included in the file access command is detected, nodes of the path information are detected, sequentially tracked in the table, and mapped to a final node including nodes of the file path. Including file access control process to perform file access control according to the file access policy,
The file path based access policy setting process,
An event generation step of checking whether a file registration event occurs from the access policy setting application of the window application driver through the file input / output monitoring unit;
A file path obtaining step of obtaining a file path including a long path and a short path to the file to be registered from a file registration command generated when the file registration event occurs when the file registration event occurs;
A key value calculation step of classifying and detecting the nodes of the long path and the short path of the obtained file path, and calculating a key value for each node by Equation 3 below;
A path table allocation step of allocating and storing the nodes in a bucket of a file path table corresponding to the key value so that the path information is included when the key value is calculated;
And a file access policy setting step of setting a file access policy by receiving an access policy of a file corresponding to a file path registered in the file path table through the access policy setting application of a Windows application driver. Way.
상기 파일 접근 제어 과정은,
파일 입출력 감시부를 통해 윈도우 응용프로그램 구동부의 응용 프로그램들로부터 파일 접근 이벤트가 발생하는지를 검사하는 파일 접근 이벤트 발생 단계와,
파일 접근 이벤트가 발생하면 파일 접근 명령으로부터 파일 경로를 획득하는 파일 경로 획득 단계와,
상기 획득된 파일 경로의 노드들을 검출하고, 각 노드들에 대해 하기 수학식 3에 의해 키 값을 계산하는 키 값 계산 단계와,
상기 경로 테이블에서 상기 계산된 키 값들에 대응하는 노드들을 파일 경로에 따라 상기 경로 테이블에서 순차적으로 추적하여 상기 파일 경로에 대응하는 모든 노드를 구비하는지를 검사하는 접근 정책 등록 판단 단계와,
모든 노드가 있으면 상기 노드들의 최종 노드에 맵핑되어 있는 파일 접근 정책에 따라 파일 접근 제어를 수행하는 파일 접근 제어 단계를 포함하는 것을 특징으로 하는 방법.
[수학식 3]
단, MAXSIZE는 상기 테이블의 버킷(Bucket) 수
The method according to claim 6,
The file access control process,
A file access event generation step of checking whether a file access event occurs from applications of the Windows application driver through the file input / output monitoring unit;
A file path obtaining step of obtaining a file path from a file access command when a file access event occurs;
A key value calculating step of detecting nodes of the obtained file path and calculating a key value for each node by Equation 3 below;
An access policy registration determination step of sequentially checking nodes corresponding to the calculated key values in the path table in the path table according to a file path to check whether all nodes corresponding to the file path are provided;
And a file access control step of performing file access control according to a file access policy mapped to the last node of the nodes if all nodes exist.
&Quot; (3) "
However, MAXSIZE is the number of buckets in the table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100117877A KR101221399B1 (en) | 2010-11-25 | 2010-11-25 | File access control system and method based on file path |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100117877A KR101221399B1 (en) | 2010-11-25 | 2010-11-25 | File access control system and method based on file path |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120056378A KR20120056378A (en) | 2012-06-04 |
KR101221399B1 true KR101221399B1 (en) | 2013-01-14 |
Family
ID=46608532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100117877A KR101221399B1 (en) | 2010-11-25 | 2010-11-25 | File access control system and method based on file path |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101221399B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101650287B1 (en) | 2016-03-08 | 2016-08-23 | 주식회사 시큐브 | File access control system based on volume guid and method thereof |
KR102550499B1 (en) | 2022-12-15 | 2023-07-03 | 주식회사 클라우다이크 | Method for dynamically pre-fetching folder tree and cloud server for executing the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005011296A (en) * | 2003-06-18 | 2005-01-13 | Akihito Hida | File system having two or more data paths, and operating system |
KR100577344B1 (en) * | 2005-01-10 | 2006-05-10 | 주식회사 잉카인터넷 | Method and system for establishing access control |
-
2010
- 2010-11-25 KR KR1020100117877A patent/KR101221399B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005011296A (en) * | 2003-06-18 | 2005-01-13 | Akihito Hida | File system having two or more data paths, and operating system |
KR100577344B1 (en) * | 2005-01-10 | 2006-05-10 | 주식회사 잉카인터넷 | Method and system for establishing access control |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101650287B1 (en) | 2016-03-08 | 2016-08-23 | 주식회사 시큐브 | File access control system based on volume guid and method thereof |
KR102550499B1 (en) | 2022-12-15 | 2023-07-03 | 주식회사 클라우다이크 | Method for dynamically pre-fetching folder tree and cloud server for executing the same |
Also Published As
Publication number | Publication date |
---|---|
KR20120056378A (en) | 2012-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8739287B1 (en) | Determining a security status of potentially malicious files | |
EP2619701B1 (en) | Attesting use of an interactive component during a boot process | |
CN102592103B (en) | Secure file processing method, equipment and system | |
CN102799500B (en) | System repair method and device | |
US8429412B2 (en) | Method to control access between network endpoints based on trust scores calculated from information system component analysis | |
US8739290B1 (en) | Generating alerts in event management systems | |
KR101733000B1 (en) | Method and Apparatus for Collecting Cyber Incident Information | |
RU2523112C1 (en) | System and method of selecting optimum type of antiviral verification when accessing file | |
CN101876921A (en) | Method, device and system for migration decision-making of virtual machine | |
US8656494B2 (en) | System and method for optimization of antivirus processing of disk files | |
US7904957B2 (en) | Computer-readable recording medium recording a security management program, computer-readable recording medium recording a job submission management program, and security management method | |
CN111416811A (en) | Unauthorized vulnerability detection method, system, equipment and storage medium | |
US10594579B2 (en) | System monitoring device | |
WO2006058313A2 (en) | Method to control access between network endpoints based on trust scores calculated from information system component analysis | |
WO2014021865A1 (en) | Conjoint vulnerability identifiers | |
CN113132311A (en) | Abnormal access detection method, device and equipment | |
US11227051B2 (en) | Method for detecting computer virus, computing device, and storage medium | |
KR101221399B1 (en) | File access control system and method based on file path | |
CN107329836A (en) | Multi-system memory management method and device and mobile terminal | |
US11436322B2 (en) | Vehicle unauthorized access countermeasure taking apparatus and vehicle unauthorized access countermeasure taking method | |
US20230015273A1 (en) | Verification information revising device, verification information revising method, and verification information revising program | |
CN116226865A (en) | Security detection method, device, server, medium and product of cloud native application | |
US20170149831A1 (en) | Apparatus and method for verifying detection rule | |
JP6938364B2 (en) | Communication system, communication control device, and communication control method | |
KR101188307B1 (en) | System and method of network activity monitoring to particular process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160107 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170110 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180105 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190107 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20191125 Year of fee payment: 8 |