1. 접근통제 모델
1-1. 강제적 접근통제 (MAC, Mandatory Access Control)
객체 소유자가 변경할 수 없는 주체들과 객체들 간 접근통제 관계 정의
즉, 객체의 보안 레벨(Level)과 주체의 보안 취급인가(Clearance)에 근거한 모델
- 전통적 MAC은 다중수준 보안에 기반
- 특징
- 중앙집중형 보안관리
- 객체 복사 시 MAC의 제약사항이 전파됨
- 정책이 모든 주체에 대해 일정해, 하나의 단위로 접근제한 설정 불가
- 문제점
- 제한적인 사용자 기능으로 상업적 환경이 아닌 군 환경에서 주로 쓰임
- 많은 관리적 부담과 비용, 성능 저하 등
1-2. 임의적 접근통제 (DAC, Discretionary Access Control)
객체 소유자에 의해 변경 가능한 주체와 객체의 관계를 정의
주체의 신분에 근거해 객체에 대한 접근을 제어
- DAC은 신원 기반, 사용자 기반, 혼합 방식 접근통제로 나뉨
- 특징
- 분산형 보안관리
- 대부분의 OS나 DB가 DAC에 기반 (SELinux 등은 제외)
- 접근통제 정보가 복사된 개체로 전달되지 않음
- 장단점
- 장점: 객체별 세분화된 접근제어, 유연한 서비스 제공
- 단점
- 데이터 의미와 관계 없이 주체 신분에 근거해 통제
- 신분 도용, 멀웨어, 루트킷, 웜, 트로이목마 등에 취약 (MAC은 SW 설치가 불가능해 안전함)
- MAC 기법
접근제어 행렬 (ACM, Access Control Matrix) |
주체를 행, 객체를 열로 한 행렬에 정책 관리 행렬 크기가 커지면 관리가 어렵고 공간적으로 비효율적임 |
자격 목록 (CL, Capability List) |
자격: 주체가 객체에 대해 갖는 접근권한 ACM을 행 단위로 관리 커버로스가 CL의 예시로, 티켓을 기반으로 접근을 제어함 |
접근제어 목록 (ACL, Access Control List) |
객체의 관점에서 어떤 주체가 접근 권한을 갖는지 명시 |
1-3. 역할기반 접근통제 (RBAC, Role Based Acceess Control)
사용자 역할에 기반을 두어, 기능 기반으로 접근을 제어함
역할은 사용자들의 집합이면서 권한의 집합임
- 중앙에서 관리되는 통제 모음을 사용하며, 통제 수준은 직무 책임과 자질에 기반
- DAC, MAC의 단점을 보완함
- 3가지 원칙: 특권 최소화, 직무 분리, 데이터 추상화
- 특징
- 역할: 직무가 반영된 추상화 개체로, 주체가 아닌 역할에 접근 권한이 할당됨
- 권한: 자원에 대한 오퍼레이션 관계를 추상화시킨 개체
- 역할과 권한의 설정은 관리자에 의해 이루어지며 동적으로 변경 가능
- 장점
- 이해하기 쉽고, 일관성 있는 접근 제어 가능
- 최소 권한 부여와 직무 분리 원칙을 쉽게 충족
2. 보안 모델
2-1. 벨라파듈라 모델 (BLP, Bell-LaPadula Confidentiality Model)
허가되지 않은 접근을 금지하여 기밀성을 집행하는 상태머신 모델이자 정보흐름 모델
다중등급 보안 정책에 대한 최초의 수학적 모델 (MAC)
- 보안 규칙 (기밀성 중심)
No Read Up | 단순보안속성 (ss-propery, simple security property) |
주체는 같거나 낮은 수준의 객체만 읽기 가능 |
No Write Down | *속성 (*-property, star property) |
주체는 같거나 높은 수준의 객체만 쓰기 가능 |
특수 *-속성 규칙 (strong star property rule) |
보안 허가(clearance)와 객체의 분류(classification)가 동일해야 함 |
- 트로이목마 방어
- 트로이목마가 실행되어도, 낮은 단계에 쓸 수 없으므로 정보를 훔칠 수 없음
- 장단점
- 기밀성 유지에 강하지만, 무결성 유지에는 문제가 생길 수 있음
- 단계가 높은 사용자와 낮은 사용자가 같은 자원을 공유하면 기밀성 유지 훼손 가능 (은닉 채널 취약)
2-2. 비바 무결성 모델 (Biba Integrity Model)
무결성을 위해 상업용으로 개발된 상태머신 모델 (MAC)
무결성의 3가지 목표 중 '비인가자에 의한 데이터 변형'을 방지
- 보안 규칙 (기밀성 중심)
No Read Down | 단순 무결성 (simple integrity) |
주체는 같거나 높은 수준의 객체만 읽기 가능 |
No Write Up | 무결성 제한 (integrity confinement, star integrity) |
주체는 같거나 낮은 수준의 객체만 쓰기 가능 |
호출 속성 (invocation property) |
주체는 같거나 낮은 수준의 주체에게 서비스 요청 가능 |
2-3. 클락-윌슨 무결성 모델 (Clark-Wilson Integrity Model)
더 정교하고 실제적인 무결성 모델 (MAC)
Biba와 달리, 무결성의 3가지 목표를 모두 취급
- 접근 통제 원칙
- 정확한 트랜잭션: TP를 이용해 CDI(Constrained Data Items)를 수정해야 함
- 무결성 모델의 목적
- 비인가 사용자의 수정 예방
- 인가된 사용자의 부적절한 수정 예방 (직무 분리)
- 내부 및 외부 일치성 유지 (정확한 트랜잭션)
2-4. 만리장성 모델 (Chinese Wall Model, Brewer-Nash Model)
주체와 객체의 이해 충돌 기반의 정보 흐름 모델 (MAC, DAC)
- 이해 충돌이 발생할 수 있는 상업적 응용을 위해 개발되어, 무결성과 기밀성을 규정
- 이해 충돌 방지를 위한 만리장성 아이디어 제시
2-5. 기타 보안 모델
- 정보 흐름 모델
- 보안 수준의 이동을 포함한 모든 종류의 정보 흐름을 다루는 모델
- 은닉 채널을 방지하는 규칙을 만들지만, 쉽지 않음
- 상태 기계 모델
- 시스템이 스스로를 보호해 불완전한 상태가 되지 않도록 하는 관념적 모델
- 상태천이(state transition)을 통해 안전한 상태 유지
- 모든 보안 모델에 기본적으로 적용