본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Security Model; 보안 모델, 보안 정책 모델, 정보보안 모델
보안 정책을 주체·객체·접근 권한·상태 전이 같은 형식적 요소로 표현해, 시스템이 정책을 지키는지 증명하거나 설계 기준으로 삼기 위한 추상 모델

보안 정책은 "비밀 등급 문서는 인가받은 사람만 본다"처럼 자연어로 쓰인다. 보안 모델은 이 정책을 수학적·논리적 규칙으로 바꾸어, 시스템이 어떤 상태에서 어떤 동작을 해도 정책을 어기지 않는지 따질 수 있게 한다. 정책이 "무엇을 지킬 것인가"라면 모델은 "어떤 규칙을 지키면 정책이 지켜지는가"이고, 참조 모니터와 보안 커널 같은 메커니즘은 "그 규칙을 실제로 강제하는 장치"이다. 1970~80년대 미국 국방 분야의 다중 수준 보안(MLS) 연구에서 대부분의 고전 모델이 나왔고, TCSEC의 상위 등급은 형식적 보안 정책 모델을 요구했다.

CISSP 출제 기준 3.2는 "보안 모델의 기본 개념을 이해한다(예: 비바, 스타 모델, 벨-라파둘라)"이다. 시험에서는 모델 이름과 보호 목표(기밀성·무결성·이해 충돌), 핵심 규칙의 방향(읽기·쓰기 위·아래)을 짝짓는 문제가 많다.

분류 핵심 질문 대표 모델
상태 기계 모델 모든 상태 전이 후에도 시스템이 안전한 상태에 있는가 벨-라파둘라, 비바
정보 흐름 모델 정보가 허용되지 않은 방향으로 흐르는가 격자 모델, 벨-라파둘라, 비바
비간섭 모델 높은 등급의 행위가 낮은 등급이 관찰하는 결과에 영향을 주는가 고긴-메세게르 모델
접근 행렬·권한 전파 모델 권한이 어떻게 생기고, 넘겨지고, 사라지는가 그레이엄-데닝, HRU, 테이크-그랜트
상업 무결성 모델 데이터가 정해진 절차로만 바뀌는가 클락-윌슨
이해 충돌 모델 경쟁 관계의 정보를 한 사람이 동시에 보는가 브루어-내시(만리장성)

상태 기계 모델

편집 원본 편집

상태 기계 모델(state machine model)은 시스템을 상태(주체, 객체, 현재 접근 집합, 보안 등급 등의 스냅숏)와 상태를 바꾸는 전이 규칙의 집합으로 본다. 초기 상태가 안전하고 모든 전이 규칙이 안전한 상태를 안전한 상태로만 옮긴다면, 시스템은 어떤 순서로 동작해도 항상 안전하다는 귀납적 증명이 가능하다. 벨-라파둘라 모델의 기본 보안 정리(basic security theorem)가 이 방식이다. 시스템이 부팅·장애·복구 중에도 안전한 상태를 벗어나지 않아야 한다는 요구(안전한 실패, 안전한 복구)도 상태 기계 관점에서 나온다.

격자 모델(lattice model)은 보안 등급을 수학의 격자(lattice), 즉 임의의 두 원소에 최소 상계와 최대 하계가 존재하는 부분 순서 집합으로 표현한다. 보안 레이블은 등급(level: 일반, 비밀, 극비 등)과 범주(category, compartment: 사업·부서 구획)의 쌍이며, 레이블 A가 레이블 B를 지배(dominate)하려면 A의 등급이 B 이상이고 A의 범주 집합이 B의 범주 집합을 포함해야 한다. 예를 들어 (극비, {핵}) 인가자는 (비밀, {핵}) 문서를 지배하지만 (비밀, {암호}) 문서는 지배하지 못한다. 범주는 최소 권한 원칙의 알 필요를 레이블로 표현한 것이다. 도로시 데닝(Dorothy Denning)이 정보 흐름 분석을 위해 정식화했으며, 강제적 접근통제의 수학적 기반이다.

정보 흐름 모델

편집 원본 편집

정보 흐름 모델(information flow model)은 개별 접근 행위보다 정보가 어느 보안 등급에서 어느 등급으로 흘러가는가에 초점을 둔다. 격자 위에서 정보는 낮은 등급에서 높은 등급(또는 같은 등급)으로만 흘러야 하며(기밀성), 무결성 모델에서는 반대로 높은 신뢰 등급에서 낮은 신뢰 등급으로만 흘러야 한다. 직접적인 읽기·쓰기뿐 아니라 계산 결과, 프로그램 분기, 자원 사용 패턴을 통한 간접 흐름까지 다루기 때문에 은닉 채널(covert channel) 분석의 이론적 토대가 된다. 벨-라파둘라와 비바는 모두 정보 흐름 모델의 특수한 형태로 볼 수 있다.

비간섭 모델(noninterference model)은 1982년 고긴(J. A. Goguen)과 메세게르(J. Meseguer)가 IEEE 보안 심포지엄 논문 "Security Policies and Security Models"에서 제시했다. 한 사용자 집단의 행위가 다른 집단이 보는 것에 아무 영향을 주지 않으면 첫 번째 집단이 두 번째 집단과 간섭하지 않는다고 정의한다. 다중 수준 보안에 적용하면, 높은 등급 사용자의 입력을 모두 지워도 낮은 등급 사용자가 보는 출력이 똑같아야 한다는 뜻이다. 접근 규칙이 아니라 관찰 가능한 결과로 정의하므로, 접근 규칙만으로는 잡히지 않는 은닉 채널과 추론 공격(낮은 등급 사용자가 시스템 반응의 차이로 높은 등급 정보를 짐작하는 것)을 다룰 수 있다.

그레이엄-데닝 모델

편집 원본 편집

그레이엄-데닝 모델(Graham-Denning model)은 1972년 그레이엄(G. S. Graham)과 데닝(P. J. Denning)이 AFIPS 학회 논문 "Protection: Principles and Practice"에서 제시한 접근 행렬 기반 보호 모델이다. 주체 집합, 객체 집합, 그리고 주체·객체를 안전하게 만들고 지우며 권한을 넘기는 보호 규칙으로 구성된다. 흔히 정리되는 8개 보호 규칙은 다음과 같다.

# 규칙 뜻
1 객체 생성(create object) 주체가 새 객체를 만들고 그 소유자가 된다
2 주체 생성(create subject) 주체가 새 주체를 만든다
3 객체 삭제(delete/destroy object) 소유자가 객체를 지운다
4 주체 삭제(delete/destroy subject) 소유자(만든 주체)가 주체를 지운다
5 접근 권한 읽기(read access right) 소유자·통제자가 다른 주체가 객체에 갖는 권한을 확인한다
6 접근 권한 부여(grant access right) 객체 소유자가 다른 주체에게 권한을 준다
7 접근 권한 삭제(delete access right) 소유자·통제자가 다른 주체의 권한을 회수한다
8 접근 권한 이전(transfer access right) 이전 가능 표시가 있는 권한을 가진 주체가 그 권한을 다른 주체에게 넘긴다

접근 행렬에서 "누가 권한을 바꿀 수 있는가"를 처음으로 명시했다는 데 의미가 있으며, 임의적 접근통제의 소유자 개념과 이어진다.

HRU 모델은 해리슨(M. A. Harrison), 루조(W. L. Ruzzo), 울먼(J. D. Ullman)이 1976년 Communications of the ACM 논문 "Protection in Operating Systems"에서 제시했다. 접근 행렬과, 조건을 검사한 뒤 여섯 가지 기본 연산(권한 추가, 권한 삭제, 주체 생성, 객체 생성, 주체 제거, 객체 제거)을 실행하는 명령(command)으로 보호 시스템을 정의한다. 이 모델의 핵심 결과는 안전성 문제(safety problem), 즉 "어떤 주체가 특정 객체에 대해 특정 권한을 얻게 될 수 있는가"가 일반적으로 결정 불가능(undecidable)하다는 증명이다. 명령마다 기본 연산이 하나뿐인 단일 연산(mono-operational) 시스템처럼 제한된 경우에만 판정 알고리즘이 존재한다. 실무적 의미는, 권한 위임 규칙이 자유로운 시스템에서는 권한이 어디까지 퍼질지 사전에 완전히 분석할 수 없으므로 위임 규칙 자체를 단순하게 제한해야 한다는 것이다.

테이크-그랜트 모델

편집 원본 편집

테이크-그랜트 모델(Take-Grant model)은 존스(A. K. Jones), 립턴(R. J. Lipton), 스나이더(L. Snyder) 등이 제시한 모델로, 주체와 객체를 노드, 권한을 방향 있는 간선으로 그린 그래프로 보호 상태를 표현한다. 그래프를 바꾸는 규칙은 다음 네 가지이다.

  • take: A가 B에 대해 take 권한을 가지면, B가 가진 권한을 A가 가져온다.
  • grant: A가 B에 대해 grant 권한을 가지면, A가 가진 권한을 B에게 준다.
  • create: 새 노드를 만들고 만든 주체가 그 노드에 대한 권한을 갖는다.
  • remove: 권한 간선을 지운다.

HRU와 달리 이 모델에서는 권한이 특정 주체에게 전달될 수 있는지를 그래프 크기에 비례하는 시간 안에 판정할 수 있다. 권한 위임 경로를 시각적으로 분석할 수 있어, 어떤 경로로 권한이 새어 나갈 수 있는지 설명할 때 쓴다.

스타 속성(*-property, star property)은 벨-라파둘라 모델의 두 번째 필수 보안 속성이다. 1976년 MITRE 보고서(ESD-TR-75-306)는 이름이 "역사적인 이유"로 붙었다고만 적고 있다. 단순 보안 속성(no read up)만으로는 악성 프로그램이 높은 등급 정보를 읽어 낮은 등급 객체에 써서 유출하는 것을 막을 수 없기 때문에 추가되었다. 주체가 동시에 어떤 객체를 읽고 다른 객체에 쓰는 경우 쓰는 객체의 등급이 읽는 객체의 등급 이상이어야 하며, 결과적으로 아래로 쓰기 금지(no write down)가 된다. 신뢰된 주체(trusted subject)에는 적용되지 않는다.

비바 무결성 모델에도 같은 이름 구조의 스타 무결성 공리(*-integrity axiom)가 있으며, 방향이 반대인 위로 쓰기 금지(no write up)이다. 낮은 무결성 주체가 높은 무결성 객체를 오염시키지 못하게 한다.

ISC2 출제 기준은 3.2의 예로 "Star Model"을 들지만 공식적인 별도 설명은 없다. 일반적으로는 위의 스타 속성(BLP의 *-속성, 비바의 *-무결성 공리)을 가리키는 것으로 해석한다.

주요 모델 비교

편집 원본 편집
모델 보호 목표 핵심 규칙 특징·한계
벨-라파둘라 모델(BLP) 기밀성 단순 보안 속성: no read up / *-속성: no write down / 임의적 보안 속성: 접근 행렬로 알 필요 적용 군 비밀 체계 기반. 무결성을 다루지 않으며 은닉 채널을 막지 못한다
비바 무결성 모델(Biba) 무결성 단순 무결성 공리: no read down / *-무결성 공리: no write up / 호출 속성: 높은 무결성 주체를 호출하지 못함 BLP와 방향이 정반대. 기밀성은 다루지 않는다
클락-윌슨 모델(Clark-Wilson) 무결성(상업) 사용자는 변환 절차(TP)를 통해서만 제약 데이터(CDI)를 바꾼다(주체-프로그램-객체 접근 삼원소). 무결성 검증 절차(IVP)로 상태를 확인한다. 인증 규칙 5개(C1~C5)와 시행 규칙 4개(E1~E4) 1987년 클락과 윌슨이 제시. 정형화된 거래(well-formed transaction)와 직무 분리가 핵심
브루어-내시 모델(만리장성 모델) 이해 충돌 방지 같은 이해 충돌 클래스 안에서 이미 한 회사의 정보에 접근했다면 경쟁사 정보에는 접근하지 못한다. 접근 이력에 따라 권한이 동적으로 바뀐다 1989년 브루어와 내시가 금융·컨설팅의 차이니스 월(Chinese Wall)을 모델화

기억법: 기밀성(BLP)은 비밀이 아래로 새는 것을, 무결성(비바)은 오염이 위로 번지는 것을 막는다. 그래서 BLP는 위로 읽기와 아래로 쓰기를, 비바는 아래로 읽기와 위로 쓰기를 금지한다.

  • 기밀성은 BLP, 무결성은 비바·클락-윌슨, 이해 충돌은 브루어-내시이다. 문제의 보호 목표부터 확인하고 모델을 고른다.
  • *-속성(스타 속성)은 BLP에서 no write down, 비바의 *-무결성 공리는 no write up이다. 단순 속성(simple)은 항상 읽기, 스타 속성은 항상 쓰기에 관한 규칙이다.
  • 클락-윌슨은 사용자가 데이터에 직접 접근하지 않고 인증된 프로그램(TP)만 통하게 한다. "접근 삼원소", "정형화된 거래", "직무 분리"가 키워드이다.
  • 브루어-내시는 접근 이력에 따라 권한이 바뀌는 동적 모델이다. 정적 레이블 모델(BLP)과 구분한다.
  • HRU는 안전성 문제가 일반적으로 결정 불가능함을 보인 모델이고, 테이크-그랜트는 그래프로 권한 전파를 분석하는 모델, 그레이엄-데닝은 객체·주체 생성·삭제와 권한 관리 규칙을 정한 모델이다.
  • 비간섭 모델은 접근 규칙이 아니라 관찰 가능한 결과로 보안을 정의하므로 은닉 채널과 추론 공격을 다룰 수 있다.