KR100772455B1 - Dac strengthening apparatus and method for controlling classification and execution of process - Google Patents

Dac strengthening apparatus and method for controlling classification and execution of process Download PDF

Info

Publication number
KR100772455B1
KR100772455B1 KR1020050053935A KR20050053935A KR100772455B1 KR 100772455 B1 KR100772455 B1 KR 100772455B1 KR 1020050053935 A KR1020050053935 A KR 1020050053935A KR 20050053935 A KR20050053935 A KR 20050053935A KR 100772455 B1 KR100772455 B1 KR 100772455B1
Authority
KR
South Korea
Prior art keywords
group
execution
program
programs
dvo
Prior art date
Application number
KR1020050053935A
Other languages
Korean (ko)
Other versions
KR20060134334A (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 KR1020050053935A priority Critical patent/KR100772455B1/en
Publication of KR20060134334A publication Critical patent/KR20060134334A/en
Application granted granted Critical
Publication of KR100772455B1 publication Critical patent/KR100772455B1/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
    • G06F21/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 DAC 강화를 위한 프로세스 분류/실행 제어 장치 및 방법에 관한 것으로서, 시스템 내에서 실행 가능한 프로그램 객체들을 시스템 명령어(Command), 유틸리티(Utility), 안전성(Safety)이 입증된 프로그램들의 그룹인 CUS 그룹과, 내부 사용자가 임의로(Discretionary) 제작한 프로그램, 알려진 취약한(Vulnerable) 프로그램, 외부(Outer) 사용자가 접속 시 구동되는 서비스 프로그램들의 그룹인 DVO 그룹으로 나누고, DVO 그룹 멤버 프로세스 주체가 CUS 그룹 멤버 프로그램을 실행함으로써 발생 가능한 권한 상승을 사전에 차단할 수 있도록 하기 위해, 실행가능 객체들을 분류, 관리할 수 있는 응용단의 관리 프로그램과 커널단의 실행 프로세스 관리부, 실행객체 관리부 및 프로세스 실행 통제부로 구성시킴으로써, 기존 DAC 시스템의 운영성을 그대로 보장할 수 있으며, 버퍼오버플로우 같은 공격으로 인한 시스템 탈취 위협을 줄여 안전한 시스템 개발에 활용될 수 있다. The present invention relates to an apparatus and method for classifying / executing a process for strengthening a DAC. The present invention relates to CUS, which is a group of programs whose system commands, utilities, and safety have been proven. The group is divided into DVO group, which is a group of discretionary programs created by internal users, known vulnerable programs, and service programs that are run when an external user connects, and the DVO group member process entity is a CUS group member. In order to prevent the elevation of privileges that can occur by executing a program, the program can be composed of an application program manager that can classify and manage executable objects, an execution process manager, an execution object manager, and a process execution control part of the kernel level. To ensure the operability of the existing DAC system. In addition, it can be used to develop a secure system by reducing the threat of system exploitation due to an attack such as a buffer overflow.

DAC, 프로세스 관리부, 실행객체 관리부, 프로세스 실행 통제부 DAC, Process Management, Execution Object Management, Process Execution Control

Description

DAC 강화를 위한 프로세스 분류/실행 제어 장치 및 방법{DAC STRENGTHENING APPARATUS AND METHOD FOR CONTROLLING CLASSIFICATION AND EXECUTION OF PROCESS} DAC STRENGTHENING APPARATUS AND METHOD FOR CONTROLLING CLASSIFICATION AND EXECUTION OF PROCESS}

도 1은 전통적인 DAC 시스템에서의 프로세스간의 관계 부재로 인한 권한 상승 공격을 보여주고 있는 도면, 1 illustrates an elevation of privilege attack due to a lack of inter-process relationships in a traditional DAC system.

도 2는 DAC 강화 시스템의 개요를 보여주는 도면, 2 shows an overview of a DAC enhancement system;

도 3은 실행 가능 객체 간의 실행 접근 허용/불허 관계를 보여주는 도면, 3 is a diagram illustrating execution access permission / disallow relationship between executable objects;

도 4는 DAC 강화 시스템의 작동 방식을 보여주는 화면이다. 4 is a screen showing the operation of the DAC enhancement system.

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

1 : CUS 그룹 2 : DVO 그룹 1: CUS group 2: DVO group

3 : 프로그램 그룹 관리 프로그램 4 : 리눅스 커널 3: program group management program 4: Linux kernel

5 : 커널 모듈 51 : 프로그램 분류 집행부 5: Kernel Module 51: Program Classification Executive

52 : 프로세스 실행 통제부 53 : 프로세스 관리부 52: process execution control unit 53: process management unit

54 : 실행객체 관리부 6 : 시스템 호출 인터페이스 54: execution object management unit 6: the system call interface

7 : 실행 객체 저장소 7: running object store

본 발명은 DAC 강화를 위한 프로세스 분류/실행 제어 장치 및 방법에 관한 것으로, 더욱 상세하게는 임의적 접근 통제(DAC: Discretionary Access Control) 시스템의 보안을 강화하기 위해서 실행 가능한 객체를 두 그룹으로 분류하고, 프로세스 주체가 실행가능 객체에 접근(실행)하는 과정을 통제함으로써 악의적인 프로세스에 의한 권한 상승 공격을 차단하는 DAC 강화를 위한 프로세스 분류/실행 제어 장치 및 방법에 관한 것이다. The present invention relates to a process classification / execution control apparatus and method for DAC enhancement, and more particularly, to classify executable objects into two groups in order to enhance security of a discretionary access control (DAC) system. The present invention relates to a process classification / execution control apparatus and method for strengthening a DAC that blocks an elevation attack by a malicious process by controlling a process subject to access (execute) an executable object.

기존 리눅스 시스템의 접근 통제 기법은 임의적 접근 통제(DAC: Discretionary Access Control) 정책을 채용한다. 임의적 접근 통제 정책은 주체나 또는 그들이 속해 있는 그룹들의 신분에 근거하여 객체에 대한 접근을 제한한다. 이와 같이 주체의 신분이 매우 중요하므로 만약 다른 주체의 신분을 사용하여 행위가 이루어진다면 DAC은 파괴될 수 있는 단점이 있다. 또한 취약한 프로그램을 악용하여 루트권한을 획득하는 공격 사례들은 프로그램 실행 시 DAC 정책이 무효함을 보여준다. The access control scheme of existing Linux systems employs discretionary access control (DAC) policies. Discretionary access control policies restrict access to objects based on the identity of the subject or groups to which they belong. In this way, the identity of the subject is very important, so if the action is performed using the identity of another subject, the DAC may be destroyed. In addition, attack cases that gain root privileges by exploiting vulnerable programs show that the DAC policy is invalid when the program is executed.

이와 같이, 전통적인 임의적 접근 통제는 주체나 또는 그들이 속한 그룹들의 신분에 근거하여 객체에 대한 접근을 제한한다. 즉 접근 통제는 객체의 소유자에 의하여 임의적으로 이루어진다. 임의적 접근 통제 정책에서 내재적으로 상속되어지 는 결점은 다음과 같다. As such, traditional discretionary access control restricts access to objects based on the identity of the subject or groups to which they belong. That is, access control is arbitrarily performed by the owner of the object. The following faults are inherently inherited from discretionary access control policies.

■ DAC 속성상 접근은 주체의 ID에 전적으로 근거를 두고 있어서 메커니즘은 데이터(객체)의 의미에 대한 아무런 지식도 갖고 있지 않으며 이에 근거하여 접근 허가를 결정하지 않는다. ■ In the nature of the DAC, access is based entirely on the identity of the subject, so the mechanism has no knowledge of the meaning of the data (object) and does not determine access permissions based on it.

■ 이와 같이 ID가 매우 중요하므로 다른 주체의 ID를 사용하여 행위가 이루어질 수 있다면 DAC은 통제 불능의 상태로 빠지게 된다. ■ As such, ID is so important that if the action can be done using another subject's ID, the DAC is out of control.

■ 트로이 목마 공격에 대하여 일반적으로 취약하다. ■ Generally vulnerable to Trojan horse attacks.

도 1은 전통적인 DAC 시스템에서의 프로세스간의 관계 부재로 인한 권한 상승 공격을 보여주고 있는 도면이다. 1 is a diagram illustrating an elevation of privilege attack due to the absence of a relationship between processes in a conventional DAC system.

DAC 시스템이 파괴되는 대표적인 공격의 예를 들어보면, 도 1에 도시된 바와 같이 악의적 사용자가 아파치 같은 웹 서버의 버퍼오버플로우(BOF: Buffer OverFlow) 취약점을 이용하여 루트 쉘을 획득하는 권한상승공격을 들 수 있다. 이는 아파치 실행 객체 프로그램과 쉘 실행 객체 프로그램 간의 실행 흐름이 단지 실행 주체의 ID에 근거하기 때문이다. 다시 말해 프로그램간의 실행에 대한 어떤 관계 정의도 없기 때문이다. 또한 트로이 목마 같은 공격도 신분에 의한 접근 통제 정책이 반영될 뿐 프로그램의 의미에 대한 지식이 전통적인 DAC 에는 없기 때문에 일어나는 현상이다. As an example of a typical attack in which a DAC system is destroyed, as shown in FIG. 1, a malicious user performs an elevation attack of a root shell using a buffer overflow (BOF) vulnerability of a web server such as Apache. Can be mentioned. This is because the flow of execution between the Apache executable object program and the shell executable object program is based solely on the identity of the execution subject. In other words, there is no definition of any relationship to execution between programs. Attacks such as Trojans also occur because the access control policy by identity is reflected and the knowledge of the meaning of the program does not exist in the traditional DAC.

따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 시스템 내에서 실행 가능한 프로그램 객체들을 시스템 명령어(Command), 유틸리티(Utility), 안전성(Safety)이 입증된 프로그램들의 그룹인 CUS 그룹과, 내부 사용자가 임의로(Discretionary) 제작한 프로그램, 알려진 취약한(Vulnerable) 프로그램, 외부(Outer) 사용자가 접속 시 구동되는 서비스 프로그램들의 그룹인 DVO 그룹으로 나누고, DVO 그룹 멤버 프로세스 주체가 CUS 그룹 멤버 프로그램을 실행함으로써 발생 가능한 권한 상승을 사전에 차단할 수 있는 DAC 강화를 위한 프로세스 분류/실행 제어 장치 및 방법을 제공하는데 있다. Accordingly, the present invention has been made to solve the above-mentioned problems of the prior art, and an object of the present invention is to program programs that can be executed in a system, and to show system commands, utilities, and safety. The CUS group, which is a group of users, is divided into DVO group, which is a group of service programs that are created by discretionary users, known vulnerable programs, and external users when connected, and the DVO group member process subject. The present invention provides an apparatus and method for controlling process classification / execution for strengthening a DAC that can block an elevation of privilege that can occur by executing a CUS group member program.

상기와 같은 목적을 달성하기 위한 본 발명의 DAC 강화를 위한 프로세스 분류/실행 제어 장치는, CUS 그룹과 DVO 그룹으로 분류된 객체에 대해 프로그램 분류 작업을 의뢰하는 프로그램 그룹 관리 프로그램을 포함하는 응용단; 상기 프로그램 그룹 관리 프로그램의 의뢰에 대응하여 CUS 그룹과 DVO 그룹의 분류를 수행하며, 시스템 내 실행되고 있는 프로세스들의 그룹 및 실행 객체 저장소의 정보와 일관된 정보를 커널 메모리 상에 유지하면서 실행 가능 프로그램들의 그룹정보를 연계시켜 프로그램 실행을 통제하는 커널 모듈; 및 상기 CUS 그룹 또는 DVO 그룹으로 나누어 보관하는 실행 객체 저장소를 포함하는 것을 특징으로 한다. An apparatus for classifying / executing a process for strengthening DAC of the present invention for achieving the above object includes an application stage including a program group management program for requesting a program classification task for objects classified into a CUS group and a DVO group; In response to a request of the program group management program, a classification of a CUS group and a DVO group is performed, and a group of executable programs is maintained in kernel memory while maintaining information consistent with information of a group of processes running in a system and an execution object store. A kernel module for linking information to control program execution; And an execution object store for dividing and storing the CUS group or the DVO group.

한편, 본 발명의 DAC 강화를 위한 프로세스 분류/실행 제어 방법은, 프로그 램 그룹 관리 프로그램의 의뢰에 대응하여 프로그램 분류 집행부에서 CUS 그룹과 DVO 그룹의 분류하여 실행 객체 저장소에 저장하는 단계; 사용자 프로세스에 의한 실행 객체 접근시에 프로세스 실행 통제부에서 시스템 호출 execve를 후킹하여 프로세스 관리부 인터페이스를 통하여 현재 실행중인 프로세스 그룹 정보를 조회함과 아울러, 실행객체 관리부 인터페이스를 통하여 접근 시도하는 프로그램의 그룹 정보를 조회하는 단계; 및 상기 프로세스 주체의 그룹 정보가 DVO이고 실행객체의 그룹 정보가 CUS이면 실행 접근은 거부하는 단계를 포함하는 것을 특징으로 한다. On the other hand, the process classification / execution control method for the DAC strengthening of the present invention, in response to the request of the program group management program, the program classification execution unit classifying the CUS group and the DVO group and stores in the execution object store; When the user accesses the execution object by the user process, the process execution control unit hooks the system call execve to inquire the currently executing process group information through the process management interface, and the group information of the program attempting to access through the execution object management interface. Querying; And denying execution access if the group information of the process subject is DVO and the group information of the execution object is CUS.

이와 같이, 본 발명은 실행 가능 객체에 대해 악의적 실행 접근으로 인한 권한 상승 행위를 통제하여 프로그램의 안전한 실행을 보장한다는 것이다. 한편, 상기와 같은 목적을 이루기 위해 실행가능 객체들은 아래와 같은 분류기준에 의해 두 그룹으로 분류된다. As such, the present invention controls the elevation of privilege resulting from malicious execution access to executable objects to ensure the safe execution of programs. In order to achieve the above object, executable objects are classified into two groups according to the following classification criteria.

■ CUS 그룹■ CUS Group

- 내부 사용자가 공통으로 사용하는 시스템 명령어(Command) -System command commonly used by internal users

(예) /bin/bash, id 등 (E.g. / bin / bash, id, etc.)

- 내부 사용자가 공통으로 사용하는 시스템 유틸리티(Utility) System utilities commonly used by internal users

(예) vi, gzip 등 (E.g. vi, gzip, etc.)

- 관리자가 인증하여 안전성(Safety)이 입증된 프로그램 -Program whose safety has been certified by the administrator

(예) nessus 등 (Example) nessus, etc.

■ DVO 그룹■ DVO Group

- 내부 사용자가 임의로(Discretionary) 제작한 프로그램 -Program created by internal users arbitrarily

- 알려진 취약한(Vulnerable) 프로그램 및 해킹 프로그램 Known Vulnerable and Hacking Programs

(예) fingerd 등 (Eg) fingerd, etc.

- 외부(Outer) 사용자가 접속 시 구동되는 서비스 프로그램 -Service program driven when an external user connects

(예) httpd, sendmail 등 (E.g. httpd, sendmail, etc.)

이하, 본 발명의 DAC 강화를 위한 프로세스 분류/실행 제어 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, an apparatus and method for classifying / executing a process for enhancing DAC of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 DAC 강화 시스템의 개요를 보여주는 도면이고, 도 3은 실행 가능 객체 간의 실행 접근 허용/불허 관계를 보여주는 도면이다. FIG. 2 is a diagram illustrating an outline of a DAC enhancement system, and FIG. 3 is a diagram illustrating execution access permission / disallow relationship between executable objects.

도 2에 도시된 바와 같이, 응용단에는 CUS 그룹(1), DVO 그룹(2) 및 프로그램 그룹 관리 프로그램(3)이 위치하며, 응용단과 리눅스 커널(4) 사이에는 커널 모듈(5)이 위치하게 된다. 상기 커널 모듈(5)과 응용단 사이에는 시스템 호출 인터페이스(6)를 통해 인터페이싱이 이루어지게 되며, 상기 커널 모듈(5)에는 CUS 그룹(1) 또는 DVO 그룹(2)으로 나누어 보관하는 실행 객체 저장소(7)가 접속되게 된다. As shown in FIG. 2, the CUS group 1, the DVO group 2, and the program group management program 3 are located in the application stage, and the kernel module 5 is located between the application stage and the Linux kernel 4. Done. The kernel module 5 and the application end are interfaced through a system call interface 6, and the kernel module 5 stores an execution object store divided into a CUS group 1 or a DVO group 2. (7) is connected.

상기한 분류 정책에 의해 분류된 실행 객체(CUS 그룹(1), DVO 그룹(2))들은 실질적으로 응용단의 프로그램 그룹 관리 프로그램(3)에 의해서 커널 모듈(5)의 프로그램 분류 집행부(51)에 프로그램 분류 작업을 의뢰하게 된다. 프로그램 분류 집행부(51)는 실행 객체 저장소(7)에 실행 객체 프로그램들을 CUS 그룹(1) 또는 DVO 그룹(2)으로 나누어 보관하게 된다. CUS 그룹(1)의 실행 가능 객체들은 주로 내부 사용자들이 사용하는 명령어, 및 유틸리티 또는 안전성이 입증된 프로그램들이고, DVO 그룹(2)의 실행 가능 객체들은 주로 외부 사용자들의 접속에 대해 서비스를 해주는 프로그램 및 알려진 취약한 프로그램들로 구성된다. 최근 해킹 공격의 유형 중 웹 데몬 또는 내부 프로그램의 버퍼오버플로우 같은 취약점을 이용하여 관리자(Root) 쉘을 획득하는 점을 고려한다면 취약한 프로그램들에 의한 루트 쉘 실행을 허용해서는 안된다. Execution objects (CUS group (1), DVO group (2)) classified by the classification policy described above are substantially the program classification execution unit 51 of the kernel module 5 by the program group management program 3 of the application stage. You will be asked to classify your program. The program classification execution unit 51 divides and stores the execution object programs into the CUS group 1 or the DVO group 2 in the execution object store 7. The executable objects of the CUS group 1 are mainly commands and programs used by internal users, and programs that have proven utility or safety, and the executable objects of the DVO group 2 are mainly programs that provide services for access of external users. It consists of known vulnerable programs. Considering the recent type of hacking attack exploiting a root shell by exploiting a vulnerability such as a web daemon or an internal program's buffer overflow, the root shell should not be allowed to execute by vulnerable programs.

그리고, 프로세스 실행 통제부(52)는 도 3에 나타난 프로세스에 의한 프로그램 실행을 통제하는 커널 모듈이다. 즉, 프로세스 실행 통제부(52)는 실행 접근에 대한 허용/불허를 결정하기 위해 프로세스 관리부(53)와 실행 객체 관리부(54)와 협력한다. 프로세스 관리부(53)는 시스템 내 실행되고 있는 프로세스들의 그룹(CUS(Pc) 또는 DVO(Pd))정보를 조회, 수정할 수 있는 인터페이스로 이루어져 있다. 실행 객체 관리부(54)는  실행 객체 저장소(7)의 정보와 일관된 정보를 커널 메모리 상에 유지하면서 실행 가능 프로그램들의 그룹(CUS(Pc) 또는 DVO(Pd))정보를 조회, 수정할 수 있는 인터페이스로 이루어져 있다. In addition, the process execution control unit 52 is a kernel module that controls program execution by the process shown in FIG. 3. That is, the process execution control unit 52 cooperates with the process management unit 53 and the execution object management unit 54 to determine whether to allow or deny execution access. The process manager 53 is configured with an interface for inquiring and modifying group (CUS (Pc) or DVO (Pd)) information of processes running in the system. Execution object management unit 54 is an interface for querying and modifying information of a group of executable programs (CUS (Pc) or DVO (Pd)) while maintaining information consistent with the information of the execution object store 7 in kernel memory. consist of.

도 3에 도시된 바와 같이, 실행 프로세스가 실행 가능 객체에 대해 실행 접근을 하는 경우 접근의 허용 불허 유무를 나타내고 있다. 취약점 또는 외부 사용자에 대한 서비스를 실행하는 DVO 그룹(2)의 프로세스에 의한 CUS 그룹(1)의 프로그램(P1, P2, Pi)의 실행은 허용되지 않음을 보여주고 있다. As shown in FIG. 3, when the execution process makes an execution access to the executable object, the access process is allowed or denied. Execution of programs (P 1 , P 2 , Pi) of the CUS group (1) by the process of the DVO group (2), which executes services for vulnerabilities or external users, is not allowed.

도 4는 DAC 강화 시스템의 작동 방식을 보여주는 화면이다. 4 is a screen showing the operation of the DAC enhancement system.

도 4에 도시된 바와 같이, 사용자 프로세스가 실행 객체를 접근하는 순간 시스템이 내부적으로 작동하는 방식을 보여주고 있다. 프로세스 실행 통제부(52)는 시스템 호출 execve를 후킹하여 프로세스 관리부(53) 인터페이스를 통하여 현재 실행중인 프로세스 그룹 정보를 조회하고, 실행객체 관리부(54) 인터페이스를 통하여 접근 시도하는 프로그램의 그룹 정보를 조회한다. 프로세스 주체의 그룹 정보가 DVO(2)이고 실행객체의 그룹 정보가 CUS(1)이면 실행 접근은 거부된다. 이 때, 시스템 내의 실행중인 프로세스들은 커널 메모리에 연결 리스트 형태로 유지되며, 실행 객체들 또한 실행객체 저장소의 정보와 동기화를 이루면서 커널 메모리에 유지된다. As shown in Figure 4, the system shows how the system works internally the moment a user process accesses an execution object. The process execution control unit 52 hooks the system call execve to inquire process group information currently running through the process management unit 53 interface, and retrieves group information of a program attempting to access through the execution object management unit 54 interface. do. Execution access is denied if the group information of the process subject is DVO (2) and the group information of the execution object is CUS (1). At this time, the running processes in the system are maintained in the kernel memory in the form of a linked list, and the execution objects are also maintained in the kernel memory in synchronization with the information in the execution object storage.

이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. Although the present invention has been described in more detail with reference to some embodiments, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention.

상술한 바와 같이, 본 발명에 의한 DAC 강화를 위한 프로세스 분류/실행 제어 장치 및 방법은, 실행 객체들에 그룹 정보를 부여하고 이들의 실행 관계를 정의, 통제함으로써 최근 빈번하게 발생하는 프로그램의 취약점을 악용한 권한 상승 공격을 원천적으로 차단하여 안전한 시스템 개발에 활용될 수 있다. As described above, the apparatus and method for classifying / executing a process for strengthening DAC according to the present invention provides a group information to execution objects, and defines and controls their execution relations to solve the vulnerability of a program frequently occurring recently. It can be used to develop a safe system by blocking abuse of privilege elevation attacks.

Claims (8)

시스템에 있어서 안정성이 입증된 프로그램들의 그룹인 CUS 그룹과 외부 사용자 접근 시 구동되는 서비스 프로그램들의 그룹인 DVO 그룹으로 분류된 객체에 대해 프로그램 분류 작업을 의뢰하는 프로그램 그룹 관리 프로그램을 포함하는 응용단; An application stage including a program group management program for requesting a program classification task for an object classified into a CUS group, which is a group of programs whose stability is proven, and a DVO group, which is a group of service programs driven when an external user is accessed; 상기 프로그램 그룹 관리 프로그램의 의뢰에 대응하여 상기 CUS 그룹과 상기 DVO 그룹의 분류를 수행하며, 시스템 내 실행되고 있는 프로세스들의 그룹 및 실행 객체 저장소의 정보와 일관된 정보를 커널 메모리 상에 유지하면서 실행 가능 프로그램들의 그룹정보를 연계시켜 프로그램 실행을 통제하는 커널 모듈; 및 In response to a request of the program group management program, the CUS group and the DVO group are classified, and the executable program is maintained in kernel memory while maintaining information consistent with information of a group of processes running in the system and an execution object store. Kernel module for controlling the program execution by linking the group information; And 실행 객체 프로그램들을 CUS 그룹 또는 DVO 그룹으로 나누어 보관하는 실행 객체 저장소를 포함하여 이루어지는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 장치. A process classification / execution control apparatus for strengthening a DAC, comprising: an execution object store for dividing and executing execution object programs into a CUS group or a DVO group. 제 1 항에 있어서, 상기 커널 모듈은, The method of claim 1, wherein the kernel module, 상기 실행 객체 저장소에 상기 실행 객체 프로그램들을 CUS 그룹 또는 DVO 그룹으로 나누어 저장하는 프로그램 분류 집행부를 포함하는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 장치. And a program classification execution unit for dividing and storing the execution object programs into a CUS group or a DVO group in the execution object store. 제 1 항에 있어서, 상기 커널 모듈은, The method of claim 1, wherein the kernel module, 시스템 내 실행되고 있는 프로세스들의 그룹정보를 조회 및 수정하는 프로세스 관리부; A process manager for querying and modifying group information of processes running in the system; 상기 실행 객체 저장소의 정보와 일관된 정보를 커널 메모리 상에 유지하면서 실행 가능 프로그램들의 그룹정보를 조회 및 수정하는 실행 객체 관리부; 및 An execution object manager for querying and modifying group information of executable programs while maintaining information consistent with the information of the execution object store on kernel memory; And 상기 프로세스 관리부와 실행 객체 관리부와 연계하여 실행 접근에 대한 허용/불허를 결정하는 프로세스 실행 통제부Process execution control unit for determining whether to allow or disallow execution access in connection with the process management unit and the execution object management unit 를 포함하여 이루어지는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 장치. Process classification / execution control device for enhancing the DAC, characterized in that comprises a. 사용자 프로세스에 의한 실행 객체 접근시에 프로세스 실행 통제부에서 시스템 호출 execve를 후킹하여 프로세스 관리부 인터페이스를 통하여 현재 실행중인 프로세스 그룹 정보를 조회함과 아울러, 실행객체 관리부 인터페이스를 통하여 접근 시도하는 프로그램의 그룹 정보를 조회하는 제 1 단계; 및 When the user accesses the execution object by the user process, the process execution control unit hooks the system call execve to inquire the currently executing process group information through the process management interface, and the group information of the program attempting to access through the execution object management interface. A first step of querying; And 상기 현재 실행중인 프로세스 그룹 정보가 외부 사용자 접근 시 구동되는 서비스 프로그램들의 그룹인 DVO 그룹에 속하고, 상기 실행객체 관리부 인터페이스를 통하여 접근 시도하는 프로그램 그룹 정보가 시스템에 있어서 안정성이 입증된 프로그램들의 그룹인 CUS 그룹인 경우 실행 접근을 거부하는 제 2 단계The currently running process group information belongs to a DVO group, which is a group of service programs driven when an external user accesses, and the program group information attempting to access through the execution object manager interface is a group of programs whose stability has been proven in the system. Step 2 to deny execution access if it is a CUS group 를 포함하여 이루어지는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 방법. Process classification / execution control method for enhancing the DAC, characterized in that comprises a. 제 4 항에 있어서, 상기 제 1 단계 이전에, The method of claim 4, wherein before the first step, 프로그램 그룹 관리 프로그램의 의뢰에 대응하여 프로그램 분류 집행부에서 상기 CUS 그룹과 상기 DVO 그룹을 분류하여 실행 객체 저장소에 저장하는 단계를 더 포함하는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 방법. And classifying the CUS group and the DVO group and storing the CUS group and the DVO group in an execution object store in response to a request of a program group management program. 제 4 항에 있어서, 상기 제 2 단계에서 5. The method of claim 4, wherein in the second step 상기 시스템 내의 실행중인 프로세스들은 커널 메모리에 연결 리스트 형태로 유지되며, 상기 실행 객체들은 실행객체 저장소의 정보와 동기화를 이루면서 커널 메모리에 유지되는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 방법. The running processes in the system are maintained in kernel memory in the form of a linked list, and the execution objects are maintained in the kernel memory while synchronizing with the information of the execution object storage. 제 4항 내지 제 6항 중 어느 하나의 항에 있어서, 상기 CUS 그룹은The method according to any one of claims 4 to 6, wherein the CUS group is 내부 사용자가 공통으로 사용하는 시스템 명령어, 내부 사용자가 공통으로 사용하는 시스템 유틸리티, 및 관리자가 인증하여 안전성(Safety)이 입증된 프로그램을 포함하는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 방법. Process classification / execution control method for strengthening DAC, including system commands commonly used by internal users, system utilities commonly used by internal users, and programs certified by the administrator to prove safety . 제 4항 내지 제 6항 중 어느 하나의 항에 있어서, 상기 DVO 그룹은The method according to any one of claims 4 to 6, wherein the DVO group is 내부 사용자가 임의로(Discretionary) 제작한 프로그램, 알려진 취약한(Vulnerable) 프로그램 및 해킹 프로그램, 및 외부(Outer) 사용자가 접속 시 구동되는 서비스 프로그램을 포함하는 것을 특징으로 하는 DAC 강화를 위한 프로세스 분류/실행 제어 방법. Process classification / execution control for DAC enhancement, which includes discretionary programs created by internal users, known vulnerable programs and hacking programs, and service programs that are run when an external user connects. Way.
KR1020050053935A 2005-06-22 2005-06-22 Dac strengthening apparatus and method for controlling classification and execution of process KR100772455B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050053935A KR100772455B1 (en) 2005-06-22 2005-06-22 Dac strengthening apparatus and method for controlling classification and execution of process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050053935A KR100772455B1 (en) 2005-06-22 2005-06-22 Dac strengthening apparatus and method for controlling classification and execution of process

Publications (2)

Publication Number Publication Date
KR20060134334A KR20060134334A (en) 2006-12-28
KR100772455B1 true KR100772455B1 (en) 2007-11-01

Family

ID=37812727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050053935A KR100772455B1 (en) 2005-06-22 2005-06-22 Dac strengthening apparatus and method for controlling classification and execution of process

Country Status (1)

Country Link
KR (1) KR100772455B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100874948B1 (en) 2007-06-18 2008-12-19 한국전자통신연구원 Apparatus and method to detect and control processes which access lower privileged object
KR100926632B1 (en) * 2007-08-07 2009-11-11 에스케이 텔레콤주식회사 System and method for providing access authority of classified object-based

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970062897A (en) * 1996-02-09 1997-09-12 케니쓰 올슨 A system and method for automatically modifying database access methods to insert database object processing instructions
KR20010108114A (en) * 1999-01-22 2001-12-07 썬 마이크로시스템즈, 인코포레이티드 Techniques for implementing security on a small footprint device using a context barrier
KR20060071085A (en) * 2004-12-21 2006-06-26 한국전자통신연구원 Crash recovery system and method for a distributed file server using object based storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970062897A (en) * 1996-02-09 1997-09-12 케니쓰 올슨 A system and method for automatically modifying database access methods to insert database object processing instructions
KR20010108114A (en) * 1999-01-22 2001-12-07 썬 마이크로시스템즈, 인코포레이티드 Techniques for implementing security on a small footprint device using a context barrier
KR20060071085A (en) * 2004-12-21 2006-06-26 한국전자통신연구원 Crash recovery system and method for a distributed file server using object based storage

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
공개특허공보 10-2006-0071085
공개특허공보 특1997-0062897
공개특허공보 특2001-0108114

Also Published As

Publication number Publication date
KR20060134334A (en) 2006-12-28

Similar Documents

Publication Publication Date Title
US10361998B2 (en) Secure gateway communication systems and methods
US9069941B2 (en) Access authorization having embedded policies
US7818781B2 (en) Behavior blocking access control
US9558343B2 (en) Methods and systems for controlling access to resources and privileges per process
US7698741B2 (en) Controlling the isolation of an object
US7506364B2 (en) Integrated access authorization
US20060075492A1 (en) Access authorization with anomaly detection
KR101565590B1 (en) A system for expanding the security kernel with system for privilege flow prevention based on white list
US11797664B2 (en) Computer device and method for controlling process components
US20090282457A1 (en) Common representation for different protection architectures (crpa)
US11314859B1 (en) Cyber-security system and method for detecting escalation of privileges within an access token
US20170155657A1 (en) Security Bypass Environment For Circumventing A Security Application In A Computing Environment
US20070294530A1 (en) Verification System and Method for Accessing Resources in a Computing Environment
CN106228078A (en) Safe operation method based on enhanced ROST under Linux
EP1643409A2 (en) Application programming Interface for Access authorization
CN106411814B (en) policy management method and system
US20050119902A1 (en) Security descriptor verifier
KR100772455B1 (en) Dac strengthening apparatus and method for controlling classification and execution of process
KR101099310B1 (en) Integrated access authorization
Seong et al. Security Improvement of File System Filter Driver in Windows Embedded OS.
KR100454231B1 (en) Extended BLP Security System
EP3113066B1 (en) Computer security architecture and related computing method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140916

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee