© K-BOOKS · 무료 웹 열람용 콘텐츠입니다. 무단 복제·저장·인쇄·재배포를 제한합니다.
열세 번째 발걸음비밀의 흐름과 데이터의 올바름에는 다른 규칙이 필요하다
앞 절에서 주체와 객체를 정했다면, 이제 어떤 방향의 정보 이동을 막을지 생각할 수 있습니다. 높은 등급의 비밀이 공개 문서로 내려가는 것을 막는 목적과, 신뢰하지 않는 입력이 중요한 장부를 오염시키지 못하게 하는 목적은 다릅니다. 보안 모델은 이런 정책을 일관된 규칙으로 표현하고 그 규칙이 유지되는지를 분석하는 틀입니다. 현실의 모든 위험을 해결하는 제품 이름이 아닙니다.
벨–라파둘라, Bell–LaPadula 모델은 기밀성의 정보 흐름을 중심으로 봅니다. 단순화한 계층에서 낮은 보안 수준의 주체는 높은 수준의 객체를 읽지 못합니다. 이를 No Read Up이라고 합니다. 높은 수준에서 처리한 정보를 낮은 수준 객체에 쓰지 못하게 하는 별표 속성은 No Write Down으로 기억할 수 있습니다. 낮은 사람이 높은 파일을 못 읽는 것만 막고 높은 사람이 공개 파일에 비밀을 복사하도록 두면 기밀성이 유지되지 않기 때문입니다. 실제 레이블은 단순한 위아래 등급 외에 구획 조건을 포함할 수 있습니다.
비바, Biba 모델의 엄격한 무결성 정책은 다른 방향을 제한합니다. 신뢰 수준이 높은 주체가 낮은 무결성의 객체를 읽으면 그 결과가 오염될 수 있어 No Read Down을 적용합니다. 낮은 무결성 주체가 높은 무결성 객체를 쓰지 못하게 하는 규칙은 No Write Up입니다. 여기서 높고 낮음은 비밀 등급이 아니라 데이터와 처리의 신뢰 수준입니다. Biba에는 여러 정책 변형이 있으므로 이 두 문장을 모든 변형의 유일한 정의처럼 쓰지 않습니다.
함께 따라가기 · 비밀 보고서와 정산 장부를 나누어 보기
보고서는 비밀 보호가, 정산 장부는 승인되지 않은 변경 방지가 주된 관심사입니다.
비밀 보고서에 BLP의 단순화한 규칙을 적용하면 공개 등급의 주체가 보고서를 읽는 것을 막습니다. 보고서를 읽은 높은 수준의 처리 과정이 내용을 공개 게시판에 쓰는 것도 막습니다. 두 통제가 합쳐져 낮은 곳으로 비밀이 흐르는 경로를 제한합니다.
정산 프로그램에 엄격한 Biba 정책을 적용하면 검증되지 않은 입력을 높은 무결성의 처리 과정이 그대로 읽어 장부에 반영하는 경로를 제한합니다. 낮은 신뢰의 프로세스가 높은 무결성 장부를 직접 쓰는 것도 막습니다.
외부 입력이 전혀 들어오지 않으면 업무를 할 수 없으므로, 실제 설계에는 정해진 검증·승격 절차나 신뢰된 변환 경계가 필요합니다. 그 예외를 아무 프로그램에나 허용하면 모델의 목적이 사라집니다.
깨달음등급표만 외우지 말고 비밀이 새는 방향과 잘못된 정보가 들어오는 방향을 먼저 그리면 규칙의 이유를 설명할 수 있습니다.
장부는 허용된 거래를 거쳐야 바뀐다
클라크–윌슨, Clark–Wilson 모델은 상업적 업무에서 올바른 거래 절차와 직무 분리로 무결성을 유지하는 관점을 강조합니다. 보호할 핵심 데이터를 제약된 데이터 항목 CDI로, 외부에서 들어와 아직 그 규칙을 만족한다고 인정하지 않은 자료를 UDI로 생각합니다. 사용자가 CDI를 마음대로 고치는 대신 인증된 변환 절차 TP를 통해 변경하고, 무결성 검증 절차 IVP로 정해진 조건을 점검합니다. 중요한 것은 영문 약어 네 개를 외우는 일이 아니라 “누가 어떤 검증된 절차로 어떤 데이터를 바꿀 수 있는가”라는 연결입니다.
함께 따라가기 · 1만 원 이체를 장부 전체의 변화로 읽기
계좌 A의 잔액은 30,000원, B는 20,000원입니다. A에서 B로 10,000원을 옮깁니다. 수수료가 없는 교육용 장부입니다.
거래 전 두 계좌의 합은 50,000원입니다. 이체 TP는 요청자의 출금 권한, 양수 금액, 충분한 잔액과 대상 계좌를 검사합니다. 입력된 금액 문자열을 장부 값으로 곧바로 덮어쓰지 않습니다.
허용된 거래는 A를 20,000원, B를 30,000원으로 함께 바꾸고 거래 기록을 남깁니다. 중간에 실패하면 한쪽만 바뀐 결과를 완료로 인정하지 않습니다. 합계 보존은 이 예의 불변 조건입니다.
TP를 검토·인증하는 사람과 일상 거래를 실행하는 권한을 분리합니다. 한 사용자가 자기 권한을 바꾸고 자기 이체를 승인할 수 있으면 절차는 겉모양만 남습니다.
IVP는 장부의 불변 조건과 일관성 등을 확인합니다. 합계가 맞는다고 모든 이체가 정당한 것은 아니므로 사용자 권한·승인 증거·감사 기록도 함께 보아야 합니다.
깨달음무결성은 파일이 바뀌지 않았다는 뜻만이 아닙니다. 허용된 사람이 올바른 절차로 일관된 상태 변화를 만들었다는 보장이 필요합니다.
이 모델들은 평가 질문을 제공합니다. BLP에서는 비밀이 낮은 영역으로 흐르는가, 엄격한 Biba에서는 신뢰하지 않는 정보가 높은 무결성 처리를 오염시키는가, Clark–Wilson에서는 검증된 거래와 직무 분리를 우회해 장부를 바꿀 수 있는가를 묻습니다. 모델을 적용한 시스템도 로그, 관리 계정, 우회 통신 같은 실제 경로를 점검해야 합니다. 원칙이 맞아도 구현이 모든 요청을 그 원칙 아래에 놓지 않으면 보호는 성립하지 않습니다.