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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Abstract
Description
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.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
일반적으로 표준 리눅스 보안(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) 모델에서의 파일과 자원에 대한 결정권은 오직 해당 객체(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
이에 따라, 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)
이는 리눅스 시스템에 있는 모든 작동자(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
한편, TE 모델(140)은 RBAC 기능을 이용하기는 하나, 그 기능이 매우 약하므로, 사용자에게 할당된 역할(role)에 대한 권한 기능이 약하다. 이에 따라, 새로운 보안정책 모델이 제시되었을 때, 상기 RBAC 기능을 적용하기가 어렵게 된다. On the other hand, the
또한, TE 모델(140)에서는 Type 라는 이름으로 기능을 분리하고 주체와 객체 사이의 관계를 표현하고, Type의 전이를 통해서 주체와 객체의 관계가 변경되도록 하고 있다. 따라서, GUI가 아닌 Type을 통해 정책을 설정하기 때문에 일반 사용자 또는 관리자가 정책을 설정하기가 용이하지 아니하다는 단점이 있다. In addition, the
따라서, 본 발명의 목적은 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 용이하게 변경할 수 있도록 하는 보안시스템, 보안방법, 및 상기 보안방법을 실행하기 위한 프로그램을 기록한 기록매체를 제공하는 것이다. 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.
도 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
상기 정책요청 및 집행모듈(20)은, 정책결정모듈(30)로 소정의 정책을 요청하는 모듈로서, 주체(Subject; 10)가 객체(object; 70)에게 특정 행위(Action)를 수행하고자 할 때, 상기 주체(10)가 상기 객체(70)에 접근하는 것을 허여하도록 요청하며, 요청결과에 따라 상기 정책결정모듈(30)과 상기 정책제어모듈(50)을 통해 상기 주체(10)가 상기 객체(70)로 접근하는 것이 허여되면, 상기 객체(70)에 접근하여 상기 주체(10)와 상기 객체(70)를 연결하는 역할을 한다.The policy request and
이러한 역할을 수행하기 위해, 상기 정책요청 및 집행모듈(20)은 메시지 생성부(21), 메시지 전송부(23), 및 메시지 수신부(25)를 포함한다.To perform this role, the policy request and
상기 메시지 생성부(21)는 주체(10)로부터 객체(70)로의 접근이 요청되면(request), 커널로부터 주체(10), 객체(70), 및 행위에 대한 정보를 인출하고, 주체(10)가 누구인지, 주체(10)가 접근하고자 하는 객체(70)가 무엇인지, 주체(10)가 목적으로 하는 객체(70)에 어떠한 행위를 하고자 하는지 식별한다. 상기 주체(10)는 프로세스 정보를 사용하여 결정되고, 상기 객체(70)는 파일시스템 정보를 사용하여 결정되며, 상기 행위는 시스템콜과 퍼미션 정보를 사용하여 결정된다.When the
상기 메시지 생성부(21)는 이렇게 결정된 주체(10)와 객체(70)와 행위에 대한 정보를 특정한 메시지 형태로 변경하여 정책결정모듈(30)로 제공하며, 상기 정책요청 및 집행모듈(20)에서 상기 정책결정모듈(30)로 제공되는 메시지를 요청 메시지(Request Message; RM)라고 한다. The
상기 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
상기 메시지 전송부(23)는 RM을 정책결정모듈(30)로 전송하는 역할을 한다. 이렇게 전송되는 RM은 주체(10), 객체(70), 및 행위에 대해 식별가능한 유일한 값으로 대응되도록 규정되므로, 시스템(1)내에서 어떤 주체(10)가 어떤 객체(70)에 대해 어떤 행위를 하고자 하는지 명확하게 구분할 수 있다.The
상기 메시지 수신부(25)는 정책제어모듈(50)로부터 제공된 메시지(CM)를 수신하며, 상기 메시지(CM)의 내용은 상기 정책제어모듈(50)에서 결정된 주체(10)가 객체(70)에 대해 행위를 수행할 수 있는지 여부에 대한 것이다. 상기 메시지(CM)에 대해서는 후술할 정책제어모듈(50)에서 상세히 설명한다. The
한편, 상기 메시지 수신부(25)는 메시지(CM)의 내용에 따라 주체(10)가 객체(70)에 접근하는 것을 허여하거나 거부하고, 허여 또는 거부에 대한 결과(Notification)를 접근을 요청한 주체(10), 즉 프로세스로 제공한다.Meanwhile, the
도 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
상기 메시지 전송부(23)는 생성된 메시지(RM(S, O, A))를 정책결정모듈(30)로 제공한다(S320). 정책결정모듈(30)과 정책제어모듈(50)에 의해 주체(10)의 객체(70)에 대한 접근의 허여 또는 거부가 결정되며(S330), 상기 정책제어모듈(50)로부터 메시지(CM)를 수신한다. The
메시지 수신부(25)는 메시지(CM(D, C))를 수신하여 결정내용에 따라, 즉 주체(10)의 객체(70)에 대한 접근이 허여되면(S340-YES), 상기 주체(10)를 상기 객체(70)에 연결시킨다(S350). 그러나, 상기 주체(10)의 상기 객체(70)에 대한 접근이 거부되면(S340-No), 상기 주체(10)의 상기 객체에 대한 접근을 차단한다(S345). 이와 함께 상기 주체(10)로 허여 또는 거부에 대한 결정내용(Notification)을 전달한다(S360).The
이러한 정책요청 및 집행모듈(20)로부터의 요청에 따라 접근권한을 결정하는 정책결정모듈(30)은 정책결정부(Decision Maker; 31)과 정책로딩부(Policy Loader; 35)를 포함한다. The
상기 정책결정부(31)는 정책요청 및 집행모듈(20)로부터 제공된 메시지(RM)에 대해 주체(10)가 객체(70)에 접근하여 소정의 행위를 수행할 수 있는 권한이 있는지 여부, 즉 주체(10)에 대한 접근권한을 결정한다. 상기 정책결정부(31)는 정책 데이터베이스(40)로부터 소정의 정책을 제공받으며, 제공된 정책에 따라 요청된 메시지(RM)에 대한 접근권한을 결정하여 결정 메시지(Decision Message; DM)를 생성한다. 그리고 생성된 결정 메시지(DM)를 정책제어모듈(50)로 제공한다.The
상기 결정 메시지(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
상기 정책결정부(31)는 결정 이력풀(Decision History Pool; 33)을 구비한다. 상기 결정이력풀(33)에는 정책결정부(31)에 의해 결정된 접근권한 결정정보, 즉 이전에 정책요청 및 집행모듈(20)에서 제공된 요청 메시지(RM)에 대해 상기 정책결정부(31)가 결정한 접근권한에 대한 정보인 결정 메시지(DM)가 저장되어 있다. 즉, 상기 결정이력풀(33)에는 이전에 정책결정부(31)가 결정한 접근권한에 대한 정보가 저장되어 있으므로, 상기 정책결정부(31)는 요청 메시지(RM)가 수신되면, 상기 결정이력풀(33)에 해당 RM에 대한 접근권한 결정 정보가 존재하는지 여부를 먼저 확인한다. 상기 결정이력풀(33)에 접근권한 결정 정보가 존재하는 경우, 상기 정책결정부(31)는 즉각적으로 접근권한에 대한 결정을 할 수 있다. 상기 결정이력풀(33)은 해쉬 알고리즘을 이용하여 DM을 인출할 수 있다. The
상기 정책로딩부(35)는 정책요청 및 집행모듈(20)로부터의 RM에 해당되는 접근권한 정보를 관리자가 정의한 접근정책 정보인 정책 데이터베이스(40)로부터 패치(fetch)한다. 여기서 정책 데이터베이스(40)에는 정책 관리자에 의해 정의된 접근 권한 정보가 저장되어 있다. 즉, 정책 데이터베이스(40)에는 주체(10)와 객체(70)와 행위에 따라 정보가 분류되어, 임의의 주체(10)가 어떤 객체(70)에 대해 어떤 행위가 가능한지 여부가 정의되어 있다. The
상기 정책 데이터베이스(40)에 저장할 수 있는 정보의 형태는 가상메모리를 이용한 파일시스템이거나 특정 바이너리 형태의 파일이다. 따라서 상기 정책 데이터베이스(40)에 접근하기 위해서는 지정된 프로그램이 필요하며, 상기 프로그램은 텍스트 기반의 접근정책 정보를 가공하고 가공된 정보를 가상메모리를 이용한 파일시스템에 저장하거나 바이너리 형태의 파일로 저장한다.The type of information that can be stored in the
가상메모리를 이용한 파일시스템의 경우, 정책결정모듈(30)이 동작할 때 텍스트 기반의 접근정책 정보는 상기 가상 메모리로부터 모두 독출된다. 이후에 상기 파일시스템에 접근하기 위해서는 지정 프로그램만이 접근할 수 있으며 MD5로 암호화된 암호키에 의해 승인된 경우에만 접근이 가능하다.In the case of the file system using the virtual memory, when the
바이너리 파일로 저장하는 경우는 텍스트로 이루어진 접근정책 정보, 즉 어떤 주체(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
즉, 정책로딩부(35)는 RM에 포함되는 주체(10), 객체(70), 및 행위가 파악되면, 정책 데이터베이스(40)에 암호 인증을 받아 접근한 다음, 해당 주체(10), 객체(70), 및 행위에 부합되는 정책을 정책 데이터베이스(40)로부터 인출한다.That is, the
이러한 정책로딩부(35)는 정책이력풀(Policy History Pool; 37)을 구비하고 있다. 상기 정책이력풀(37)에는 상기 정책로딩부(35)가 정책 데이터베이스(40)로부터 인출한 접근권한 정보가 저장되어 있다. 즉, 상기 정책이력풀(37)에는 이전에 요청된 RM에 대해 정책로딩부(35)가 정책 데이터베이스(40)로부터 인출한 접근권한 정보가 저장되어 있으며, 상기 정책로딩부(35)는 상기 정책결정부(31)로부터 정책권한 정보의 요청이 있을 경우, 상기 정책 데이터베이스(40)에 접근하기 전에 먼저 상기 정책이력풀(37)을 확인하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 확인함으로써, 좀더 신속하게 접근권한 정보의 제공을 수행할 수 있다. The
이러한 구성에 의한 정책결정모듈(30)에서 정책이 결정되는 과정을 도 2와 도 4를 참조하여 설명하면 다음과 같다.The process of determining the policy in the
먼저, 정책요청 및 집행모듈(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
그러나, 해당하는 DM이 존재하지 아니하는 경우, 정책결정부(31)는 정책로딩부(35)로 RM을 제공한다. 정책로딩부(35)에서는 정책이력풀(37)을 해싱하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 판단한다(S420). However, if the corresponding DM does not exist, the
정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하는 경우, 정책로딩부(35)는 해당 접근권한 정보를 인출하여 정책결정부(31)로 제공하고, 정책결정부(31)에서는 DM을 생성한다(S450). 정책결정부(31)는 생성된 DM을 정책제어모듈(50)로 제공하는 동시에 결정이력풀(33)에 저장한다(S460과 S470). If there is access authority information for the RM in the
만약, 정책이력풀(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
한편, 정책제어모듈(50)은 정책결정모듈(30)로부터 제공받은 DM, 즉 결정된 접근권한 정보를 기반으로 보다 다양한 접근제어를 수행한다. 이를 위해, 정책제어모듈(50)은 제어기(Controller; 51), 분석기(Analyzer; 55), 및 로거(Logger; 59)를 포함한다.Meanwhile, the
상기 분석기(55)는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 통계적인 분석을 수행하며, 상기 분석기(55)는 통계정보풀(Statistic Information Pool; 57)을 포함한다. 상기 통계정보풀(57)은 상기 분석기(55)에서 분석한 통계자료들이 저장되어 있으며, 아래의 표 2에 개시된 바와 같은 데이터가 포함된다.The
이와 같이, 상기 통계 정보풀(57)에 저장되는 요소로는 DM에 포함된 주체(10), 객체(70), 행위, 결정정보, 및 정책정보가 있으며, 각 요소에 대해 요청횟수(Count), 허여 횟수(Allow), 거부된 횟수(Deny), 비율(Rate), 시간, 날짜, 및 간격 등에 대한 정보가 저장되어 있다. As such, the elements stored in the
이에 따라, 상기 분석기(55)는 상기 통계정보풀(57)에 저장된 통계자료들을 캐쉬하여 동일한 접근결정 요청이 있을 경우, 보다 빠르게 통계적인 분석을 수행할 수 있다. 즉, 상기 분석기(55)는 정책결정모듈(30)로부터 제공받은 DM을 통계정보풀(57)에 저장된 통계자료들과 비교하여 통계적인 분석을 한다. 이렇게 분석기(55)에서 통계적인 접근분석을 수행함으로써, 정책결정모듈(30)에서 미처 판단하지 못한 주체(10)의 이상행동을 발견할 수 있다. Accordingly, the
상기 제어기(51)는 상기 분석기(55)에서 분석한 결과를 검사하고, 검사 후 주체(10)의 객체(70) 접근을 허여하거나 차단하는 결과를 나타내는 제어 메시지(Controll Message; CM)을 생성한다.The
상기 제어 메시지(CM)은 정책제어모듈(50)로부터 정책요청 및 집행모듈(20)로 제공되는 메시지로서, CM(D,C)의 형태를 띤다. 여기서, D는 DM에 포함된 것과 동일한 RM을 통해 요청된 주체(10)의 객체(70)에 대한 접근을 허여/거절에 대한 내용인 결정정보이고, C는 정책제어모듈(50)에서 지원되는 각종 제어들에 대한 정보이다. The control message CM is a message provided from the
상기 제어기(51)는 분석기(55)에서 분석한 결과를 검사하기 위해 블랙리스트풀(Black List Pool; 53)을 가지고 있으며, 블랙 리스트풀(53)에는 상기 분석기(55)에서의 분석결과 이상행위를 수행하는 주체(10)에 대해, 주체(10), 객체(70), 행위, 및 결정정보가 저장된다.The
상기 제어기(51)는 상기 분석기(55)에서 분석한 결과를 다시 블랙 리스트풀(53)과 비교하여 검사하고, 검사결과 상기 분석기(55)에서 분석한 주체(10), 객체(70), 및 행위에 이상이 없을 경우, 즉 상기 제어기(51)는 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우에만 CM을 생성한다. 상기 제어기(51)는 상기 CM이 생성되면, 상기 CM과 함께 블랙 리스트풀(53) 검사결과, 및 CM 적용결과 등을 로거(logger; 59)로 제공한다. The
상기 로거(59)는 제어기(51)로부터 CM, 블랙리스트풀(53) 검사결과, CM 적용결과 등을 제공받아 별도의 로그 데이터베이스(60)에 로그정보로서 저장한다. 상기 로그 데이터베이스(60)에 저장된 로그정보로는 주체(10), 객체(70), 행위, 및 결정정보를 포함한다. 이에 따라, 상기 로그 데이터베이스(60)에 저장된 로그정보를 이용하여 관리자는 로그정보에 포함된 주체(10)가 시스템에 접근하는 것을 원천적으로 방지할 수 있다.The
이러한 정책제어모듈(50)에 의해 주체(10)에 대한 제어가 이루어지는 과정을 도 2와 도 5를 참조하여 설명하면 다음과 같다.The process of controlling the subject 10 by the
정책결정모듈(30)로부터 DM이 제공되면(S500), 분석기(55)에서는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 통계적인 분석을 수행하며(S510), 이때, 통계정보풀(57)에 저장된 통계자료들과 DM을 비교하여 보다 신속하게 통계적인 분석을 수행한다. When the DM is provided from the policy decision module 30 (S500), the
그리고, 분석기(55)에서는 통계적인 분석을 통해 주체(10), 객체(70), 및 행위에 대해 이상행위가 있는지 여부를 판단한다(S520). S520의 판단결과 이상행위가 있는 경우, 분석기(55)는 이상행위에 대한 정보를 블랙리스트풀(53)에 바로 업데이트하여 저장되도록 한다(S525). 그러나 분석기(55)에서 이상행위를 발견하지 못한 경우, 분석결과와 함께 DM정보를 제어기(51)에 제공한다. In addition, the
제어기(51)는 DM정보와 블랙리스트풀(53)에 저장된 정보를 다시 한번 비교하고(S530), 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적인 경우(S640), 제어기(51)는 주체(10)의 객체(70)에 대한 접근 거부를 결정한다(S550). 그런 다음, 제어기(51)는 해당 정보에 대해 CM을 생성하는 동시에 해당 정보를 로거(59)로 제공하여 로그 데이터베이스에 저장되도록 한다(S560과 S570). The
한편, 제어기(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
이러한 구성에 의한 본 발명에 따른 보안시스템(1)이 동작하는 과정을 도 2 내지 도 5를 참조하여 다시 한번 설명하면 다음과 같다. The operation of the
먼저, 주체(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
정책요청 및 집행모듈(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
정책로딩부(35)에서는 정책이력풀(37)을 해싱하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 판단한다(S420). 정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하는 경우, 정책로딩부(35)는 해당 접근권한 정보를 인출하여 정책결정부(31)로 제공하고, 정책결정부(31)에서는 DM을 생성한다(S450). 정책결부(31)는 생성된 DM을 정책제어모듈(50)로 제공하는 동시에 결정 이력풀(33)에 저장한다(S460과 S470).The
만약, 정책 이력풀(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
정책결정모듈(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
제어기(51)는 DM정보와 블랙 리스트풀(53)에 저장된 정보를 다시 한번 비교하고(S530), 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적인 경우(S540), 주체(10)의 객체(70) 접근을 거부한다(S550). 그리고 그 내용을 CM으로 생성하고(S560), 그 내용을 로그 데이터베이스에 저장되도록 한다(S570). The
만약, 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
이렇게 정책제어모듈(50)에서 주체(10)의 객체(70)에 대한 접근 허여 또는 거부가 결정되면, 정책요청 및 집행모듈(20)의 메시지 수신부(25)에서는 CM을 수신하여 결정내용(ARN)에 따라 주체(10)를 객체(70)에 연결시키거나 접근을 차단한다. If the
즉, 주체의 객체에 대한 접근 허여(ARN)가 결정된 경우, 메시지 수신부(25)는 주체를 객체에 연결하고(S350), 주체의 객체에 대한 접근 차단(ARN)이 결정된 경우, 주체를 객체로부터 차단한다(S345). 그리고 정책제어모듈(50)은 허여 또는 거부에 대한 결정내용을 주체(10)로 전달한다(S360).That is, when the access permission (ARN) of the object of the subject is determined, the
이와 같이, 본 발명의 실시예에 따른 보안시스템(1)은 접근통제를 요청하고 통제하는 부분과 접근통제를 결정하는 부분이 하나의 시스템내에 독립적으로 구현됨에 따라, 새로운 접근통제모델을 제안함에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있다. As described above, the
한편, 종래의 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
이에 따라, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있으며, 관리자가 쉽게 정책을 관리할 수 있도록 정책관리 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
본 발명의 실시예들은 컴퓨터 시스템에서 실행할 수 있는 프로그램으로 작성가능하다. 또한, 상기 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체로부터 독출된 해당 프로그램은 디지털 컴퓨터 시스템에서 실행될 수 있다. 상기 기록 매체에는 마그네틱 저장 매체(예를 들면, 롬, 플로피디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 매체를 포함한다.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)
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)
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)
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 |
-
2005
- 2005-07-26 KR KR1020050067968A patent/KR100657353B1/en active IP Right Grant
Patent Citations (2)
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)
Title |
---|
논문 |
Cited By (2)
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 |