Biba 무결성 모델과 정보 흐름 통제 원리
Biba 무결성 모델의 등급 기반 접근 통제, No Read Down·No Write Up 규칙과 BLP 모델의 차이를 정리한다.
2026-08-14 · 최초 발행 2025-05-25
무결성 등급으로 데이터 변경 경로를 제한한다
Biba 모델은 Kenneth J. Biba가 1977년에 제안한 무결성 중심 보안 모델이다. 기밀 정보의 노출을 막는 데 초점을 둔 모델과 달리, 신뢰할 수 없는 정보나 주체가 중요한 데이터를 부당하게 수정하는 일을 차단하는 데 목적이 있다.
모델은 사용자와 프로세스 같은 주체(Subject), 파일·디렉터리·레코드 같은 객체(Object)에 무결성 등급을 부여한다. 등급이 높을수록 더 신뢰할 수 있는 대상으로 본다. 접근 가능 여부는 이 등급 관계로 결정된다.
BLP와는 보호하려는 방향이 반대다
Biba와 BLP(Bell-LaPadula)는 모두 등급을 이용해 정보 흐름을 통제하지만, 우선하는 보안 속성이 다르다.
| 특성 | Biba 모델 | BLP 모델 |
|---|---|---|
| 주요 목적 | 무결성 보호 | 기밀성 보호 |
| 구현 방식 | 주체와 객체의 무결성 등급 | 주체와 객체의 보안 등급 |
| 핵심 규칙 | No Read Down, No Write Up | No Read Up, No Write Down |
| 보호 대상 | 높은 무결성 데이터 | 높은 기밀성 데이터 |
BLP가 높은 기밀성 정보를 낮은 보안 등급으로 흘려보내지 않으려 한다면, Biba는 낮은 신뢰도의 데이터가 높은 무결성 영역을 오염시키지 못하게 한다.
읽기와 쓰기에 서로 다른 제약을 둔다
단순 무결성 규칙(Simple Integrity Property)은 No Read Down으로 표현된다. 주체는 자신의 무결성 등급보다 낮은 객체를 읽을 수 없다.
주체 S가 객체 O를 읽을 수 있는 조건은 다음과 같다.
I(S) ≤ I(O)
낮은 신뢰도의 정보가 높은 신뢰도의 프로세스에 들어가 영향을 미치는 경로를 막기 위한 규칙이다.
스타 무결성 규칙(Integrity *-Property)은 No Write Up이다. 주체는 자신보다 높은 무결성 등급의 객체에 쓸 수 없다.
주체 S가 객체 O에 쓸 수 있는 조건은 다음과 같다.
I(O) ≤ I(S)
이 규칙은 낮은 무결성 주체가 높은 무결성 데이터를 수정하는 것을 금지한다.
호출 무결성 규칙(Invocation Property)도 같은 방향을 따른다. 주체는 자신보다 높은 무결성 등급을 가진 주체를 호출할 수 없다. 낮은 신뢰도의 프로세스가 더 신뢰할 수 있는 프로세스에 영향을 주는 상황을 피하기 위해서다.
등급 사이의 허용·차단 관계
외부와 내부의 일관성을 함께 다룬다
Biba 모델은 비인가 사용자의 데이터 수정을 막는 외부 일관성과, 인가된 사용자에 의한 불법적 수정까지 제한하는 내부 일관성을 함께 보호 대상으로 둔다. 두 측면을 다뤄 시스템 전체의 무결성을 유지하려는 구조다.
다만 무결성 강화는 기밀성과 충돌할 수 있다. 높은 무결성 주체는 낮은 무결성 객체에 쓸 수 있으며, 이는 정보의 하향 흐름(Information flow down)을 허용한다. 따라서 기밀성 침해 가능성이 생길 수 있다.
데이터 정확성이 우선인 환경에서의 활용
운영체제 보안에서는 Windows 운영체제의 무결성 레벨(Integrity Level) 구현에 활용된다. 프로세스와 객체에 무결성 레벨을 할당해 시스템을 보호하며, 높은 무결성의 시스템 파일은 낮은 무결성의 일반 사용자 프로세스가 수정할 수 없다.
데이터베이스 관리 시스템에서는 트랜잭션 무결성 보장과 다양한 신뢰도를 지닌 데이터 소스의 통합에 응용할 수 있다. 예를 들어 높은 무결성의 재무 데이터가 검증되지 않은 외부 소스에 의해 오염되지 않도록 보호하는 방식이다.
군사 및 정부 시스템처럼 기밀성보다 정확성이 더 중요한 경우에도 활용된다. 명령 제어 시스템에서 높은 무결성의 미사일 발사 명령은 낮은 무결성의 검증되지 않은 정보 소스에 영향을 받아서는 안 된다.
엄격한 통제가 만드는 운영상 제약
Biba의 규칙은 엄격하기 때문에 실제 환경에서 그대로 적용하기 어려운 경우가 있다. 이에 따라 완화된 형태로 구현되는 일이 많으며, 무결성과 가용성의 균형도 조정해야 한다.
동적인 환경에서는 주체와 객체의 무결성 등급을 관리하는 일이 복잡해진다. 또한 Biba 모델만으로 모든 보안 위협을 다룰 수는 없다. 서비스 거부 공격은 그 예다.
격리와 등급 하향을 더한 변형
격리된 Biba 모델(Compartmented Biba Model)은 표준 Biba 모델에 격리(Compartment) 개념을 더한다. 같은 무결성 등급에 속해도 서로 다른 격리 영역 사이의 접근을 제한할 수 있어, 더 세밀한 접근 제어가 가능하다.
저 수위 표시(Low Water Mark Policy)는 주체가 낮은 무결성 객체를 읽으면 해당 주체의 무결성 등급도 그 수준으로 낮춘다. 접근을 유연하게 만들 수 있지만, 시간이 지날수록 모든 주체의 무결성 등급이 낮아질 수 있다는 문제가 있다.
Biba 모델은 무결성 보호를 위한 이론적 기반으로 남아 있으며, BLP 모델과 함께 고려하면 기밀성과 무결성을 모두 다룰 수 있다. 금융, 의료, 군사처럼 데이터 정확성이 중요한 분야에서는 특히 의미가 크고, 보안 정책에서는 기밀성·무결성·가용성 사이의 균형을 함께 고려해야 한다.