KR100706338B1 - 전자상거래에 있어서 가상접근통제 보안시스템 - Google Patents

전자상거래에 있어서 가상접근통제 보안시스템 Download PDF

Info

Publication number
KR100706338B1
KR100706338B1 KR1020060018763A KR20060018763A KR100706338B1 KR 100706338 B1 KR100706338 B1 KR 100706338B1 KR 1020060018763 A KR1020060018763 A KR 1020060018763A KR 20060018763 A KR20060018763 A KR 20060018763A KR 100706338 B1 KR100706338 B1 KR 100706338B1
Authority
KR
South Korea
Prior art keywords
access
policy
subject
information
decision
Prior art date
Application number
KR1020060018763A
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 KR1020060018763A priority Critical patent/KR100706338B1/ko
Application granted granted Critical
Publication of KR100706338B1 publication Critical patent/KR100706338B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02GINSTALLATION OF ELECTRIC CABLES OR LINES, OR OF COMBINED OPTICAL AND ELECTRIC CABLES OR LINES
    • H02G3/00Installations of electric cables or lines or protective tubing therefor in or on buildings, equivalent structures or vehicles
    • H02G3/02Details
    • H02G3/08Distribution boxes; Connection or junction boxes

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 운영체제나 애플리케이션에서 다양한 접근통제 정책을 제공할 수 있도록 가상접근통제시스템을 이용한 가상접근통제 보안시스템 및 보안방법에 관한 것이다.
이를 위한 본 발명의 가상접근통제 보안시스템은, 주체가 접근하고자 하는 객체에 대해 수행하고자 하는 행위의 허가 여부를 요청하고, 상기 요청에 대한 허가 결과에 따라 객체에 대해 행위를 집행하는 정책요청 및 집행모듈; 설정된 접근권한 정보를 이용하여 상기 요청에 대한 접근 허가 여부를 결정하는 정책결정모듈과 MAC, DAC, RBAC 등과 같은 다양한 접근통제정책들을 정책결정모듈로 구현하여 동적으로 운영체제에 적용시킬 수 있는 가상접근통제 시스템모듈; 객체로의 접근이 허가되지 않는 행위에 대한 주체의 요청에 대한 정보를 기록하고, 객체로의 접근이 허가된 주체에 대해 이상행위분석을 통하여 이상행위 여부를 판단하고 이상행위를 수행하는 주체가 상기 객체에 대해 접근하는 것을 제어하는 정책제어모듈을 포함한다.
본 발명에 의해, 가상 접근통제시스템을 이용한 새로운 접근통제 보안구조가 제공됨에 따라 다양한 접근통제 정책들을 쉽게 운영체제에 적용할 수 있으며, 구조가 단순하여 설계 및 구현이 용이할 뿐만 아니라, 새로운 접근통제 모델을 쉽게 적용할 수 있다.
보안, 접근통제, 정책요청 및 집행, 정책결정, 정책제어, 주체, 객체, 행위, 가상접근통제시스템, 가상접근통제 보안시스템, 보안방법

Description

전자상거래에 있어서 가상접근통제 보안시스템{Virtual Access Control Security System for supporting various access control policies in Operating System or application }
도 1 은 리눅스 커널 버전 2.6에 포한된 SELinux의 접근통제 보안구조를 개략적으로 나타낸 구성 블록도,
도 2 는 본 발명의 실시예에 따른 가상접근통제 보안시스템의 개략적 블록 구성도,
도 3 은 본 발명의 실시예에 따른 가상접근통제 시스템의 개략적 블록을 나타낸 구성도,
도 4 는 도 2 에 도시된 정책요청 및 집행모듈에서 주체의 요청에 대한 동작이 수행되는 과정을 나타낸 흐름도,
도 5 는 도 2 에 도시된 정책결정모듈에서 정책이 결정되는 과정을 나타낸 흐름도,
도 6 은 도 2 에 도시된 정책제어모듈에 의해 주체에 대한 제어가 이루어지는 과정을 나타낸 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
1 : 보안시스템 10 : 주체
20 : 정책요청 및 집행모듈(Security Agent)
30, 80 : 정책결정모듈(Security Manager)
40 : 가상 접근통제 시스템(Virtual Access Control System)
50 : 정책 데이터베이스(DB)
60 : 정책제어모듈(Security Control Mediator)
70 : 객체
본 발명은 운영체제 및 애플리케이션에서 다양한 접근통제정책들을 제공하는 가상접근통제 보안시스템에 관한 것으로, 보다 상세하게는 새로운 접근통제모델이 제공됨에 따라 접근통제에 관한 정책들을 쉽게 관리할 수 있으며, 구조가 단순하여 설계 및 구현이 용이할 뿐만 아니라 관리자가 다양한 접근통제모델을 운영체제 및 애플리케이션에 동적으로 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있는 가상접근통제 보안구조, 보안시스템에 관한 것이다.
일반적으로 리눅스를 포함한 표준 유닉스에서는 임의적 접근통제 (Discretionary Access Control: 이하 DAC 라 한다)를 기본 접근통제 메커니즘으로 사용한다. 상기 DAC 은 주체나 또는 그들이 속한 그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법으로, 접근통제가 객체의 소유자에 의해 임의적으로 이루어진다. 따라서, 상기 리눅스 시스템의 보안 메커니즘에서 주체가 권한이 부여된 애플리케이션(application)의 설정을 이용하거나 또는 실행중인 프로세스(process)의 취약점을 익스플로이트(exploit)하면 다른 사용자의 권한을 도용할 수 있으며, 루트 사용자 권한을 획득할 경우는 전체 시스템을 장악할 수 있게 된다.
또한, 상기 DAC 에서는 사용자를 크게 관리자(루트 사용자)와 일반 사용자의 두 가지 분류로만 구분하기 때문에 세밀한 접근통제를 적용하기 어렵고, 특정한 권한을 가지고 실행되어야 하는 서비스나 프로세스를 실행하기 위해 필요 이상의 권한을 부여해야 하는 경우가 대부분이며, 악의적인 사용자에 의해 사용자의 신분(identity)을 도용당한 경우 악의적인 사용자의 행위를 막을 방법이 없으므로 심각한 문제가 발생한다.
이를 방지하기 위해, 오픈소스 리눅스 커널(Linux Kernel)의 보안을 강화시켜 파일변조와 시스템 콜(system call)들의 남용을 막고 악성 애플리케이션에 의한 피해를 줄이기 위한 보안시스템들이 개발되고 있으며, 이 중 SELinux(Security-Enhanced Linux)는 좀 더 안전한 리눅스를 위해 미국 국가안보국 NSA에 의해 개발된 보안 운영체제이며, 리눅스 커널 2.6 버전부터는 리눅스의 보안 메커니즘으로 포함되었다.
도 1 은 리눅스 커널 2.6 버전의 접근통제구조(100)와 SELinux의 접근통제 구조(130)를 개략적으로 나타낸 구성 블럭도이다. 도시된 바와 같이, SELinux(150)는 리눅스 보안모듈 프레임워크(Linux Security Modules framework; 120, 이하 LSM이라 한다)를 이용하여 리눅스 커널에 강제적 접근통제(Mandatory Access Control, 이하 MAC이라 한다)를 구현한다. 현재까지 개발된 SELinux(150)에서는 역할기반 접근통제(Role Based Access Control, 이하 RBAC이라 한다)와 유형 집행(Type Enforcement, 이하 TE라 한다)모델(140)의 접근통제를 제공한다.
일반적으로 표준 리눅스 보안(Standard Linux Security)은 DAC(110) 모델을 사용하고 있으며, 리눅스 커널 2.6 이후 버전부터는 주체의 접근통제 요청에 대한 접근결정이 한번 이상 수행된다. 첫 번째로, DAC(110)을 통하여 주체의 접근통제 요청에 대한 접근 결정을 수행하여 상기 결과가 접근 거부인 경우에는 SELinux(150)의 보안 메커니즘을 수행하지 않고 접근 거부 에러메시지를 발생하여 객체에 대한 주체의 접근요청을 수행하지 않는다. 두 번째로, 상기 결과가 접근 허용인 경우에는 LSM(120)을 통해 구현된 SELinux(150)에서 주체의 접근통제 요청에 대한 접근결정을 한 번 더 수행하게 되며, 상기 결과가 접근허용인 경우에만 객체에 대한 주체의 접근요청을 수행한다. 즉, DAC(110)과 SELinux(150)의 보안 메커니즘의 접근 결정이 모두 접근 허용인 경우에만 객체에 대한 주체의 접근요청이 수행되며, 그렇지 않는 경우에는 접근이 거부된다.
여기서, DAC(110) 모델에서의 파일과 자원에 대한 결정권은 오직 해당 객체(objects)의 사용자(user id)에게 있고 상기 결정권은 소유권(ownership)에 따라 주어진다. 즉, 각 사용자와 그 사용자에 의해 실행된 프로그램은 자기에게 할당된 객체에 대해 전적으로 자유재량권을 갖는다. 이러한 상황에서는 악의 있는 일반 혹은 루트 사용자(예, setuid와 setgid)가 결함이 있는 소프트웨어를 이용하여 객체에 어떠한 행위를 수행하더라도 막아낼 방법이 없을 뿐만 아니라, 특정한 권한을 가지고 실행되어야 하는 서비스나 프로세스를 실행하기 위해 필요 이상의 권한을 부여해야 하는 경우가 대부분이므로 세밀한 접근통제를 적용하기 어렵다.
SELinux(150)에서의 MAC 시스템은 위와 같은 DAC(110) 모델의 단점을 보완할 수 있으며 다음과 같은 특징을 갖는다. 첫째, 주체 및 객체의 보안 도메인(Security Domain)을 구분함으로써 시스템이 해킹되더라도 그 피해를 해당 도메인에 제한할 수 있다. 둘째, 시스템과 데이터에 불법적으로 접근하거나 위변조하는 것을 방지할 수 있다. 셋째, 시스템에서 프로그램과 합법적인 사용자에 대해서도 최소한의 권한만을 부여함으로써 악의 또는 실수로 인한 보안 사고의 위험을 최소화할 수 있다.
이에 따라, SELinux(150)에서는 MAC을 이용하여 모든 주체(subjects, 사용자, 프로그램 또는 프로세스)와 객체(파일 또는 디바이스(device))에 대해서 국부적으로 허가(granular permissions)가 가능하도록 한다.
한편, SELinux(150) 구현은 역할과 유형 집행(Type Enforcement: TE)모델(140)에 기초하여 추상적 사용자 수준 제어(abstracted user-level control)를 제공하는 역할기반 접근통제(RBAC)를 사용한다. SELinux의 접근통제 구조(130)에서는 LSM(120)으로부터의 접근통제 요청을 처리하기 위해서 정책 데이터베이스(DB)(170)를 이용하고, 정책로더(160)는 정책 DB(170)로부터 정책을 인출하여 TE모델(140)의 형태로 표현하여 SELinux(150)로 제공한다. 이때, 상기 SELinux(150)는 상기 LSM(120)으로부터의 접근통제 요청에 대하여 주체와 객체의 정보를 획득하여 상기 정책 DB(170)으로부터 인출하여 상기 TE모델(140)의 형태로 저장된 정책과 비교하여 상기 LSM(120)으로부터의 접근통제 요청의 접근허여 여부를 판단하여 결과를 전송한다.
이는 리눅스 시스템에 있는 모든 행위자(actor)에 대하여 극단적으로 국부 제어가 가능하도록 한다. 한편, RBAC는 기본적으로 사용자, 역할 및 허가(permission)부분을 포함하며, 그 외에 역할 계층과 제약사항 등의 구성요소를 포함한다.
이러한 SELinux(150) 정책은 사용자, 프로그램, 프로세스, 그리고 이들의 동작 대상인 파일과 디바이스를 포함한 시스템 전체, 즉 모든 주체와 객체에 대한 접근 허가(access permissions)를 기술한다.
그런데, 이러한 SELinux(150)는 리눅스 자체에서 DAC(110) 인증과정을 거친 다음, 리눅스 보안모듈 프레임워크(LSM : 120) 처리루틴을 실행하도록 함으로써, 어떠한 정책을 적용하더라도 DAC(110) 인증을 수행해야 한다는 단점이 있다. 그리고 이렇게 DAC(110) 인증과정을 거쳐야 하므로, DAC(110) 인증과정이 필요치 아니하거나 다른 인증과정을 요하는 정책의 경우에는 수행이 어려우며, LSM(120)기반에서 수행되므로 정책의 설계나 변경이 한정적이라는 단점이 있다.
한편, SELinux(150)에서 사용하는 TE 모델(140)은 MAC, RBAC, TE가 혼합된 모델이고, RBAC의 기능을 제공하기는 하나 그 기능이 매우 제한적으로 제공한다. 이에 따라, 새로운 보안정책 모델이 제시되었을 때 또는 MAC, RBAC, TE이외의 모델을 운영체제나 애플리케이션에 적용할 경우, 상기 TE 모델(140)을 이용하여 다양한 보안 정책들을 적용하기가 어렵다.
또한, TE 모델(140)에서는 타입(Type)이라는 이름으로 기능을 분리하고 주체와 객체 사이의 관계를 표현하고, 타입의 전이를 통해서 주체와 객체의 관계가 변경되도록 하고 있다. 일반적으로 리눅스에서는 파일 객체가 많이 있기 때문에 이에 상응하는 타입들과 설정요소들이 많이 필요하게 된다. 레드햇에서 제공하는 페도라 코어 3(Fedora Core 3)의 SELinux(150)의 정책 설정 예를 들면, 39개의 커널 객체 클래스와 197개의 허가(permission), 1,200개 이상의 타입, 100개 이상의 매크로, 40,000개 이상의 규칙이 있으므로, 정책로더(160)에 의해 커널로 적재되는 규칙은 360,000개 이상이 된다. 따라서, 정책을 표현하기 위해서는 다수의 타입(Type)이 정의 되어야하고, 상기 타입과 연관된 규칙들이 부가적으로 필요하므로 일반 사용자 또는 관리자가 정책을 설정하기가 용이하지 아니하다는 단점이 있다.
본 발명은 상기와 같은 단점들을 해소하기 위해 발명한 것으로, 가상접근통제 시스템을 이용하여 다양한 접근통제에 관한 정책들을 쉽게 관리하고 적용할 수 있으며, 관리자가 여러 가지 보안모델의 적용이 가능하도록 설계를 용이하게 변경할 수 있도록 하는 가상 접근통제 보안구조, 보안시스템 및 보안방법을 제공하고자 함에 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명에 따른 가상접근통제 보안시스템은, 주체(10)가 접근하고자 하는 객체(70)에 대해 수행하고자 하는 행위의 허가 여부를 요청하고, 상기 요청에 대한 허가 결과에 따라 객체(70)에 대해 행위를 집행하는 정책요청 및 집행모듈(20); 설정된 접근권한 정보를 이용하여 상기 요청에 대한 접근 허가 여부를 결정하는 정책결정모듈(30)과 MAC, DAC, RBAC 등과 같은 다양한 접근통제정책들을 정책결정모듈(30)로 구현하여 동적으로 운영체제에 적용시킬 수 있는 가상 접근통제 시스템 모듈(40); 객체(70)로의 접근이 허가되지 않는 행위에 대한 주체의 요청에 대한 정보를 기록하고, 객체(70)로의 접근이 허가된 주체에 대해 이상행위분석을 통하여 이상행위 여부를 판단하고 이상행위를 수행하는 주체(10)가 상기 객체(70)에 대해 접근하는 것을 제어하는 정책제어모듈(60)을 구비한 것을 그 특징으로 한다.
상기 정책요청 및 집행모듈(20)은 상기 주체, 상기 객체 및 상기 행위에 대한 정보를 메시지 형태로 구성하는 접근요청 메시지생성부(21)를 포함하는 것이 바람직하다. 상기 접근요청 메시지생성부(21)는 상기 주체, 상기 객체, 및 상기 행위에 대한 정보를 커널로부터 획득한다.
상기 정책요청 및 집행모듈(20)은 상기 접근요청 메시지생성부(21)에서 생성된 메시지를 상기 정책결정모듈(30)로 전송하는 접근요청 메시지전송부(23)를 더 포함하는 것이 바람직하다.
상기 정책요청 및 집행모듈(20)은 상기 정책제어모듈(60)에서 생성된 접근결정 정보를 수신받는 접근결정 및 제어메시지 수신부(25)를 더 포함할 수 있다.
상기 접근결정 정보는 상기 주체(10)의 객체(70)에 대한 접근을 허가/거절에 대한 내용인 결정정보와 상기 정책제어모듈(60)에서 지원되는 각종 제어들에 대한 제어정보를 포함할 수 있다.
상기 접근결정 및 제어메시지 수신부(25)는 상기 정책제어모듈(60)에서 생성된 접근허가 정보를 수신받아 상기 주체(10)에게 접근이 허가되었음을 통지할 수 있다. 상기 접근결정 및 제어메시지 수신부(25)는 상기 정책제어모듈(60)에서 생성된 접근결정 정보를 수신받아, 접근 허가인 경우 상기 객체(70)에 요청된 상기 행위를 집행하는 것이 바람직하다.
상기 정책결정모듈(30)은 상기 정책요청 및 집행모듈(20)로부터 제공된 정보를 이용하여 상기 주체(10)가 상기 객체(70)에 대해 행위를 수행할 수 있는 접근권한을 결정하는 접근결정부(41)를 포함하는 것이 바람직하다. 상기 접근결정부(41)는 상기 주체, 상기 객체, 상기 행위, 및 상기 접근권한 여부를 포함하는 결정이력풀(43)을 포함할 수 있다.
상기 접근결정부(41)는 상기 결정이력풀(43)에 저장된 정보와 상기 정책요청 및 집행모듈(20)로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈(20)로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정할 수 있다.
상기 보안 시스템(1)은 미리 정의된 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정보정책 데이터베이스(50)를 더 포함할 수 있다.
상기 정책결정모듈(30)은 상기 정책 데이터베이스(50)로부터 상기 주체, 상기 객체, 및 상기 행위에 부합되는 접근정책을 인출하는 정책검색부(45)를 더 포함할 수 있다. 상기 정책검색부(45)는 상기 정책 데이터베이스(50)로부터 인출된 접근정책을 저장하는 정책이력풀(47)을 포함할 수 있다.
상기 정책제어모듈(60)은 상기 주체(10)와 객체(70) 사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 분석기(64)를 포함하는 것이 바람직하다. 상기 분석기(64)는 상기 분석기(64)에서 기분석한 통계자료들이 저장된 통계정보풀(65)을 포함할 수 있다. 상기 통계정보풀(65)에는 상기 주체, 상기 객체, 상기 행위, 상기 결정정보, 및 상기 정책정보가 포함될 수 있다. 상기 분석기(64)는 상기 통계정보풀(65)에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 것이 바람직하다.
상기 정책제어모듈(60)은 상기 분석기(64)로부터의 상기 주체(10)의 이상행위 판단결과에 따라 상기 주체(10)의 객체(70)로의 접근을 허가할 것인지 여부를 판단하는 제어기(61)를 더 포함하는 것이 바람직하다. 상기 제어기(61)는 상기 분석기(64)로부터 이상행위로 판단된 정보가 저장되는 블랙리스트풀(62)을 포함할 수 있다.
상기 제어기(61)는 상기 분석기(64)로부터 제공된 상기 주체, 상기 객체, 및 상기 행위에 대한 정보와 상기 블랙리스트풀(62)에 저장된 정보를 비교하여 상기 블랙리스트풀(62)에 저장된 정보와 부합되지 아니할 경우, 상기 정책요청 및 집행 모듈(20)로 상기 주체(10)의 객체(70) 접근을 허가하는 접근허가 정보를 제공하는 것이 바람직하다.
상기 정책제어모듈(60)은 상기 분석기(64)에서의 분석결과와 상기 제어기(61)에서 접근허가 정보를 저장하는 로그 데이터베이스(68)와, 상기 제어기(61)로부터 상기 분석기(64)에서의 분석결과와 상기 접근허가 정보를 제공받아 상기 로그 데이터베이스(68)에 저장하는 로거(67)를 더 포함할 수 있다.
본 발명에 따른 기술적 과제를 해결하기 위한 보안방법은, 주체(10)로부터 상기 주체가 접근하고자 하는 객체(70)와, 상기 주체(10)가 객체(70)에 대해 수행하고자 하는 행위에 대한 정보를 입력받는 단계; 미리 설정된 접근권한 정보를 이용하여 상기 주체(10)의 객체(70)로의 접근 허가여부를 결정하는 단계 및; 상기 객체(70)의 접근이 허가된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체(10)의 상기 객체(70)에 대한 접근을 허가할지 여부를 최종 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
본 발명에 따른 보안시스템은 임의의 주체(subject)가 객체(object)에 대해 어떠한 행위(action)를 수행하고자 할 때, 상기 주체와 상기 객체 사이에 발생하는 권한관계를 결정하고, 결정된 권한관계에 따라 상기 주체가 상기 객체에 접근할 수 있는 접근 여부를 제어한다.
여기서, 주체란 객체에 대해 소정의 행위를 수행하는 행위자로서, 본 발명에 따른 보안시스템에서 상기 주체는 사용자를 대신해서 행위를 하는 프로세스들(processes)로 규정한다.
객체란 주체가 행위를 수행하는 대상으로서, 일반적으로 컴퓨팅 환경에서 수행하는 작업들의 대상이 되는 파일(File), IPC(InterProcess Communication), 시스템(System), 프로세스(Process), 네트워크(Network)및 사용자(User) 등의 클래스(Class)로 구분된다.
그 외에 객체가 없는 정책을 요청할 경우에 사용되는 No Object라는 클래스를 더 포함한다. 객체의 각 클래스는 다양한 하위 타입(type)을 포함할 수 있으며, 예를 들어, 파일 클래스는 파일, DIR, 파일 시스템, 디바이스 등의 타입을 포함한다. 이러한 객체의 클래스는 컴퓨팅 환경의 변화 또는 보안설계자에 따라 얼마든지 변경 가능함은 물론이다.
그리고, 행위(action)는 주체가 객체에 대해 행하는 일련의 구체적이거나 논리적인 행동, 또는 주체가 객체에 대해 행할 수 있는 권한이나 오퍼레이션(Operation)으로 규정된다. 본 발명에 따른 보안시스템에서는 객체에 대한 오퍼레 이션으로 리눅스 시스템 콜들을 사용하며, 상기 보안시스템에서 사용되는 행위와 연관된 시스템 콜들은 각 객체의 클래스와 타입에 따라 다양한 시스템콜 들이 사용된다.
도 2 는 본 발명의 실시예에 따른 가상접근통제 보안 시스템의 개략적 블록 구성도를 나타낸다. 본 발명에서 보안시스템(1)은 정책요청 및 집행모듈(Security Agent; 20), 정책결정모듈(Security Manager; 30), 정책제어모듈(Security Control Mediator; 60), 및 가상 접근통제 시스템(Virtual Access Control System; 40)을 포함한다.
상기 정책요청 및 집행모듈(20)은, 정책결정모듈(30)로 소정의 정책을 요청하는 모듈로서, 주체(Subject; 10)가 객체(object; 70)에게 특정 행위(Action)를 수행하고자 할 때, 상기 주체(10)가 상기 객체(70)에 접근하는 것이 허가되는 지에 대한 정책결정을 정책결정모듈(30)에 요청하며, 요청결과에 따라 상기 정책결정모듈(30)과 상기 정책제어모듈(60)을 통해 상기 주체(10)가 상기 객체(70)로 접근하는 것이 허가되면 상기 객체(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)는 정책제어모듈(60)로부터 제공된 제어 메시지(CM : D, C)를 수신하며, 상기 제어 메시지(CM)의 내용은 상기 정책제어모듈(60)에서 결정된 주체(10)가 객체(70)에 대해 행위를 수행할 수 있는지 여부에 대한 것이다. 상기 제어 메시지(CM)에 대해서는 후술할 정책제어모듈(60)에서 상세히 설명한다.
한편, 상기 접근요청 메시지 수신부(25)는 제어 메시지(CM)의 내용에 따라 접근이 허가된 경우 주체(10)가 객체(70)에 접근을 집행하고, 객체(70)에 대한 접근집행 후 허가 또는 거부에 대한 결과(Notification)를 접근을 요청한 주체(10), 즉 프로세스로 제공한다.
도 4 는 도 2 에 도시된 정책요청 및 집행모듈(20)에서 주체(10)의 요청에 대한 동작이 수행되는 과정을 나타낸 흐름도이다.
도 2 과 도 4 를 참조하면, 주체(10)에 의해 임의의 객체(70)에 대한 임의의 행위를 수행할 것이 요청되면(S400), 접근요청 메시지 생성부(21)는 커널로부터 주체(10), 객체(70) 및 행위에 대한 정보를 인출하여 요청 메시지(RM(S, O, A))를 생성한다(S410).
상기 접근요청 메시지 전송부(23)는 생성된 요청 메시지(RM(S, O, A))를 정책결정모듈(30)로 제공한다(S420). 정책결정모듈(30)과 정책제어모듈(60)에 의해 주체(10)의 객체(70)에 대한 접근의 허가 또는 거부가 결정되며(S430), 상기 정책제어모듈(60)로부터 제어 메시지(CM)를 수신한다.
접근결점 및 제어메시지 수신부(25)는 제어 메시지(CM(D, C))를 수신하여 결정내용에 따라, 즉 주체(10)의 객체(70)에 대한 접근이 허가되면(S440 의 YES), 상기 주체(10)의 권한으로 상기 객체(70)에 대한 접근행위를 집행한다(S450). 그러나, 상기 주체(10)의 상기 객체(70)에 대한 접근이 거부되면(S440 의 No), 상기 주체(10)의 상기 객체(70)에 대한 접근을 차단한다(S445). 이와 함께 상기 주체(10) 로 객체(70) 접근에 대한 결과를 주체(10)에 통보(Notification)한다(S460).
이러한 정책요청 및 집행모듈(20)로부터의 요청에 따라 접근권한을 결정하는 정책결정모듈(30)은 접근결정부(Access Decision; 41)과 정책검색부(Policy Search; 45)를 포함하는 가상 접근통제 시스템(40)과 접근결정메시지를 생성하여 정책제어모듈(60)로 전송하는 접근결정메시지 전송부(31)를 포함한다.
상기 가상 접근통제 시스템(40)의 접근결정부(41)는 정책요청 및 집행모듈(20)로부터 제공된 요청 메시지(RM)에 대해 주체(10)가 객체(70)에 접근하여 소정의 행위를 수행할 수 있는 권한이 있는지 여부, 즉 주체(10)에 대한 접근권한을 결정한다. 상기 접근결정부(41)는 정책 데이터베이스(50)로부터 소정의 정책을 제공받으며, 제공된 정책에 따라 요청된 메시지(RM)에 대한 접근권한을 결정하여 결정 메시지(Decision Message; DM)를 생성한다. 그리고, 생성된 결정 메시지(DM : S,O,A,D,P)를 정책제어모듈(60)로 제공한다.
상기 결정 메시지(DM)는 정책결정모듈(30)과 정책제어모듈(60) 사이에 사용되는 메시지로서, DM(S,O,A,D,P)의 형태를 갖는다. 여기서, S는 주체(10), O는 객체(70), A는 행위이며, D는 요청 메시지(RM)를 통해 요청된 주체(10)의 객체(70)에 대한 접근을 허가/거절에 대한 내용인 결정정보이고, P는 정책 데이터베이스(50)로부터 인출된 정책정보이다. 결정 메시지(DM)에 정책정보가 포함되는 이유는 어떤 정책에 의해 결정정보가 생성되었는지를 여부를 확인할 수 있도록 하기 위함이다.
상기 접근결정부(41)는 결정 이력풀(Decision History Pool; 43)을 구비한다. 상기 결정이력풀(43)에는 접근결정부(41)에 의해 결정된 접근권한 결정정보, 즉 이전에 정책요청 및 집행모듈(20)에서 제공된 요청 메시지(RM)에 대해 상기 접근결정부(41)가 결정한 접근권한에 대한 정보인 결정 메시지(DM)가 저장되어 있다. 즉, 상기 결정이력풀(43)에는 이전에 접근결정부(41)가 결정한 접근권한에 대한 정보가 저장되어 있으므로, 상기 접근결정부(41)는 요청 메시지(RM)가 수신되면, 상기 결정이력풀(43)에 해당 요청 메시지(RM)에 대한 접근권한 결정 정보가 존재하는지 여부를 먼저 확인한다. 상기 결정이력풀(43)에 접근권한 결정 정보가 존재하는 경우, 상기 접근결정부(41)는 즉각적으로 접근권한에 대한 결정을 할 수 있다. 상기 결정이력풀(43)은 해쉬 알고리즘을 이용하여 DM 을 인출할 수 있다.
상기 정책검색부(45)는 정책요청 및 집행모듈(20)로부터의 RM에 해당되는 접근권한 정보를 관리자가 정의한 접근정책 정보인 정책 데이터베이스(50)로부터 검색하여 패치(fetch)한다. 여기서 정책 데이터베이스(50)에는 정책 관리자에 의해 정의된 접근 권한 정보가 저장되어 있다. 즉, 정책 데이터베이스(50)에는 주체(10)와 객체(70)와 행위에 따라 정보가 분류되어, 임의의 주체(10)가 어떤 객체(70)에 대해 어떤 행위가 가능한지 여부가 정의되어 있다.
상기 정책 데이터베이스(50)에 저장할 수 있는 정보의 형태는 가상메모리를 이용한 파일시스템이거나 특정 바이너리 형태의 파일이다. 따라서, 상기 정책 데이터베이스(50)에 접근하기 위해서는 지정된 프로그램이 필요하며, 상기 프로그램은 텍스트 기반의 접근정책 정보를 가공하고 가공된 정보를 가상메모리를 이용한 파일시스템에 저장하거나 바이너리 형태의 파일로 저장한다.
가상메모리를 이용한 파일시스템의 경우, 정책결정모듈(30)이 동작할 때 텍 스트 기반의 접근정책 정보는 상기 가상 메모리로부터 모두 독출된다. 이후에 상기 파일시스템에 접근하기 위해서는 지정 프로그램만이 접근할 수 있으며 암호화된 암호키에 의해 승인된 경우에만 접근이 가능하다.
바이너리 파일로 저장하는 경우는 텍스트로 이루어진 접근정책 정보, 즉 어떤 주체(10)가 어떤 객체(70)를 요구하는가에 관한 정보가 바이너리 형태의 파일로 변환된 것이다. 지정된 프로그램만이 상기 바이너리 파일에 접근할 수 있으며, AES (ADVANCED ENCRYPTION STANDARD)암호화되어 암호 인증 후 정책검색부(45)만이 접근정책 정보에 접근할 수 있다.
즉, 정책검색부(45)는 RM에 포함되는 주체(10), 객체(70), 및 행위가 파악되면, 정책 데이터베이스(50)에 암호 인증을 받아 접근한 다음, 해당 주체(10), 객체(70) 및 행위에 부합되는 정책을 정책 데이터베이스(50)로부터 인출한다.
이러한 정책검색부(45)는 정책이력풀(Policy History Pool; 47)을 구비하고 있다. 상기 정책이력풀(47)에는 상기 정책검색부(45)가 정책 데이터베이스(50)로부터 인출한 접근권한 정보가 저장되어 있다. 즉, 상기 정책이력풀(47)에는 이전에 요청된 RM에 대해 정책검색부(45)가 정책 데이터베이스(50)로부터 인출한 접근권한 정보가 저장되어 있으며, 상기 정책검색부(45)는 상기 접근결정부(41)로부터 정책권한 정보의 요청이 있을 경우, 상기 정책 데이터베이스(50)에 접근하기 전에 먼저 상기 정책이력풀(47)을 확인하여 해당 RM에 대한 접근권한 정보가 존재하는지 여부를 확인함으로써, 좀더 신속하게 접근권한 정보의 제공을 수행할 수 있다.
이러한 구성에 의한 정책결정모듈(30)에서 정책이 결정되는 과정을 도 2 와 도 5 를 참조하여 설명하면 다음과 같다.
도 5 는 도 2 에 도시된 정책결정모듈(30)에서 정책이 결정되는 과정을 나타낸 흐름도이다. 먼저, 정책결정모듈(30)이 정책요청 및 집행모듈(20)로부터 요청 메시지(RM)가 수신되면(S500), 가상 접근통제 시스템(40)의 접근결정부(41)는 결정이력풀(43)을 해싱하여 수신된 RM에 대해 매칭되는 접근권한 결정 DM이 존재하는지 여부를 판단한다(S510). 해당하는 결정 메시지(DM)가 존재하는 경우, 접근결정부(41)는 결정이력풀(43)에 존재하는 DM을 인출하여 DM에 해당하는 경력이력풀(43)을 갱신(S560)하고, 접근결정메시지 전송부(31)를 통하여 정책제어모듈(60)로 DM을 전송한다(S570).
그러나, 해당하는 DM이 존재하지 아니하는 경우, 가상 접근통제 시스템(40)의 접근결정부(41)는 정책검색부(45)로 RM을 제공한다. 정책검색부(45)에서는 정책이력풀(47)을 해싱하여 해당 RM 에 대한 접근권한 정보가 존재하는지 여부를 판단한다(S520).
정책이력풀(47)에 해당 RM에 대한 접근권한 정보가 존재하는 경우, 정책검색부(45)는 해당 접근권한 정보를 인출하여 접근결정부(41)로 제공하고, 접근결정부(41)에서는 DM을 생성한다(S550). 접근결정부(41)는 생성된 DM을 정책제어모듈(60)로 제공하는 동시에 결정이력풀(43)에 저장한다(S560).
만약, 정책이력풀(47)에 해당 RM에 대한 접근권한 정보가 존재하지 아니하는 경우, 정책검색부(45)는 정책 데이터베이스(50)로부터 해당 RM에 대한 접근권한 정보를 인출한다(S530). 정책검색부(45)는 인출된 접근권한 정보를 제공하고 이와 동 시에 정책이력풀(47)에 저장한다(S540). 그리고, 접근결정부(41)에서는 정책검색부(45)로부터 제공된 접근권한 정보에 따라 DM을 생성하여 DM을 결정이력풀(43)에 저장하는 한편, DM을 정책제어모듈(60)로 제공한다(S550, S560 및 S570).
그리고, 도 3 은 본 발명의 실시예에 따른 가상접근통제 시스템의 개략적 블록을 나타낸 구성도이다.
도 3 에 도시된 실시예를 통하여 정책결정모듈(80)에서 가상 접근통제 시스템(81)의 동작과정을 설명하면, 정책을 적용하기 위해서 정책관리자는 가상 접근통제 시스템(81)에서 제공하는 인터페이스들을 통하여 시스템에서 제공하고자하는 접근통제모델들을 구현하거나 또는 구현된 접근통제 메커니즘들을 커널로 미리 적재하여야 한다.
로드에이블 커널 모듈(90)은 MAC 모듈(91), DAC 모듈(94)및 RBAC 모듈(97)등이 적재되어 있다. 도 2 에 도시된 접근요청 및 집행모듈(20)로부터 요청 메시지(RM)를 받으면 정책결정모듈(80)은 정책결정과정을 가상 접근통제 시스템(81)에서 수행하게 되며, 가상 접근통제 시스템(81)은 접근결정부(83 : AD)를 통하여 실제 구현된 접근통제 메커니즘의 접근결정부(83)와 연결된 접근통제 메커니즘의 접근결정부(92, 95, 98 등)를 실행하게 된다. 접근결정부(83)의 동작은 앞에서 설명한 도 5 의 과정과 같다.
정책을 검색할 경우도 가상 접근통제 시스템(81)은 정책검색부(85 : PS)와 연결된 접근통제 메커니즘의 정책검색부(93, 96, 99)등이 동작되도록 관리한다. 따라서, 리눅스와 같은 유닉스 계열의 운영체제는 접근통제로 DAC을 제공하며 운영체 제 수준에서 다른 접근통제로의 전환이 자유롭지 못하였지만, 정책결정모듈(80)에서 가상 접근통제 시스템(81)을 이용함으로써 다양한 접근통제의 결정모듈들을 사용할 수 있게 되므로, 관리자가 원하는 접근통제를 동적으로 자유롭게 시스템에 적용할 수 있게 된다.
한편, 도 2 에 도시된 정책제어모듈(60)은 정책결정모듈(30)로부터 제공받은 결정 메시지(DM), 즉 결정된 접근권한 정보를 기반으로 보다 다양한 접근제어를 수행한다. 이를 위해, 정책제어모듈(60)은 제어기(Controller; 61), 분석기(Analyzer; 64) 및 로거(Logger; 67)를 포함한다.
상기 분석기(64)는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 분포 및 빈도수에 의한 통계적인 이상행위 분석을 수행하며, 상기 분석기(64)는 통계정보풀(Statistic Information Pool; 65)을 포함한다. 상기 통계정보풀(65)은 상기 분석기(64)에서 분석한 이상행위 분석에 대한 통계자료들이 저장된다.
이와 같이, 상기 통계 정보풀(65)에 저장되는 요소로는 DM에 포함된 주체(10), 객체(70), 행위, 결정정보 및 정책정보가 있으며, 각 요소에 대해 요청횟수(Count), 허가 횟수(Allow), 거부된 횟수(Deny), 이상행위 정도(Rate), 시간, 날짜 및 간격 등에 대한 정보가 저장되어 있다.
이에 따라, 상기 분석기(64)는 정책결정모듈(30)로부터 제공받은 DM을 통계정보풀(65)에 저장된 통계자료들과 비교하여 통계적인 분석을 한다. 이렇게 분석기(64)에서 통계적인 접근분석을 수행함으로써, 정책결정모듈(30)에서 미처 판단하지 못한 주체(10)의 이상행동을 발견할 수 있다.
상기 제어기(61)는 상기 분석기(64)에서 분석한 결과를 검사하고, 검사 후 주체(10)의 객체(70) 접근을 허가하거나 차단하는 결과를 나타내는 제어 메시지(Control Message; CM)을 생성한다.
상기 제어 메시지(CM)는 정책제어모듈(60)로부터 정책요청 및 집행모듈(20)로 제공되는 메시지로서, CM(D,C)의 형태를 띤다. 여기서, D는 DM에 포함된 것과 동일한 RM을 통해 요청된 주체(10)의 객체(70)에 대한 접근을 허가/거부에 대한 내용인 결정정보이고, C는 정책제어모듈(60)에서 지원되는 각종 제어들에 대한 정보이다.
상기 제어기(61)는 분석기(64)에서 분석한 결과를 검사하기 위해 블랙 리스트풀(Black List Pool; 62)을 가지고 있으며, 블랙 리스트풀(62)에는 상기 분석기(64)에서의 분석결과 이상행위를 수행하는 주체(10)에 대해, 주체(10), 객체(70), 행위 및 결정정보가 저장된다.
상기 제어기(61)는 상기 분석기(64)에서 분석한 결과를 다시 블랙 리스트풀(62)과 비교하여 검사하고, 검사결과 상기 분석기(64)에서 분석한 주체(10), 객체(70) 및 행위에 이상이 없을 경우, 즉 상기 제어기(61)는 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우에만 접근을 허가하는 CM을 생성한다. 상기 제어기(61)는 상기 CM이 생성되면, 상기 CM과 함께 블랙 리스트풀(62) 검사결과 및 CM 적용결과 등을 로거(logger; 67)로 제공한다.
상기 로거(67)는 제어기(61)로부터 CM, 블랙리스트풀(62) 검사결과, CM 적용 결과 등을 제공받아 별도의 로그 데이터베이스(68)에 로그정보로서 저장한다. 상기 로그 데이터베이스(68)에 저장된 로그정보로는 주체(10), 객체(70), 행위 및 결정정보를 포함한다. 이에 따라, 상기 로그 데이터베이스(68)에 저장된 로그정보를 이용하여 관리자는 로그정보에 포함된 주체(10)가 시스템에 접근하는 것을 원천적으로 방지할 수 있다.
상기 로거(67)에서 로그 정보를 저장한 후 정책제어모듈(60)은 생성된 CM을 제어메시지 전송부(69)를 통하여 정책요청 및 정책집행모듈(20)에게 전달한다.
이러한 정책제어모듈(60)에 의해 주체(10)에 대한 제어가 이루어지는 과정을 도 2 와 도 6 을 참조하여 설명하면 다음과 같다.
도 6 은 도 2 에 도시된 정책제어모듈(30)에 의해 주체(10)에 대한 제어가 이루어지는 과정을 나타낸 흐름도이다. 상기 정책제어모듈(30)이 정책결정모듈(30)로부터 결정 메시지(DM)가 제공되면(S600), 분석기(64)에서는 주체(10)와 객체(70) 사이에서 형성될 수 있는 많은 관계들에 대해 통계적인 이상행위 분석을 수행하며(S610), 이때 통계정보풀(65)에 저장된 통계자료들과 DM을 비교하여 보다 신속하게 통계적인 분석을 수행한다.
그리고, 분석기(64)에서는 통계적인 분석을 통해 주체(10), 객체(70) 및 행위에 대해 이상행위가 있는지 여부를 판단한다(S620). 이 S620 의 판단결과 이상행위가 있는 경우, 분석기(64)는 이상행위에 대한 정보를 블랙 리스트풀(62)에 바로 업데이트하여 저장되도록 한다(S630). 그러나, 분석기(64)에서 이상행위를 발견하지 못한 경우, 분석결과와 함께 DM정보를 제어기(61)에 제공한다.
제어기(61)는 DM정보와 블랙 리스트풀(62)에 저장된 정보를 비교하고(S623), 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적인 경우(S623 의 YES), 제어기(61)는 주체(10)의 객체(70)에 대한 접근 거부를 결정한다(S640). 그런 다음, 제어기(61)는 해당 정보에 대해 CM을 생성하는 동시에 해당 정보를 로거(67)로 제공하여 로그 데이터베이스(68)에 저장되도록 한다(S660).
한편, 제어기(61)는 DM에 포함된 주체(10)의 객체(70)에 대한 행위가 악의적이거나 비정상적이 아니라고 판단될 경우, 주체(10)의 객체(70)에 대한 접근 허가를 결정하고(S625), CM을 생성한다(S650). CM이 생성되면, 제어기(61)는 CM과 함께 블랙 리스트풀(62) 검사결과, CM 적용결과 등을 로거(67)로 제공하여 로그 데이터베이스(68)에 저장되도록 하고(S660), CM은 정책요청 및 집행모듈(20)로 제공한다(S670).
이상과 같이 구성되는 본 발명의 보안방법은, 접근통제를 요청하고 집행하는 정책요청 및 집행모듈(20), 접근통제를 결정하는 정책결정모듈(30), 접근통제 메커니즘들을 관리하는 가상 접근통제 시스템(40) 및, 접근통제 결정 후 발생하는 문제를 해결하기 위한 정책제어모듈(60)을 구비함으로서, 주체(10)로부터 상기 주체가 접근하고자 하는 객체(70)와, 상기 주체(10)가 객체(70)에 대해 수행하고자 하는 행위에 대한 정보를 입력받는 단계; 미리 설정된 접근권한 정보를 이용하여 상기 주체(10)의 객체(70)로의 접근 허가여부를 결정하는 단계; 그리고 상기 객체(70)의 접근이 허가된 주체에 대해 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체(10)의 상기 객체(70)에 대한 접근을 허가할지 여부를 최종 결정하는 단 계를 포함하는 것이다.
이와 같이, 본 발명의 실시예에 따른 보안시스템(1)은 접근통제를 요청하고 통제하는 부분과 접근통제를 결정하는 부분이 하나의 시스템내에 독립적으로 구현하고 가상 접근통제시스템(40)을 이용하여 구현된 접근통제메커니즘들을 관리하게 됨에 따라, 기존의 다양한 접근통제모델들을 동적으로 운영체제 및 애플리케이션에 적용할 수 있으며, 새로운 접근통제모델이나 기존의 접근통제모델을 변형 및 수정하여 운영체제에 적용할 경우에도 접근통제에 관한 정책들을 쉽게 관리하고 적용할 수 있다.
한편, 리눅스 커널 2.6 버전부터 SELinux를 이용하여 접근통제 보안시스템을 구현됨에 따라, 접근통제 통합모델이 DAC (Discrete Access Control)과 연동하여 동작하는 이중구조일 뿐만 아니라, LSM을 사용해야 했다. 그러나, 본 발명의 실시예에 따른 보안시스템(1)은 DAC과의 연동을 통한 접근통제를 수행하지 않도록 할 수 있으며, LSM을 사용하지 않고 본 발명의 보안 구조만을 리눅스 커널에 독립적으로 구현할 수 있으므로, 구조가 단순하여 설계 및 구현이 용이하다.
이에 따라, 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있으며, 관리자가 쉽게 정책을 관리할 수 있도록 정책관리 GUI의 제공도 가능하다.
뿐만 아니라, 본 발명의 실시예에 따른 보안시스템(1)은 접근통제를 요청하고 집행하는 정책요청 및 집행모듈(20), 접근통제를 결정하는 정책결정모듈(30), 접근통제 메커니즘들을 관리하는 가상 접근통제 시스템(40) 및, 접근통제 결정 후 발생하는 문제를 해결하기 위한 정책제어모듈(60)로 이루어짐에 따라, 각 행위간 연관관계가 고려되고, 접근결정 후 유효성을 상실하여 발생하는 추후의 공격을 방지할 수 있다.
본 발명의 실시예들은 컴퓨터 시스템에서 실행할 수 있는 프로그램으로 작성가능하다. 또한, 상기 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체로부터 독출된 해당 프로그램은 디지털 컴퓨터 시스템에서 실행될 수 있다. 상기 기록 매체에는 마그네틱 저장 매체(예를 들면, 롬, 플로피디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 매체를 포함한다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 가상 접근통제 보안 시스템과 보안방법에 따르면, 가상 접근통제시스템을 이용하여 구현된 접근통제메커니즘들을 관리하게 됨에 따라 기존의 다양한 접근통제모델들을 동적으로 운영체제 및 애플리케이션에 적용할 수 있고, 새로운 접근통제모델이나 기존의 접근통제모델을 변형 및 수정하여 운영체제에 적용할 경우에도 접근통제에 관한 정책들을 쉽게 관리하고 적용할 수 있으며, 구조가 단순하여 설계 및 구현이 용이하다.
따라서, 본 발명은 관리자가 여러 가지 보안 모델의 적용이 가능하도록 설계를 변경하거나 간편하게 관리할 수 있다. 그리고, 접근통제 결정 후 발생하는 문제를 해결할 수 있다.

Claims (19)

  1. 주체로부터의 객체에 대한 접근행위 요청에 따라 상기 주체, 상기 객체 및 행위에 대한 정보를 생성하여 상기 주체의 상기 객체로의 접근허가를 요청하고 결과에 따라 정책을 집행하는 정책요청 및 집행모듈; 구현된 접근통제메커니즘들을 관리하고 접근요청에 대한 접근결정을 수행하는 정책을 검색하는 가상 접근통제 시스템을 이용하여 상기 주체가 접근하고자 하는 상기 객체와 상기 주체가 상기 객체에 대해 수행하고자 하는 행위에 대해 미리 설정된 접근권한 정보를 이용하여 상기 주체의 상기 객체로의 접근허가 여부를 결정하는 정책결정모듈; 상기 객체의 접근이 허가된 주체에 대해 빈도 및 분포를 이용한 통계적인 분석을 수행하여 이상행위 여부를 판단하여 상기 주체의 상기 객체에 대한 접근을 허가 할지 여부를 최종 결정하는 정책제어모듈을 포함하며;
    상기 가상 접근통제 시스템은: 이전에 결정한 접근권한 결정 정보를 저장하는 결정이력풀을 포함하며, 상기 결정이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 접근결정부와; 이전에 검색 인출한 접근정책을 저장하는 정책이력풀을 포함하며, 상기 정책이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 검색하는 정책검색부로 이루어지는 것을 특징으로 하는 가상접근통제 보안시스템.
  2. 제 1 항에 있어서,
    상기 정책요청 및 집행모듈은 상기 주체, 상기 객체 및 상기 행위에 대한 정보를 접근요청 메시지 형태로 구성하여 접근요청 정보를 생성하는 것을 특징으로 하는 가상접근통제 보안시스템.
  3. 제 1 항에 있어서,
    상기 정책요청 및 집행모듈에서의 접근허가 정보는 상기 주체의 상기 객체에 대한 접근을 허가/거절에 대한 내용인 결정정보 메시지와, 상기 정책제어모듈에서 지원되는 각종 제어들에 대한 제어정보 메시지를 포함하는 것을 특징으로 하는 가상접근통제 보안시스템.
  4. 제 1 항에 있어서,
    상기 정책결정모듈은 접근통제 메커니즘을 관리하는 가상 접근통제 시스템과, 접근결정 메시지를 생성하고 전송하는 접근결정메시지 전송부를 포함하는 것을 특징으로 하는 가상접근통제 보안시스템.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 정책제어모듈은 상기 주체와 객체 사이에서 형성될 수 있는 관계들에 대해 분포 및 빈도수의 통계를 이용한 이상행위 분석을 수행하는 분석기와, 이 분석기로부터의 상기 주체의 이상행위 판단결과에 따라 상기 주체의 객체로의 접근을 허가할 것인지 여부를 판단하여 접근요청 및 접근 주체의 행위를 제어하는 제어기를 포함하는 것을 특징으로 하는 가상접근통제 보안시스템.
  9. 제 8 항에 있어서,
    상기 정책제어모듈은 상기 분석기에서의 분석결과와 상기 제어기에서 접근허가 정보를 저장하는 로그 데이터베이스와, 상기 제어기로부터 상기 분석기에서의 분석결과와 상기 접근허가 정보를 제공받아 상기 로그 데이터베이스에 저장하는 로거를 더 포함하는 것을 특징으로 하는 가상접근통제 보안시스템.
  10. 주체, 객체 및 행위에 대한 정보를 메시지 형태로 구성하는 접근요청 메시지생성부, 상기 접근요청 메시지생성부에서 생성된 메시지를 정책결정모듈로 전송하는 접근요청 메시지전송부 및, 정책제어모듈에서 생성된 접근결정 정보를 수신받는 접근결정 및 제어메시지 수신부로 구성되는 정책요청 및 집행모듈; 이 정책요청 및 집행모듈로부터 제공된 정보를 이용하여 상기 주체가 상기 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하는 접근결정부와, 정책 데이터베이스로부터 상기 주체, 상기 객체 및 상기 행위에 부합되는 접근정책을 인출하는 정책검색부를 포함하는 가상 접근통제시스템과 접근결정메시지 전송부로 구성되는 정책결정모듈; 분석기로부터 상기 주체의 이상행위 판단결과에 따라 상기 주체의 객체로의 접근을 허가할 것인지 여부를 판단하는 제어기, 상기 주체와 객체사이에서 형성될 수 있는 관계들에 대해 통계적인 분석을 수행하는 분석기, 상기 제어기로부터 상기 분석기에서의 분석결과와 상기 접근허가 정보를 제공받아 로그 데이터베이스에 저장하는 로거 및, 제어메시지 전송부로 구성되는 정책제어모듈을 포함하며;
    상기 가상 접근통제시스템에서: 상기 접근결정부는 상기 주체, 상기 객체, 상기 행위 및 상기 접근권한 여부를 포함하는 결정이력풀을 포함하여, 이 결정이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 결정하며; 상기 정책검색부는 상기 주체에 대한 접근권한을 결정하기 위한 접근정책이 저장된 정책 데이터베이스와 상기 정책 데이터베이스로부터 인출된 접근정책을 저장하는 정책이력풀을 포함하여, 상기 정책이력풀에 저장된 정보와 상기 정책요청 및 집행모듈로부터 제공된 정보를 비교하여 상기 정책요청 및 집행모듈로부터 제공된 주체가 객체에 대해 행위를 수행할 수 있는 접근권한을 검색하는 것을 특징으로 하는 가상접근통제 보안시스템.
  11. 제 10 항에 있어서,
    상기 접근요청 및 집행모듈의 접근요청 메시지생성부는 상기 주체, 상기 객체 및 상기 행위에 대한 정보를 커널로부터 획득하고, 상기 접근결정 정보는 상기 주체의 객체에 대한 접근을 허가/거절에 대한 내용인 결정정보와 상기 정책제어모듈에서 지원되는 각종 제어들에 대한 제어정보인 것을 특징으로 하는 가상접근통제 보안시스템.
  12. 제 10 항에 있어서,
    상기 정책요청 및 집행 모듈의 접근결정 및 제어메시지 수신부는 상기 정책제어모듈에서 생성된 접근허가 정보를 수신받아 상기 주체에게 접근이 허가되었음을 통지할 수 있고, 또한 상기 정책제어모듈에서 생성된 접근결정 정보를 수신받아 접근 허가인 경우 상기 객체에 요청된 상기 행위를 집행하는 것을 특징으로 하는 가상접근통제 보안시스템.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 제 10 항에 있어서,
    상기 정책제어모듈의 분석기는 기분석한 통계자료들이 저장된 통계정보풀을 포함하고, 이 통계정보풀에는 상기 주체, 상기 객체, 상기 행위, 상기 결정정보 및 상기 정책정보를 포함하는 것을 특징으로 하는 가상접근통제 보안시스템.
  17. 제 16 항에 있어서,
    상기 분석기는 통계정보풀에 포함된 정보를 이용하여 상기 주체의 이상행위를 판단하는 것을 특징으로 하는 가상접근통제 보안시스템.
  18. 제 10 항에 있어서,
    상기 정책제어모듈의 제어기는 분석기로부터 이상행위로 판단된 정보가 저장되는 블랙리스트풀을 포함하여; 상기 분석기로부터 제공된 상기 주체, 상기 객체 및 상기 행위에 대한 정보와 상기 블랙리스트풀에 저장된 정보를 비교하여 상기 블랙리스트풀에 저장된 정보와 부합되지 아니할 경우, 상기 정책요청 및 집행모듈로 상기 주체의 객체 접근을 허가하는 접근허가 정보를 제공하는 것을 특징으로 하는 가상접근통제 보안시스템.
  19. 제 10 항에 있어서,
    상기 접근요청 및 집행모듈로부터 요청 메시지를 받으면 정책결정모듈은 정책결정과정을 가상 접근통제 시스템에서 수행하게 되며, 이 가상 접근통제 시스템은 접근결정부를 통하여 실제 구현된 접근통제 메커니즘의 접근결정부와 연결된 접근통제 메커니즘의 접근결정부들을 실행하게 되고,
    정책을 검색할 경우도 가상 접근통제 시스템은 정책검색부와 연결된 접근통제 메커니즘의 정책검색부 등이 동작되도록 관리한 것을 특징으로 하는 가상접근통제 보안시스템.
KR1020060018763A 2006-02-27 2006-02-27 전자상거래에 있어서 가상접근통제 보안시스템 KR100706338B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060018763A KR100706338B1 (ko) 2006-02-27 2006-02-27 전자상거래에 있어서 가상접근통제 보안시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060018763A KR100706338B1 (ko) 2006-02-27 2006-02-27 전자상거래에 있어서 가상접근통제 보안시스템

Publications (1)

Publication Number Publication Date
KR100706338B1 true KR100706338B1 (ko) 2007-04-13

Family

ID=38161542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060018763A KR100706338B1 (ko) 2006-02-27 2006-02-27 전자상거래에 있어서 가상접근통제 보안시스템

Country Status (1)

Country Link
KR (1) KR100706338B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101473607B1 (ko) * 2014-03-07 2014-12-16 (주) 퓨전데이타 가상 사설망 접근 제어장치 및 방법
KR101650287B1 (ko) * 2016-03-08 2016-08-23 주식회사 시큐브 볼륨 guid 기반 파일 접근 제어 시스템 및 그 방법
KR102652902B1 (ko) * 2023-09-22 2024-03-29 오케스트로 주식회사 클라우드 보안을 위한 사용자 맞춤형 사용권한의 산출 시스템 및 이를 포함하는 사용권한 최적화 통합 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062070A (ko) * 2001-01-19 2002-07-25 주식회사 정보보호기술 다양한 침입탐지모델을 사용하는 침입탐지시스템 및 그 방법
KR20030081672A (ko) * 2002-04-12 2003-10-22 (주)이네트렉스 윈도우 엔티 환경에서의 보안을 위한 억세스 제어방법
KR20050031215A (ko) * 2003-09-29 2005-04-06 한국전자통신연구원 네트워크 노드의 보안 엔진 관리 장치 및 방법
KR20050095147A (ko) * 2004-03-25 2005-09-29 주식회사 케이티 침해유형별 시나리오를 고려한 침입방어장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062070A (ko) * 2001-01-19 2002-07-25 주식회사 정보보호기술 다양한 침입탐지모델을 사용하는 침입탐지시스템 및 그 방법
KR20030081672A (ko) * 2002-04-12 2003-10-22 (주)이네트렉스 윈도우 엔티 환경에서의 보안을 위한 억세스 제어방법
KR20050031215A (ko) * 2003-09-29 2005-04-06 한국전자통신연구원 네트워크 노드의 보안 엔진 관리 장치 및 방법
KR20050095147A (ko) * 2004-03-25 2005-09-29 주식회사 케이티 침해유형별 시나리오를 고려한 침입방어장치 및 그 방법

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101473607B1 (ko) * 2014-03-07 2014-12-16 (주) 퓨전데이타 가상 사설망 접근 제어장치 및 방법
KR101650287B1 (ko) * 2016-03-08 2016-08-23 주식회사 시큐브 볼륨 guid 기반 파일 접근 제어 시스템 및 그 방법
KR102652902B1 (ko) * 2023-09-22 2024-03-29 오케스트로 주식회사 클라우드 보안을 위한 사용자 맞춤형 사용권한의 산출 시스템 및 이를 포함하는 사용권한 최적화 통합 시스템

Similar Documents

Publication Publication Date Title
US11528142B2 (en) Methods, systems and computer program products for data protection by policing processes accessing encrypted data
EP3208718B1 (en) Security monitoring at operating system kernel level
US9053302B2 (en) Obligation system for enterprise environments
US8850549B2 (en) Methods and systems for controlling access to resources and privileges per process
US7565685B2 (en) Operating system independent data management
US10354068B2 (en) Anonymized application scanning for mobile devices
US20080022093A1 (en) Integrating security protection tools with computer device integrity and privacy policy
US20090282457A1 (en) Common representation for different protection architectures (crpa)
KR100997802B1 (ko) 정보 단말기의 보안 관리 장치 및 방법
US20070294530A1 (en) Verification System and Method for Accessing Resources in a Computing Environment
US11636219B2 (en) System, method, and apparatus for enhanced whitelisting
Pramanik et al. Security policies to mitigate insider threat in the document control domain
Barlev et al. Secure yet usable: Protecting servers and Linux containers
KR100706338B1 (ko) 전자상거래에 있어서 가상접근통제 보안시스템
Muthukumaran et al. Protecting the integrity of trusted applications in mobile phone systems
KR102430882B1 (ko) 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체
MXPA05009332A (es) Autorizacion de acceso integrado.
KR100707940B1 (ko) 전자상거래에 있어서 가상접근통제 보안방법
KR100657353B1 (ko) 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체
US20220107834A1 (en) Task engine
US10972469B2 (en) Protecting critical data and application execution from brute force attacks
Jaidi Advanced access control to information systems: Requirements, compliance and future directives
US8627072B1 (en) Method and system for controlling access to data
US12013932B2 (en) System, method, and apparatus for enhanced blacklisting
US20220188409A1 (en) System, Method, and Apparatus for Enhanced Blacklisting

Legal Events

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

Payment date: 20120402

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130213

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee