KR100657353B1 - 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체 - Google Patents

다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체 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
English (en)
Inventor
김정순
김민수
노봉남
이병철
김동근
이재서
조주봉
임종혁
정종민
최민호
이승용
Original Assignee
(주)안랩시큐브레인
전남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)안랩시큐브레인, 전남대학교산학협력단 filed Critical (주)안랩시큐브레인
Priority to KR1020050067968A priority Critical patent/KR100657353B1/ko
Application granted granted Critical
Publication of KR100657353B1 publication Critical patent/KR100657353B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

보안시스템과 보안방법이 개시된다. 상기 보안 시스템은 주체가 접근하고자 하는 객체와 상기 주체가 상기 객체에 대해 수행하고자 하는 행위에 대해 미리 설정된 접근권한 정보를 이용하여 주체의 객체로의 접근 허여여부를 결정하는 정책결정모듈, 주체로부터의 요청에 따라 정책결정모듈로 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 제공하여 주체의 객체 접근 허여를 요청하는 정책요청 및 집행모듈, 객체로의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하고, 이상행위를 수행하지 아니하는 주체가 상기 객체에 대해 접근하는 것을 허여하는 접근 허여 정보를 생성하는 정책제어모듈을 포함한다. 이에 의해, 새로운 접근통제모델이 제안됨에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 구조가 단순하여 설계 및 구현이 용이할 뿐만 아니라, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있다.
Linux, 보안, 정책요청 및 집행, 정책결정, 정책제어, 주체, 객체, 행위

Description

다양한 접근 통제 정책을 수용할 수 있는 보안 시스템, 보안방법, 및 그 기록매체{Security system and method for supporting a variety of access control policies, and recordable medium thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 SELinux의 접근통제 구조를 개략적으로 나타낸 구성 블럭도이다.
도 2는 본 발명의 실시예에 따른 보안 시스템의 개략적 블록 구성도를 나타낸다.
도 3은 도 2의 정책요청 및 집행모듈에서 주체의 요청에 대한 동작이 수행되는 과정을 나타낸 흐름도이다.
도 4는 도 2의 정책 결정 모듈에서 정책이 결정되는 과정을 나타낸 흐름도이다.
도 5는 도 2의 정책 제어 모듈에 의해 주체에 대한 제어가 이루어지는 과정을 나타낸 흐름도이다.
본 발명은 보안시스템과 보안방법에 관한 것으로서, 보다 상세하게는 새로운 접근통제모델이 제안됨에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 구조가 단순하여 설계 및 구현이 용이할 뿐만 아니라, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있는 보안시스템, 보안방법, 및 상기 보안방법을 실행할 수 있는 프로그램을 기록한 기록매체에 관한 것이다.
일반적으로 리눅스 시스템의 보안은 커널과 setuid/setgid의 루트 사용자에 의해 생성된 종속관계에 의존한다. 따라서 상기 리눅스 시스템의 보안 매커니즘에서 주체가 권한이 부여된 애플리케이션(application)의 설정을 이용하거나 또는 실행중인 프로세스(process)의 취약점을 익스플로이트하면 전체 시스템을 장악할 수 있게 되는 경우가 많다.
이를 방지하기 위해, 오픈소스 리눅스 커널의 보안을 강화시켜 파일 변조와 어플리케이션 보안 프로시저의 무사통과를 막고 악성 애플리케이션에 의한 피해를 줄이기 위한 보안시스템들이 개발되고 있으며, 이 중, SELinux는 좀 더 안전한 리눅스를 위해 미 국가안보국 NSA에 의해 개발된 리눅스이다.
도 1은 SELinux의 접근통제 구조를 개략적으로 나타낸 구성 블럭도이다. 도시된 바와 같이, SELinux(Security-Enhanced Linux; 150)는 리눅스 보안 모듈 구조체(Linux Security Modules framework; 120, 이하 LSM이라 한다)를 이용하여 리눅스 커널(100)에 강제적 접근 제어(Mandatory Access Control, 이하 MAC이라 한다)를 구현한다.
일반적으로 표준 리눅스 보안(Standard Linux Security)은 임의적 접근제어(Discretionary Access Control, DAC, 110) 모델을 사용하고 있으며, DAC(110) 에서 주체의 인증을 받은 뒤, LSM(120)을 통해 SELinux(150)로 주체의 접근통제 요청을 하게 된다.
여기서, DAC(110) 모델에서의 파일과 자원에 대한 결정권은 오직 해당 객체(objects)의 사용자(user id)에게 있고 상기 결정권은 소유권(ownership)에 따라 주어진다. 즉, 각 사용자와 그 사용자에 의해 실행된 프로그램은 자기에게 할당된 객체에 대해 전적으로 자유재량권을 갖는다. 이러한 상황에서는 악의 있는 일반 혹은 루트 사용자(예, setuid와 setgid)가 결함이 있는 소프트웨어를 이용하여 객체에 어떠한 행위를 수행하더라도 막아낼 방법이 없을 뿐만 아니라, 보안 정책이 시스템 전체에 걸쳐 시행되도록 할 방법이 없다.
SELinux(150)에서의 MAC 시스템은 위와 같은 DAC(110) 모델의 단점을 보완할 수 있으며 다음과 같은 특징을 갖는다. 첫째, 보안 정책은 모든 프로세스나 객체에 대하여 관리차원으로 규정된다. 둘째, 커널에 SELinux가 구현되면, 모든 프로세스와 객체가 제어될 수 있다. 셋째, 결정은 단지 인증된 사용자(user identity)에 의해서가 아니라 이용 가능한(available) 모든 보안 관련 정보에 근거하여 이루어진다.
이에 따라, SELinux(150)에서는 MAC을 이용하여 모든 주체(subjects, 사용자, 프로그램, 또는 프로세스)와 객체(파일, 또는 디바이스(device))에 대해서 국부적으로 허가(granular permissions)가 가능하도록 한다. 그리고 MAC은 응용프로 그램에서 불필요한 부분은 제외하고 오직 필요한 기능에 대해서만 사용권한을 안전하게 부여한다.
한편, 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)를 이용하여 교차조회하여 주체와 객체의 상호작용을 규정한다.
이는 리눅스 시스템에 있는 모든 작동자(actor)에 대하여 극단적으로 국부 제어가 가능하도록 한다. 한편, RBAC는 기본적으로 사용자, 역할, 및 퍼미션(permissionn)부분을 포함하며, 그 외에 역할 계층과 제약사항 등의 구성요소를 포함한다.
이러한 SELinux(150) 정책은 사용자, 프로그램, 프로세스, 그리고 이들의 동작 대상인 파일과 디바이스를 포함한 시스템 전체, 즉, 모든 주체와 객체에 대한 접근 허가(access permissions)를 기술한다.
그런데, 이러한 SELinux(150)는 리눅스 자체에서 DAC(110) 인증과정을 거친 다음, LSM(120) 처리루틴을 실행하도록 함으로써, 어떠한 정책을 적용하더라도 DAC(110) 인증을 수행해야 한다는 단점이 있다. 그리고 이렇게 DAC(110) 인증과정을 거쳐야 하므로, DAC(110) 인증과정이 필요치 아니하거나 다른 인증과정을 요하 는 정책의 경우에는 수행이 어려우며, LSM(120)기반에서 수행되므로 정책의 설계나 변경이 한정적이라는 단점이 있다.
한편, TE 모델(140)은 RBAC 기능을 이용하기는 하나, 그 기능이 매우 약하므로, 사용자에게 할당된 역할(role)에 대한 권한 기능이 약하다. 이에 따라, 새로운 보안정책 모델이 제시되었을 때, 상기 RBAC 기능을 적용하기가 어렵게 된다.
또한, TE 모델(140)에서는 Type 라는 이름으로 기능을 분리하고 주체와 객체 사이의 관계를 표현하고, Type의 전이를 통해서 주체와 객체의 관계가 변경되도록 하고 있다. 따라서, GUI가 아닌 Type을 통해 정책을 설정하기 때문에 일반 사용자 또는 관리자가 정책을 설정하기가 용이하지 아니하다는 단점이 있다.
따라서, 본 발명의 목적은 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 용이하게 변경할 수 있도록 하는 보안시스템, 보안방법, 및 상기 보안방법을 실행하기 위한 프로그램을 기록한 기록매체를 제공하는 것이다.
이러한 목적을 달성하기 위한 본 발명에 따른 보안 시스템은 주체가 접근하고자 하는 객체와 상기 주체가 객체에 대해 수행하고자 하는 행위에 대해 미리 설정된 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 정책결정모듈, 상기 주체로부터의 요청에 따라 상기 정책결정모듈로 상기 주체, 상기 객체, 상기 행위에 대한 정보를 제공하여 상기 주체의 객체 접근 허여을 요청하 는 정책요청 및 집행모듈, 및 상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 결정하는 정책제어모듈을 구비한다.
상기 정책요청 및 집행모듈은 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 메시지 형태로 구성하는 메시지 생성부를 포함하는 것이 바람직하다. 상기 메시지 생성부는 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 커널로부터 인출할 수 있다.
상기 정책요청 및 집행모듈은 상기 메시지 생성부에서 생성된 메시지를 상기 정책결정모듈로 전송하는 메시지 전송부를 더 포함하는 것이 바람직하다. 상기 정책요청 및 집행모듈은 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받는 메시지 수신부를 더 포함할 수 있다. 상기 접근허여 정보는 상기 주체의 객체에 대한 접근을 허여/거절에 대한 내용인 결정정보와 상기 정책제어모듈에서 지원되는 각종 제어들에 대한 제어정보를 포함할 수 있다.
상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받아 상기 주체에게 접근이 허여되었음을 통지할 수 있다. 상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받아, 상기 주체와 상기 객체를 연결시키는 것이 바람직하다.
상기 정책결정모듈은 상기 정책요청 및 집행모듈로부터 제공된 정보를 이용하여 상기 주체가 상기 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 정책결정부를 포함하는 것이 바람직하다. 상기 정책결정부는 상기 주체, 상기 객 체, 상기 행위, 및 상기 접근권한 여부를 포함하는 결정이력풀을 포함할 수 있다.
상기 정책결정부는 상기 결정이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정할 수 있다. 상기 보안 시스템은 미리 정의된 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정보정책 데이터베이스를 더 포함할 수 있다.
상기 정책결정모듈은 상기 정책 데이터베이스로부터 상기 주체, 상기 객체, 및 상기 행위에 부합되는 접근정책을 인출하는 정책로딩부를 더 포함할 수 있다. 상기 정책로딩부는 상기 정책 데이터베이스로부터 인출된 접근정책을 저장하는 정책이력풀을 포함할 수 있다.
상기 정책제어모듈은 상기 주체와 객체 사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 분석기를 포함하는 것이 바람직하다. 상기 분석기는 상기 분석기에서 기분석한 통계자료들이 저장된 통계정보풀을 포함할 수 있다. 상기 통계정보풀에는 상기 주체, 상기 객체, 상기 행위, 상기 결정정보, 및 상기 정책정보가 포함될 수 있다. 상기 분석기는 상기 통계정보풀에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 것이 바람직하다.
상기 정책제어모듈은 상기 분석기로부터의 상기 주체의 이상행위 판단결과에 따라 상기 주체의 객체로의 접근을 허여할 것인지 여부를 판단하는 제어기를 더 포함하는 것이 바람직하다. 상기 제어기는 상기 분석기로부터 이상행위로 판단된 정보가 저장되는 블랙리스트풀을 포함할 수 있다.
상기 제어기는 상기 분석기로부터 제공된 상기 주체, 상기 객체, 및 상기 행위에 대한 정보와 상기 블랙리스트풀에 저장된 정보를 비교하여 상기 블랙리스트풀에 저장된 정보와 부합되지 아니할 경우, 상기 정책요청 및 집행모듈로 상기 주체의 객체 접근을 허여하는 접근허여 정보를 제공하는 것이 바람직하다.
상기 정책제어모듈은 상기 분석기에서의 분석결과와 상기 제어기에서 접근허여 정보를 저장하는 로그 데이터베이스와, 상기 제어기로부터 상기 분석기에서의 분석결과와 상기 접근허여 정보를 제공받아 상기 로그 데이터베이스에 저장하는 로거를 더 포함할 수 있다.
본 발명에 따른 기술적 과제를 해결하기 위한 보안방법은 주체로부터 상기 주체가 접근하고자 하는 객체와, 상기 주체가 객체에 대해 수행하고자 하는 행위에 대한 정보를 입력받는 단계; 미리 설정된 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 단계; 상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 최종 결정하는 단계를 포함하는 것을 특징으로 하는 보안방법에 의해서도 달성될 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
본 발명에 따른 보안시스템은 임의의 주체(subject)가 객체(object)에 대해 어떠한 행위(action)를 수행하고자 할 때, 상기 주체와 상기 객체 사이에 발생하는 권한관계를 결정하고, 결정된 권한관계에 따라 상기 주체가 상기 객체에 접근할 수 있는 접근 여부를 제어한다.
여기서, 주체란 객체에 대해 소정의 행위를 수행하는 행위자로서, 본 발명에 따른 보안시스템에서 상기 주체는 사용자를 대신해서 행위를 하는 프로세스들(processes)로 규정한다.
객체란 주체가 행위를 수행하는 대상으로서, 일반적으로 컴퓨팅 환경에서 수행하는 작업들의 대상이 되는 파일(File), IPC(InterProcess Communication), 시스템(System), 프로세스(Process), 네트워크(Network), 및 사용자(User) 등의 클래스(Class)로 구분된다.
그외에 객체가 없는 정책을 요청할 경우에 사용되는 No Object라는 클래스를 더 포함한다. 객체의 각 클래스는 다양한 하위 타입(type)을 포함할 수 있으며, 예를 들어, 파일 클래스는 파일, DIR, 파일 시스템, 디바이스, 등의 타입을 포함한다. 이러한 객체의 클래스는 컴퓨팅 환경의 변화 또는 보안설계자에 따라 얼마든지 변경가능함은 물론이다.
그리고, 행위(action)는 주체가 객체에 대해 행하는 일련의 구체적이거나 논리적인 행동, 또는 주체가 객체에 대해 행할 수 있는 권한이나 오퍼레이션(Operation)으로 규정된다. 본 발명에 따른 보안시스템에서는 객체에 대한 오퍼레 이션으로 리눅스 시스템콜들을 사용하며, 상기 보안시스템에서 사용되는 행위와 연관된 시스템콜들은 표1에 도시된 바와 같이 각 객체의 클래스와 타입에 따라 다양한 시스템콜들이 사용된다.
class type action(operations)
File File Create, Delete, Open, Close, Read, Write, Execute,Truncate, Rename, Modify MAC time, 등
DIR Create, Delete, Open, Close, read, Rename, 등
FILE SYSTEM Register, Unregister, 등
DEVICE Open, close, read, Write, 등
IPC IPC Create, Read, Write, Get permission, 등
memory memory Read, write, lock, unlock, 등
process process Create, DeleteWait, Fork, 등
signal signal return, Kill, Alarm, Pause, 등
network socket Create(socket), Read, Write, Bind, 등
IP accept, bind, connect, 등
PORT Bind, connect
Protocol create(raw socket, TCP, UDP, ICMP)
USER USER add/delete user, switch user, 등
system system Cerate/Init/Delete/Query module, 등
No Object ETC remap file pages 등
도 2는 본 발명의 실시예에 따른 보안 시스템의 개략적 블록 구성도를 나타낸다. 도 2를 참조하면, 보안시스템(1)은 정책요청 및 집행모듈(Security Agent; 20), 정책결정모듈(Security Manager; 30), 정책제어모듈(Security Control Mediator; 50), 및 정책 데이터베이스(Policy database; 40)를 포함한다.
상기 정책요청 및 집행모듈(20)은, 정책결정모듈(30)로 소정의 정책을 요청하는 모듈로서, 주체(Subject; 10)가 객체(object; 70)에게 특정 행위(Action)를 수행하고자 할 때, 상기 주체(10)가 상기 객체(70)에 접근하는 것을 허여하도록 요청하며, 요청결과에 따라 상기 정책결정모듈(30)과 상기 정책제어모듈(50)을 통해 상기 주체(10)가 상기 객체(70)로 접근하는 것이 허여되면, 상기 객체(70)에 접근하여 상기 주체(10)와 상기 객체(70)를 연결하는 역할을 한다.
이러한 역할을 수행하기 위해, 상기 정책요청 및 집행모듈(20)은 메시지 생성부(21), 메시지 전송부(23), 및 메시지 수신부(25)를 포함한다.
상기 메시지 생성부(21)는 주체(10)로부터 객체(70)로의 접근이 요청되면(request), 커널로부터 주체(10), 객체(70), 및 행위에 대한 정보를 인출하고, 주체(10)가 누구인지, 주체(10)가 접근하고자 하는 객체(70)가 무엇인지, 주체(10)가 목적으로 하는 객체(70)에 어떠한 행위를 하고자 하는지 식별한다. 상기 주체(10)는 프로세스 정보를 사용하여 결정되고, 상기 객체(70)는 파일시스템 정보를 사용하여 결정되며, 상기 행위는 시스템콜과 퍼미션 정보를 사용하여 결정된다.
상기 메시지 생성부(21)는 이렇게 결정된 주체(10)와 객체(70)와 행위에 대한 정보를 특정한 메시지 형태로 변경하여 정책결정모듈(30)로 제공하며, 상기 정책요청 및 집행모듈(20)에서 상기 정책결정모듈(30)로 제공되는 메시지를 요청 메시지(Request Message; RM)라고 한다.
상기 RM은 주체(10)와 객체(70)와 행위를 구성요소로 하며, 상기 RM의 형태는 RM(S,O,A)로 나타낼 수 있다. 예를 들어, 주체(S; 10)가 객체(O; 70) 중 파일에 대해 독출(Read)행위(A)를 하고자 요청한 경우, 메시지 생성부(21)는 RM(S, File, Read)와 같이 메시지(RM)를 형성한다.
상기 메시지 전송부(23)는 RM을 정책결정모듈(30)로 전송하는 역할을 한다. 이렇게 전송되는 RM은 주체(10), 객체(70), 및 행위에 대해 식별가능한 유일한 값으로 대응되도록 규정되므로, 시스템(1)내에서 어떤 주체(10)가 어떤 객체(70)에 대해 어떤 행위를 하고자 하는지 명확하게 구분할 수 있다.
상기 메시지 수신부(25)는 정책제어모듈(50)로부터 제공된 메시지(CM)를 수신하며, 상기 메시지(CM)의 내용은 상기 정책제어모듈(50)에서 결정된 주체(10)가 객체(70)에 대해 행위를 수행할 수 있는지 여부에 대한 것이다. 상기 메시지(CM)에 대해서는 후술할 정책제어모듈(50)에서 상세히 설명한다.
한편, 상기 메시지 수신부(25)는 메시지(CM)의 내용에 따라 주체(10)가 객체(70)에 접근하는 것을 허여하거나 거부하고, 허여 또는 거부에 대한 결과(Notification)를 접근을 요청한 주체(10), 즉 프로세스로 제공한다.
도 3은 도 2의 정책요청 및 집행모듈에서 주체의 요청에 대한 동작이 수행되는 과정을 나타낸 흐름도이다.
도 2과 도 3을 참조하면, 주체(10)에 의해 임의의 객체(70)에 대한 임의의 행위를 수행할 것이 요청되면(S300), 메시지 생성부(21)는 커널로부터 주체(10), 객체(70), 및 행위에 대한 정보를 인출하여 메시지(RM(S, O, A))를 생성한다(S310).
상기 메시지 전송부(23)는 생성된 메시지(RM(S, O, A))를 정책결정모듈(30)로 제공한다(S320). 정책결정모듈(30)과 정책제어모듈(50)에 의해 주체(10)의 객체(70)에 대한 접근의 허여 또는 거부가 결정되며(S330), 상기 정책제어모듈(50)로부터 메시지(CM)를 수신한다.
메시지 수신부(25)는 메시지(CM(D, C))를 수신하여 결정내용에 따라, 즉 주체(10)의 객체(70)에 대한 접근이 허여되면(S340-YES), 상기 주체(10)를 상기 객체(70)에 연결시킨다(S350). 그러나, 상기 주체(10)의 상기 객체(70)에 대한 접근이 거부되면(S340-No), 상기 주체(10)의 상기 객체에 대한 접근을 차단한다(S345). 이와 함께 상기 주체(10)로 허여 또는 거부에 대한 결정내용(Notification)을 전달한다(S360).
이러한 정책요청 및 집행모듈(20)로부터의 요청에 따라 접근권한을 결정하는 정책결정모듈(30)은 정책결정부(Decision Maker; 31)과 정책로딩부(Policy Loader; 35)를 포함한다.
상기 정책결정부(31)는 정책요청 및 집행모듈(20)로부터 제공된 메시지(RM)에 대해 주체(10)가 객체(70)에 접근하여 소정의 행위를 수행할 수 있는 권한이 있는지 여부, 즉 주체(10)에 대한 접근권한을 결정한다. 상기 정책결정부(31)는 정책 데이터베이스(40)로부터 소정의 정책을 제공받으며, 제공된 정책에 따라 요청된 메시지(RM)에 대한 접근권한을 결정하여 결정 메시지(Decision Message; DM)를 생성한다. 그리고 생성된 결정 메시지(DM)를 정책제어모듈(50)로 제공한다.
상기 결정 메시지(DM)는 정책결정모듈(30)과 정책제어모듈(50) 사이에 사용되는 메시지로서, DM(S,O,A,D,P)의 형태를 갖는다. 여기서, S는 주체(10), O는 객체(70), A는 행위이며, D는 요청 메시지(RM)를 통해 요청된 주체(10)의 객체(70)에 대한 접근을 허여/거절에 대한 내용인 결정정보이고, P는 정책 데이터베이스(40)로부터 인출된 정책정보이다. 결정 메시지(DM)에 정책정보가 포함되는 이유는 어떤 정책에 의해 결정정보가 생성되었는지를 여부를 확인할 수 있도록 하기 위함이다.
상기 정책결정부(31)는 결정 이력풀(Decision History Pool; 33)을 구비한다. 상기 결정이력풀(33)에는 정책결정부(31)에 의해 결정된 접근권한 결정정보, 즉 이전에 정책요청 및 집행모듈(20)에서 제공된 요청 메시지(RM)에 대해 상기 정책결정부(31)가 결정한 접근권한에 대한 정보인 결정 메시지(DM)가 저장되어 있다. 즉, 상기 결정이력풀(33)에는 이전에 정책결정부(31)가 결정한 접근권한에 대한 정보가 저장되어 있으므로, 상기 정책결정부(31)는 요청 메시지(RM)가 수신되면, 상기 결정이력풀(33)에 해당 RM에 대한 접근권한 결정 정보가 존재하는지 여부를 먼저 확인한다. 상기 결정이력풀(33)에 접근권한 결정 정보가 존재하는 경우, 상기 정책결정부(31)는 즉각적으로 접근권한에 대한 결정을 할 수 있다. 상기 결정이력풀(33)은 해쉬 알고리즘을 이용하여 DM을 인출할 수 있다.
상기 정책로딩부(35)는 정책요청 및 집행모듈(20)로부터의 RM에 해당되는 접근권한 정보를 관리자가 정의한 접근정책 정보인 정책 데이터베이스(40)로부터 패치(fetch)한다. 여기서 정책 데이터베이스(40)에는 정책 관리자에 의해 정의된 접근 권한 정보가 저장되어 있다. 즉, 정책 데이터베이스(40)에는 주체(10)와 객체(70)와 행위에 따라 정보가 분류되어, 임의의 주체(10)가 어떤 객체(70)에 대해 어떤 행위가 가능한지 여부가 정의되어 있다.
상기 정책 데이터베이스(40)에 저장할 수 있는 정보의 형태는 가상메모리를 이용한 파일시스템이거나 특정 바이너리 형태의 파일이다. 따라서 상기 정책 데이터베이스(40)에 접근하기 위해서는 지정된 프로그램이 필요하며, 상기 프로그램은 텍스트 기반의 접근정책 정보를 가공하고 가공된 정보를 가상메모리를 이용한 파일시스템에 저장하거나 바이너리 형태의 파일로 저장한다.
가상메모리를 이용한 파일시스템의 경우, 정책결정모듈(30)이 동작할 때 텍스트 기반의 접근정책 정보는 상기 가상 메모리로부터 모두 독출된다. 이후에 상기 파일시스템에 접근하기 위해서는 지정 프로그램만이 접근할 수 있으며 MD5로 암호화된 암호키에 의해 승인된 경우에만 접근이 가능하다.
바이너리 파일로 저장하는 경우는 텍스트로 이루어진 접근정책 정보, 즉 어떤 주체(10)가 어떤 객체(70)를 요구하는가에 관한 정보가 바이너리 형태의 파일로 변환된 것이다. 지정된 프로그램만이 상기 바이너리 파일에 접근할 수 있으며, AES 암호화되어 암호 인증 후 정책로딩부(35)만이 접근정책 정보에 접근할 수 있다.
즉, 정책로딩부(35)는 RM에 포함되는 주체(10), 객체(70), 및 행위가 파악되면, 정책 데이터베이스(40)에 암호 인증을 받아 접근한 다음, 해당 주체(10), 객체(70), 및 행위에 부합되는 정책을 정책 데이터베이스(40)로부터 인출한다.
이러한 정책로딩부(35)는 정책이력풀(Policy History Pool; 37)을 구비하고 있다. 상기 정책이력풀(37)에는 상기 정책로딩부(35)가 정책 데이터베이스(40)로부터 인출한 접근권한 정보가 저장되어 있다. 즉, 상기 정책이력풀(37)에는 이전에 요청된 RM에 대해 정책로딩부(35)가 정책 데이터베이스(40)로부터 인출한 접근권한 정보가 저장되어 있으며, 상기 정책로딩부(35)는 상기 정책결정부(31)로부터 정책권한 정보의 요청이 있을 경우, 상기 정책 데이터베이스(40)에 접근하기 전에 먼저 상기 정책이력풀(37)을 확인하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 확인함으로써, 좀더 신속하게 접근권한 정보의 제공을 수행할 수 있다.
이러한 구성에 의한 정책결정모듈(30)에서 정책이 결정되는 과정을 도 2와 도 4를 참조하여 설명하면 다음과 같다.
먼저, 정책요청 및 집행모듈(20)로부터 RM이 수신되면(S400), 정책결정부(31)는 결정이력풀(33)을 해싱하여 수신된 RM에 대해 매칭되는 접근권한 결정 DM이 존재하는지 여부를 판단한다(S410). 해당하는 DM이 존재하는 경우, 정책결정부(31)는 결정이력풀(33)에 존재하는 DM을 인출하여 바로 결정제어모듈(50)로 제공한다(S415).
그러나, 해당하는 DM이 존재하지 아니하는 경우, 정책결정부(31)는 정책로딩부(35)로 RM을 제공한다. 정책로딩부(35)에서는 정책이력풀(37)을 해싱하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 판단한다(S420).
정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하는 경우, 정책로딩부(35)는 해당 접근권한 정보를 인출하여 정책결정부(31)로 제공하고, 정책결정부(31)에서는 DM을 생성한다(S450). 정책결정부(31)는 생성된 DM을 정책제어모듈(50)로 제공하는 동시에 결정이력풀(33)에 저장한다(S460과 S470).
만약, 정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하지 아니하는 경우, 정책로딩부(35)는 정책 데이터베이스(40)로부터 해당 RM에 대한 접근권한 정보를 인출한다(S430). 정책로딩부(35)는 인출된 접근권한 정보를 제공하고 이와 동시에 정책이력풀(37)에 저장한다(S440). 그리고 정책결정부(31)에서는 정책로딩부(35)로부터 제공된 접근권한 정보에 따라 DM을 생성하여 정책제어모듈(50)로 제공하는 한편, DM을 결정이력풀(33)에 저장한다(S450, S460, 및 S470).
한편, 정책제어모듈(50)은 정책결정모듈(30)로부터 제공받은 DM, 즉 결정된 접근권한 정보를 기반으로 보다 다양한 접근제어를 수행한다. 이를 위해, 정책제어모듈(50)은 제어기(Controller; 51), 분석기(Analyzer; 55), 및 로거(Logger; 59)를 포함한다.
상기 분석기(55)는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 통계적인 분석을 수행하며, 상기 분석기(55)는 통계정보풀(Statistic Information Pool; 57)을 포함한다. 상기 통계정보풀(57)은 상기 분석기(55)에서 분석한 통계자료들이 저장되어 있으며, 아래의 표 2에 개시된 바와 같은 데이터가 포함된다.
항목 내용 요청 허여 거부 비율 시간 날짜 간격
주체 mirr 1000 900 100 0.5 1-2
객체 /etc/passwd 234 134 100 0.9
행위 read 10000 9000 1000 .. 5
결정정보 deny 1000 1000 ..
정책정보 mirr_deny 100 90 10 ..
이와 같이, 상기 통계 정보풀(57)에 저장되는 요소로는 DM에 포함된 주체(10), 객체(70), 행위, 결정정보, 및 정책정보가 있으며, 각 요소에 대해 요청횟수(Count), 허여 횟수(Allow), 거부된 횟수(Deny), 비율(Rate), 시간, 날짜, 및 간격 등에 대한 정보가 저장되어 있다.
이에 따라, 상기 분석기(55)는 상기 통계정보풀(57)에 저장된 통계자료들을 캐쉬하여 동일한 접근결정 요청이 있을 경우, 보다 빠르게 통계적인 분석을 수행할 수 있다. 즉, 상기 분석기(55)는 정책결정모듈(30)로부터 제공받은 DM을 통계정보풀(57)에 저장된 통계자료들과 비교하여 통계적인 분석을 한다. 이렇게 분석기(55)에서 통계적인 접근분석을 수행함으로써, 정책결정모듈(30)에서 미처 판단하지 못한 주체(10)의 이상행동을 발견할 수 있다.
상기 제어기(51)는 상기 분석기(55)에서 분석한 결과를 검사하고, 검사 후 주체(10)의 객체(70) 접근을 허여하거나 차단하는 결과를 나타내는 제어 메시지(Controll Message; CM)을 생성한다.
상기 제어 메시지(CM)은 정책제어모듈(50)로부터 정책요청 및 집행모듈(20)로 제공되는 메시지로서, CM(D,C)의 형태를 띤다. 여기서, D는 DM에 포함된 것과 동일한 RM을 통해 요청된 주체(10)의 객체(70)에 대한 접근을 허여/거절에 대한 내용인 결정정보이고, C는 정책제어모듈(50)에서 지원되는 각종 제어들에 대한 정보이다.
상기 제어기(51)는 분석기(55)에서 분석한 결과를 검사하기 위해 블랙리스트풀(Black List Pool; 53)을 가지고 있으며, 블랙 리스트풀(53)에는 상기 분석기(55)에서의 분석결과 이상행위를 수행하는 주체(10)에 대해, 주체(10), 객체(70), 행위, 및 결정정보가 저장된다.
상기 제어기(51)는 상기 분석기(55)에서 분석한 결과를 다시 블랙 리스트풀(53)과 비교하여 검사하고, 검사결과 상기 분석기(55)에서 분석한 주체(10), 객체(70), 및 행위에 이상이 없을 경우, 즉 상기 제어기(51)는 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우에만 CM을 생성한다. 상기 제어기(51)는 상기 CM이 생성되면, 상기 CM과 함께 블랙 리스트풀(53) 검사결과, 및 CM 적용결과 등을 로거(logger; 59)로 제공한다.
상기 로거(59)는 제어기(51)로부터 CM, 블랙리스트풀(53) 검사결과, CM 적용결과 등을 제공받아 별도의 로그 데이터베이스(60)에 로그정보로서 저장한다. 상기 로그 데이터베이스(60)에 저장된 로그정보로는 주체(10), 객체(70), 행위, 및 결정정보를 포함한다. 이에 따라, 상기 로그 데이터베이스(60)에 저장된 로그정보를 이용하여 관리자는 로그정보에 포함된 주체(10)가 시스템에 접근하는 것을 원천적으로 방지할 수 있다.
이러한 정책제어모듈(50)에 의해 주체(10)에 대한 제어가 이루어지는 과정을 도 2와 도 5를 참조하여 설명하면 다음과 같다.
정책결정모듈(30)로부터 DM이 제공되면(S500), 분석기(55)에서는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 통계적인 분석을 수행하며(S510), 이때, 통계정보풀(57)에 저장된 통계자료들과 DM을 비교하여 보다 신속하게 통계적인 분석을 수행한다.
그리고, 분석기(55)에서는 통계적인 분석을 통해 주체(10), 객체(70), 및 행위에 대해 이상행위가 있는지 여부를 판단한다(S520). S520의 판단결과 이상행위가 있는 경우, 분석기(55)는 이상행위에 대한 정보를 블랙리스트풀(53)에 바로 업데이트하여 저장되도록 한다(S525). 그러나 분석기(55)에서 이상행위를 발견하지 못한 경우, 분석결과와 함께 DM정보를 제어기(51)에 제공한다.
제어기(51)는 DM정보와 블랙리스트풀(53)에 저장된 정보를 다시 한번 비교하고(S530), 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적인 경우(S640), 제어기(51)는 주체(10)의 객체(70)에 대한 접근 거부를 결정한다(S550). 그런 다음, 제어기(51)는 해당 정보에 대해 CM을 생성하는 동시에 해당 정보를 로거(59)로 제공하여 로그 데이터베이스에 저장되도록 한다(S560과 S570).
한편, 제어기(51)는 DM에 포함된 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우, 주체(10)의 객체(70)에 대한 접근 허여를 결정하고(S545), CM을 생성한다(S560). CM이 생성되면, 제어기(51)는 CM과 함께 블랙리스트풀(53) 검사결과, CM 적용결과 등을 로거(59)로 제공하여 로그 데이터베이스에 저장되도록 하고(S570), CM은 정책요청 및 집행모듈(20)로 제공한다(S580).
이러한 구성에 의한 본 발명에 따른 보안시스템(1)이 동작하는 과정을 도 2 내지 도 5를 참조하여 다시 한번 설명하면 다음과 같다.
먼저, 주체(10)에 의해 임의의 객체(70)에 대한 임의의 행위를 수행할 것이 요청되면(S300), 메시지 생성부(21)는 커널로부터 주체(10), 객체(70), 및 행위에 대한 정보를 인출하여 이들을 기초로 하여 RM을 생성한다(S310). 그러면 메시지 전송부(23)는 생성된 RM을 정책결정모듈(30)로 제공한다(S320).
정책요청 및 집행모듈(20)로부터 RM이 수신되면(S400), 정책결정모듈(30)의 정책결정부(31)는 결정이력풀(33)내에 RM에 매칭되는 DM이 존재하는지 여부를 판단한다(S410). 해당하는 DM이 존재하는 경우, 정책결정부(31)는 결정이력풀(33)에 존재하는 DM을 인출하여 바로 결정제어모듈(50)로 제공한다(S415). 반면, 해당하는 DM이 존재하지 아니하는 경우, 정책결정부(31)는 정책로딩부(35)로 RM을 제공한다.
정책로딩부(35)에서는 정책이력풀(37)을 해싱하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 판단한다(S420). 정책이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하는 경우, 정책로딩부(35)는 해당 접근권한 정보를 인출하여 정책결정부(31)로 제공하고, 정책결정부(31)에서는 DM을 생성한다(S450). 정책결부(31)는 생성된 DM을 정책제어모듈(50)로 제공하는 동시에 결정 이력풀(33)에 저장한다(S460과 S470).
만약, 정책 이력풀(37)에 해당 RM에 대한 접근권한 정보가 존재하지 아니하는 경우, 정책로딩부(35)는 정책 데이터베이스(40)로부터 해당 RM에 대한 접근권한 정보를 인출한다(S430). 정책로딩부(35)는 인출된 접근권한 정보를 제공하고 이와 동시에 정책이력풀(37)에 저장한다(S440). 그리고 정책결정부(31)에서는 정책로딩부(35)로부터 제공된 접근권한 정보에 따라 DM을 생성하여 정책제어모듈(50)로 제공하는 한편, DM을 결정이력풀(33)에 저장한다(S450,S460,S470).
정책결정모듈(30)로부터 DM이 제공되면(S500), 정책제어모듈(50)의 분석기(55)는 통계정보풀(57)을 이용하여 DM에 대해 통계적인 분석을 수행하여 이상행위가 있는지 여부를 판단한다(S510과 S520). 이상행위가 있는 경우, 분석기(55)는 이상행위에 대한 정보를 블랙리스트풀(53)에 바로 업데이트하여 저장되도록 한다(S525). 그러나 분석기(55)에서 이상행위를 발견하지 못한 경우, 분석결과와 함께 DM정보를 제어기(51)에 제공한다.
제어기(51)는 DM정보와 블랙 리스트풀(53)에 저장된 정보를 다시 한번 비교하고(S530), 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적인 경우(S540), 주체(10)의 객체(70) 접근을 거부한다(S550). 그리고 그 내용을 CM으로 생성하고(S560), 그 내용을 로그 데이터베이스에 저장되도록 한다(S570).
만약, DM에 포함된 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우(S540), 제어기(51)는 주체(10)의 객체(70)에 대한 접근을 허여하는 결정을 하고(S545), CM을 생성한다(S560). CM이 생성되면, 제어기(51)는 CM과 함께 블랙 리스트풀(53) 검사결과, CM 적용결과 등을 로거(59)로 제공하고, CM은 정책요청 및 집행모듈(20)로 제공한다(S570과 S580).
이렇게 정책제어모듈(50)에서 주체(10)의 객체(70)에 대한 접근 허여 또는 거부가 결정되면, 정책요청 및 집행모듈(20)의 메시지 수신부(25)에서는 CM을 수신하여 결정내용(ARN)에 따라 주체(10)를 객체(70)에 연결시키거나 접근을 차단한다.
즉, 주체의 객체에 대한 접근 허여(ARN)가 결정된 경우, 메시지 수신부(25)는 주체를 객체에 연결하고(S350), 주체의 객체에 대한 접근 차단(ARN)이 결정된 경우, 주체를 객체로부터 차단한다(S345). 그리고 정책제어모듈(50)은 허여 또는 거부에 대한 결정내용을 주체(10)로 전달한다(S360).
이와 같이, 본 발명의 실시예에 따른 보안시스템(1)은 접근통제를 요청하고 통제하는 부분과 접근통제를 결정하는 부분이 하나의 시스템내에 독립적으로 구현됨에 따라, 새로운 접근통제모델을 제안함에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있다.
한편, 종래의 SELinux 보안시스템이 접근통제 프레임워크(framework)와 접근통제 통합모델의 두 부분으로 설계 및 구현됨에 따라, 접근통제 통합모델이 DAC (Discrete Access Control)과 연동하여 동작하는 이중구조일 뿐만 아니라, LSM을 사용해야 했다. 그러나, 본 발명의 실시예에 따른 보안시스템(1)은 DAC와의 연동을 통한 접근통제를 수행하지 아니하므로, 구조가 단순하여 설계 및 구현이 용이하다.
이에 따라, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있으며, 관리자가 쉽게 정책을 관리할 수 있도록 정책관리 GUI의 제공도 가능하다.
뿐만 아니라, 본 발명의 실시예에 따른 보안시스템(1)은 접근통제를 요청하고 집행하는 정책요청 및 집행모듈(20), 접근통제를 결정하는 정책결정모듈(30), 및 접근통제 결정 후 발생하는 문제를 해결하기 위한 정책제어모듈(50)의 세 부분으로 이루어짐에 따라, 각 행위간 연관관계가 고려되고, 접근결정 후 유효성을 상실하여 발생하는 추후의 공격을 방지할 수 있다.
본 발명의 실시예들은 컴퓨터 시스템에서 실행할 수 있는 프로그램으로 작성가능하다. 또한, 상기 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체로부터 독출된 해당 프로그램은 디지털 컴퓨터 시스템에서 실행될 수 있다. 상기 기록 매체에는 마그네틱 저장 매체(예를 들면, 롬, 플로피디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 매체를 포함한다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 보안 시스템과 보안방법에 따르면, 새로운 접근통제모델이 제안됨에 따라 접근통제에 관한 정책들을 쉽게 관리하고 검증할 수 있으며, 구조가 단순하여 설계 및 구현이 용이하다. 따라서 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있다. 그리고 접근통제 결정 후 발생하는 문제를 해결할 수 있다.

Claims (30)

  1. 주체가 접근하고자 하는 객체와 상기 주체가 상기 객체에 대해 수행하고자 하는 행위에 대해 미리 설정된 접근권한 정보를 이용하여 상기 주체의 상기 객체로의 접근허여 여부를 결정하는 정책결정모듈;
    상기 주체로부터의 요청에 따라 상기 정책결정모듈로 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 제공하여 상기 주체의 상기 객체로의 접근허여를 요청하는 정책요청 및 집행모듈; 및
    상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 최종 결정하는 정책제어모듈을 포함하는 것을 특징으로 하는 보안시스템.
  2. 제1항에 있어서,
    상기 정책요청 및 집행모듈은 상기 주체, 상기 객체, 상기 행위에 대한 정보를 메시지 형태로 구성하는 메시지 생성부를 포함하는 것을 특징으로 하는 보안시스템.
  3. 제2항에 있어서,
    상기 메시지 생성부는 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 커널로부터 인출하는 것을 특징으로 하는 보안시스템.
  4. 제3항에 있어서,
    상기 정책요청 및 집행모듈은 상기 메시지 생성부에서 생성된 메시지를 상기 정책결정모듈로 전송하는 메시지 전송부를 더 포함하는 것을 특징으로 하는 보안시스템.
  5. 제4항에 있어서,
    상기 정책요청 및 집행모듈은 상기 정책제어모듈에서 생성된 접근허여 정보를 수신받는 메시지 수신부를 더 포함하는 것을 특징으로 하는 보안시스템.
  6. 제5항에 있어서,
    상기 접근허여 정보는 상기 주체의 상기 객체에 대한 접근을 허여/거절에 대한 내용인 결정정보와 상기 정책제어모듈에서 지원되는 각종 제어들에 대한 제어정보를 포함하는 것을 특징으로 하는 보안시스템.
  7. 제6항에 있어서,
    상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신하고, 상기 주체에게 접근이 허여되었음을 통지하는 것을 특징으로 하는 보안시스템.
  8. 제7항에 있어서,
    상기 메시지 수신부는 상기 정책제어모듈에서 생성된 접근허여 정보를 수신하고, 상기 주체와 상기 객체를 연결시키는 것을 특징으로 하는 보안시스템.
  9. 제8항에 있어서,
    상기 정책결정모듈은 상기 정책요청 및 집행모듈로부터 제공된 정보를 이용하여 상기 주체가 상기 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 정책결정부를 포함하는 것을 특징으로 하는 보안시스템.
  10. 제9항에 있어서,
    상기 정책결정부는 상기 주체, 상기 객체, 상기 행위, 및 상기 접근권한 여부를 포함하는 결정이력풀을 포함하는 것을 특징으로 하는 보안시스템.
  11. 제10항에 있어서,
    상기 정책결정부는 상기 결정이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 것을 특징으로 하는 보안시스템.
  12. 제1항에 있어서, 상기 보안 시스템은,
    미리 정의된 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정책 데이터베이스를 더 포함하는 것을 특징으로 하는 보안시스템.
  13. 제12항에 있어서,
    상기 정책결정모듈은 상기 정책 데이터베이스로부터 상기 주체, 상기 객체, 및 상기 행위에 부합되는 접근정책을 인출하는 정책로딩부를 더 포함하는 것을 특징으로 하는 보안시스템.
  14. 제12항에 있어서,
    상기 정책로딩부는 상기 정책 데이터베이스로부터 인출된 접근정책을 저장하는 정책이력풀을 포함하는 것을 특징으로 하는 보안시스템.
  15. 제1항에 있어서,
    상기 정책제어모듈은 상기 주체와 객체 사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 분석기를 포함하는 것을 특징으로 하는 보안시스템.
  16. 제15항에 있어서,
    상기 분석기는 상기 분석기에서 기분석한 통계자료들이 저장된 통계정보풀을 포함하는 것을 특징으로 하는 보안시스템.
  17. 제16항에 있어서,
    상기 통계정보풀에는 상기 주체, 상기 객체, 상기 행위, 상기 결정정보, 및 상기 정책정보가 포함되는 것을 특징으로 하는 보안시스템.
  18. 제17항에 있어서,
    상기 분석기는 상기 통계정보풀에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 것을 특징으로 하는 보안시스템.
  19. 제18항에 있어서,
    상기 정책제어모듈은 상기 분석기로부터의 상기 주체의 이상행위 판단결과에 따라 상기 주체의 객체로의 접근을 허여할 것인지 여부를 판단하는 제어기를 더 포함하는 것을 특징으로 하는 보안시스템.
  20. 제19항에 있어서,
    상기 제어기는 상기 분석기로부터 이상행위로 판단된 정보가 저장되는 블랙리스트풀을 포함하는 것을 특징으로 하는 보안시스템.
  21. 제20항에 있어서,
    상기 제어기는 상기 분석기로부터 제공된 상기 주체, 상기 객체, 및 상기 행 위에 대한 정보와 상기 블랙리스트풀에 저장된 정보를 비교하고, 상기 블랙리스트풀에 저장된 정보와 부합되지 아니할 경우 상기 정책요청 및 집행모듈로 상기 주체의 객체 접근을 허여하는 접근허여 정보를 제공하는 것을 특징으로 하는 보안시스템.
  22. 제20항에 있어서,
    상기 정책제어모듈은 상기 분석기에서의 분석결과와 상기 제어기에서 접근허여 정보를 저장하는 로그 데이터베이스, 및 상기 제어기로부터 상기 분석기에서의 분석결과와 상기 접근허여 정보를 제공받아 상기 로그 데이터베이스에 저장하는 로거를 더 포함하는 것을 특징으로 하는 보안시스템.
  23. 주체로부터 상기 주체가 접근하고자 하는 객체와 상기 주체가 상기 객체에 대해 수행하고자 하는 행위에 대한 정보를 입력받는 단계;
    미리 설정된 접근권한 정보를 이용하여 상기 주체의 상기 객체로의 접근 허여여부를 결정하는 단계;
    상기 객체의 접근이 허여된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허여할지 여부를 최종 결정하는 단계를 포함하는 것을 특징으로 하는 보안방법.
  24. 제23항에 있어서, 상기 보안방법은,
    상기 최종 결정된 상기 주체의 객체에 대한 허여 여부를 상기 주체에게 통지하는 단계를 더 포함하는 것을 특징으로 하는 보안방법.
  25. 제24항에 있어서, 상기 보안방법은,
    상기 최종 결정단계에서 접근이 허여되면, 상기 주체와 상기 객체를 연결시키는 단계를 더 포함하는 것을 특징으로 하는 보안방법.
  26. 제23항에 있어서, 상기 보안방법은,
    상기 주체, 상기 객체, 상기 행위, 및 상기 접근권한 여부를 포함하는 결정이력풀을 형성하는 단계를 더 포함하며,
    상기 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 단계는 상기 결정이력풀에 저장된 정보와 상기 주체로부터 제공된 정보를 비교하여 상기 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 단계인 것을 특징으로 하는 보안방법.
  27. 제23항에 있어서, 상기 보안방법은,
    미리 정의된 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정책 데이터베이스를 구축하는 단계를 더 포함하며,
    상기 접근권한 정보를 이용하여 상기 주체의 객체로의 접근 허여여부를 결정하는 단계는 상기 정책 데이터베이스로부터 상기 주체로부터 제공된 정보에 매칭되 는 접근정책을 인출하여 비교하여 상기 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 단계인 것을 특징으로 하는 보안방법.
  28. 제23항에 있어서, 상기 보안방법은,
    상기 주체와 상기 객체 사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 단계를 더 포함하는 것을 특징으로 하는 보안방법.
  29. 제28항에 있어서, 상기 보안방법은,
    이미 분석한 통계자료들이 저장된 통계정보풀을 구축하는 단계; 및
    상기 통계정보풀에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 단계를 더 포함하는 것을 특징으로 하는 보안방법.
  30. 제23항 내지 제29항 중의 어느 하나의 항에 기재된 보안방법을 수행하기 위한 프로그램을 기록한 기록매체.
KR1020050067968A 2005-07-26 2005-07-26 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체 KR100657353B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050067968A KR100657353B1 (ko) 2005-07-26 2005-07-26 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050067968A KR100657353B1 (ko) 2005-07-26 2005-07-26 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체

Publications (1)

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

Family

ID=37733244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050067968A KR100657353B1 (ko) 2005-07-26 2005-07-26 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체

Country Status (1)

Country Link
KR (1) KR100657353B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101497629B1 (ko) * 2014-07-30 2015-03-03 주식회사 피앤피시큐어 리눅스 커널 기반의 파일 접근 통제시스템과 통제방법
KR101784821B1 (ko) * 2016-04-01 2017-10-23 서원대학교산학협력단 행위 심리학을 이용한 불법적 접근의 접근통제 시스템 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020033859A (ko) * 2000-10-30 2002-05-08 송영호 리눅스 보안 커널
KR20020075601A (ko) * 2001-03-26 2002-10-05 주식회사데이콤 접근통제기능을 개선한 리눅스 시스템 및 리눅스 시스템의운영방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020033859A (ko) * 2000-10-30 2002-05-08 송영호 리눅스 보안 커널
KR20020075601A (ko) * 2001-03-26 2002-10-05 주식회사데이콤 접근통제기능을 개선한 리눅스 시스템 및 리눅스 시스템의운영방법

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 (ko) * 2014-07-30 2015-03-03 주식회사 피앤피시큐어 리눅스 커널 기반의 파일 접근 통제시스템과 통제방법
KR101784821B1 (ko) * 2016-04-01 2017-10-23 서원대학교산학협력단 행위 심리학을 이용한 불법적 접근의 접근통제 시스템 및 그 방법

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 (ko) 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체
KR100706338B1 (ko) 전자상거래에 있어서 가상접근통제 보안시스템
KR102430882B1 (ko) 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체
KR100707940B1 (ko) 전자상거래에 있어서 가상접근통제 보안방법
CN112970021A (zh) 一种用于实现***状态感知安全策略的方法
US8627072B1 (en) Method and system for controlling access to data
Lad Application and Data Security Patterns
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