KR101040765B1 - System for tracing process and file using extended security level - Google Patents

System for tracing process and file using extended security level Download PDF

Info

Publication number
KR101040765B1
KR101040765B1 KR1020090024043A KR20090024043A KR101040765B1 KR 101040765 B1 KR101040765 B1 KR 101040765B1 KR 1020090024043 A KR1020090024043 A KR 1020090024043A KR 20090024043 A KR20090024043 A KR 20090024043A KR 101040765 B1 KR101040765 B1 KR 101040765B1
Authority
KR
South Korea
Prior art keywords
file
security
tracking
security label
kernel
Prior art date
Application number
KR1020090024043A
Other languages
Korean (ko)
Other versions
KR20100105161A (en
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 KR1020090024043A priority Critical patent/KR101040765B1/en
Publication of KR20100105161A publication Critical patent/KR20100105161A/en
Application granted granted Critical
Publication of KR101040765B1 publication Critical patent/KR101040765B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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

Abstract

본 발명은 확장된 보안 레이블을 이용하는 프로세스 및 파일 추적 시스템 및 프로세스 및 파일 추적 방법으로서, 프로세스의 시스템 호출을 중간에서 가로챈 후 추적 대상에 대한 로그 기록을 남기고 그 이용을 허락한다. 본 발명에 따르는 프로세스 및 파일 추적 시스템은, 프로세스가 파일 입출력을 위하여 실행하는 시스템 파일의 커널 호출을 가로채는 수단; 커널 호출에 관계된 프로세스(주체) 및 파일(객체) 각각의 보안 레이블 정보를 조회하는 수단; 확장 보안 레이블에서 추적 대상으로 설정되었는지 조사하는 수단; 추적이 설정된 경우, 대응하는 프로세스 및 파일의 작업 내역을 로그로 기록하는 수단; 프로세스 및 파일 각각의 보안 레이블에 설정된 보안 등급을 비교하는 수단; 및 보안 등급의 비교 결과가 일치할 경우에만 파일 입출력 권한을 부여하여 상기 커널 호출을 허가하는 수단을 포함하는 것을 특징으로 한다.The present invention is a process and file tracking system and process and file tracking method using an extended security label, intercepting a system call of a process in the middle, leaving a log record for the traced object and allowing its use. The process and file tracking system according to the present invention comprises: means for intercepting kernel calls of system files that a process executes for file input and output; Means for querying security label information of each process (subject) and file (object) involved in the kernel call; Means for examining whether the extended security label is set for tracking; Means for recording a history of operations of corresponding processes and files when tracing is set up; Means for comparing a security level set in a security label of each process and file; And means for granting the file input / output permission only to permit the kernel call when the comparison result of the security level is identical.

Description

확장된 보안 레이블을 이용하는 프로세스 및 파일 추적 시스템 및 프로세스 및 파일 추적 방법{System for tracing process and file using extended security level}Process and file tracing using extended security labels {System for tracing process and file using extended security level}

본 발명은 윈도우즈 운영체제에서 프로세스가 파일 I/O를 발생할 때, 추적 시스템이 프로세스 및 파일의 보안 레이블 보호 등급을 비교하여 작업 허가 여부를 결정한다. 시스템은 프로세스 및 파일을 추적 대상으로 설정하기 위하여, 각각의 보안 레이블에 특정 값을 설정한 확장 보안 레이블을 이용한다. 확장 보안 레이블에 특정 값이 설정된 프로세스 및 파일의 작업 이력은 추적되어 작업 로그를 남긴다.In the present invention, when a process generates file I / O in the Windows operating system, the tracking system compares the security label protection level of the process and the file to determine whether to permit the operation. The system uses extended security labels that set specific values for each security label in order to set processes and files for tracking. The job history of processes and files with specific values set in the extended security label is traced and leaves a job log.

기존의 보안 제품들은 그 특성상 내부 사용자에 대하여 컴퓨터 시스템 내의 자원에 대한 세밀한 접근 통제 및 사용 정보의 로그 생성에 한계가 있었다. 이런 상황에서 안전하고 신뢰성 있는 컴퓨터 시스템 즉, 보안 운영체제가 차세대 보안 솔루션으로 그 자리를 확고히 하고 있다. 미국은 이미 1985년부터 보안 및 신뢰성이 입증된 컴퓨터 시스템을 국방부 및 정부기관에 보급하기 위하여 TCSEC(Trusted Computer System Evaluation Criteria)을 7가지 등급으로 분류하여 각 기관별 특성 에 맞는 시스템을 도입 및 운영하도록 권고하고 있다.Existing security products have limitations due to the nature of granular access control and logging of usage information for internal users. In this situation, secure and reliable computer systems, or security operating systems, are firmly established as next-generation security solutions. Since 1985, the United States recommends to introduce and operate a system that meets the characteristics of each institution by classifying the Trusted Computer System Evaluation Criteria into seven grades to disseminate computer systems that have proven security and reliability to the Department of Defense and government agencies. Doing.

TCSEC은 보안정책, 책임성, 보증 및 지속적인 보호 등의 기본적인 컴퓨터 보안 요구사항을 규정하고 있다. 즉, 보안성을 갖춘 컴퓨터 시스템이 제공해야 하는 기준을 보안 정책과 보안 정책을 지원하는 신분 확인 및 감사 추적 등의 책임성, 그리고 보증 및 문서 부분으로 나누어서 각 등급별 요구 사항을 정의하고 있다. 보안 운영체제는 주체와 객체에 보안레이블을 부여하고 다중 등급 보안 정책을 적용하여 강제적 접근 제어를 시행한다.TCSEC defines basic computer security requirements such as security policy, accountability, assurance and ongoing protection. In other words, the requirements provided by the secure computer system are divided into security policies, accountability such as identification and audit trail to support the security policy, and assurance and document parts to define the requirements for each class. The security operating system enforces mandatory access control by assigning security labels to subjects and objects and applying multi-level security policies.

최근 들어 사용자의 불법적인 행위를 추적하기 위해서 프로세스, 쓰레드, 메시지, 대기 가능 개체, 키 입력, 파일 시스템, 디스크 그리고 네트워크와 같은 다양한 종류의 시스템 개체를 추적하기 위한 연구가 진행되고 있다. 이러한 추적 시스템은 사용자 데이터의 기밀을 보호하는 동시에 사용자가 자신의 시스템을 추적하도록 허용하도록 하고 있다. 이러한 시스템의 필요성이 증가하면서 보안 로그의 다양성은 급격하게 증가하였다. 이로 인해 컴퓨터 보안 로그의 생성, 전송, 저장, 분석과 처리 과정을 포함하는 컴퓨터 보안 로그 관리의 필요성이 대두되었다. 로그는 문제점을 해결하기 위해 이용되어 왔지만 최근에는 시스템이나 네트워크의 효율을 최적화하거나 사용자들의 행동을 기록하거나 또는 악의적인 행위들을 조사하기 위한 유용한 데이터로 사용되고 있다. 주기적인 로그 검토 및 분석을 통해 보안 사건이나 정책의 위반, 부정한 행위와 운영상의 문제들이 발생한 직후에 이들을 식별해 내고 해결할 수 있다. 로그는 또한 기관의 내부적인 조사를 지원하고 토대를 확립하며 운영상의 흐름과 장기적인 문제점들을 구별해 냄으로써 감사를 실시하거나 포 렌식 분석을 실시하는데 매우 유용하게 이용될 수 있다.Recently, researches on various kinds of system objects such as processes, threads, messages, waitable objects, keystrokes, file systems, disks, and networks have been conducted to track illegal activities of users. These tracking systems allow users to track their systems while protecting the confidentiality of their data. As the necessity of such a system increases, the variety of security logs rapidly increases. This necessitates the need for computer security log management, including the creation, transmission, storage, analysis and processing of computer security logs. Logs have been used to solve problems, but recently they are used as useful data to optimize the efficiency of a system or network, to record user behavior, or to investigate malicious behavior. Periodic log reviews and analysis can help identify and resolve security incidents, policy violations, fraudulent behavior and operational issues immediately after they occur. Logs can also be very useful in conducting audits or forensic analysis by supporting the organization's internal investigations, establishing the foundation, and identifying operational flows and long-term problems.

본 발명은 전술한 바와 같은 점에 착안하여 창출된 것으로서, 윈도우즈 운영체제에서 자원에 대한 접근을 효율적으로 제어하기 위하여 수정된 BLP(Bell & LaPadula) 모델이 윈도우즈 커널에 적용된 다중 등급 보안의 강제적 접근 제어 정책을 제안하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the foregoing, and is a mandatory access control policy of multi-level security in which a modified BLP (Bell & LaPadula) model is applied to the Windows kernel to efficiently control access to resources in a Windows operating system. The purpose is to propose.

또한, 보안 레이블을 확장하여 보호 대상을 설정하고, 보호 대상의 프로세스의 특정 파일에 대한 작업 내역을 추적하여 로그로 기록하는 것을 목적으로 한다.It also aims to extend the security label to set up the protection target, and to track and record the operation history of a specific file of the process to be protected.

전술한 바와 같은 목적을 달성하기 위한 본 발명에 따른 확장된 보안 레이블을 이용하는 프로세스 및 파일 추적 시스템은, 윈도우즈 운영체제에서 프로세스의 파일 자원에 대한 이용 권한을 제어하고, 확장 보안 레이블을 이용하여 추적 대상의 프로세스 및 파일의 작업 이력을 로그로 생성하는 프로세스 및 파일 추적 시스템에 있어서, 프로세스가 파일 입출력을 위하여 실행하는 시스템 파일의 커널 호출을 가로채는 수단; 상기 커널 호출에 관계된 프로세스(주체) 및 파일(객체) 각각의 보안 레이블 정보를 조회하는 수단; 조회한 확장 보안 레이블에서 추적 대상으로 설정되었는지 조사하는 수단; 추적이 설정된 경우, 대응하는 프로세스 및 파일의 작업 내역을 로그로 기록하는 수단; 프로세스 및 파일 각각의 보안 레이블에 설정된 보안 등급을 비교하는 수단; 및 보안 등급의 비교 결과가 일치할 경우에만 파일 입출력 권한을 부여하여 상기 커널 호출을 허가하는 수단을 포함하고, 상기 보안 레이블 정보는, 다중 등급 보안 정책에 기반하는 보안 등급과 보호 범주를 포함하며, 추가로 추적 대상 여부가 설정되는 추적 보안 레이블을 더 포함하는 구조체로 정의되는 것을 특징으로 한다.The process and file tracking system using the extended security label according to the present invention for achieving the object as described above, controls the usage rights of the file resources of the process in the Windows operating system, and using the extended security label of the tracking target CLAIMS 1. A process and file tracking system for generating a log of the history of processes and files, comprising: means for intercepting kernel calls of system files that processes execute for file input and output; Means for querying security label information of each process (subject) and file (object) involved in the kernel call; Means for investigating whether the extension security label has been set as a tracking target; Means for recording a history of operations of corresponding processes and files when tracing is set up; Means for comparing a security level set in a security label of each process and file; And means for granting the kernel call by granting a file input / output permission only when the comparison result of the security level is matched, wherein the security label information includes a security level and a protection category based on a multi-level security policy. In addition, it is characterized by being defined as a structure that further includes a tracking security label is set whether or not to be tracked.

삭제delete

바람직하게, 상기 로그는, 시스템 파일의 커널 호출 이전에 파일 입출력 작업 요청의 발생 사실, 보안 등급의 비교 결과 및 커널 호출 이후의 작업 완료의 내역을 포함하는 것을 특징으로 한다.Preferably, the log may include a fact of occurrence of a file input / output operation request before a kernel call of a system file, a comparison result of a security level, and a history of completion of the operation after a kernel call.

나아가, 상기 로그는, 사용자 ID, 사용자 IP 주소, 프로그램명, 프로세스명, 폴더명, 파일명, 파일 I/O 종류의 내역을 더 포함하는 것을 특징으로 한다.Further, the log may further include details of a user ID, a user IP address, a program name, a process name, a folder name, a file name, and a file I / O type.

더 나아가, 상기 추적 시스템은, 실행 주체(프로세스) 및 실행 객체(파일 및 폴더)의 리스트를 제공하고, 사용자로부터 추적 대상을 선택받으면, 대응하는 확장 보안 레이블에 추적 대상으로 설정하는 수단을 더 포함하는 것을 특징으로 한다.Furthermore, the tracking system further includes means for providing a list of execution subjects (processes) and execution objects (files and folders), and for setting the tracking targets to corresponding extended security labels when the tracking target is selected by the user. Characterized in that.

한편, 본 발명에 따른 확장된 보안 레이블을 이용하는 프로세스 및 파일 추적 방법은, 윈도우즈 운영체제에서 프로세스의 파일 자원에 대한 이용 권한을 제어하고, 확장 보안 레이블을 이용하여 추적 대상의 프로세스 및 파일의 작업 이력을 로그로 생성하는 필터 드라이버의 추적 방법에 있어서, (S12)프로세스가 파일 입출력을 위하여 실행하는 시스템 파일의 커널 호출을 가로채는 단계; (S13)상기 커널 호출에 관계된 프로세스(주체) 및 파일(객체) 각각의 보안 레이블 정보를 조회하는 단계; (S14)조회한 확장 보안 레이블에서 추적 대상으로 설정되었는지 조사하는 수단; (S15)추적이 설정된 경우, 대응하는 프로세스 및 파일의 작업 내역을 로그로 기록하는 수단; (S16)프로세스 및 파일 각각의 보안 레이블에 설정된 보안 등급을 비교하는 단계; 및 (S17)보안 등급의 비교 결과가 일치할 경우에만 파일 입출력 권한을 부여하여 상기 커널 호출을 허가하는 단계를 포함하고, 상기 보안 레이블 정보는, 다중 등급 보안 정책에 기반하는 보안 등급과 보호 범주를 포함하며, 추가로 추적 대상 여부가 설정되는 추적 보안 레이블을 더 포함하는 구조체로 정의되는 것을 특징으로 한다.On the other hand, the process and file tracking method using the extended security label according to the present invention, the Windows operating system controls the access rights to the file resources of the process, using the extended security label to track the operation history of the process and the file to be tracked A method for tracing a filter driver for generating a log, the method comprising: intercepting a kernel call of a system file executed by a process for file input / output; Querying security label information of each of a process (subject) and a file (object) related to the kernel call; (S14) means for investigating whether the extended security label has been set as a tracking target; (S15) means for recording the work history of the corresponding process and file in a log when tracking is set; (S16) comparing the security level set in each security label of the process and the file; And (S17) granting the kernel call by granting a file input / output permission only when the comparison result of the security level is matched, wherein the security label information includes a security level and a protection category based on a multi-level security policy. It is characterized in that it is further defined as a structure that further includes a tracking security label is set whether or not to be tracked.

본 발명에 따르면, 윈도우즈 운영체제에서 파일 I/O 이벤트 발생시 실행 주체 및 실행 객체의 확장 보안 레이블을 이용하여 작업 이력을 로그 데이터로 기록하고, 주체의 객체에 대한 접근 권한에 따라서 그 작업 허가 여부를 결정하여 파일 및 컴퓨터 시스템의 보안성을 유지한다.According to the present invention, when a file I / O event occurs in the Windows operating system, the job history is recorded as log data using the extended security label of the execution subject and the execution object, and the permission of the operation is determined according to the access authority of the subject object. Maintain security of your files and computer system.

<1. 기술 개념 모델><1. Technology concept model>

도 1 내지 도 5는 본 발명의 개념 모델을 도시한다.1-5 illustrate a conceptual model of the present invention.

도 1은 본 발명에 따른 기술 구현 계층을 예시한다.1 illustrates a technology implementation layer in accordance with the present invention.

본 발명은 윈도우즈 운영체제가 설치되는 컴퓨터 시스템을 대상으로 한다. 컴퓨터 시스템은 응용 프로그램이 설치되는 응용 프로그램 계층, 운영체제가 제공하는 서비스 프로그램 계층, 운영체제가 설치되는 운영체제 계층, 운영체제가 하드웨어 자원을 이용하기 위한 각종 디바이스 프로그램, 시스템 커널 함수가 존재하는 운영체제 커널 계층 및 컴퓨터 시스템의 물리적 구성 요소에 해당하는 하드웨어 계층으로 구성된다.The present invention is directed to a computer system on which the Windows operating system is installed. The computer system includes an application layer in which an application is installed, a service program layer provided by an operating system, an operating system layer in which an operating system is installed, various device programs for the operating system to use hardware resources, an operating system kernel layer in which system kernel functions exist, and a computer. It consists of hardware layers that correspond to the physical components of the system.

사용자, 프로그램은 실행 주체에 해당되고 프로세스 형태로 메모리에 적재되 어 실행 객체인 하드웨어 자원을 대상으로 각종 제어, 명령, 연산 등을 수행한다. 이 과정에서 프로세스는 운영체제의 실행 제어를 받으며 운영체제 커널 계층에서 실행 하드웨어 자원을 대상으로 하는 실제 처리가 수행된다. 정확하게는, 프로세스가 윈도우즈 시스템의 커널 함수를 호출하고, 이 커널 함수가 하드웨어 자원을 대상으로 실제 물리적 처리를 수행한다. 커널 함수는 운영체제 커널 계층에 존재하는 하드웨어의 디바이스 프로그램에 내장된 함수이다.A user and a program correspond to an execution subject and are loaded into memory in the form of a process, and perform various controls, commands, and operations on hardware resources, which are execution objects. In this process, the process is controlled by the operating system, and the actual processing of the execution hardware resources is performed at the operating system kernel layer. To be precise, a process calls a kernel function in a Windows system, which performs the actual physical processing on hardware resources. Kernel functions are functions embedded in device programs of hardware that exist in the operating system kernel layer.

여기서, 프로세스의 커널 시스템 호출(커널 함수 호출) 정보에는 어느 주체(사용자, 프로그램, 프로세스, 쓰레드 등)가 어떤 객체(디스크 기록 매체, 파일 시스템)를 대상으로 무슨 파일 작업(create, read, write, delete 등)을 요청하는지에 대한 정보가 담겨있다.Here, the kernel system call (kernel function call) information of a process includes information about what subject (user, program, process, thread, etc.) is used to create a file operation (create, read, write, It contains information about whether or not to request delete.

이에 본 발명의 프로세스 및 파일 추적 시스템 및 파일 추적 방법에서는 전술한 시스템 호출 정보를 분석하고자 커널 드라이버(디바이스 프로그램)의 일종인 필터 드라이버를 제공한다. 이 필터 드라이버는 디스크와 같은 컴퓨터 시스템의 기록 매체 자원에 대해서 발생하는 모든 파일 입출력(I/O) 이벤트의 요청 사항을 중간에서 가로챈 후 ㄱ)작업 내역의 로그 데이터 생성 및 ㄴ)작업 권한을 비교하여 허가할 경우, 가로챈 시스템 호출을 운영체제 커널 계층의 대응하는 디바이스 프로그램으로 전달한다.Accordingly, the process and file tracking system and file tracking method of the present invention provide a filter driver which is a kind of kernel driver (device program) in order to analyze the aforementioned system call information. The filter driver intercepts requests for all file I / O events that occur on the recording media resources of a computer system, such as a disk, and then compares a) the log data of the job history and b) the operation rights. If allowed, the intercepted system call is forwarded to the corresponding device program in the operating system kernel layer.

도 2는 본 발명에서 이용하는 다중 등급 보안 모델의 개념을 도시한다.2 illustrates the concept of a multi-grade security model used in the present invention.

본 발명에서는 파일 시스템에 적용되는 다중 등급 보안을 이용한다. 다중 등급 보안은 파일 I/O의 주체(사용자, 프로세스, 쓰레드 등) 및 객체(파일, 디렉토 리, 레지스터리 등)에 대하여 보안 등급(Clearance)과 보호 범주(Category)를 부여하고, 주체의 보안 등급과 객체의 보안 등급을 비교하여 접근하는 것을 통제하는 방식이다. 보안 등급(O, n, 2, 1)은 상하 관계를 의미하고, 보호 범주(A, B, C)는 포함 관계를 의미한다.In the present invention, the multi-level security applied to the file system is used. Multi-level security gives security levels and protection categories for subjects (files, directories, registries, etc.) and objects (files, directories, registries, etc.) and subjects of file I / O. It is a way of controlling access by comparing the security level of the object with the security level. The security level (O, n, 2, 1) refers to the parentage relationship, and the protection categories (A, B, and C) represent the inclusion relationship.

다중 등급 보안 정책은 주체의 다중 등급 보안 범위와 객체의 다중 등급 보안 범위간의 관계를 결정한 뒤 주체의 다중 등급 보안에 따른 객체 접근을 결정하는 BLP(Bell & LaPadula) 모델의 한 형태이다. BLP 모델은 접근 제어 규칙을 기술한 정형화된 보안 정책 모델의 하나로 시스템 보안을 위한 규칙 준수 규정과 주체의 객체에 대한 접근 허용 범위를 규정하고 있다. 이와 같이 컴퓨터에 저장된 비밀 정보를 보호하기 위한 하나의 방법론이 다중 등급 보안이며, 이를 위하여 연구 개발된 최초의 수학적인 모델이 BLP 모델이다.Multi-level security policy is a form of BLP (Bell & LaPadula) model that decides the relation between multi-level security scope of subject and multi-class security scope of object and then decides object access according to multi-class security of subject. The BLP model is a standardized security policy model that describes access control rules. It defines rule compliance rules for system security and the scope of access to subjects. One methodology for protecting confidential information stored in a computer is multi-level security, and the first mathematical model researched and developed for this is a BLP model.

이에 본 발명에서는 필터 드라이버와 상호 동작하는 GUI(Graphic User Interface)를 제공하여 사용자(보안 담당자)로부터 주체 및 객체에 대하여 보안 등급과 보호 범주를 설정받고 저장한다. 그리고 주체가 객체를 이용하고자 할 때, 필터 드라이버는 주체가 객체에 대하여 실행하는 전술한 ㄱ)작업 이력의 로그 데이터 생성 및 ㄴ)작업 허가 판단을 수행한다.Accordingly, the present invention provides a GUI (Graphic User Interface) that interacts with the filter driver to set and store the security level and the protection category for the subject and the object from the user (security officer). And when the subject wants to use the object, the filter driver performs the above-mentioned a) log data generation and b) task permission determination that the subject executes on the object.

한편, 본 발명에서는 기존 BLP 모델의 변형 모델을 제안한다. 기존 BLP 모델에서는 주체의 보안 등급이 객체의 보안 등급보다 낮을 경우에도 쓰기 연산을 허용한다. 그러나 낮은 등급의 주체가 더 높은 등급의 객체에 쓰기가 가능하다는 것은 보안상 문제가 발생되므로 쓰기 연산을 제한하도록 수정하여 적용하였다. 즉, 전술 한 필터 드라이버는 주체와 객체의 등급이 같은 경우에만 읽기 및 쓰기를 허가하고, 주체의 보안 등급이 객체보다 높은 경우에는 낮은 등급 객체의 읽기만을 허가하고, 객체보다 등급이 낮은 경우에는 모든 파일 접근을 불허한다.Meanwhile, the present invention proposes a deformation model of the existing BLP model. In the existing BLP model, write operations are allowed even if the subject's security level is lower than that of the object. However, the possibility of writing to a higher class object by a lower class subject is a security problem, so it has been modified to restrict the write operation. That is, the above-described filter driver only permits reading and writing when the subject and the object have the same grade, and when the subject's security level is higher than the object, only the lower grade object is allowed to be read. File access is denied.

도 3은 본 발명에서 이용하는 윈도우즈 운영체제가 저장하는 프로세스 정보 구조체의 데이터 구조를 도시한다.3 shows a data structure of a process information structure stored by the Windows operating system used in the present invention.

프로세스 정보 구조체는 커널 메모리에 적재되어 있으며 프로세스의 정보가 담겨져 있는 EPROCESS 구조체이다. 여기서, "UniqueProcessId"는 프로세스 식별자로 윈도우즈에서 특정 프로세스를 다른 프로세스와 구별할 수 있는 유용한 정보이다.The process information structure is an EPROCESS structure that is loaded into kernel memory and contains information about the process. Here, "UniqueProcessId" is a process identifier, which is useful information for distinguishing a specific process from other processes in Windows.

본 발명의 실행 주체는 프로세스 및 쓰레드와 같이 실행중인 프로그램을 의미하며 사용자의 요청을 처리하기 위해 동작한다. 이에 윈도우즈 환경에서 프로세스와 쓰레드가 생성되고 소멸되는 것을 감지하기 위해서 윈도우즈 시스템 함수인 PsSetCreateProcessNotifyRoutine과 PsSetCreateThreadNotifyRoutine을 이용한다. 이 함수는 프로세스 및 쓰레드가 생성되거나 소멸될 때 해당 주체의 주요 정보를 추출한다. 프로세스의 경우에 프로세스 식별자, 프로세스 이름, 부모 프로세스 식별자, 부모 프로세스 이름 등은 추적시스템에서 유용한 정보로 사용된다. 다음은 위 2개 함수의 원형이다.Execution subject of the present invention refers to a running program, such as a process and a thread, and operates to process a user's request. The Windows system functions PsSetCreateProcessNotifyRoutine and PsSetCreateThreadNotifyRoutine are used to detect the creation and destruction of processes and threads in the Windows environment. This function extracts the principal's main information when processes and threads are created or destroyed. In the case of a process, the process identifier, process name, parent process identifier, parent process name, etc. are used as useful information in the tracking system. Here is the prototype of the above two functions:

-NTSTATUS PsSetCreateProcessNotifyRoutine( IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine, IN BOOLEAN Remove );NTSTATUS PsSetCreateProcessNotifyRoutine (IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine, IN BOOLEAN Remove);

-NTSTATUS PsSetCreateThreadNotifyRoutine( IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine );NTSTATUS PsSetCreateThreadNotifyRoutine (IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);

도 4는 본 발명에서 제공하는 프로세스 및 쓰레드 정보 획득을 위한 사용자 함수의 소스 코드를 예시한다.4 illustrates source code of a user function for obtaining process and thread information provided by the present invention.

본 발명은 전술한 윈도우즈 시스템 함수 및 시스템 구조체를 이용하여 프로세스 및 쓰레드 정보를 수집한다.The present invention collects process and thread information using the Windows system functions and system structures described above.

본 발명의 필터 드라이버는 기동하면서 기존에 존재하고 있는 프로세스와 쓰레드의 목록을 획득하기 위해 ZwQuerySystemInformation 윈도우즈 시스템 함수를 사용한다. 도 4는 ZwQuerySystemInformation 함수를 사용해서 시스템에서 동작중인 프로세스 및 쓰레드의 정보를 획득하기 위한 소스 코드를 보이고 있다. 다음은 이 함수의 원형이다.The filter driver of the present invention uses the ZwQuerySystemInformation Windows system function to get a list of existing processes and threads during startup. 4 shows source code for acquiring information on processes and threads running in a system using a ZwQuerySystemInformation function. Here is the prototype of this function:

- unsigned long ZwQuerySystemInformation(IN ULONG tag, OUT VOID *buffer, IN ULONG bufferSize, OUT ULONG *returnedSize);unsigned long ZwQuerySystemInformation (IN ULONG tag, OUT VOID * buffer, IN ULONG bufferSize, OUT ULONG * returnedSize);

위 함수에서, 매개 변수 중 "tag"는 어떤 정보가 반환되는지를 표시한다. tag 변수에 '5'를 전달하면 프로세스 및 쓰레드의 정보가 추출된다. 함수 호출 결과는 SYSTEM_PROCESS_INFORMATION 구조체 등의 값이 "buffer" 변수에 저장된다.In the above function, "tag" of the parameter indicates what information is returned. Passing '5' to the tag variable extracts the process and thread information. The result of the function call is stored in the "buffer" variable, such as the SYSTEM_PROCESS_INFORMATION structure.

도 5 본 발명에 따른 보안 레이블 정보 구조체의 데이터 구조를 도시한다.5 shows a data structure of a security label information structure according to the present invention.

본 발명의 필터 드라이버는 실행 주체 및 객체에 대하여 각각 보안 레이블 정보들을 정의한다.The filter driver of the present invention defines security label information for an execution subject and an object, respectively.

주체에 대한 확장 보안 레이블을 설명하면 다음과 같다. 필터 드라이버는 프 로세스 정보를 수집하여 프로세스의 보안 레이블 정보 구조체에 저장한다. 강제적 접근 제어를 위한 주체의 보안 레이블 정보는 사용자(보안 관리자)에 의해 안전하게 등록되어야 하며 보안 커널 내부에서 획일적으로 유지되어야 한다. 도 5는 프로세스에게 보안 레이블을 설정하기 위해 보안 커널 내부에 구성된 프로세스 정보 구조체를 도시한다.The extended security label for a subject is described as follows. The filter driver collects process information and stores it in the process's security label information structure. The subject's security label information for mandatory access control must be securely registered by the user (security administrator) and maintained uniformly within the security kernel. 5 shows a process information structure configured inside a secure kernel to assign a security label to a process.

보안 레이블 정보에서 "Clearance", "Category" 변수는 각각 프로세스의 보안 등급과 보호 범주를 설정하기 위해 선언하였고, "Trace"변수는 특정 프로세스의 행위를 추적하기 위해 선언한 주체 추적 보안 레이블이다. 본 발명에서 주체 추적 보안 레이블은 기존 보안 레이블을 확장하는 것이다. 즉, 보안 관리자는 필터 드라이버와 상호 동작하는 GUI를 제공받아 사용자, 프로그램, 파일, 폴더 등에 대하여 보안 등급과 보호 범주를 설정하고 이들에 대하여 추적 대상 여부를 설정하여 보안 레이블 정보 구조체에 저장한다. 따라서, TRACE 변수가 'TRUE'로 설정되어 있는 프로세스의 모든 작업 행위는 추적 시스템의 커널 모드에서 동작하는 필터 드라이버에 의해 추적되고 로그 기록을 남긴다.In the security label information, the "Clearance" and "Category" variables are declared to set the security level and the protection category of the process, respectively, and the "Trace" variable is the subject tracking security label declared to track the behavior of a specific process. In the present invention, the subject tracking security label is an extension of an existing security label. That is, the security manager is provided with a GUI that interacts with the filter driver, sets security level and protection category for users, programs, files, folders, and the like, and sets whether or not to be tracked in the security label information structure. Therefore, all working behavior of processes with the TRACE variable set to 'TRUE' are tracked and logged by the filter driver running in the kernel mode of the tracking system.

한편, 객체에 대한 보안 레이블 정보들을 설명하면 다음과 같다.Meanwhile, security label information of an object is described as follows.

주체가 생성한 객체들은 객체가 담고 있는 정보의 기밀성에 따라 그에 적합한 보안 등급과 보호 범주가 부여되어야 한다. 이를 위해 각 객체에 대한 보안 레이블 정보를 저장 및 안전하게 유지할 수 있는 보안 레이블의 기억장소가 필요하다. 객체에 대한 보안 레이블은 보안 등급을 가진 프로세스가 새로운 객체를 만들어 낼 때 각 주체의 보안 등급과 보호 범주를 확인하여 NTFS 내의 확장 파일 속성 구조체 내에 저장한다. NTFS 파일 포맷에서의 객체들은 내용 이외에도 접근 권한, 생성 시간, 최근 수정한 날짜 등과 같은 여러 가지 메타 정보를 갖는다. 확장 파일 속성은 운영체제가 지원하는 기본적인 메타 데이터 외에 사용자가 임의로 파일에 메타 정보를 부여하기 위해서 사용된다.Objects created by the subject should be given appropriate security level and protection category according to the confidentiality of the information contained in the object. To do this, it is necessary to store a security label that can store and secure the security label information for each object. The security label for an object identifies each subject's security level and protection category when the process with the security level creates a new object and stores it in the extended file attribute structure in NTFS. In addition to the contents, objects in the NTFS file format have various meta-information such as access rights, creation time, date last modified, and so on. The extended file attribute is used to give meta information to a file arbitrarily in addition to basic metadata supported by an operating system.

본 발명에서는 특정 파일이나 디렉터리, 레지스터리 등의 객체에 접근한 내역 및 변조하는 행위 등의 데이터를 수집하기 위해 다중 등급 보안의 전형적인 보안 등급 및 보호 범주의 보안 레이블 이외에 객체 추적 보안 레이블인 "Trace"를 추가하였다. 본 발명에서의 객체 추적 보안 레이블은 전술한 주체 추적 보안 레이블과 더불어 기존 보안 레이블을 확장하는 것이다. 즉, Trace 변수가 'TRUE'로 설정되어 있는 파일 및 디렉토리에 대한 모든 작업 내역은 추적 시스템의 커널 모드에서 동작하는 필터 드라이버에 의해 추적되고 로그로 기록된다.In the present invention, the object tracking security label "Trace" is used in addition to the security label of the typical security level and the protection category of the multi-level security in order to collect data such as access to and tampering with an object such as a specific file, directory, or registry. Added. The object tracking security label in the present invention extends an existing security label together with the subject tracking security label described above. In other words, all the history of files and directories with the Trace variable set to 'TRUE' are traced and logged by the filter driver running in the kernel mode of the trace system.

전술한 바와 같이, 주체 추적 보안 레이블 및 객체 추적 보안 레이블은 본 발명에서 제공하는 보안 모델의 핵심 기능이다. 데이터를 파일 시스템에 전송하기 전에 필터링하여 필요한 작업을 수행하기 위한 선처리 루틴과 파일 시스템에서 처리한 IRP(Io Request Packet) 결과를 응용단에 리턴하는 시점을 필터링하여 필요한 작업을 수행하는 후처리 루틴으로 구분하여 처리한다. 응용단에서 특정 객체를 접근하기 위한 IRP를 생성하면 선처리 과정에서 주체 및 객체의 보안레이블을 확인하여 추적 대상 프로세스 및 파일인지를 확인하여 그 처리 내역을 로그로 남긴다.As mentioned above, subject tracking security labels and object tracking security labels are key functions of the security model provided by the present invention. It is a preprocessing routine to filter the data before sending it to the file system, and a post processing routine to filter the time when the IRP (Io Request Packet) result processed by the file system is returned to the application. Process separately. When an application creates an IRP for accessing a specific object, it checks the security label of the subject and object in the preprocessing process, checks whether it is a process and file to be tracked, and logs the processing history.

수정된 BLP 모델에 기반하여 구현된 다중 등급 보안 강제적 접근제어 규칙에 따라 프로세스가 특정 파일에 대한 모든 작업 권한을 획득하였다 하더라도 해당 프 로세스의 주체 추적 보안레이블이 TRUE로 설정되어 있으면 해당 프로세스의 작업 내역은 모두 추적되어 로깅된다. 또한 객체 추적 보안레이블이 설정되어 있는 객체에 대한 모든 작업 내역이 로깅되도록 구현하였다. 인가받지 않은 사용자가 불법적으로 파일에 접근하여 작업한 모든 행위에 대한 내역을 로깅함으로써 향후 디지털 포렌식의 근거 자료로 활용할 수 있다.According to the multi-level security mandatory access control rules implemented based on the modified BLP model, even if a process has acquired all the rights to a particular file, if the process's subject tracking security label is set to TRUE, the process history of that process. Are all traced and logged. In addition, all traces of the objects for which the object tracking security label is set are implemented. By logging the details of all actions that unauthorized users have accessed and worked with files illegally, they can be used as the basis for future digital forensics.

이하, 첨부도면을 참조하여 본 발명의 바람직한 일 실시예의 구성을 상세하게 살펴본다.Hereinafter, with reference to the accompanying drawings looks at in detail the configuration of a preferred embodiment of the present invention.

<2. 시스템 구성><2. System configuration>

도 6은 본 발명의 일 실시예에 따른 프로세스 및 파일 추적 시스템(1)의 개략적 내부 구성을 도시한다.6 shows a schematic internal configuration of a process and file tracking system 1 according to an embodiment of the invention.

본 발명의 일 실시예에 따른 추적 시스템(1)은 프로세스의 파일 입출력시 발생하는 시스템 파일의 커널 호출을 가로채는 커널 호출 후킹 수단(12), 가로챈 커널 호출로부터 분석된 프로세스(주체) 및 파일(객체) 각각의 보안 레이블 정보를 조회하는 보안 레이블 조회 수단(13), 조회된 확장 보안 레이블에 당해 주체 또는 객체가 추적 대상으로 설정되었는지 조사하는 추적 대상 판단 수단(14), 추적이 설정된 경우, 대응하는 프로세스 또는 파일의 작업 내역을 로그로 기록하는 로그 생성 수단(15), 프로세스 및 파일 각각의 보안 레이블에 설정된 보안 등급을 비교하는 보안 등급 비교 수단(16) 및 비교 결과가 일치할 경우에만 파일 입출력 권한을 부여하여 시스템 파일의 커널 호출을 허가하는 수단(17)을 포함하여 구성된다.The tracking system 1 according to an embodiment of the present invention includes a kernel call hooking means 12 for intercepting a kernel call of a system file generated at the time of file input / output of a process, a process (subject) and a file (analyzed from the intercepted kernel call). Object) security label inquiry means (13) for inquiring each security label information; tracking object determination means (14) for investigating whether the subject or object is set for tracking in the inquired extended security label; File generation input and output only when the log generation means 15 for recording the operation history of the process or file, the security level comparison means 16 for comparing the security level set in the security label of each process and file, and the comparison result match. And means 17 for granting authority to allow kernel calls of system files.

바람직하게, 추적 시스템(1)은 사용자(보안 관리자)에게 실행 주체(프로세스) 및 실행 객체(파일 및 폴더)의 리스트를 제공하고, 주체 및 객체에 대하여 보안 등급과 보호 범주를 설정받는다. 여기서, 추가로 파일 처리 작업시 로그를 발생하는 추적 대상인지를 선택받고, 선택된 주체 또는 객체에 대응하는 확장 보안 레이블에 추적 대상으로 설정하는 추적 대상 설정 수단(11)을 더 포함하여 구성된다.Preferably, the tracking system 1 provides a user (security manager) with a list of execution subjects (processes) and execution objects (files and folders), and sets security levels and protection categories for the subjects and objects. Here, it is further configured to further include a tracking target setting means 11 for selecting whether or not to be a tracking target for generating a log during the file processing operation, and setting the tracking target in the extended security label corresponding to the selected subject or object.

본 발명의 일 실시예에 따른 파일 추적 시스템(1)은 전술한 구성 요소(11~17)가 필터 드라이버로 프로그램화되고, 윈도우즈 운영체제가 탑재된 컴퓨터 시스템으로 구현할 수 있다.The file tracking system 1 according to an exemplary embodiment of the present invention may be implemented as a computer system in which the above-described components 11 to 17 are programmed with a filter driver and a Windows operating system is mounted.

이상의 확장된 보안 레이블을 이용하는 프로세스 및 파일 추적 시스템(1)을 구성하는 개별 구성 요소들의 상세한 기능과 동작은 후술하는 프로세스 및 파일 추적 방법을 통하여 설명한다.Detailed functions and operations of the individual components constituting the process and file tracking system 1 using the extended security label will be described through the process and file tracking method described below.

<3. 방법 구성><3. Method composition>

도 7은 본 발명의 일 실시예에 따른 프로세스 및 파일 추적 방법의 개략적 순서를 도시한다.7 illustrates a schematic sequence of a process and file tracking method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 확장된 보안 레이블을 이용하는 프로세스 및 파일 추적 시스템 및 프로세스 및 파일 추적 방법은 전술한 시스템(1)의 구축을 통하여 바람직하게 실현될 수 있다. Process and file tracking system and process and file tracking method using the extended security label according to an embodiment of the present invention can be preferably realized through the construction of the system (1) described above.

추적 시스템(1)의 추적 대상 설정 수단(11)은 사용자(보안 관리자)에게 화면 인터페이스를 제공하여 주체(프로세스, 쓰레드 등) 및 객체(파일, 디렉토리, 레지 스트리 등)에 대하여 추적 대상 여부를 설정받고 저장한다(S11). 여기서, 사용자가 화면을 통하여 주체 및 객체에 대하여 보안 등급과 보호 범위를 설정하는 것도 물론 가능하다. 사용자의 설정 정보는 본 발명에서 정의하는 도 5의 확장 보안 테이블 구조체에 저장된다.The tracking target setting means 11 of the tracking system 1 provides a screen interface to a user (security manager) to set whether or not to track the subject (process, thread, etc.) and objects (file, directory, registry, etc.). Received and stored (S11). Here, it is of course possible for the user to set the security level and the protection range for the subject and the object through the screen. The setting information of the user is stored in the extended security table structure of FIG. 5 defined in the present invention.

이후, 윈도우즈 운영체제 환경에서, 파일 I/O 이벤트가 발생하면, 커널 호출 후킹 수단(12)은 당해 파일 I/O 이벤트와 관련된 시스템 파일의 커널 호출을 중간에서 가로챈다(S12). 이 과정은 전술한 시스템 함수를 이용하여 주체의 생성, 소멸을 미리 감지하도록 선언하고, 감지한 당해 프로세스의 정보를 조회(도 4 참조)하여 도 5의 확장 보안 테이블에 저장한다.Then, in a Windows operating system environment, when a file I / O event occurs, the kernel call hooking means 12 intercepts a kernel call of a system file related to the file I / O event in the middle (S12). This process is declared to detect the creation and destruction of the subject in advance by using the system function described above, and the information of the detected process is inquired (see FIG. 4) and stored in the extended security table of FIG. 5.

함수 호출을 가로채면, 보안 레이블 조회 수단(13)은 가로챈 정보로부터 대응하는 프로세스(주체) 및 파일(객체) 각각의 정보를 추출한 후 각각에 대응하는 확장 보안 레이블을 조회한다(S13).If the function call is intercepted, the security label inquiry means 13 extracts the information of each of the corresponding process (subject) and file (object) from the intercepted information and then inquires the corresponding extended security label (S13).

추적 대상 판단 수단(14)은 조회한 확장 보안 레이블의 구조체에서 "Trace" 변수값이 'TRUE'값인지를 판단한다(S14). Trace는 본 발명에서 제공하는 추적 대상 여부를 나타내는 추적 보안 레이블이다.The tracking target determination means 14 determines whether the "Trace" variable value is a "TRUE" value in the structure of the inquired extended security label (S14). Trace is a trace security label indicating whether to be traced provided by the present invention.

주체 또는 객체가 추적 대상으로 설정된 경우, 로그 생성 수단(15)은 당해 프로세스 및 파일에 대한 작업 처리 내역을 로그로 기록하여 저장한다(S15). When the subject or the object is set as the tracking target, the log generating means 15 records and stores the job processing details on the process and the file as a log (S15).

바람직하게, 상기 로그는, 시스템 파일의 커널 호출을 가로챈 후 대응하는 디바이스 프로그램으로 전달하기 전에 파일 입출력 작업 요청의 발생 사실, 보안 등급의 비교 결과 등을 기록하고, 커널 호출을 디바이스 프로그램(디바이스 드라이 버)으로 전달한 이후의 작업 완료의 내역을 모두 기록한다. 여기서, 로그 데이터는 사용자 ID, 사용자 IP 주소, 프로그램명, 프로세스명, 폴더명, 파일명, 파일 I/O 종류(create, read, write, delete 등), 처리 일시 등의 내역을 포함한다.Preferably, the log records the fact that a file input / output operation request has occurred, a result of comparing security levels, and the like, before intercepting a kernel call of a system file and passing it to a corresponding device program, and writing a kernel call to a device program (device drive). Record all the details of work completion after delivery. Here, the log data includes details such as a user ID, a user IP address, a program name, a process name, a folder name, a file name, a file I / O type (create, read, write, delete, etc.), a processing date and time.

한편, 보안 등급 비교 수단(16)은 프로세스 및 파일 각각에 대하여 확장 보안 레이블에 설정된 보안 등급을 비교한다(S16). 이것은 당해 프로세스가 파일에 대한 작업 권한을 비교하는 것이다.On the other hand, the security level comparison means 16 compares the security level set in the extended security label for each process and file (S16). This means that the process compares the permission to work on the file.

보안 등급의 비교 결과가 일치할 경우에만, 커널 호출 허가 수단(17)은 파일 입출력 권한을 부여하여 중간에서 가로챈 커널 호출을 시스템 드라이버로 전달한다(S17). 이후 시스템 드라이버는 내장 함수의 호출을 전달받고 하드웨어(디스크)를 대상으로 실제 처리(파일 I/O)를 수행한다.Only when the comparison result of the security level is matched, the kernel call permission means 17 grants file input / output permission and transfers the intercepted kernel call to the system driver (S17). The system driver then receives the call to the built-in function and performs the actual processing (file I / O) on the hardware (disk).

참고로, 본 발명에서는 필터 드라이버가 주체와 객체의 등급이 같은 경우에만 읽기 및 쓰기를 허가하고, 주체의 보안 등급이 객체보다 높은 경우에는 낮은 등급 객체의 읽기만을 허가하고, 객체보다 등급이 낮은 경우에는 모든 파일 접근을 불허한다.For reference, in the present invention, the filter driver permits reading and writing only when the subject and the object have the same grade, and when the subject's security level is higher than the object, only the reading of the lower grade object is allowed and the grade is lower than the object. Does not allow any file access.

상술한 바와 같이, 본 발명에 따른 확장된 보안 레이블을 이용하는 프로세스 및 파일 추적 시스템 및 프로세스 및 파일 추적 방법의 실시예가 구성된다. 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.As described above, embodiments of a process and file tracking system and process and file tracking method using the extended security label in accordance with the present invention are constructed. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It goes without saying that various modifications and variations are possible within the scope of equivalence of the scope.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 전술한 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되지 않아야 한다.The following drawings, which are attached to this specification, illustrate preferred embodiments of the present invention, and together with the detailed description of the present invention serve to further understand the technical spirit of the present invention. It should not be construed as limited to.

도 1은 본 발명에 따른 프로세스 및 파일 추적 시스템의 구현 계층 예시도.1 illustrates an implementation layer of a process and file tracking system in accordance with the present invention.

도 2는 본 발명에서 이용하는 다중 등급 보안 모델의 개념도.2 is a conceptual diagram of a multi-grade security model used in the present invention.

도 3은 본 발명에서 이용하는 윈도우즈 운영체제가 저장하는 프로세스 정보 구조체의 데이터 구조도.3 is a data structure diagram of a process information structure stored by the Windows operating system used in the present invention.

도 4는 본 발명에서 프로세스 및 쓰레드 정보 획득을 위한 소스 코드 예시도.4 is a source code example for obtaining process and thread information in the present invention.

도 5는 본 발명에 따른 보안 레이블 정보 구조체의 데이터 구조도.5 is a data structure diagram of a security label information structure according to the present invention;

도 6은 본 발명의 일 실시예에 따른 프로세스 및 파일 추적 시스템의 개략적 내부 구성도.6 is a schematic internal configuration diagram of a process and file tracking system according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 프로세스 및 파일 추적 방법의 개략적 순서도.7 is a schematic flowchart of a process and file tracking method according to an embodiment of the present invention.

Claims (10)

윈도우즈 운영체제에서 프로세스의 파일 자원에 대한 이용 권한을 제어하고, 확장 보안 레이블을 이용하여 추적 대상의 프로세스 및 파일의 작업 이력을 로그로 생성하는 프로세스 및 파일 추적 시스템에 있어서,In the process and file tracking system that controls the access rights of the process's file resources in the Windows operating system, and using the extended security label to log the history of the process and the file to be tracked, 프로세스가 파일 입출력을 위하여 실행하는 시스템 파일의 커널 호출을 가로채는 수단;Means for intercepting kernel calls of system files that a process executes for file input and output; 상기 커널 호출에 관계된 프로세스(주체) 및 파일(객체) 각각의 보안 레이블 정보를 조회하는 수단;Means for querying security label information of each process (subject) and file (object) involved in the kernel call; 조회한 확장 보안 레이블에서 추적 대상으로 설정되었는지 조사하는 수단;Means for investigating whether the extension security label has been set as a tracking target; 추적이 설정된 경우, 대응하는 프로세스 및 파일의 작업 내역을 로그로 기록하는 수단;Means for recording a history of operations of corresponding processes and files when tracing is set up; 프로세스 및 파일 각각의 보안 레이블에 설정된 보안 등급을 비교하는 수단; 및Means for comparing a security level set in a security label of each process and file; And 보안 등급의 비교 결과가 일치할 경우에만 파일 입출력 권한을 부여하여 상기 커널 호출을 허가하는 수단을 포함하고,Means for granting the file input / output permission only when the comparison result of the security level is matched to permit the kernel call, 상기 보안 레이블 정보는,The security label information, 다중 등급 보안 정책에 기반하는 보안 등급과 보호 범주를 포함하며, 추가로 추적 대상 여부가 설정되는 추적 보안 레이블을 더 포함하는 구조체로 정의되는 것을 특징으로 하는 프로세스 및 파일 추적 시스템.A process and file tracking system, comprising a security level and protection category based on a multi-level security policy, further defined by a structure further comprising a trace security label for which a trace target is set. 삭제delete 제 1항에 있어서,The method of claim 1, 상기 로그는,The log is, 시스템 파일의 커널 호출 이전에 파일 입출력 작업 요청의 발생 사실, 보안 등급의 비교 결과 및 커널 호출 이후의 작업 완료의 내역을 포함하는 것을 특징으로 하는 프로세스 및 파일 추적 시스템.A process and file tracking system comprising the fact that a file input / output operation request occurred prior to a kernel call of a system file, a result of comparing security levels, and a history of completion of the operation after a kernel call. 제 3항에 있어서,The method of claim 3, 상기 로그는,The log is, 사용자 ID, 사용자 IP 주소, 프로그램명, 프로세스명, 폴더명, 파일명, 파일 I/O 종류의 내역을 더 포함하는 것을 특징으로 하는 프로세스 및 파일 추적 시스템.Process and file tracking system further comprises a description of the user ID, user IP address, program name, process name, folder name, file name, file I / O type. 제 1항, 제 3항 및 제 4항 중 어느 한 항에 있어서,The method according to any one of claims 1, 3 and 4, 실행 주체(프로세스) 및 실행 객체(파일 및 폴더)의 리스트를 제공하고, 사용자로부터 추적 대상을 선택받으면, 대응하는 확장 보안 레이블에 추적 대상으로 설정하는 수단을 더 포함하는 것을 특징으로 하는 프로세스 및 파일 추적 시스템.Providing a list of execution subjects (processes) and execution objects (files and folders), and if the user selects a trace target, sets the trace target to a corresponding extended security label. Tracking system. 윈도우즈 운영체제에서 프로세스의 파일 자원에 대한 이용 권한을 제어하고, 확장 보안 레이블을 이용하여 추적 대상의 프로세스 및 파일의 작업 이력을 로그로 생성하는 필터 드라이버의 추적 방법에 있어서,In the filter driver tracking method of controlling the access rights of the process's file resources in the Windows operating system, and using the extended security label to log the operation history of the process and the file to be tracked, (S12)프로세스가 파일 입출력을 위하여 실행하는 시스템 파일의 커널 호출을 가로채는 단계;(S12) intercepting a kernel call of a system file executed by the process for file input / output; (S13)상기 커널 호출에 관계된 프로세스(주체) 및 파일(객체) 각각의 보안 레이블 정보를 조회하는 단계;Querying security label information of each of a process (subject) and a file (object) related to the kernel call; (S14)조회한 확장 보안 레이블에서 추적 대상으로 설정되었는지 조사하는 수단;(S14) means for investigating whether the extended security label has been set as a tracking target; (S15)추적이 설정된 경우, 대응하는 프로세스 및 파일의 작업 내역을 로그로 기록하는 수단;(S15) means for recording the work history of the corresponding process and file in a log when tracking is set; (S16)프로세스 및 파일 각각의 보안 레이블에 설정된 보안 등급을 비교하는 단계; 및(S16) comparing the security level set in each security label of the process and the file; And (S17)보안 등급의 비교 결과가 일치할 경우에만 파일 입출력 권한을 부여하여 상기 커널 호출을 허가하는 단계를 포함하고,(S17) granting the file I / O permission only when the comparison result of the security level is matched, and permitting the kernel call, 상기 보안 레이블 정보는,The security label information, 다중 등급 보안 정책에 기반하는 보안 등급과 보호 범주를 포함하며, 추가로 추적 대상 여부가 설정되는 추적 보안 레이블을 더 포함하는 구조체로 정의되는 것을 특징으로 하는 프로세스 및 파일 추적 방법.A process and file tracking method, comprising a security level and a protection category based on a multi-level security policy, further defined by a structure further comprising a tracking security label for which a tracking target is set. 삭제delete 제 6항에 있어서,The method of claim 6, 상기 로그는,The log is, 시스템 파일의 커널 호출 이전에 파일 입출력 작업 요청의 발생 사실, 보안 등급의 비교 결과 및 커널 호출 이후의 작업 완료의 내역을 포함하는 것을 특징으로 하는 프로세스 및 파일 추적 방법.A process and file tracking method comprising the fact that a file input / output operation request occurred before a kernel call of a system file, a comparison result of a security level, and a history of completion of the operation after a kernel call. 제 8항에 있어서,The method of claim 8, 상기 로그는,The log is, 사용자 ID, 사용자 IP 주소, 프로그램명, 프로세스명, 폴더명, 파일명, 파일 I/O 종류의 내역을 더 포함하는 것을 특징으로 하는 프로세스 및 파일 추적 방법.Process of the user ID, user IP address, program name, process name, folder name, file name, file I / O type further comprising the process. 제 6항, 제 8항 및 제 9항 중 어느 한 항에 있어서,The method according to any one of claims 6, 8 and 9, (S11)실행 주체(프로세스) 및 실행 객체(파일 및 폴더)의 리스트를 제공하고, 사용자로부터 추적 대상을 선택받으면, 대응하는 확장 보안 레이블에 추적 대상으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 프로세스 및 파일 추적 방법.(S11) providing a list of execution subjects (processes) and execution objects (files and folders), and if a target to be tracked is selected by the user, setting the target to be tracked in a corresponding extended security label. How to track processes and files.
KR1020090024043A 2009-03-20 2009-03-20 System for tracing process and file using extended security level KR101040765B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090024043A KR101040765B1 (en) 2009-03-20 2009-03-20 System for tracing process and file using extended security level

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090024043A KR101040765B1 (en) 2009-03-20 2009-03-20 System for tracing process and file using extended security level

Publications (2)

Publication Number Publication Date
KR20100105161A KR20100105161A (en) 2010-09-29
KR101040765B1 true KR101040765B1 (en) 2011-06-10

Family

ID=43009330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090024043A KR101040765B1 (en) 2009-03-20 2009-03-20 System for tracing process and file using extended security level

Country Status (1)

Country Link
KR (1) KR101040765B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710426B1 (en) 2015-11-30 2017-02-27 동양대학교 산학협력단 Automated digital forensic system to identify the command history of the file

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101482886B1 (en) * 2013-11-13 2015-01-15 닉스테크 주식회사 Apparatus and method of data loss prevention using file tagging
CN111400706A (en) * 2020-03-10 2020-07-10 深信服科技股份有限公司 Virus defense method, device, equipment and storage medium
KR102342158B1 (en) * 2020-05-28 2021-12-22 우석대학교 산학협력단 File access tracking method using window event log and electronic device thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105132A (en) 1997-02-20 2000-08-15 Novell, Inc. Computer network graded authentication system and method
KR20030077866A (en) * 2002-03-27 2003-10-04 광주과학기술원 Extended BLP Security System
KR101041200B1 (en) * 2006-12-29 2011-06-13 현대중공업 주식회사 THE DEVELOPEMENT FOR 362kV 50kA CONDENSER-LESS SF6 GAS CIRCUIT BREAKER

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105132A (en) 1997-02-20 2000-08-15 Novell, Inc. Computer network graded authentication system and method
KR20030077866A (en) * 2002-03-27 2003-10-04 광주과학기술원 Extended BLP Security System
KR101041200B1 (en) * 2006-12-29 2011-06-13 현대중공업 주식회사 THE DEVELOPEMENT FOR 362kV 50kA CONDENSER-LESS SF6 GAS CIRCUIT BREAKER

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
정보보호학회논문집 제11권제4호 pp.33-43 (2001.08.)*
한국정보처리학회 춘계학술발표대회 논문집 제14권제1호 pp.1038-1041 (2007.05.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710426B1 (en) 2015-11-30 2017-02-27 동양대학교 산학협력단 Automated digital forensic system to identify the command history of the file

Also Published As

Publication number Publication date
KR20100105161A (en) 2010-09-29

Similar Documents

Publication Publication Date Title
US10154066B1 (en) Context-aware compromise assessment
Kharraz et al. Redemption: Real-time protection against ransomware at end-hosts
US9602515B2 (en) Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7673324B2 (en) Method and system for tracking an operating performed on an information asset with metadata associated therewith
US8769605B2 (en) System and method for dynamically enforcing security policies on electronic files
US20110239293A1 (en) Auditing access to data based on resource properties
US20070277222A1 (en) System and method for executing a permissions recorder analyzer
US8122517B2 (en) Mediated access of software dumped data through specialized analysis modules
Khansa et al. Assessing innovations in cloud security
KR100853721B1 (en) Method for real-time integrity check and audit trail connected with the security kernel
KR101040765B1 (en) System for tracing process and file using extended security level
US11336628B2 (en) Methods and systems for securing organizational assets in a shared computing environment
KR101920613B1 (en) Security policy and audit log bi-directional lookup, comparing and tracking system and method thereof
Petkovic et al. A host based method for data leak protection by tracking sensitive data flow
Ansari et al. A kernel level vfs logger for building efficient file system intrusion detection system
US20180349616A1 (en) System and Method for Tracing Data Access and Detecting Abnormality in the Same
Mishra et al. CONTAIN4n6: a systematic evaluation of container artifacts
US20200012802A1 (en) File system lock down
Huh et al. Trusted logging for grid computing
Tian et al. The survey of information system security classified protection
WO2021144770A1 (en) Device and method for securing, governing and monitoring source control management (scm) and version control systems
Agada A Distributed Digital Body Farm for Dynamic Monitoring of File Decay Patterns on the NTFS Filesystem
Myagmar Threat Modeling networked and data-centric systems
Haber et al. Asset Management
Alsmadi et al. System Administration

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150603

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160603

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee