KR100657353B1 - Security system and method for supporting a variety of access control policies, and recordable medium thereof - Google Patents

Security system and method for supporting a variety of access control policies, and recordable medium thereof Download PDF

Info

Publication number
KR100657353B1
KR100657353B1 KR1020050067968A KR20050067968A KR100657353B1 KR 100657353 B1 KR100657353 B1 KR 100657353B1 KR 1020050067968 A KR1020050067968 A KR 1020050067968A KR 20050067968 A KR20050067968 A KR 20050067968A KR 100657353 B1 KR100657353 B1 KR 100657353B1
Authority
KR
South Korea
Prior art keywords
subject
policy
access
information
security
Prior art date
Application number
KR1020050067968A
Other languages
Korean (ko)
Inventor
김정순
김민수
노봉남
이병철
김동근
이재서
조주봉
임종혁
정종민
최민호
이승용
Original Assignee
(주)안랩시큐브레인
전남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)안랩시큐브레인, 전남대학교산학협력단 filed Critical (주)안랩시큐브레인
Priority to KR1020050067968A priority Critical patent/KR100657353B1/en
Application granted granted Critical
Publication of KR100657353B1 publication Critical patent/KR100657353B1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Abstract

A security system capable of accepting diverse access control policies, and a method and a recording medium thereof are provided to easily manage and verify the policies for access control, and enable a manager to easily modify design to apply diverse security models. A security manager(30) determines access permission to an object(70) of a subject(10) by using access right information preset to the object accessed from the subject and action performed to the object from the subject. A security agent(20) requests the access permission to the object of the subject by offering subject, object, and action information to the security manager according to a request from the subject. A security control mediation module(50) finally determines the access permission to the object of the subject by checking the abnormal action through statistical analysis for the subject requesting the access permission. The security agency includes a message maker(21) forms the subject, object, and action information into a message.

Description

다양한 접근 통제 정책을 수용할 수 있는 보안 시스템, 보안방법, 및 그 기록매체{Security system and method for supporting a variety of access control policies, and recordable medium thereof}Security system and method for supporting a variety of access control policies, and recordable medium

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.The detailed description of each drawing is provided in order to provide a thorough understanding of the drawings cited in the detailed description of the invention.

도 1은 SELinux의 접근통제 구조를 개략적으로 나타낸 구성 블럭도이다. 1 is a block diagram schematically showing an access control structure of SELinux.

도 2는 본 발명의 실시예에 따른 보안 시스템의 개략적 블록 구성도를 나타낸다.2 is a schematic block diagram of a security system according to an embodiment of the present invention.

도 3은 도 2의 정책요청 및 집행모듈에서 주체의 요청에 대한 동작이 수행되는 과정을 나타낸 흐름도이다.3 is a flowchart illustrating a process of performing an operation on a request of a subject in the policy request and execution module of FIG. 2.

도 4는 도 2의 정책 결정 모듈에서 정책이 결정되는 과정을 나타낸 흐름도이다.4 is a flowchart illustrating a process of determining a policy in the policy determination module of FIG. 2.

도 5는 도 2의 정책 제어 모듈에 의해 주체에 대한 제어가 이루어지는 과정을 나타낸 흐름도이다.5 is a flowchart illustrating a process of controlling a subject by the policy control module of FIG. 2.

본 발명은 보안시스템과 보안방법에 관한 것으로서, 보다 상세하게는 새로운 접근통제모델이 제안됨에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 구조가 단순하여 설계 및 구현이 용이할 뿐만 아니라, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있는 보안시스템, 보안방법, 및 상기 보안방법을 실행할 수 있는 프로그램을 기록한 기록매체에 관한 것이다.The present invention relates to a security system and a security method, and more specifically, as a new access control model is proposed, it is easy to manage and verify policies related to access control, and the design is simple and the design is easy to implement. The present invention relates to a recording system recording a security system, a security method, and a program capable of executing the security method, in which an administrator can change or design a design so that various security models can be applied.

일반적으로 리눅스 시스템의 보안은 커널과 setuid/setgid의 루트 사용자에 의해 생성된 종속관계에 의존한다. 따라서 상기 리눅스 시스템의 보안 매커니즘에서 주체가 권한이 부여된 애플리케이션(application)의 설정을 이용하거나 또는 실행중인 프로세스(process)의 취약점을 익스플로이트하면 전체 시스템을 장악할 수 있게 되는 경우가 많다.In general, the security of a Linux system depends on the dependencies created by the kernel and the root user of setuid / setgid. Therefore, in the security mechanism of the Linux system, if the subject uses the configuration of an authorized application or exploits a vulnerability of a running process, it is often possible to take over the entire system.

이를 방지하기 위해, 오픈소스 리눅스 커널의 보안을 강화시켜 파일 변조와 어플리케이션 보안 프로시저의 무사통과를 막고 악성 애플리케이션에 의한 피해를 줄이기 위한 보안시스템들이 개발되고 있으며, 이 중, SELinux는 좀 더 안전한 리눅스를 위해 미 국가안보국 NSA에 의해 개발된 리눅스이다.To prevent this, security systems are being developed to enhance the security of the open source Linux kernel to prevent file tampering and application security procedures, and to reduce the damage caused by malicious applications, among which SELinux is more secure Linux. It is a Linux developed by the NSA.

도 1은 SELinux의 접근통제 구조를 개략적으로 나타낸 구성 블럭도이다. 도시된 바와 같이, SELinux(Security-Enhanced Linux; 150)는 리눅스 보안 모듈 구조체(Linux Security Modules framework; 120, 이하 LSM이라 한다)를 이용하여 리눅스 커널(100)에 강제적 접근 제어(Mandatory Access Control, 이하 MAC이라 한다)를 구현한다. 1 is a block diagram schematically showing an access control structure of SELinux. As shown, SELinux (Security-Enhanced Linux) 150 uses the Linux Security Modules framework 120 (hereinafter referred to as LSM) to mandatory access control (Linux) to the Linux kernel 100. MAC).

일반적으로 표준 리눅스 보안(Standard Linux Security)은 임의적 접근제어(Discretionary Access Control, DAC, 110) 모델을 사용하고 있으며, DAC(110) 에서 주체의 인증을 받은 뒤, LSM(120)을 통해 SELinux(150)로 주체의 접근통제 요청을 하게 된다.In general, Standard Linux Security uses Discretionary Access Control (DAC, 110) model, and after authentication of the subject in DAC 110, SELinux (150) through LSM 120. ) Requests the subject's access control.

여기서, DAC(110) 모델에서의 파일과 자원에 대한 결정권은 오직 해당 객체(objects)의 사용자(user id)에게 있고 상기 결정권은 소유권(ownership)에 따라 주어진다. 즉, 각 사용자와 그 사용자에 의해 실행된 프로그램은 자기에게 할당된 객체에 대해 전적으로 자유재량권을 갖는다. 이러한 상황에서는 악의 있는 일반 혹은 루트 사용자(예, setuid와 setgid)가 결함이 있는 소프트웨어를 이용하여 객체에 어떠한 행위를 수행하더라도 막아낼 방법이 없을 뿐만 아니라, 보안 정책이 시스템 전체에 걸쳐 시행되도록 할 방법이 없다. Here, the decision on the files and resources in the DAC 110 model is only the user id of the objects and the decision is given according to ownership. In other words, each user and the programs executed by that user have total discretion over the objects assigned to them. In such a situation, there is no way to prevent malicious general or root users (eg setuid and setgid) from using the faulty software to perform any action on the object, and to ensure that security policies are enforced throughout the system. There is no

SELinux(150)에서의 MAC 시스템은 위와 같은 DAC(110) 모델의 단점을 보완할 수 있으며 다음과 같은 특징을 갖는다. 첫째, 보안 정책은 모든 프로세스나 객체에 대하여 관리차원으로 규정된다. 둘째, 커널에 SELinux가 구현되면, 모든 프로세스와 객체가 제어될 수 있다. 셋째, 결정은 단지 인증된 사용자(user identity)에 의해서가 아니라 이용 가능한(available) 모든 보안 관련 정보에 근거하여 이루어진다.The MAC system in SELinux 150 can compensate for the shortcomings of the DAC 110 model as described above and have the following characteristics. First, security policies are defined administratively for every process or object. Second, if SELinux is implemented in the kernel, all processes and objects can be controlled. Third, the decision is made based not on just the authenticated user identity, but on all available security-related information.

이에 따라, SELinux(150)에서는 MAC을 이용하여 모든 주체(subjects, 사용자, 프로그램, 또는 프로세스)와 객체(파일, 또는 디바이스(device))에 대해서 국부적으로 허가(granular permissions)가 가능하도록 한다. 그리고 MAC은 응용프로 그램에서 불필요한 부분은 제외하고 오직 필요한 기능에 대해서만 사용권한을 안전하게 부여한다.Accordingly, the SELinux 150 uses MAC to enable local granularity for all subjects (users, programs, or processes) and objects (files or devices). And MAC securely grants permission to only necessary functions, except unnecessary parts of the application.

한편, SELinux(150)구현은 역할과 유형 시행(Type Enforcement: TE)모델(140)에 기초하여 추상적 사용자 수준 제어(abstracted user-level control)를 제공하는 역할기반 접근제어(role-based access control, 이하 RBAC이라 한다)를 사용한다. TE모델(140)은 접근 제어를 처리하기 위해서 정책DB(170)를 이용하고, 정책로더(160)는 정책DB(170)로부터 정책을 인출하여 SELinux(150)로 제공한다. 이 때, 주체는 영역(domain)을 갖고 객체는 유형을 가지므로, 상기 TE모델(140)은 상기 정책DB(170)를 이용하여 교차조회하여 주체와 객체의 상호작용을 규정한다.SELinux 150 implements role-based access control, which provides abstracted user-level control based on the Role and Type Enforcement (TE) model 140. Hereinafter referred to as RBAC). The TE model 140 uses the policy DB 170 to process access control, and the policy loader 160 retrieves the policy from the policy DB 170 and provides it to the SELinux 150. At this time, since the subject has a domain and the object has a type, the TE model 140 cross-looks up using the policy DB 170 to define the interaction between the subject and the object.

이는 리눅스 시스템에 있는 모든 작동자(actor)에 대하여 극단적으로 국부 제어가 가능하도록 한다. 한편, RBAC는 기본적으로 사용자, 역할, 및 퍼미션(permissionn)부분을 포함하며, 그 외에 역할 계층과 제약사항 등의 구성요소를 포함한다. This allows for extremely local control of all actors in a Linux system. On the other hand, RBAC basically includes user, role, and permission parts. In addition, RBAC includes components such as role hierarchy and constraints.

이러한 SELinux(150) 정책은 사용자, 프로그램, 프로세스, 그리고 이들의 동작 대상인 파일과 디바이스를 포함한 시스템 전체, 즉, 모든 주체와 객체에 대한 접근 허가(access permissions)를 기술한다. This SELinux 150 policy describes access permissions for the entire system, including all subjects and objects, including users, programs, processes, and files and devices that operate on them.

그런데, 이러한 SELinux(150)는 리눅스 자체에서 DAC(110) 인증과정을 거친 다음, LSM(120) 처리루틴을 실행하도록 함으로써, 어떠한 정책을 적용하더라도 DAC(110) 인증을 수행해야 한다는 단점이 있다. 그리고 이렇게 DAC(110) 인증과정을 거쳐야 하므로, DAC(110) 인증과정이 필요치 아니하거나 다른 인증과정을 요하 는 정책의 경우에는 수행이 어려우며, LSM(120)기반에서 수행되므로 정책의 설계나 변경이 한정적이라는 단점이 있다. However, the SELinux 150 performs the DAC 110 authentication process in Linux itself, and then executes the LSM 120 processing routine. Therefore, SELinux 150 may perform the DAC 110 authentication regardless of any policy. Since the DAC 110 needs to go through the authentication process, it is difficult to perform the policy that does not require the DAC 110 authentication process or requires another authentication process. The disadvantage is limited.

한편, TE 모델(140)은 RBAC 기능을 이용하기는 하나, 그 기능이 매우 약하므로, 사용자에게 할당된 역할(role)에 대한 권한 기능이 약하다. 이에 따라, 새로운 보안정책 모델이 제시되었을 때, 상기 RBAC 기능을 적용하기가 어렵게 된다. On the other hand, the TE model 140 uses the RBAC function, but the function is very weak, and thus the authority function for the role assigned to the user is weak. Accordingly, when a new security policy model is proposed, it is difficult to apply the RBAC function.

또한, TE 모델(140)에서는 Type 라는 이름으로 기능을 분리하고 주체와 객체 사이의 관계를 표현하고, Type의 전이를 통해서 주체와 객체의 관계가 변경되도록 하고 있다. 따라서, GUI가 아닌 Type을 통해 정책을 설정하기 때문에 일반 사용자 또는 관리자가 정책을 설정하기가 용이하지 아니하다는 단점이 있다. In addition, the TE model 140 separates functions under the name of Type, expresses the relationship between the subject and the object, and changes the relationship between the subject and the object through the transition of the Type. Therefore, there is a disadvantage that it is not easy for general users or administrators to set the policy because the policy is set through Type, not GUI.

따라서, 본 발명의 목적은 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 용이하게 변경할 수 있도록 하는 보안시스템, 보안방법, 및 상기 보안방법을 실행하기 위한 프로그램을 기록한 기록매체를 제공하는 것이다. Accordingly, an object of the present invention is to provide a security system, a security method, and the security method that can easily manage and verify the policies related to access control, and allows the administrator to easily change the design to apply various security models. It is to provide a recording medium recording a program for executing the.

이러한 목적을 달성하기 위한 본 발명에 따른 보안 시스템은 주체가 접근하고자 하는 객체와 상기 주체가 객체에 대해 수행하고자 하는 행위에 대해 미리 설정된 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 정책결정모듈, 상기 주체로부터의 요청에 따라 상기 정책결정모듈로 상기 주체, 상기 객체, 상기 행위에 대한 정보를 제공하여 상기 주체의 객체 접근 허여을 요청하 는 정책요청 및 집행모듈, 및 상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 결정하는 정책제어모듈을 구비한다.The security system according to the present invention for achieving the above object is whether to allow access to the object of the subject using a predetermined access authority information about the object that the subject wants to access and the action that the subject intends to perform on the object. A policy requesting module and a module for requesting permission to access an object of the subject by providing information about the subject, the object, and the action to the policy determining module according to a request from the subject; And a policy control module for determining whether to grant access to the object of the subject by performing a statistical analysis on the subject to which the access is granted.

상기 정책요청 및 집행모듈은 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 메시지 형태로 구성하는 메시지 생성부를 포함하는 것이 바람직하다. 상기 메시지 생성부는 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 커널로부터 인출할 수 있다.Preferably, the policy request and execution module includes a message generator configured to configure information on the subject, the object, and the action in a message form. The message generator may retrieve information about the subject, the object, and the action from a kernel.

상기 정책요청 및 집행모듈은 상기 메시지 생성부에서 생성된 메시지를 상기 정책결정모듈로 전송하는 메시지 전송부를 더 포함하는 것이 바람직하다. 상기 정책요청 및 집행모듈은 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받는 메시지 수신부를 더 포함할 수 있다. 상기 접근허여 정보는 상기 주체의 객체에 대한 접근을 허여/거절에 대한 내용인 결정정보와 상기 정책제어모듈에서 지원되는 각종 제어들에 대한 제어정보를 포함할 수 있다.Preferably, the policy request and execution module further includes a message transmitter for transmitting the message generated by the message generator to the policy determination module. The policy request and enforcement module may further include a message receiver configured to receive the access permission information generated by the policy control module. The access permission information may include decision information which is content for granting / denying access to the object of the subject and control information for various controls supported by the policy control module.

상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받아 상기 주체에게 접근이 허여되었음을 통지할 수 있다. 상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받아, 상기 주체와 상기 객체를 연결시키는 것이 바람직하다. The message receiving unit may receive the access permission information generated by the policy control module and notify the subject that access is granted. The message receiver receives the access permission information generated by the policy control module and connects the subject and the object.

상기 정책결정모듈은 상기 정책요청 및 집행모듈로부터 제공된 정보를 이용하여 상기 주체가 상기 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 정책결정부를 포함하는 것이 바람직하다. 상기 정책결정부는 상기 주체, 상기 객 체, 상기 행위, 및 상기 접근권한 여부를 포함하는 결정이력풀을 포함할 수 있다. The policy determination module preferably includes a policy decision unit that determines an access right for the subject to perform an action on the object by using the information provided from the policy request and execution module. The policy decision unit may include a decision history pool including the subject, the object, the action, and the access right.

상기 정책결정부는 상기 결정이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정할 수 있다. 상기 보안 시스템은 미리 정의된 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정보정책 데이터베이스를 더 포함할 수 있다. The policy decision unit may compare the information stored in the decision history pool with the information provided from the policy request and execution module to determine an access right for the subject provided from the policy request and execution module to perform an action on an object. The security system may further include an information policy database storing an access policy for determining an access right for the predefined subject.

상기 정책결정모듈은 상기 정책 데이터베이스로부터 상기 주체, 상기 객체, 및 상기 행위에 부합되는 접근정책을 인출하는 정책로딩부를 더 포함할 수 있다. 상기 정책로딩부는 상기 정책 데이터베이스로부터 인출된 접근정책을 저장하는 정책이력풀을 포함할 수 있다.The policy determination module may further include a policy loading unit for retrieving an access policy corresponding to the subject, the object, and the action from the policy database. The policy loading unit may include a policy history pool that stores an access policy drawn from the policy database.

상기 정책제어모듈은 상기 주체와 객체 사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 분석기를 포함하는 것이 바람직하다. 상기 분석기는 상기 분석기에서 기분석한 통계자료들이 저장된 통계정보풀을 포함할 수 있다. 상기 통계정보풀에는 상기 주체, 상기 객체, 상기 행위, 상기 결정정보, 및 상기 정책정보가 포함될 수 있다. 상기 분석기는 상기 통계정보풀에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 것이 바람직하다. The policy control module preferably includes an analyzer for performing statistical analysis on relations that may be formed between the subject and the object. The analyzer may include a statistical information pool in which statistical data previously analyzed by the analyzer are stored. The statistical information pool may include the subject, the object, the action, the decision information, and the policy information. Preferably, the analyzer determines abnormal behavior of the subject using information included in the statistical information pool.

상기 정책제어모듈은 상기 분석기로부터의 상기 주체의 이상행위 판단결과에 따라 상기 주체의 객체로의 접근을 허여할 것인지 여부를 판단하는 제어기를 더 포함하는 것이 바람직하다. 상기 제어기는 상기 분석기로부터 이상행위로 판단된 정보가 저장되는 블랙리스트풀을 포함할 수 있다. Preferably, the policy control module further includes a controller that determines whether to allow access to an object of the subject based on a determination result of the subject's abnormal behavior from the analyzer. The controller may include a blacklist pool in which information determined to be abnormal from the analyzer is stored.

상기 제어기는 상기 분석기로부터 제공된 상기 주체, 상기 객체, 및 상기 행위에 대한 정보와 상기 블랙리스트풀에 저장된 정보를 비교하여 상기 블랙리스트풀에 저장된 정보와 부합되지 아니할 경우, 상기 정책요청 및 집행모듈로 상기 주체의 객체 접근을 허여하는 접근허여 정보를 제공하는 것이 바람직하다. The controller compares the information on the subject, the object, and the action provided from the analyzer with the information stored in the blacklist pool, and if it does not match the information stored in the blacklist pool, the controller requests the policy request and execution module. It is desirable to provide access information that allows the subject to access the object.

상기 정책제어모듈은 상기 분석기에서의 분석결과와 상기 제어기에서 접근허여 정보를 저장하는 로그 데이터베이스와, 상기 제어기로부터 상기 분석기에서의 분석결과와 상기 접근허여 정보를 제공받아 상기 로그 데이터베이스에 저장하는 로거를 더 포함할 수 있다. The policy control module includes a log database that stores the analysis result in the analyzer and the access permission information in the controller, and a logger that receives the analysis result and the access permission information in the analyzer from the controller and stores the result in the log database. It may further include.

본 발명에 따른 기술적 과제를 해결하기 위한 보안방법은 주체로부터 상기 주체가 접근하고자 하는 객체와, 상기 주체가 객체에 대해 수행하고자 하는 행위에 대한 정보를 입력받는 단계; 미리 설정된 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 단계; 상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 최종 결정하는 단계를 포함하는 것을 특징으로 하는 보안방법에 의해서도 달성될 수 있다.According to an aspect of the present invention, there is provided a security method comprising: receiving, from a subject, an object to which the subject intends to access and information on an action that the subject intends to perform on the object; Determining whether to permit access to the object of the subject using preset access authority information; And performing a statistical analysis on the subject to which the object is granted access to determine whether there is an abnormal behavior to finally determine whether to grant the subject access to the object. Can be achieved.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

본 발명에 따른 보안시스템은 임의의 주체(subject)가 객체(object)에 대해 어떠한 행위(action)를 수행하고자 할 때, 상기 주체와 상기 객체 사이에 발생하는 권한관계를 결정하고, 결정된 권한관계에 따라 상기 주체가 상기 객체에 접근할 수 있는 접근 여부를 제어한다.The security system according to the present invention determines a privilege relationship occurring between the subject and the object when any subject wants to perform an action on an object, and determines the authority relationship. As a result, the subject controls access to the object.

여기서, 주체란 객체에 대해 소정의 행위를 수행하는 행위자로서, 본 발명에 따른 보안시스템에서 상기 주체는 사용자를 대신해서 행위를 하는 프로세스들(processes)로 규정한다.Here, the subject is an actor that performs a predetermined action on an object, and in the security system according to the present invention, the subject is defined as processes that act on behalf of a user.

객체란 주체가 행위를 수행하는 대상으로서, 일반적으로 컴퓨팅 환경에서 수행하는 작업들의 대상이 되는 파일(File), IPC(InterProcess Communication), 시스템(System), 프로세스(Process), 네트워크(Network), 및 사용자(User) 등의 클래스(Class)로 구분된다.An object is an object that a subject performs an action. Generally, an object is a file, an interprocess communication (IPC), a system, a process, a network, and a target of an operation performed in a computing environment. It is divided into classes such as users.

그외에 객체가 없는 정책을 요청할 경우에 사용되는 No Object라는 클래스를 더 포함한다. 객체의 각 클래스는 다양한 하위 타입(type)을 포함할 수 있으며, 예를 들어, 파일 클래스는 파일, DIR, 파일 시스템, 디바이스, 등의 타입을 포함한다. 이러한 객체의 클래스는 컴퓨팅 환경의 변화 또는 보안설계자에 따라 얼마든지 변경가능함은 물론이다. In addition, it further includes a class called No Object, which is used when requesting a policy without an object. Each class of object may include various subtypes, for example, a file class includes types of file, DIR, file system, device, and the like. Of course, the class of these objects can be changed according to the change of the computing environment or the security designer.

그리고, 행위(action)는 주체가 객체에 대해 행하는 일련의 구체적이거나 논리적인 행동, 또는 주체가 객체에 대해 행할 수 있는 권한이나 오퍼레이션(Operation)으로 규정된다. 본 발명에 따른 보안시스템에서는 객체에 대한 오퍼레 이션으로 리눅스 시스템콜들을 사용하며, 상기 보안시스템에서 사용되는 행위와 연관된 시스템콜들은 표1에 도시된 바와 같이 각 객체의 클래스와 타입에 따라 다양한 시스템콜들이 사용된다.An action is defined as a set of concrete or logical actions that a subject performs on an object, or a privilege or operation that a subject can perform on an object. In the security system according to the present invention, Linux system calls are used as an operation for an object, and system calls related to actions used in the security system are various systems depending on the class and type of each object, as shown in Table 1. Calls are used.

classclass typetype action(operations)action (operations) File File File File Create, Delete, Open, Close, Read, Write, Execute,Truncate, Rename, Modify MAC time, 등Create, Delete, Open, Close, Read, Write, Execute, Truncate, Rename, Modify MAC time, etc. DIRDIR Create, Delete, Open, Close, read, Rename, 등 Create, Delete, Open, Close, read, Rename, etc. FILE SYSTEMFILE SYSTEM Register, Unregister, 등Register, Unregister, etc DEVICEDEVICE Open, close, read, Write, 등Open, close, read, write, etc IPCIPC IPCIPC Create, Read, Write, Get permission, 등Create, Read, Write, Get permission, etc memory memory memory memory Read, write, lock, unlock, 등Read, write, lock, unlock, etc process process processprocess Create, DeleteWait, Fork, 등Create, DeleteWait, Fork, etc signalsignal signal return, Kill, Alarm, Pause, 등signal return, Kill, Alarm, Pause, etc network network socketsocket Create(socket), Read, Write, Bind, 등Create (socket), Read, Write, Bind, etc. IPIP accept, bind, connect, 등accept, bind, connect, etc PORTPORT Bind, connectBind, connect ProtocolProtocol create(raw socket, TCP, UDP, ICMP)create (raw socket, TCP, UDP, ICMP) USERUSER USERUSER add/delete user, switch user, 등add / delete user, switch user, etc. system system systemsystem Cerate/Init/Delete/Query module, 등Cerate / Init / Delete / Query module, etc No ObjectNo object ETCETC remap file pages 등remap file pages, etc.

도 2는 본 발명의 실시예에 따른 보안 시스템의 개략적 블록 구성도를 나타낸다. 도 2를 참조하면, 보안시스템(1)은 정책요청 및 집행모듈(Security Agent; 20), 정책결정모듈(Security Manager; 30), 정책제어모듈(Security Control Mediator; 50), 및 정책 데이터베이스(Policy database; 40)를 포함한다.2 is a schematic block diagram of a security system according to an embodiment of the present invention. Referring to FIG. 2, the security system 1 includes a policy request and execution module (Security Agent) 20, a policy determination module (Security Manager) 30, a policy control module (Security Control Mediator) 50, and a policy database. database; 40).

상기 정책요청 및 집행모듈(20)은, 정책결정모듈(30)로 소정의 정책을 요청하는 모듈로서, 주체(Subject; 10)가 객체(object; 70)에게 특정 행위(Action)를 수행하고자 할 때, 상기 주체(10)가 상기 객체(70)에 접근하는 것을 허여하도록 요청하며, 요청결과에 따라 상기 정책결정모듈(30)과 상기 정책제어모듈(50)을 통해 상기 주체(10)가 상기 객체(70)로 접근하는 것이 허여되면, 상기 객체(70)에 접근하여 상기 주체(10)와 상기 객체(70)를 연결하는 역할을 한다.The policy request and execution module 20 is a module for requesting a predetermined policy to the policy decision module 30. The subject 10 wants to perform a specific action on the object 70. At this time, the subject 10 requests to allow access to the object 70, and the subject 10 passes the policy decision module 30 and the policy control module 50 according to the request result. When access to the object 70 is allowed, the object 70 is accessed to serve to connect the subject 10 and the object 70.

이러한 역할을 수행하기 위해, 상기 정책요청 및 집행모듈(20)은 메시지 생성부(21), 메시지 전송부(23), 및 메시지 수신부(25)를 포함한다.To perform this role, the policy request and execution module 20 includes a message generator 21, a message transmitter 23, and a message receiver 25.

상기 메시지 생성부(21)는 주체(10)로부터 객체(70)로의 접근이 요청되면(request), 커널로부터 주체(10), 객체(70), 및 행위에 대한 정보를 인출하고, 주체(10)가 누구인지, 주체(10)가 접근하고자 하는 객체(70)가 무엇인지, 주체(10)가 목적으로 하는 객체(70)에 어떠한 행위를 하고자 하는지 식별한다. 상기 주체(10)는 프로세스 정보를 사용하여 결정되고, 상기 객체(70)는 파일시스템 정보를 사용하여 결정되며, 상기 행위는 시스템콜과 퍼미션 정보를 사용하여 결정된다.When the message generator 21 requests access to the object 70 from the subject 10 (request), the message generator 21 retrieves information on the subject 10, the object 70, and an action from the kernel, and the subject 10 ), Which object 70 the subject 10 wishes to access, and what actions the subject 10 intends to act on. The subject 10 is determined using process information, the object 70 is determined using file system information, and the action is determined using system call and permission information.

상기 메시지 생성부(21)는 이렇게 결정된 주체(10)와 객체(70)와 행위에 대한 정보를 특정한 메시지 형태로 변경하여 정책결정모듈(30)로 제공하며, 상기 정책요청 및 집행모듈(20)에서 상기 정책결정모듈(30)로 제공되는 메시지를 요청 메시지(Request Message; RM)라고 한다. The message generator 21 changes the information on the subject 10, the object 70, and the action thus determined to a specific message form and provides it to the policy decision module 30. The policy request and execution module 20 is provided. The message provided to the policy determination module 30 is called a request message (RM).

상기 RM은 주체(10)와 객체(70)와 행위를 구성요소로 하며, 상기 RM의 형태는 RM(S,O,A)로 나타낼 수 있다. 예를 들어, 주체(S; 10)가 객체(O; 70) 중 파일에 대해 독출(Read)행위(A)를 하고자 요청한 경우, 메시지 생성부(21)는 RM(S, File, Read)와 같이 메시지(RM)를 형성한다.The RM includes a subject 10, an object 70, and an action, and the form of the RM may be represented as RM (S, O, A). For example, when the subject S 10 requests to perform a read operation A on a file among the objects O 70, the message generator 21 may be connected to an RM (S, File, Read). Together form a message RM.

상기 메시지 전송부(23)는 RM을 정책결정모듈(30)로 전송하는 역할을 한다. 이렇게 전송되는 RM은 주체(10), 객체(70), 및 행위에 대해 식별가능한 유일한 값으로 대응되도록 규정되므로, 시스템(1)내에서 어떤 주체(10)가 어떤 객체(70)에 대해 어떤 행위를 하고자 하는지 명확하게 구분할 수 있다.The message transmitter 23 transmits the RM to the policy decision module 30. The RMs transmitted in this way are defined to correspond with uniquely identifiable values for the subject 10, the object 70, and the behavior, so that in the system 1, which subject 10 acts on which object 70 You can clearly tell if you want to.

상기 메시지 수신부(25)는 정책제어모듈(50)로부터 제공된 메시지(CM)를 수신하며, 상기 메시지(CM)의 내용은 상기 정책제어모듈(50)에서 결정된 주체(10)가 객체(70)에 대해 행위를 수행할 수 있는지 여부에 대한 것이다. 상기 메시지(CM)에 대해서는 후술할 정책제어모듈(50)에서 상세히 설명한다. The message receiving unit 25 receives the message CM provided from the policy control module 50, and the content of the message CM is determined by the subject 10 determined by the policy control module 50 to the object 70. Whether or not you can act on the The message CM will be described in detail in the policy control module 50 to be described later.

한편, 상기 메시지 수신부(25)는 메시지(CM)의 내용에 따라 주체(10)가 객체(70)에 접근하는 것을 허여하거나 거부하고, 허여 또는 거부에 대한 결과(Notification)를 접근을 요청한 주체(10), 즉 프로세스로 제공한다.Meanwhile, the message receiver 25 allows or denies the subject 10 from accessing the object 70 according to the content of the message CM, and requests the subject to request notification of the result of the grant or denial ( 10) that is, provide it to the process.

도 3은 도 2의 정책요청 및 집행모듈에서 주체의 요청에 대한 동작이 수행되는 과정을 나타낸 흐름도이다. 3 is a flowchart illustrating a process of performing an operation on a request of a subject in the policy request and execution module of FIG. 2.

도 2과 도 3을 참조하면, 주체(10)에 의해 임의의 객체(70)에 대한 임의의 행위를 수행할 것이 요청되면(S300), 메시지 생성부(21)는 커널로부터 주체(10), 객체(70), 및 행위에 대한 정보를 인출하여 메시지(RM(S, O, A))를 생성한다(S310). 2 and 3, when the subject 10 is requested to perform an arbitrary action on an arbitrary object 70 (S300), the message generator 21 may transmit the subject 10 from the kernel to the subject 10. The object 70 and information about the action are extracted to generate a message RM (S, O, A) (S310).

상기 메시지 전송부(23)는 생성된 메시지(RM(S, O, A))를 정책결정모듈(30)로 제공한다(S320). 정책결정모듈(30)과 정책제어모듈(50)에 의해 주체(10)의 객체(70)에 대한 접근의 허여 또는 거부가 결정되며(S330), 상기 정책제어모듈(50)로부터 메시지(CM)를 수신한다. The message transmission unit 23 provides the generated message (RM (S, O, A)) to the policy determination module 30 (S320). The policy decision module 30 and the policy control module 50 determine the grant or denial of access to the object 70 of the subject 10 (S330), and the message (CM) from the policy control module 50. Receive

메시지 수신부(25)는 메시지(CM(D, C))를 수신하여 결정내용에 따라, 즉 주체(10)의 객체(70)에 대한 접근이 허여되면(S340-YES), 상기 주체(10)를 상기 객체(70)에 연결시킨다(S350). 그러나, 상기 주체(10)의 상기 객체(70)에 대한 접근이 거부되면(S340-No), 상기 주체(10)의 상기 객체에 대한 접근을 차단한다(S345). 이와 함께 상기 주체(10)로 허여 또는 거부에 대한 결정내용(Notification)을 전달한다(S360).The message receiver 25 receives the message CM (D, C) and according to the decision, that is, when the subject 10 is granted access to the object 70 (S340-YES), the subject 10 Is connected to the object 70 (S350). However, if access to the object 70 of the subject 10 is denied (S340-No), access to the object of the subject 10 is blocked (S345). Along with this, the subject 10 transmits a notification regarding the grant or rejection (S360).

이러한 정책요청 및 집행모듈(20)로부터의 요청에 따라 접근권한을 결정하는 정책결정모듈(30)은 정책결정부(Decision Maker; 31)과 정책로딩부(Policy Loader; 35)를 포함한다. The policy decision module 30 that determines the access right according to the request from the policy request and execution module 20 includes a decision maker 31 and a policy loader 35.

상기 정책결정부(31)는 정책요청 및 집행모듈(20)로부터 제공된 메시지(RM)에 대해 주체(10)가 객체(70)에 접근하여 소정의 행위를 수행할 수 있는 권한이 있는지 여부, 즉 주체(10)에 대한 접근권한을 결정한다. 상기 정책결정부(31)는 정책 데이터베이스(40)로부터 소정의 정책을 제공받으며, 제공된 정책에 따라 요청된 메시지(RM)에 대한 접근권한을 결정하여 결정 메시지(Decision Message; DM)를 생성한다. 그리고 생성된 결정 메시지(DM)를 정책제어모듈(50)로 제공한다.The policy decision unit 31 determines whether the subject 10 has the authority to access the object 70 and perform a predetermined action with respect to the message RM provided from the policy request and execution module 20. Determine access authority to the subject (10). The policy decision unit 31 receives a predetermined policy from the policy database 40 and determines a right of access to the requested message RM according to the provided policy to generate a decision message (DM). The generated decision message DM is provided to the policy control module 50.

상기 결정 메시지(DM)는 정책결정모듈(30)과 정책제어모듈(50) 사이에 사용되는 메시지로서, DM(S,O,A,D,P)의 형태를 갖는다. 여기서, S는 주체(10), O는 객체(70), A는 행위이며, D는 요청 메시지(RM)를 통해 요청된 주체(10)의 객체(70)에 대한 접근을 허여/거절에 대한 내용인 결정정보이고, P는 정책 데이터베이스(40)로부터 인출된 정책정보이다. 결정 메시지(DM)에 정책정보가 포함되는 이유는 어떤 정책에 의해 결정정보가 생성되었는지를 여부를 확인할 수 있도록 하기 위함이다.The decision message DM is a message used between the policy decision module 30 and the policy control module 50 and has a form of DM (S, O, A, D, P). Here, S is a subject 10, O is an object 70, A is an action, and D is a request message (RM) to allow / deny access to the object 70 of the requested subject 10. The content is decision information, and P is policy information drawn from the policy database 40. The reason why the policy information is included in the decision message DM is to be able to confirm whether or not the decision information is generated by a certain policy.

상기 정책결정부(31)는 결정 이력풀(Decision History Pool; 33)을 구비한다. 상기 결정이력풀(33)에는 정책결정부(31)에 의해 결정된 접근권한 결정정보, 즉 이전에 정책요청 및 집행모듈(20)에서 제공된 요청 메시지(RM)에 대해 상기 정책결정부(31)가 결정한 접근권한에 대한 정보인 결정 메시지(DM)가 저장되어 있다. 즉, 상기 결정이력풀(33)에는 이전에 정책결정부(31)가 결정한 접근권한에 대한 정보가 저장되어 있으므로, 상기 정책결정부(31)는 요청 메시지(RM)가 수신되면, 상기 결정이력풀(33)에 해당 RM에 대한 접근권한 결정 정보가 존재하는지 여부를 먼저 확인한다. 상기 결정이력풀(33)에 접근권한 결정 정보가 존재하는 경우, 상기 정책결정부(31)는 즉각적으로 접근권한에 대한 결정을 할 수 있다. 상기 결정이력풀(33)은 해쉬 알고리즘을 이용하여 DM을 인출할 수 있다. The policy decision unit 31 includes a decision history pool 33. The decision history pool 33 includes the policy decision unit 31 for access right decision information determined by the policy decision unit 31, that is, a request message RM previously provided by the policy request and execution module 20. A decision message (DM), which is information on the determined access right, is stored. That is, since the decision history pool 33 stores the information on the access right previously determined by the policy decision unit 31, the policy decision unit 31 receives the request message RM, and thus the decision history. It is first checked whether there is access right decision information on the RM in the pool 33. When the access right decision information exists in the decision history pool 33, the policy decision unit 31 may immediately determine the access right. The decision history pool 33 may draw the DM using a hash algorithm.

상기 정책로딩부(35)는 정책요청 및 집행모듈(20)로부터의 RM에 해당되는 접근권한 정보를 관리자가 정의한 접근정책 정보인 정책 데이터베이스(40)로부터 패치(fetch)한다. 여기서 정책 데이터베이스(40)에는 정책 관리자에 의해 정의된 접근 권한 정보가 저장되어 있다. 즉, 정책 데이터베이스(40)에는 주체(10)와 객체(70)와 행위에 따라 정보가 분류되어, 임의의 주체(10)가 어떤 객체(70)에 대해 어떤 행위가 가능한지 여부가 정의되어 있다. The policy loading unit 35 fetches the access right information corresponding to the RM from the policy request and execution module 20 from the policy database 40 which is the access policy information defined by the administrator. Here, the policy database 40 stores access authority information defined by the policy manager. That is, the policy database 40 classifies information according to the subject 10, the object 70, and the actions, and defines which actions the arbitrary subjects can perform on which objects 70.

상기 정책 데이터베이스(40)에 저장할 수 있는 정보의 형태는 가상메모리를 이용한 파일시스템이거나 특정 바이너리 형태의 파일이다. 따라서 상기 정책 데이터베이스(40)에 접근하기 위해서는 지정된 프로그램이 필요하며, 상기 프로그램은 텍스트 기반의 접근정책 정보를 가공하고 가공된 정보를 가상메모리를 이용한 파일시스템에 저장하거나 바이너리 형태의 파일로 저장한다.The type of information that can be stored in the policy database 40 is a file system using a virtual memory or a file of a specific binary type. Therefore, in order to access the policy database 40, a designated program is required. The program processes text-based access policy information and stores the processed information in a file system using a virtual memory or a binary file.

가상메모리를 이용한 파일시스템의 경우, 정책결정모듈(30)이 동작할 때 텍스트 기반의 접근정책 정보는 상기 가상 메모리로부터 모두 독출된다. 이후에 상기 파일시스템에 접근하기 위해서는 지정 프로그램만이 접근할 수 있으며 MD5로 암호화된 암호키에 의해 승인된 경우에만 접근이 가능하다.In the case of the file system using the virtual memory, when the policy determination module 30 operates, the text-based access policy information is all read from the virtual memory. Subsequently, only the designated program can access the file system and can access the file system only if it is authorized by an MD5 encrypted encryption key.

바이너리 파일로 저장하는 경우는 텍스트로 이루어진 접근정책 정보, 즉 어떤 주체(10)가 어떤 객체(70)를 요구하는가에 관한 정보가 바이너리 형태의 파일로 변환된 것이다. 지정된 프로그램만이 상기 바이너리 파일에 접근할 수 있으며, AES 암호화되어 암호 인증 후 정책로딩부(35)만이 접근정책 정보에 접근할 수 있다.In the case of storing as a binary file, textual access policy information, that is, information on which subject 10 requires which object 70, is converted into a binary file. Only the designated program can access the binary file, and only the policy loading unit 35 can access the access policy information after AES encryption and password authentication.

즉, 정책로딩부(35)는 RM에 포함되는 주체(10), 객체(70), 및 행위가 파악되면, 정책 데이터베이스(40)에 암호 인증을 받아 접근한 다음, 해당 주체(10), 객체(70), 및 행위에 부합되는 정책을 정책 데이터베이스(40)로부터 인출한다.That is, the policy loading unit 35, if the subject 10, the object 70, and the behavior included in the RM is identified, accesses the policy database 40 with password authentication, and then the subject 10, the object. 70, and a policy matching the action is withdrawn from the policy database 40.

이러한 정책로딩부(35)는 정책이력풀(Policy History Pool; 37)을 구비하고 있다. 상기 정책이력풀(37)에는 상기 정책로딩부(35)가 정책 데이터베이스(40)로부터 인출한 접근권한 정보가 저장되어 있다. 즉, 상기 정책이력풀(37)에는 이전에 요청된 RM에 대해 정책로딩부(35)가 정책 데이터베이스(40)로부터 인출한 접근권한 정보가 저장되어 있으며, 상기 정책로딩부(35)는 상기 정책결정부(31)로부터 정책권한 정보의 요청이 있을 경우, 상기 정책 데이터베이스(40)에 접근하기 전에 먼저 상기 정책이력풀(37)을 확인하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 확인함으로써, 좀더 신속하게 접근권한 정보의 제공을 수행할 수 있다. The policy loading unit 35 has a policy history pool 37. The policy history pool 37 stores the access right information drawn by the policy loading unit 35 from the policy database 40. That is, the policy history pool 37 stores the access right information that the policy loading unit 35 draws from the policy database 40 for the previously requested RM, and the policy loading unit 35 stores the policy. When there is a request for policy authority information from the decision unit 31, before checking the policy database 40, the policy history pool 37 is first checked to determine whether there is access authority information for the corresponding RM. For example, the provision of access right information can be performed more quickly.

이러한 구성에 의한 정책결정모듈(30)에서 정책이 결정되는 과정을 도 2와 도 4를 참조하여 설명하면 다음과 같다.The process of determining the policy in the policy determination module 30 by such a configuration will be described with reference to FIGS. 2 and 4 as follows.

먼저, 정책요청 및 집행모듈(20)로부터 RM이 수신되면(S400), 정책결정부(31)는 결정이력풀(33)을 해싱하여 수신된 RM에 대해 매칭되는 접근권한 결정 DM이 존재하는지 여부를 판단한다(S410). 해당하는 DM이 존재하는 경우, 정책결정부(31)는 결정이력풀(33)에 존재하는 DM을 인출하여 바로 결정제어모듈(50)로 제공한다(S415). First, if an RM is received from the policy request and execution module 20 (S400), the policy decision unit 31 hashes the decision history pool 33 to determine whether there is an access right decision DM matching the received RM. Determine (S410). If there is a corresponding DM, the policy decision unit 31 withdraws the DM present in the decision history pool 33 and immediately provides it to the decision control module 50 (S415).

그러나, 해당하는 DM이 존재하지 아니하는 경우, 정책결정부(31)는 정책로딩부(35)로 RM을 제공한다. 정책로딩부(35)에서는 정책이력풀(37)을 해싱하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 판단한다(S420). However, if the corresponding DM does not exist, the policy decision unit 31 provides the RM to the policy loading unit 35. The policy loading unit 35 hashes the policy history pool 37 to determine whether there exists access right information on the corresponding RM (S420).

정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하는 경우, 정책로딩부(35)는 해당 접근권한 정보를 인출하여 정책결정부(31)로 제공하고, 정책결정부(31)에서는 DM을 생성한다(S450). 정책결정부(31)는 생성된 DM을 정책제어모듈(50)로 제공하는 동시에 결정이력풀(33)에 저장한다(S460과 S470). If there is access authority information for the RM in the policy history pool 37, the policy loading unit 35 retrieves the access authority information and provides it to the policy determination unit 31, and in the policy determination unit 31, Generate DM (S450). The policy decision unit 31 provides the generated DM to the policy control module 50 and simultaneously stores the generated DM in the decision history pool 33 (S460 and S470).

만약, 정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하지 아니하는 경우, 정책로딩부(35)는 정책 데이터베이스(40)로부터 해당 RM에 대한 접근권한 정보를 인출한다(S430). 정책로딩부(35)는 인출된 접근권한 정보를 제공하고 이와 동시에 정책이력풀(37)에 저장한다(S440). 그리고 정책결정부(31)에서는 정책로딩부(35)로부터 제공된 접근권한 정보에 따라 DM을 생성하여 정책제어모듈(50)로 제공하는 한편, DM을 결정이력풀(33)에 저장한다(S450, S460, 및 S470). If there is no access right information on the RM in the policy history pool 37, the policy loading unit 35 withdraws the access right information on the RM from the policy database 40 (S430). The policy loading unit 35 provides the extracted access right information and at the same time stores it in the policy history pool 37 (S440). In addition, the policy determination unit 31 generates a DM according to the access right information provided from the policy loading unit 35 and provides the DM to the policy control module 50, and stores the DM in the decision history pool 33 (S450, S460, and S470).

한편, 정책제어모듈(50)은 정책결정모듈(30)로부터 제공받은 DM, 즉 결정된 접근권한 정보를 기반으로 보다 다양한 접근제어를 수행한다. 이를 위해, 정책제어모듈(50)은 제어기(Controller; 51), 분석기(Analyzer; 55), 및 로거(Logger; 59)를 포함한다.Meanwhile, the policy control module 50 performs more various access control based on the DM provided from the policy decision module 30, that is, the determined access right information. To this end, the policy control module 50 includes a controller 51, an analyzer 55, and a logger 59.

상기 분석기(55)는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 통계적인 분석을 수행하며, 상기 분석기(55)는 통계정보풀(Statistic Information Pool; 57)을 포함한다. 상기 통계정보풀(57)은 상기 분석기(55)에서 분석한 통계자료들이 저장되어 있으며, 아래의 표 2에 개시된 바와 같은 데이터가 포함된다.The analyzer 55 performs statistical analysis on the many relationships that may be formed between the subject 10 and the object 70, and the analyzer 55 analyzes a statistical information pool 57. Include. The statistical information pool 57 stores statistical data analyzed by the analyzer 55, and includes data as disclosed in Table 2 below.

항목Item 내용Contents 요청request 허여Huh 거부denial 비율ratio 시간time 날짜date 간격interval 주체Subject mirrmirr 10001000 900900 100100 0.50.5 1-21-2 객체Object /etc/passwd/ etc / passwd 234234 134134 100100 0.90.9 행위Act readread 1000010000 90009000 10001000 .... 55 결정정보Decision information denydeny 10001000 10001000 .... 정책정보Policy Information mirr_denymirr_deny 100100 9090 1010 ....

이와 같이, 상기 통계 정보풀(57)에 저장되는 요소로는 DM에 포함된 주체(10), 객체(70), 행위, 결정정보, 및 정책정보가 있으며, 각 요소에 대해 요청횟수(Count), 허여 횟수(Allow), 거부된 횟수(Deny), 비율(Rate), 시간, 날짜, 및 간격 등에 대한 정보가 저장되어 있다. As such, the elements stored in the statistical information pool 57 include the subject 10, the object 70, the action, the decision information, and the policy information included in the DM, and the number of requests for each element is counted. Information on the number of times of Allow, Allow, Deny, Rate, Time, Date, and Interval are stored.

이에 따라, 상기 분석기(55)는 상기 통계정보풀(57)에 저장된 통계자료들을 캐쉬하여 동일한 접근결정 요청이 있을 경우, 보다 빠르게 통계적인 분석을 수행할 수 있다. 즉, 상기 분석기(55)는 정책결정모듈(30)로부터 제공받은 DM을 통계정보풀(57)에 저장된 통계자료들과 비교하여 통계적인 분석을 한다. 이렇게 분석기(55)에서 통계적인 접근분석을 수행함으로써, 정책결정모듈(30)에서 미처 판단하지 못한 주체(10)의 이상행동을 발견할 수 있다. Accordingly, the analyzer 55 may cache statistical data stored in the statistical information pool 57 to perform statistical analysis more quickly when the same access decision request is made. That is, the analyzer 55 compares the DM provided from the policy decision module 30 with the statistical data stored in the statistical information pool 57 and performs statistical analysis. By performing a statistical approach analysis in the analyzer 55, it is possible to find the abnormal behavior of the subject 10 not determined by the policy decision module 30.

상기 제어기(51)는 상기 분석기(55)에서 분석한 결과를 검사하고, 검사 후 주체(10)의 객체(70) 접근을 허여하거나 차단하는 결과를 나타내는 제어 메시지(Controll Message; CM)을 생성한다.The controller 51 inspects a result analyzed by the analyzer 55 and generates a control message (CM) indicating a result of granting or blocking access to the object 70 of the subject 10 after the test. .

상기 제어 메시지(CM)은 정책제어모듈(50)로부터 정책요청 및 집행모듈(20)로 제공되는 메시지로서, CM(D,C)의 형태를 띤다. 여기서, D는 DM에 포함된 것과 동일한 RM을 통해 요청된 주체(10)의 객체(70)에 대한 접근을 허여/거절에 대한 내용인 결정정보이고, C는 정책제어모듈(50)에서 지원되는 각종 제어들에 대한 정보이다. The control message CM is a message provided from the policy control module 50 to the policy request and execution module 20 and takes the form of CM (D, C). Here, D is decision information for granting / rejecting access to the object 70 of the requested subject 10 through the same RM as included in the DM, and C is supported by the policy control module 50. Information on various controls.

상기 제어기(51)는 분석기(55)에서 분석한 결과를 검사하기 위해 블랙리스트풀(Black List Pool; 53)을 가지고 있으며, 블랙 리스트풀(53)에는 상기 분석기(55)에서의 분석결과 이상행위를 수행하는 주체(10)에 대해, 주체(10), 객체(70), 행위, 및 결정정보가 저장된다.The controller 51 has a black list pool 53 to check the analysis result of the analyzer 55, and the black list pool 53 has an abnormal result of the analysis result of the analyzer 55. For the subject 10 performing the subject 10, the object 70, the action, and the decision information are stored.

상기 제어기(51)는 상기 분석기(55)에서 분석한 결과를 다시 블랙 리스트풀(53)과 비교하여 검사하고, 검사결과 상기 분석기(55)에서 분석한 주체(10), 객체(70), 및 행위에 이상이 없을 경우, 즉 상기 제어기(51)는 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우에만 CM을 생성한다. 상기 제어기(51)는 상기 CM이 생성되면, 상기 CM과 함께 블랙 리스트풀(53) 검사결과, 및 CM 적용결과 등을 로거(logger; 59)로 제공한다. The controller 51 compares the result analyzed by the analyzer 55 with the black list pool 53 again, and examines the subject 10, the object 70, and the result analyzed by the analyzer 55. When there is no abnormality in the behavior, that is, the controller 51 generates the CM only when it is determined that the behavior on the object 70 of the subject 10 is not malicious or abnormal. When the CM is generated, the controller 51 provides the logger 59 with the black list pool 53 inspection result and the CM application result together with the CM.

상기 로거(59)는 제어기(51)로부터 CM, 블랙리스트풀(53) 검사결과, CM 적용결과 등을 제공받아 별도의 로그 데이터베이스(60)에 로그정보로서 저장한다. 상기 로그 데이터베이스(60)에 저장된 로그정보로는 주체(10), 객체(70), 행위, 및 결정정보를 포함한다. 이에 따라, 상기 로그 데이터베이스(60)에 저장된 로그정보를 이용하여 관리자는 로그정보에 포함된 주체(10)가 시스템에 접근하는 것을 원천적으로 방지할 수 있다.The logger 59 receives the CM, the blacklist pool 53 inspection result, the CM application result, and the like from the controller 51 and stores the log information in a separate log database 60. The log information stored in the log database 60 includes a subject 10, an object 70, an action, and decision information. Accordingly, by using the log information stored in the log database 60, the administrator can prevent the subject 10 included in the log information from accessing the system.

이러한 정책제어모듈(50)에 의해 주체(10)에 대한 제어가 이루어지는 과정을 도 2와 도 5를 참조하여 설명하면 다음과 같다.The process of controlling the subject 10 by the policy control module 50 will now be described with reference to FIGS. 2 and 5.

정책결정모듈(30)로부터 DM이 제공되면(S500), 분석기(55)에서는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 통계적인 분석을 수행하며(S510), 이때, 통계정보풀(57)에 저장된 통계자료들과 DM을 비교하여 보다 신속하게 통계적인 분석을 수행한다. When the DM is provided from the policy decision module 30 (S500), the analyzer 55 performs a statistical analysis on many relationships that may be formed between the subject 10 and the object 70 (S510). At this time, the statistical information stored in the statistical information pool 57 is compared with the DM to perform statistical analysis more quickly.

그리고, 분석기(55)에서는 통계적인 분석을 통해 주체(10), 객체(70), 및 행위에 대해 이상행위가 있는지 여부를 판단한다(S520). S520의 판단결과 이상행위가 있는 경우, 분석기(55)는 이상행위에 대한 정보를 블랙리스트풀(53)에 바로 업데이트하여 저장되도록 한다(S525). 그러나 분석기(55)에서 이상행위를 발견하지 못한 경우, 분석결과와 함께 DM정보를 제어기(51)에 제공한다. In addition, the analyzer 55 determines whether there is an abnormal behavior with respect to the subject 10, the object 70, and the behavior through statistical analysis (S520). If there is an abnormal behavior as a result of the determination in S520, the analyzer 55 immediately updates and stores the information on the abnormal behavior in the blacklist pool 53 (S525). However, if no abnormality is found in the analyzer 55, DM information is provided to the controller 51 together with the analysis result.

제어기(51)는 DM정보와 블랙리스트풀(53)에 저장된 정보를 다시 한번 비교하고(S530), 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적인 경우(S640), 제어기(51)는 주체(10)의 객체(70)에 대한 접근 거부를 결정한다(S550). 그런 다음, 제어기(51)는 해당 정보에 대해 CM을 생성하는 동시에 해당 정보를 로거(59)로 제공하여 로그 데이터베이스에 저장되도록 한다(S560과 S570). The controller 51 compares the DM information with the information stored in the blacklist pool 53 once again (S530), and when the behavior of the subject 70 of the subject 10 is malicious or abnormal (S640), the controller 51 ) Determines the denial of access to the object 70 of the subject 10 (S550). Then, the controller 51 generates the CM for the information and provides the information to the logger 59 to be stored in the log database (S560 and S570).

한편, 제어기(51)는 DM에 포함된 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우, 주체(10)의 객체(70)에 대한 접근 허여를 결정하고(S545), CM을 생성한다(S560). CM이 생성되면, 제어기(51)는 CM과 함께 블랙리스트풀(53) 검사결과, CM 적용결과 등을 로거(59)로 제공하여 로그 데이터베이스에 저장되도록 하고(S570), CM은 정책요청 및 집행모듈(20)로 제공한다(S580). On the other hand, when the controller 51 determines that the behavior of the subject 70 of the subject 10 included in the DM is not malicious or abnormal, the controller 51 determines the grant permission of the subject 10 to the object 70 ( S545), a CM is generated (S560). When the CM is generated, the controller 51 provides the blacklist pool 53 inspection result, CM application result, etc. to the logger 59 together with the CM to be stored in the log database (S570), and the CM requests and enforces the policy. Provided to the module 20 (S580).

이러한 구성에 의한 본 발명에 따른 보안시스템(1)이 동작하는 과정을 도 2 내지 도 5를 참조하여 다시 한번 설명하면 다음과 같다. The operation of the security system 1 according to the present invention by such a configuration will be described once again with reference to FIGS. 2 to 5.

먼저, 주체(10)에 의해 임의의 객체(70)에 대한 임의의 행위를 수행할 것이 요청되면(S300), 메시지 생성부(21)는 커널로부터 주체(10), 객체(70), 및 행위에 대한 정보를 인출하여 이들을 기초로 하여 RM을 생성한다(S310). 그러면 메시지 전송부(23)는 생성된 RM을 정책결정모듈(30)로 제공한다(S320). First, when the subject 10 is requested to perform an arbitrary action on an arbitrary object 70 (S300), the message generator 21 receives the subject 10, the object 70, and the action from the kernel. Withdraw information about to generate an RM based on these (S310). Then, the message transmission unit 23 provides the generated RM to the policy decision module 30 (S320).

정책요청 및 집행모듈(20)로부터 RM이 수신되면(S400), 정책결정모듈(30)의 정책결정부(31)는 결정이력풀(33)내에 RM에 매칭되는 DM이 존재하는지 여부를 판단한다(S410). 해당하는 DM이 존재하는 경우, 정책결정부(31)는 결정이력풀(33)에 존재하는 DM을 인출하여 바로 결정제어모듈(50)로 제공한다(S415). 반면, 해당하는 DM이 존재하지 아니하는 경우, 정책결정부(31)는 정책로딩부(35)로 RM을 제공한다. When the RM is received from the policy request and execution module 20 (S400), the policy decision unit 31 of the policy determination module 30 determines whether there is a DM matching the RM in the decision history pool 33. (S410). If there is a corresponding DM, the policy decision unit 31 withdraws the DM present in the decision history pool 33 and immediately provides it to the decision control module 50 (S415). On the other hand, if the corresponding DM does not exist, the policy decision unit 31 provides the RM to the policy loading unit 35.

정책로딩부(35)에서는 정책이력풀(37)을 해싱하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 판단한다(S420). 정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하는 경우, 정책로딩부(35)는 해당 접근권한 정보를 인출하여 정책결정부(31)로 제공하고, 정책결정부(31)에서는 DM을 생성한다(S450). 정책결부(31)는 생성된 DM을 정책제어모듈(50)로 제공하는 동시에 결정 이력풀(33)에 저장한다(S460과 S470).The policy loading unit 35 hashes the policy history pool 37 to determine whether there exists access right information on the corresponding RM (S420). If there is access authority information for the RM in the policy history pool 37, the policy loading unit 35 retrieves the access authority information and provides it to the policy determination unit 31, and in the policy determination unit 31, Generate DM (S450). The policy attachment 31 provides the generated DM to the policy control module 50 and simultaneously stores the generated DM in the decision history pool 33 (S460 and S470).

만약, 정책 이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하지 아니하는 경우, 정책로딩부(35)는 정책 데이터베이스(40)로부터 해당 RM에 대한 접근권한 정보를 인출한다(S430). 정책로딩부(35)는 인출된 접근권한 정보를 제공하고 이와 동시에 정책이력풀(37)에 저장한다(S440). 그리고 정책결정부(31)에서는 정책로딩부(35)로부터 제공된 접근권한 정보에 따라 DM을 생성하여 정책제어모듈(50)로 제공하는 한편, DM을 결정이력풀(33)에 저장한다(S450,S460,S470).If there is no access right information on the RM in the policy history pool 37, the policy loading unit 35 withdraws the access right information on the RM from the policy database 40 (S430). The policy loading unit 35 provides the extracted access right information and at the same time stores it in the policy history pool 37 (S440). In addition, the policy determination unit 31 generates a DM according to the access right information provided from the policy loading unit 35 and provides the DM to the policy control module 50, and stores the DM in the decision history pool 33 (S450, S460, S470).

정책결정모듈(30)로부터 DM이 제공되면(S500), 정책제어모듈(50)의 분석기(55)는 통계정보풀(57)을 이용하여 DM에 대해 통계적인 분석을 수행하여 이상행위가 있는지 여부를 판단한다(S510과 S520). 이상행위가 있는 경우, 분석기(55)는 이상행위에 대한 정보를 블랙리스트풀(53)에 바로 업데이트하여 저장되도록 한다(S525). 그러나 분석기(55)에서 이상행위를 발견하지 못한 경우, 분석결과와 함께 DM정보를 제어기(51)에 제공한다.When the DM is provided from the policy determination module 30 (S500), the analyzer 55 of the policy control module 50 performs statistical analysis on the DM using the statistical information pool 57, and whether there is an abnormal behavior. Determine (S510 and S520). If there is an abnormal behavior, the analyzer 55 immediately updates and stores the information on the abnormal behavior in the blacklist pool 53 (S525). However, if no abnormality is found in the analyzer 55, DM information is provided to the controller 51 together with the analysis result.

제어기(51)는 DM정보와 블랙 리스트풀(53)에 저장된 정보를 다시 한번 비교하고(S530), 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적인 경우(S540), 주체(10)의 객체(70) 접근을 거부한다(S550). 그리고 그 내용을 CM으로 생성하고(S560), 그 내용을 로그 데이터베이스에 저장되도록 한다(S570). The controller 51 compares the DM information with the information stored in the black list pool 53 once again (S530), and when the behavior of the subject 10 of the subject 10 is malicious or abnormal (S540), the subject 10 Denial of access to the object 70 (S550). The content is generated in the CM (S560), and the content is stored in the log database (S570).

만약, DM에 포함된 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우(S540), 제어기(51)는 주체(10)의 객체(70)에 대한 접근을 허여하는 결정을 하고(S545), CM을 생성한다(S560). CM이 생성되면, 제어기(51)는 CM과 함께 블랙 리스트풀(53) 검사결과, CM 적용결과 등을 로거(59)로 제공하고, CM은 정책요청 및 집행모듈(20)로 제공한다(S570과 S580). If it is determined that the behavior of the subject 70 of the subject 10 included in the DM is not malicious or abnormal (S540), the controller 51 grants access to the subject 70 of the subject 10. A decision is made (S545) and a CM is generated (S560). When the CM is generated, the controller 51 provides the black list pool 53 inspection result, the CM application result, etc. to the logger 59 together with the CM, and the CM provides the policy request and execution module 20 (S570). And S580).

이렇게 정책제어모듈(50)에서 주체(10)의 객체(70)에 대한 접근 허여 또는 거부가 결정되면, 정책요청 및 집행모듈(20)의 메시지 수신부(25)에서는 CM을 수신하여 결정내용(ARN)에 따라 주체(10)를 객체(70)에 연결시키거나 접근을 차단한다. If the policy control module 50 is determined to grant or deny access to the object 70 of the subject 10, the message request unit 25 of the policy request and execution module 20 receives the CM to determine the decision (ARN). The subject 10 is connected to the object 70 or blocked access.

즉, 주체의 객체에 대한 접근 허여(ARN)가 결정된 경우, 메시지 수신부(25)는 주체를 객체에 연결하고(S350), 주체의 객체에 대한 접근 차단(ARN)이 결정된 경우, 주체를 객체로부터 차단한다(S345). 그리고 정책제어모듈(50)은 허여 또는 거부에 대한 결정내용을 주체(10)로 전달한다(S360).That is, when the access permission (ARN) of the object of the subject is determined, the message receiving unit 25 connects the subject to the object (S350), and if the access blocking (ARN) of the object of the subject is determined, the subject from the object Block (S345). In addition, the policy control module 50 transmits a decision on grant or denial to the subject 10 (S360).

이와 같이, 본 발명의 실시예에 따른 보안시스템(1)은 접근통제를 요청하고 통제하는 부분과 접근통제를 결정하는 부분이 하나의 시스템내에 독립적으로 구현됨에 따라, 새로운 접근통제모델을 제안함에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있다. As described above, the security system 1 according to the embodiment of the present invention proposes a new access control model as the part for requesting and controlling the access control and the part for determining the access control are independently implemented in one system. Policies on access control can be easily managed and verified.

한편, 종래의 SELinux 보안시스템이 접근통제 프레임워크(framework)와 접근통제 통합모델의 두 부분으로 설계 및 구현됨에 따라, 접근통제 통합모델이 DAC (Discrete Access Control)과 연동하여 동작하는 이중구조일 뿐만 아니라, LSM을 사용해야 했다. 그러나, 본 발명의 실시예에 따른 보안시스템(1)은 DAC와의 연동을 통한 접근통제를 수행하지 아니하므로, 구조가 단순하여 설계 및 구현이 용이하다. Meanwhile, as the conventional SELinux security system is designed and implemented in two parts, an access control framework and an integrated access control model, the integrated access control model is a dual structure that operates in conjunction with the DAC (Discrete Access Control). Rather, they had to use LSM. However, since the security system 1 according to the embodiment of the present invention does not perform access control through interworking with the DAC, the design is simple and easy to implement and implement.

이에 따라, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있으며, 관리자가 쉽게 정책을 관리할 수 있도록 정책관리 GUI의 제공도 가능하다.Accordingly, the administrator can change the design or simply manage the design so that various security models can be applied, and the policy management GUI can be provided so that the administrator can easily manage the policy.

뿐만 아니라, 본 발명의 실시예에 따른 보안시스템(1)은 접근통제를 요청하고 집행하는 정책요청 및 집행모듈(20), 접근통제를 결정하는 정책결정모듈(30), 및 접근통제 결정 후 발생하는 문제를 해결하기 위한 정책제어모듈(50)의 세 부분으로 이루어짐에 따라, 각 행위간 연관관계가 고려되고, 접근결정 후 유효성을 상실하여 발생하는 추후의 공격을 방지할 수 있다.In addition, the security system 1 according to an embodiment of the present invention, the policy request and execution module 20 for requesting and executing the access control, the policy decision module 30 for determining the access control, and occurs after the access control decision According to the three parts of the policy control module 50 to solve the problem, the relationship between each action is taken into consideration, it is possible to prevent future attacks caused by the loss of validity after the access decision.

본 발명의 실시예들은 컴퓨터 시스템에서 실행할 수 있는 프로그램으로 작성가능하다. 또한, 상기 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체로부터 독출된 해당 프로그램은 디지털 컴퓨터 시스템에서 실행될 수 있다. 상기 기록 매체에는 마그네틱 저장 매체(예를 들면, 롬, 플로피디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 매체를 포함한다.Embodiments of the present invention can be written as a program executable in a computer system. Also, the program read out from the computer-readable recording medium that recorded the program can be executed in the digital computer system. The recording medium may include a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), an optical reading medium (e.g., CD-ROM, DVD, etc.) and a carrier wave (e.g., transmission over the Internet). Media.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

이상에서 설명한 바와 같이, 본 발명에 따른 보안 시스템과 보안방법에 따르면, 새로운 접근통제모델이 제안됨에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 구조가 단순하여 설계 및 구현이 용이하다. 따라서 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있다. 그리고 접근통제 결정 후 발생하는 문제를 해결할 수 있다. As described above, according to the security system and the security method according to the present invention, as a new access control model is proposed, it is easy to manage and verify the policies related to access control, and the structure is simple and easy to design and implement. . This allows administrators to change the design or easily manage the design to accommodate different security models. And problems that arise after access control decisions can be solved.

Claims (30)

주체가 접근하고자 하는 객체와 상기 주체가 상기 객체에 대해 수행하고자 하는 행위에 대해 미리 설정된 접근권한 정보를 이용하여 상기 주체의 상기 객체로의 접근허여 여부를 결정하는 정책결정모듈; A policy determination module for determining whether the subject has permission to access the object using an object to which the subject wants to access and pre-set access authority information about an action that the subject wants to perform on the object; 상기 주체로부터의 요청에 따라 상기 정책결정모듈로 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 제공하여 상기 주체의 상기 객체로의 접근허여를 요청하는 정책요청 및 집행모듈; 및A policy request and enforcement module that provides information on the subject, the object, and the action to the policy decision module according to a request from the subject to request permission to access the subject to the object; And 상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 최종 결정하는 정책제어모듈을 포함하는 것을 특징으로 하는 보안시스템. And a policy control module for performing a statistical analysis on the subject to which the object is granted to determine whether to act abnormally to finally determine whether to grant the subject to access to the object. . 제1항에 있어서, The method of claim 1, 상기 정책요청 및 집행모듈은 상기 주체, 상기 객체, 상기 행위에 대한 정보를 메시지 형태로 구성하는 메시지 생성부를 포함하는 것을 특징으로 하는 보안시스템. The policy request and enforcement module includes a message generator configured to configure information on the subject, the object, and the action in a message form. 제2항에 있어서,The method of claim 2, 상기 메시지 생성부는 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 커널로부터 인출하는 것을 특징으로 하는 보안시스템. And the message generator extracts information about the subject, the object, and the action from a kernel. 제3항에 있어서, The method of claim 3, 상기 정책요청 및 집행모듈은 상기 메시지 생성부에서 생성된 메시지를 상기 정책결정모듈로 전송하는 메시지 전송부를 더 포함하는 것을 특징으로 하는 보안시스템. The policy request and enforcement module further comprises a message transmitter for transmitting the message generated by the message generator to the policy determination module. 제4항에 있어서,The method of claim 4, wherein 상기 정책요청 및 집행모듈은 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받는 메시지 수신부를 더 포함하는 것을 특징으로 하는 보안시스템. The policy request and enforcement module further comprises a message receiving unit for receiving the access permission information generated by the policy control module. 제5항에 있어서, The method of claim 5, 상기 접근허여 정보는 상기 주체의 상기 객체에 대한 접근을 허여/거절에 대한 내용인 결정정보와 상기 정책제어모듈에서 지원되는 각종 제어들에 대한 제어정보를 포함하는 것을 특징으로 하는 보안시스템. The access permission information includes decision information which is content for granting / denying access to the object of the subject and control information for various controls supported by the policy control module. 제6항에 있어서,The method of claim 6, 상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신하고, 상기 주체에게 접근이 허여되었음을 통지하는 것을 특징으로 하는 보안시스템. The message receiving unit receives the access permission information generated by the policy control module, and the security system, characterized in that notifying the subject that the access is granted. 제7항에 있어서,The method of claim 7, wherein 상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신하고, 상기 주체와 상기 객체를 연결시키는 것을 특징으로 하는 보안시스템. The message receiver receives the access permission information generated by the policy control module, and connects the subject and the object. 제8항에 있어서,The method of claim 8, 상기 정책결정모듈은 상기 정책요청 및 집행모듈로부터 제공된 정보를 이용하여 상기 주체가 상기 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 정책결정부를 포함하는 것을 특징으로 하는 보안시스템.The policy determination module includes a policy decision unit that determines an access right for the subject to perform an action on the object by using the information provided from the policy request and execution module. 제9항에 있어서,The method of claim 9, 상기 정책결정부는 상기 주체, 상기 객체, 상기 행위, 및 상기 접근권한 여부를 포함하는 결정이력풀을 포함하는 것을 특징으로 하는 보안시스템. The policy decision unit includes a decision history pool including the subject, the object, the action, and the access right. 제10항에 있어서,The method of claim 10, 상기 정책결정부는 상기 결정이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 것을 특징으로 하는 보안시스템.The policy decision unit compares the information stored in the decision history pool with the information provided from the policy request and execution module to determine an access right for the subject provided from the policy request and execution module to perform an action on an object. Security system. 제1항에 있어서, 상기 보안 시스템은,The method of claim 1, wherein the security system, 미리 정의된 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정책 데이터베이스를 더 포함하는 것을 특징으로 하는 보안시스템. And a policy database storing an access policy for determining an access right for the predefined subject. 제12항에 있어서,The method of claim 12, 상기 정책결정모듈은 상기 정책 데이터베이스로부터 상기 주체, 상기 객체, 및 상기 행위에 부합되는 접근정책을 인출하는 정책로딩부를 더 포함하는 것을 특징으로 하는 보안시스템. The policy determination module further includes a policy loading unit for retrieving an access policy corresponding to the subject, the object, and the action from the policy database. 제12항에 있어서,The method of claim 12, 상기 정책로딩부는 상기 정책 데이터베이스로부터 인출된 접근정책을 저장하는 정책이력풀을 포함하는 것을 특징으로 하는 보안시스템. The policy loading unit includes a policy history pool for storing the access policy drawn from the policy database. 제1항에 있어서,The method of claim 1, 상기 정책제어모듈은 상기 주체와 객체 사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 분석기를 포함하는 것을 특징으로 하는 보안시스템. The policy control module may include an analyzer for performing statistical analysis on relations that may be formed between the subject and the object. 제15항에 있어서,The method of claim 15, 상기 분석기는 상기 분석기에서 기분석한 통계자료들이 저장된 통계정보풀을 포함하는 것을 특징으로 하는 보안시스템. The analyzer is a security system, characterized in that it comprises a statistical information pool stored in the statistical data previously analyzed in the analyzer. 제16항에 있어서,The method of claim 16, 상기 통계정보풀에는 상기 주체, 상기 객체, 상기 행위, 상기 결정정보, 및 상기 정책정보가 포함되는 것을 특징으로 하는 보안시스템. The statistical information pool includes the subject, the object, the action, the decision information, and the policy information. 제17항에 있어서,The method of claim 17, 상기 분석기는 상기 통계정보풀에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 것을 특징으로 하는 보안시스템. The analyzer is to determine the abnormal behavior of the subject using the information contained in the statistical information pool. 제18항에 있어서,The method of claim 18, 상기 정책제어모듈은 상기 분석기로부터의 상기 주체의 이상행위 판단결과에 따라 상기 주체의 객체로의 접근을 허여할 것인지 여부를 판단하는 제어기를 더 포함하는 것을 특징으로 하는 보안시스템. The policy control module further includes a controller for determining whether to allow access to an object of the subject based on a result of the subject's abnormal behavior determination from the analyzer. 제19항에 있어서,The method of claim 19, 상기 제어기는 상기 분석기로부터 이상행위로 판단된 정보가 저장되는 블랙리스트풀을 포함하는 것을 특징으로 하는 보안시스템. The controller includes a black list pool in which information determined to be abnormal from the analyzer is stored. 제20항에 있어서,The method of claim 20, 상기 제어기는 상기 분석기로부터 제공된 상기 주체, 상기 객체, 및 상기 행 위에 대한 정보와 상기 블랙리스트풀에 저장된 정보를 비교하고, 상기 블랙리스트풀에 저장된 정보와 부합되지 아니할 경우 상기 정책요청 및 집행모듈로 상기 주체의 객체 접근을 허여하는 접근허여 정보를 제공하는 것을 특징으로 하는 보안시스템. The controller compares the information on the subject, the object, and the row provided from the analyzer with the information stored in the blacklist pool, and if the information does not match the information stored in the blacklist pool, the controller requests the policy request and execution module. Security system, characterized in that for providing access permission information for granting the object access of the subject. 제20항에 있어서,The method of claim 20, 상기 정책제어모듈은 상기 분석기에서의 분석결과와 상기 제어기에서 접근허여 정보를 저장하는 로그 데이터베이스, 및 상기 제어기로부터 상기 분석기에서의 분석결과와 상기 접근허여 정보를 제공받아 상기 로그 데이터베이스에 저장하는 로거를 더 포함하는 것을 특징으로 하는 보안시스템. The policy control module may include a log database that stores the analysis result in the analyzer and the access permission information in the controller, and a logger that receives the analysis result and the access permission information in the analyzer from the controller and stores the result in the log database. Security system characterized in that it further comprises. 주체로부터 상기 주체가 접근하고자 하는 객체와 상기 주체가 상기 객체에 대해 수행하고자 하는 행위에 대한 정보를 입력받는 단계; Receiving, from a subject, information about an object that the subject intends to access and an action that the subject intends to perform on the object; 미리 설정된 접근권한 정보를 이용하여 상기 주체의 상기 객체로의 접근 허여여부를 결정하는 단계; Determining whether to allow the subject to access the object using preset access right information; 상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 최종 결정하는 단계를 포함하는 것을 특징으로 하는 보안방법. And performing a statistical analysis on the subject to which the object is granted access to determine whether there is an abnormal behavior, and finally determining whether to grant the subject access to the object. 제23항에 있어서, 상기 보안방법은,The method of claim 23, wherein the security method, 상기 최종 결정된 상기 주체의 객체에 대한 허여 여부를 상기 주체에게 통지하는 단계를 더 포함하는 것을 특징으로 하는 보안방법. And notifying the subject of whether the subject has been granted the object. 제24항에 있어서, 상기 보안방법은,The method of claim 24, wherein the security method, 상기 최종 결정단계에서 접근이 허여되면, 상기 주체와 상기 객체를 연결시키는 단계를 더 포함하는 것을 특징으로 하는 보안방법. And if the access is granted in the final decision step, connecting the subject and the object. 제23항에 있어서, 상기 보안방법은,The method of claim 23, wherein the security method, 상기 주체, 상기 객체, 상기 행위, 및 상기 접근권한 여부를 포함하는 결정이력풀을 형성하는 단계를 더 포함하며,And forming a decision history pool including the subject, the object, the action, and whether the access right. 상기 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 단계는 상기 결정이력풀에 저장된 정보와 상기 주체로부터 제공된 정보를 비교하여 상기 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 단계인 것을 특징으로 하는 보안방법. Determining whether to allow the subject to access the object by using the access right information includes access to the subject to perform an action on the object by comparing the information stored in the decision history pool with the information provided from the subject Security method characterized in that the step of determining the authority. 제23항에 있어서, 상기 보안방법은,The method of claim 23, wherein the security method, 미리 정의된 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정책 데이터베이스를 구축하는 단계를 더 포함하며, The method may further include constructing a policy database in which an access policy for determining access rights for the predefined subject is stored. 상기 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 단계는 상기 정책 데이터베이스로부터 상기 주체로부터 제공된 정보에 매칭되 는 접근정책을 인출하여 비교하여 상기 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 단계인 것을 특징으로 하는 보안방법. Determining whether to allow the subject to access the object using the access right information, the subject performs the action on the object by comparing the access policy matching the information provided from the subject from the policy database The security method characterized in that the step of determining the access rights. 제23항에 있어서, 상기 보안방법은,The method of claim 23, wherein the security method, 상기 주체와 상기 객체 사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 단계를 더 포함하는 것을 특징으로 하는 보안방법. And performing a statistical analysis on the relationships that may be formed between the subject and the object. 제28항에 있어서, 상기 보안방법은,The method of claim 28, wherein the security method, 이미 분석한 통계자료들이 저장된 통계정보풀을 구축하는 단계; 및 Building a statistical information pool in which statistical data already analyzed are stored; And 상기 통계정보풀에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 단계를 더 포함하는 것을 특징으로 하는 보안방법.And determining an abnormal behavior of the subject using the information included in the statistical information pool. 제23항 내지 제29항 중의 어느 하나의 항에 기재된 보안방법을 수행하기 위한 프로그램을 기록한 기록매체. A recording medium recording a program for performing the security method according to any one of claims 23 to 29.
KR1020050067968A 2005-07-26 2005-07-26 Security system and method for supporting a variety of access control policies, and recordable medium thereof KR100657353B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050067968A KR100657353B1 (en) 2005-07-26 2005-07-26 Security system and method for supporting a variety of access control policies, and recordable medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050067968A KR100657353B1 (en) 2005-07-26 2005-07-26 Security system and method for supporting a variety of access control policies, and recordable medium thereof

Publications (1)

Publication Number Publication Date
KR100657353B1 true KR100657353B1 (en) 2006-12-14

Family

ID=37733244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050067968A KR100657353B1 (en) 2005-07-26 2005-07-26 Security system and method for supporting a variety of access control policies, and recordable medium thereof

Country Status (1)

Country Link
KR (1) KR100657353B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101497629B1 (en) * 2014-07-30 2015-03-03 주식회사 피앤피시큐어 Access control system and method for file on linux kernel
KR101784821B1 (en) * 2016-04-01 2017-10-23 서원대학교산학협력단 Access management system for illegal access to resource using psychology of behavior and method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020033859A (en) * 2000-10-30 2002-05-08 송영호 Linux security kernel
KR20020075601A (en) * 2001-03-26 2002-10-05 주식회사데이콤 Linux System and Operating Method of the Linux System having improved access control function

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020033859A (en) * 2000-10-30 2002-05-08 송영호 Linux security kernel
KR20020075601A (en) * 2001-03-26 2002-10-05 주식회사데이콤 Linux System and Operating Method of the Linux System having improved access control function

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101497629B1 (en) * 2014-07-30 2015-03-03 주식회사 피앤피시큐어 Access control system and method for file on linux kernel
KR101784821B1 (en) * 2016-04-01 2017-10-23 서원대학교산학협력단 Access management system for illegal access to resource using psychology of behavior and method thereof

Similar Documents

Publication Publication Date Title
US8590052B2 (en) Enabling granular discretionary access control for data stored in a cloud computing environment
US9049195B2 (en) Cross-domain security for data vault
US9053302B2 (en) Obligation system for enterprise environments
US8769605B2 (en) System and method for dynamically enforcing security policies on electronic files
US8893300B2 (en) Security systems and methods to reduce data leaks in enterprise networks
US9639678B2 (en) Identity risk score generation and implementation
US7593942B2 (en) Mandatory access control base
US7814075B2 (en) Dynamic auditing
US7831570B2 (en) Mandatory access control label security
US7814076B2 (en) Data vault
US20090282457A1 (en) Common representation for different protection architectures (crpa)
US20070136603A1 (en) Method and apparatus for providing secure access control for protected information
US20060265598A1 (en) Access to a computing environment by computing devices
US8095969B2 (en) Security assertion revocation
US8510796B2 (en) Method for application-to-application authentication via delegation
US11595372B1 (en) Data source driven expected network policy control
KR100657353B1 (en) Security system and method for supporting a variety of access control policies, and recordable medium thereof
KR100706338B1 (en) Virtual access control security system for supporting various access control policies in operating system or application
KR102430882B1 (en) Method, apparatus and computer-readable medium for container work load executive control of event stream in cloud
KR100707940B1 (en) Security method for supporting various access control policies in operating system or application
US8627072B1 (en) Method and system for controlling access to data
Lad Application and Data Security Patterns
Jaidi Advanced access control to information systems: Requirements, compliance and future directives
Haber et al. Privileged Access Management (PAM)
Batra et al. Multilevel policy based security in distributed database

Legal Events

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

Payment date: 20130131

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141208

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151207

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161207

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171207

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191209

Year of fee payment: 14