정보보안 개론 - Security Architecture & Models
Security Architecture & Models
Protection Mechanisim
프로텍션 도메인 (Protection domain) ---> *방화벽이 하는 역할*
- 각 프로세스에 할당된 메모리 영역
- 허가되지 않은 수정이나 접근으로 부터 프로세스를 보호하는 것이 목적
*도메인 - 명칭x(복잡한 단어라고 생각하지 말자) / 일정한 범위, 그룹, 영역 /
물리적 개념만은 아니다. / ex) 무슨무슨 도메인 -> 무슨무슨 영역
라우터 - 다른 네트워크 주소를 가진 네트워크를 연결해준다.
방화벽 - 내외부 네트워크를 나눠준다.*
신뢰할 수 있는 컴퓨터 기반(Trusted Computing Base : TCB)
- 컴퓨터 시스템 내에 보안 정책이 적용되고 있다는 것을 신뢰할 수 있는 프로텍션 매커니즘의
총체적 조합이다. – 안전한 컴퓨터 환경
- 시스템이 제공하는 *신뢰수준(trust level)(목표치)을 의미*한다.
- *보안 수준(security level)을 의미*하는 것이 아니다.
(평가 기준을 의미하는 것이 아니라 구현 목표를 의미한다.)
- 다양한 위험 환경 내에서 예측 가능한 범위 내에서 동작 하도록 하는 것
- 보안 경계(security perimeter) : TCB와 이외 영역을 구분하는 경계 / *gateway 방화벽(스크린 라우터)*
- 보안 정책이 수립되지 않은 부분 (현재는 TCB 내부에도 trust level이 다르다.)
- 신뢰 경로(trusted path)
- 사용자가 TCB에 접근하는 안전*(일하는 사람x 시스템이 안전)*한 경로
- 보안 커널(리눅스 커널x, 보안목표에 따라 구축된(만든) 정보보안 시스템(관심의 대상)을 커널이라 한다.)
- 참조 모니터를 구현한것
- TCB내에 존재하는 H/W,S/W, firmware의 조합으로 TCB의 핵심
- 격리성, 완전성, 검증가능
- 참조 모니터 --> *정보보안과 관련된 trust level과 내용의 정의와 관련된
추상적 개념까지 총틀어서 모니터라고 한다.*
- 주체의 개체에 대한 접근 통제를 담당하는 추상 머신으로 물리적인 구성이
아니라 TCB의 접근 통제 개념을 정리한 것이다.
Protection Mechanisim – 프로텍션 링
- 링의 중앙으로 갈수록 권한이 많아지는 모델로 중첩된 보안 도메인을 생성한다.
Ex. 보안 커널
- 0번 링, 모든 접근을 중재하고 수정으로부터 보호되며 올바르게 검증된다.
접근 권한은 링 번호가 커질수록 감소된다.
- 신뢰도가 높은 낮은 링은 좀더 많은 자원에 접근 가능하다.
MIT의 MULTICS time shared 운영 시스템에 구현
- 64링을 지원하도록 설계되었으나 8개 링만이 정의되었다.
CISCO, Linux등에서 보안 정책 모델로 일부 사용됨
구성 (외부에서 직접적으로 access를 할수 없다.)
- Ring 0 : 커널 (하드웨어에 access할수 있는것은 커널밖에 없다.)
- Ring 1 : OS의 나머지 부분
- Ring 2 : 드라이버와 유틸리티
- Ring 3 : 응용 시스템
- 보통의 OS에서는 Ring 1는 0이나 2에 포함되어 구현된다.
Protection Mechanisim – 보안 구조의 전형적인 취약성
은닉 채널 (Corvert channel)(B2) / (컴퓨터,모니터 등등..)
- 기존에 계획되지 않은 통신 채널
- 보안 정책이 위반되고 모니터링 되지 않을 가능성이 높다.
- Storage and timing(B3)
- 자원 사용 분석을 통해 검출
매개변수 점검 미비 (파라미터 값 조정, 정보보안과 관련된 설정들이 미비해 질수 있다.)
유지 보수용 특별 명령어
- 시스템 유지 보수를 위한 트랩 도어(Trap door)
TOC/TOU (Time Of Check to Time Of Use)
- 보안 정책이 적용되는 시간과 서비스가 시작되는 시간간격
- 이때는 공격이 쉽다는 문제가 있다.
Protection Mechanisim - 복구
- IS에서 발생하는 장애는 보안 정책 요구사항을 악용하거나 복구 프로시저가
보안 정책의 위반할 기회를 제공해서는 안되며 재 시작은 반드시 특수한
사용자가 지정된 터미널에서만(maintenance mode) 허용되어야 한다.
장애 방지(fault-tolerant)
- 장애 시에도 지속적인 기능을 제공
- 장애를 탐지하고 복구하고 운영을 지속시킬 능력이 필요
안전한 장애 보장(fail safe) *(시스템을 안전하게 종료하는 장치 - UPS)*
- 시스템을 종료하여 악용되지 않도록 보호
장애 완화(fail soft, fault-resilient) *(장애가 발생하면 정보보안 시스템이 정상이아닐텐데
핵심적인 기능만 운영하고 나머지는 운영을 못하는데
핵심적인 업무(민감도가 높은 업무/수작업이 되냐 안되냐에
따라 나뉘는데 수작업이 불가능해야 민감도가 높은 업무이다.)/
/수작업을 하면 안되는 이유는 수작업을 했을때 비용이
크게 증가하기 때문이다./)*
- 장애 탐지 시에 비 핵심적인 프로세싱을 중지시켜 핵심 기능에서 이용하도록 하는것
장애시 운전 전환(failover)
- 장애 발생시 실시간으로 이중 처리 시설로 전환 시키는것
정보 보안 모델
정보 보안 모델은 보안 정책을 정형화 하기 위한 수단으로 세가지 도메인으로 구분된다.
- 접근 통제 모델
- 무결성 모델
- 정보 흐름 모델
정보 보안 모델 – 접근 통제 모델
정보 접근 통제 에 대한 상이한 접근법으로 다음과 같은 모델이 있다.
- 접근 행렬(Access Matrix) 모델
- 테이크 그랜트(Take-Grant) 모델
- 벨라파둘라(bell-LaPadula)모델 : 기밀성을 위한 상태 기계(State Machine) 모델
- 만리장성(Chinese wall) 모델 : 직무분리를 접근 통제에 도입한 모델
접근 통제 모델(Access matrix)
- 열(접근 통제 목록:Access Control List:ACLs)과 행(기능 목록:Capability list)로 구성된
접근 행렬을 이용한 접근 통제 모델
- 객체에 대한 접근 권한을 주체에게 직접 할당하는 모델이다.
접근 통제에 대한 판단을 허가 권한을 가진 개인이 판단함으로 임의적 접근 통제에 속한다.
주체와 객체로 구현된다.
- 주체 : 사람, 직위, 프로세스 …
- 객체 : 파일, 시스템, DB …
정보 보안 모델 – 접근 통제 모델(Take-Grant)
- 주체가 객체에 대해서 갖는 접근 권한을 다른 객체로 이관시키는 것을 방향성 그래프로 표현한 모델
- 소유자가 접근 권한을 다른 사용자에게 양도해주는 관계 모델 – 오라클에서 구현
정보 보안 모델 – 접근 통제 모델(Bell-LaPadula)
- 미국방성에서 다단계 보안 정책을 정형화 하기 위해 상태 기계 개념
위에 정형화 한것 : 최초의 수학적 모델
- 대상을 미분류(Unclassified), 비밀(Confidential), 기밀(Secret), 극비(Top Secret) 네 단계로 분류
- 주체는 동일하거나 낮은 등급의 레벨에만 접근 가능
- 접근에는 알 필요성이 필요
- 분류된 대상의 기밀성만을 다룬다. – 무결성이나 가용성은 다루지 않는다.
*정보의 오염을 막기 위해 사용*
세가지 다단계 속성
1. 단순 보안 속성 : no read up
2. 스타(*) 보안 속성 : no write down : Confinement property - 성형특성
3. 임의적 보안 속성 : 임의적 접근 통제는 접근 행렬을 이용한다.
- 평정 속성(tranquility property) *보안등급은 직급이 아닌 직무와 항상 연관되어있다.*
- 객체의 보안 등급이 컴퓨터 시스템 수행 과정에서 변경될 수 없다.
문제점
- 은닉 채널을 염두 해 두지 않았다.
- 파일 공유 등의 현대적 시스템은 다루지 않는다.
- 안전한 상태 전이가 명확히 정의되어있지 않다.
- 다단계 보안정책에 기반하여 다른 정책은 언급하지 않는다.
정보 보안 모델 – 무결성(integrity) 모델
조직 내에서 무결성 모델은 기밀성만큼이나 중요하다. 초기 Bell-Lapadula 모델에
연속하여 무결성 모델이 만들어졌다.
무결성 모델에는 비바(Biba) 무결성 모델이나 클락-윌슨(Clark-Wilson) 무결성
모델, Brewer-Nash (만리장성)모델 등이 있다.
무결성의 목적
- 데이터가 허가되지 않은 사용자에 의해 수정되지 않도록 보호해야 한다.
- 데이터가 허가된 사용자에 의해 비인가 수정되지 않도록 보호해야 한다.
- 데이터는 내.외부 무결성을 유지해야 한다.
*통제의 목적 - 위험을 완화시키기위해서 어디까지 완화시켜야하나 - 경영진이 용인할수 있는 수준까지*
정보 보안 모델 – 무결성 모델(Biba)
Bell-Lapadula 모델과 유사하게 객체를 무결성 레벨(integrity Level)로 분류하고 세단계의 무결성 원칙을 명시한다.
- 단순 무결성(Simple Integrity) 원칙 : no read down
- 무결성 레벨이 있는 주체는 더 낮은 무결성 객체를 읽을 수 없다.
- 낲은 수준의 무결성 문서가 인용되는 것을 막는다.
- * 무결성 원칙 (성형 무결성 원칙) : no write up
- 무결성 레벨이 있는 주체는 더 높은 무결성 객체를 수정하거나 생성할 수 없다.
- 무결성 레벨이 있는 주체는 더 높은 무결성 객체를 활성화할 수 없다
데이터가 허가되지 않은 사용자에 의해 수정되지 않도록 보호하는 것만 명시한다.
정보 보안 모델 – 무결성 모델(Clark-Wilson)
상업적 환경에서 무결성을 확보하기 위한 프레임워크로 개발
무결성 상태를 검증하고 변경하기 위해 제한적 데이터 항목들과 절차를 결합시킨 모델
용어
- 제한된 데이터 항목(Constrained Data Item : CDI) *EX. 회사제품 메뉴얼*
- 무결성이 보존될 데이터 항목
- 무결성 입증 절차(Integrity Verification Procedure : IVP)
IVP : *근원지증명(데이터를 누가 만들었는지 / 입증방법 - 공개키(자신이 했다라는것을 입증할수있다.)) = 책임추적성()*
- CDI가 유효한 무결성 상태에 있다는 것을 확증하는 절차
- 변환 절차(Transformation Procedure:TP)
- 유효한 무결성 상태를 유지하면서 CDI를 조작하는 트렌젝션
- 제한되지 않은 항목(Unconstrained Data Item : UDI)
- 통제 영역 외부의 항목
특징
- 주체들은 허가된 프로그램(TP)에 의해서만 데이터(CDI,UDI)에 접근 가능하다.
- 데이터 항목에 무결성 레벨 정의와 TP이후에도 무결성이 보장될 무결성 레이블을 요구
- 내외부적 일관성과 직무 분리, 강제적 무결성 정책 준수 등을 포함
- 트랜젝션 처리를 분리해서 무결성 보장
- 레벨, 무결성 레이블, 정책 등에 대한 감사를 요구한다.(감사가 필요하다.)
정보 보안 모델 – Brewer-Nash (만리장성)모델등
주체의 동작에 따라 접근 통제를 제공하는 모델
사용자의 이해 충돌을 보호하기 위한 모델.