정보 보안 거버넌스 6. Security Architecture & Models(보안 아키텍쳐&모델)

2020. 2. 26. 13:32Security/물리보안&보안 요구 분석&거버넌스

목차

1. Protection mechanism(보호 메카니즘)

1-1. protection mechanism(보호 메카니즘)

1-2. 프로텍션 링

1-3. 보안 구조의 전형적인 취약성

1-4. 복구

2. 정보 보안 모델

2-1. 접근 통제 모델 - Access matrix

2-2. 접근 통제 모델 - Take-Grant

2-3. 접근 통제 모델 - Bell-LaPadula

2-4. 무결성(integrity) 모델

2-5. 무결성 모델 - Biba

2-6. 무결성 모델 - Clark-Wilson

2-7. 무결성 모델 - Brewer-Nash

 

1. protection mechanism(보호 메카니즘)

1-1. protection mechanism(보호 메카니즘)

프로텍션 도메인(Protection domain)
- 각 프로세스에 할당된 메모리 영역

  -> 운영체제는 이 프로세스를 위해서 메모리의 일정 영역을 할당

  -> 커널이 메모리로 올라가는 현상을 boot라고 함

  -> 커널이 사용하는 일정 영역을 다른 프로그램이 침범하면 OS는 공격으로 간주해 비정상 셧다운이 진행.
- 허가되지 않은 수정이나 접근으로부터 프로세스를 보호하는 것이 목적

  -> 프로텍션 도메인이 공격 당했을때를 의미

 

Trusted Computing Base(TCB, 신뢰할 수 있는 컴퓨터 기반) 
- 컴퓨터 시스템내에 보안 정책이 적용되고 있다고 신뢰할 수 있는 프로텍션 매커니즘의 총체적 조합

  -> 안전한 컴퓨터 환경
- 시스템이 제공하는 신뢰 수준을 의미.
  -> 보안 수준(security level)을 의미하는 것이 아니다.(평가 기준을 의미하는 것이 아닌 구현 목표를 의미)
  ->
다양한 위험 환경 내에서 예측 가능한 범위 내에서 동작 하도록 하는 것(용인할 수 있는 정도까지 위험을 감소) 
- 보안 경계(security perimeter)

  -> TCB와 그외 영역을 구분하는 경계

  -> TCB는 방화벽 뿐 아니라 사람, 프로그램, 과정이 전부 포함되기 때문에 물리적 경계로 다루기는 어려움 
  -> 보안 정책이 수립되지 않은 부분
- 신뢰 경로(trusted path)
  -> 사용자가 TCB에 접근하는 안전한 경로

  -> 컴퓨터 접속뿐만 아니라 회사에 본인을 인증하는 것도 포함

  -> single sign on 방식이 아닌 이중 인증 방식 필요
- 보안 커널
  -> 참조 모니터를 구현한것
  -> TCB내에 존재하는 H/W,S/W, firmware의 조합으로 TCB의 핵심
  -> 격리성, 완전성, 검증 가능
- 참조 모니터
  -> 주체의 개체에 대한 접근 통제를 담당하는 추상 머신

  -> 물리적인 구성이 아니라 TCB의 접근 통제 개념을 정리한 것.

  -> 요구 사항 검증에 사용

 

Trusted Computer System(TCS, 신뢰 할 수 있는 컴퓨터 시스템) 

- 등급별로 정의가 필요.

- 민감한 정보의 처리를 위해 S/W, H/W에 보안 보증 수단을 채용한 것을 의미.

  -> 전임 보안 관리자가 필요하며 보안 관리자가 존재해야 보증 수단이 의미가 있음
- 다단계로 분류 가능하고 신뢰성과 보안을 위한 명시 요구사항에 부합해야 함.

- TCB보다 작은 개념

 

1-2. 프로텍션 링

- 링의 중앙으로 갈수록 권한이 많아지는 모델로 중첩된 보안 도메인을 생성.

  -> 중첩된 보안 도메인은 운영체제를 구성하는 가장 기본 개념 

  -> ex) 보안 커널 -> 0번 링, 모든 접근을 중재하고 수정으로부터 보호되며 올바르게 검증.

- 접근 권한은 링의 번호가 커질수록 감소.
  -> 신뢰도가 높은 링은 좀 더 많은 자원에 접근 가능.
- MIT의 MULTICS time shared 운영 시스템에 구현
  -> 64링을 지원하도록 설계되었으나 8개의 링만이 정의.

  -> time shared : 동시 실행이 가능하게 사용시간을 배분하는 것

  -> 멀티 프로세스 : 여러 프로세스가 CPU 하나를 같이 사용

- CISCO, Linux등에서 보안 정책 모델로 일부 사용 

 

구성

- Ring 0 : 커널
- Ring 1 : OS의 나머지 부분
- Ring 2 : 드라이버와 유틸리티
- Ring 3 : 응용 시스템
- 보통의 OS에서는 Ring 1는 0이나 2에 포함되어 구현.

  -> 숫자가 작아질수록 사이즈는 작아지지만 권한(H/W에 access)은 더 커짐.

- Ring이라고 하는 이유는 외부에서 하위 링을 거치지 않고는 하드웨어에 접근하지 못한다는 것을 표현하기 위해서.

  -> 그러나 폐쇄곡선이라서 각 계층간에 직접적인 엑세스(통신)이 가능하지 않다.

  -> 각 계층간의 안정성을 위해서 이러한 모양으로 만들어 짐

 

1-3. 보안 구조의 전형적인 취약성

은닉 채널(Corvert channel)(B2)
- 기존에 계획되지 않은 통신 채널
- 보안 정책이 위반되고 모니터링 되지 않을 가능성이 높음.

  -> 감시의 영역에서 벗어나 제어가 불가능

  -> 보안 정책에 따른 계획이 되어있다면 위험이 있더라도 은닉 채널로 보지 않음.
- Storage and timing(B3)
- 자원 사용 분석을 통해 검출

 

매개변수 점검 미비

- 사람이 직접 관리

- 파라미터, window에서의 레지스트리, 유닉스에서의 커널 파라미터등 OS 매개변수의 변화를 감지하지 못해 문제가 발생

 

유지 보수용 특별 명령어

- 시스템 유지 보수를 위한 트랩 도어(Trap door)

  -> name 서버를 위한 특별한 client 키가 존재

  -> 오라클의 서버 매니저, sqlplus는 터미널은 통한 우회가 가능하기때문에 위험 인자로 판단

- 시스템 관리자, 보안관리자가 겸직하는 것은 매우 위험

 

TOC/TOU (Time Of Check to Time Of Use)
- 보안 정책이 적용되는 시간과 서비스가 시작되는 시간 간격

- 그 시간 간격에 공격이 쉽다는 문제 존재했지만 현재는 OS 제조회사들에 의해 모두 해결

 

1-4. 복구

- IS에서 발생하는 장애는 보안 정책 요구사항을 악용하거나 복구 프로시저가 보안 정책의 위반할 여지를 줘선 안됨

- 재시작은 반드시 특수한 사용자가 지정된 터미널에서만(maintenance mode) 허용.

 

장애 방지(fault-tolerant)
- 장애 시에도 지속적인 기능을 제공
- 장애를 탐지하고 복구하고 운영을 지속시킬 능력이 필요

- RAID, backup line 등등

 

안전한 장애 보장(fail safe)
- 장애 발생시 시스템을 종료하여 악용되지 않도록 보호

 

장애 완화(fail soft, fault-resilient)
- 장애 탐지시 비핵심적인 프로세스는 중지, 핵심 프로세스는 유지 

  -> 민감도가 높으면 핵심적 프로세스, 낮으면 비핵심적 프로세스

  -> 여기서 민감도의 기준은 수작업의 가능 여부 

 

장애시 운전 전환(failover)
- 장애 발생시 실시간으로 이중 처리 시설로 전환 시키는것

- cool, warm, hot 사이가 존재하며 hot으로 갈수록 비용 증가

 

2. 정보 보안 모델

2-1. 접근 통제 모델 - Access matrix

- 열(접근 통제 목록:Access Control List:ACL)과 행(기능 목록:Capability list)로 구성된 접근 행렬을 이용 
  -> 객체에 대한 접근 권한을 주체에게 직접 할당하는 모델.

  -> matrix가 존재할 경우, 오류가 있는지 없는지 확인이 용이(장점)
- 접근 통제에 대한 판단을 허가 권한을 가진 개인이 판단함으로 임의적 접근 통제에 속함.

  -> 인사 DB 소유자, 회계 DB 소유자 등 각 부서 최고 책임자들이 데이터를 소유

  -> 해당 부서의 장이 권한을 가짐

  -> 인사 담당자가 매트릭스를 구현 

- 주체와 객체로 구현.
  -> 주체 : 사람, 직위, 프로세스 등등
  -> 객체 : 파일, 시스템, DB 등등

2-2. 접근 통제 모델 - Take-Grant

- 주체가 객체에 대해서 갖는 접근 권한을 다른 객체로 이관시키는 것을 방향성 그래프로 표현한 모델

  -> 실무에서 업무 위임이 많이 발생한다는 것에 착안된 모델
- 소유자가 접근 권한을 다른 사용자에게 양도해주는 관계 모델(오라클에서 구현)

  -> 업무 연속성, 업무 생산성을 높이기 위해 사용

- 기업에서 주로 사용

 

2-3. 접근 통제 모델 - Bell-LaPadula

- 정보 유출을 막기 위한 모델

- 미국방성에서 다단계 보안 정책을 정형화 하기 위해 상태 기계 개념 위에 정형화 한 것

  -> 최초의 수학적 모델
  -> 대상을 미분류(Unclassified), 비밀(Confidential), 기밀(Secret), 극비(Top Secret) 네 단계로 분류
  -> 주체는 동일하거나 낮은 등급의 레벨에만 접근 가능(MAC : 강제적 접근 제어) 
  -> 접근에는 알 필요성이 필요(DAC : 임의적 접근 제어)
  -> 분류된 대상의 기밀성만을 다룬다.(무결성이나 가용성은 다루지 않음) 

 

세가지 다단계 속성
1. 단순 보안 속성 : no read up(나보다 보안 등급이 높은 단계 문서는 읽을 수 없음) 
2. 스타(*) 보안 속성 : no write down(나보다 보안 등급이 낮은 문서 작성 불가능) 

  -> 적용되지 않게되면 정보 유출이라고 판단 가능 

3. 임의적 보안 속성 : 임의적 접근 통제는 접근 행렬을 이용.
- 평정 속성(tranquility property)
  -> 객체의 보안 등급이 컴퓨터 시스템 수행 과정에서 변경될 수 없다.

 

문제점
- 은닉 채널이 감안되지 않음 
- 파일 공유 등의 현대적 시스템은 다루지 않음.
- 안전한 상태 전이가 명확히 정의되어있지 않음.
- 다단계 보안정책에 기반하여 다른 정책은 언급하지 않음.

 

2-4. 무결성(integrity) 모델

- 조직 내에서 무결성 모델은 기밀성만큼 중요.

- 초기 Bell-Lapadula 모델에 연속하여 무결성 모델이 만들어졌다.

- 비바(Biba) 무결성 모델, 클락-윌슨(Clark-Wilson) 무결성 모델, Brewer-Nash (만리장성)모델 등이 있다.

- 정보 분석 단계에서 사용.
- 무결성의 목적
  -> 데이터가 허가되지 않은 사용자에 의해 수정되지 않도록 보호.
  -> 데이터가 허가된 사용자에 의해 비인가 수정되지 않도록 보호.
  -> 데이터는 내.외부 무결성을 유지해야 한다.

 

2-5. 무결성 모델 - Biba

- 정보의 오염을 막기 위한 방법

  -> 정보가 가지고 있는 신뢰도가 중요

- Bell-Lapadula 모델과 유사(등급도 같이 사용)

  -> 등급은 신뢰도에 따라 구분, 상위 등급이 신뢰도가 더 높다.

- 객체를 무결성 레벨(integrity Level)로 분류하고 세단계의 무결성 원칙을 명시.

- 단순 무결성(Simple Integrity) 원칙(no read down) 
  -> 무결성 레벨이 있는 주체는 더 낮은 무결성 객체를 읽을 수 없음.
  -> 낲은 수준의 무결성

서가 인용되는 것을 방지.
- 무결성 원칙(성형 무결성 원칙)(no write up) 
  -> 무결성 레벨이 있는 주체는 더 높은 무결성 객체를 수정하거나 생성할 수 없음.
  -> 무결성 레벨이 있는 주체는 더 높은 무결성 객체를 활성화 불가.
- 데이터가 허가되지 않은 사용자에 의해 수정되지 않도록 보호하는 것만 명시.

 

2-6. 무결성 모델 - Clark-Wilson

- 보안용 프로세스

- 상업적 환경에서 무결성을 확보하기 위한 frame work로 개발
- 무결성 상태를 검증, 변경하기 위해 제한적 데이터 항목들과 절차를 결합시킨 모델

 

용어
- 제한된 데이터 항목(Constrained Data Item : CDI)
  -> 무결성이 보존될 데이터 또는 컴퓨터 항목

  -> 통제를 만들어야 하는 것들(데이터, 컴퓨터 등등)
- 무결성 입증 절차(Integrity Verification Procedure : IVP)
  -> CDI가 유효한 무결성 상태에 있다는 것을 확증하는 절차

  -> IVP는 TP를 만드는 원칙

  -> 제약조건이 대표적인 IVP
- 변환 절차(Transformation Procedure:TP)
  -> 유효한 무결성 상태를 유지하면서 CDI를 조작하는 트랜잭션
- 제한되지 않은 항목(Unconstrained Data Item : UDI)
  -> 통제 영역 외부의 항목

 

특징
- 주체들은 허가된 프로그램(TP)에 의해서만 데이터(CDI,UDI)에 접근 가능.
- 데이터 항목에 무결성 레벨 정의와 TP이후에도 무결성이 보장될 무결성 레이블을 요구
- 내외부적 일관성과 직무 분리, 강제적 무결성 정책 준수 등을 포함
  -> 트랜젝션 처리를 분리해서 무결성 보장
- 레벨, 무결성 레이블, 정책 등에 대한 감사를 요구.(감사가 필요)

 

2-7. 무결성 모델 - Brewer-Nash

 

- 주체의 동작에 따라 접근 통제를 제공하는 모델

  -> 자원 1에 access하면 자원 2에는 access하면 안됨

- 사용자의 이해 충돌을 보호하기 위한 모델

  -> 한 법무법인에서 이혼하는 부부를 각각의 변호사로 변호

- 우리나라에서는 아직 법률적으로 불가능하고 구축 단계