2015년 3월 30일 월요일

D7 Security Architecture & Models 보안 구조 및 모델

ㅇ ㅂㅇ

1. 시스템 구조

 컴퓨터의 기본적인 구성 요소

 CPU
 • 산술논리장치(Arithmetic Logic Unit : ALU), 하나 이상의 누산기, 레지스터 … 로 구성

 버스(Bus)
 • CPU, 메모리, I/O를 상호 연결해주는것

 메모리


 • 이외 메모리 구분
  - 가상 메모리 : 2차 메모리를 1차 메모리처럼 사용
  - 읽기 전용 메모리 : 펌웨어 처럼 드물게 바뀌는 프로그램과 데이터를 보호하는데 이용된다.
  - 순차적 메모리 : DAT

 개방형 시스템과 폐쇄형 시스템
 • 개방형 시스템(Open system)
  - 공개된 사양으로 여러 공급자에 의해 공급되는 시스템이다.
  - 상호 운영 허용되고 독립기관에 의해 검토 평가되는 장점이 있다.
  - 정밀 검사를 통해 에러나 취약점을 찾는다.
 • 폐쇄형 시스템(Closed system)
  - 벤더 의존형 독점 시스템
  - 독립적인 검사 과정을 거치니 않음으로 알려지지 않은 취약점이 존재할 가능성이 있다.




2. Protection Mechanisim

 프로텍션 도메인 (Protection domain)
 • 각 프로세스에 할당된 메모리 영역
 • 허가되지 않은 수정이나 접근으로 부터 프로세스를 보호하는 것이 목적
  ex) 프로세스 메모리 영역이 침범 될 경우 블루스크린이 뜸 (보안에 따른 행동)
 신뢰할 수 있는 컴퓨터 기반(Trusted Computing Base : TCB)
 • 컴퓨터 시스템 내에 보안 정책이 적용되고 있다는 것을 신뢰할 수 있는 프로텍션 매커니즘의 총체적 조합이다. – 안전한 컴퓨터 환경
 • 시스템이 제공하는 신뢰수준을 의미한다.
  - 보안 수준(security level)을 의미하는 것이 아니다.
   (평가 기준을 의미하는 것이 아니라 구현 목표를 의미한다.)
  - 다양한 위험 환경 내에서 예측 가능한 범위 내에서 동작 하도록 하는 것
 • 보안 경계(security perimeter) : TCB와 이외 영역을 구분하는 경계 -> 명확해야 함
  - 보안 정책이 수립되지 않은 부분
 • 신뢰 경로(trusted path) -> 물리적 보안 정책이 포함되어야 함
  - 사용자가 TCB에 접근하는 안전한 경로
 • 보안 커널 -> TCB 안에 가장 핵심적인 H/W, S/W, OS 등을 말함 (Internal 영역을 말함)
  - 참조 모니터를 구현한것
  - TCB내에 존재하는 H/W,S/W, firmware의 조합으로 TCB의 핵심
  - 격리성, 완전성, 검증가능
 • 참조 모니터 -> TCB 접근과 관련된 것들을 정의 한 것을 문서화 한 것
  - 주체의 개체에 대한 접근 통제를 담당하는 추상 머신으로 물리적인 구성이 아니라 TCB의 접근 통제 개념을 정리한 것이다.

 신뢰 할 수 있는 컴퓨터 시스템 (Trusted Computer System) -> 보안이 제대로 되어 있으며, 되고 있는 PC
 • 민감한 정보의 처리를 위해 S/W, H/W에 보안 보증 수단을 채용한 것을 의미한다.
 • 다단계로 분류 가능하고 신뢰성과 보안을 위한 명시 요구사항에 부합해야 한다.

 > 다단계로 분류하면 여러 단계로 세밀하게 분류 
    -> 보안의 강, 약점이 생길 수 있음 
    -> 구현이 어려움
     >> 취약점이 발생

 -- 프로텍션 링

 링의 중앙으로 갈수록 권한이 많아지는 모델로 중첩된 보안 도메인을 생성한다.
  Ex. 보안 커널
  - 0번 링, 모든 접근을 중재하고 수정으로부터 보호되며 올바르게 검증된다.

 접근 권한은 링 번호가 커질수록 감소된다.
 • 신뢰도가 높은 낮은 링은 좀더 많은 자원에 접근 가능하다.

 MIT의 MULTICS time shared 운영 시스템에 구현
 • 64링을 지원하도록 설계되었으나 8개 링만이 정의되었다.

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

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


 -- 보안 모드

 OS가 보안 관련된 운영 모드로 구현될 서로다른 여러가지 모드
 • 전용 보안 모드(Dedicated Security Mode)
  - 사용자가 모든 자원에 접근 가능
  - 사용자는 모든 자원에 대한 비밀 취급 인가, 공식적인 접근 허가가, NDA에 대한 서명, need to know를 가져야 한다.
 • 시스템 상위 보안 모드(System High Security Mode)
  - 사용자가 자신의 need to Know에 따라 필요한 일부 자원에 접근 가능
  - 사용자는 모든 자원에 대한 비밀 취급 인가, 공식적인 접근 허가가, NDA에 대한 서명을 가져야 한다.
  - 일부 자원에 대한 need to know를 가져야 한다.
 • 구획된 보안 모드(Compartment Security Mode)
  - 사용자가 자신의 need to know와 공식적인 접근 인가에 따라 일부 자원에 접근 가능
  - 모든 자원에 대해 접근 허가를 가져야 한다.(뭔소리 일까요??)
  - 정보 민감성에 대한 보안 레이블을 할당 받아야 한고 이를 통해 정보의 일부분에 만 접근 가능하다.

> 레이블(Lable)
 - 권한을 나타내는 것
  ex) 리눅스에서 그룹에 권한을 부여 한 후 그 권한을 사용하기 위해서는 사용자를 그 그룹에 포함 시키며, 그 권한을 박탈 시킬 시 그룹에서 탈퇴시킴

 • 다중 보안 모드(Multilevel security Mode)
   -> 강제, 임의적 접근 제어 등 다양한 접근 통제 방법을 쓰는 것
  - 사용자가 일부 자원에 대해서 need to know, 공식적인 접근 인가, 비밀 취급 인가등과 같은 다양한 접근 통제에 따라 접근 가능한 모드.
  - 다중 보안 모드에서는 다양한 정보 분류 레벨이 존재하므로 정보에 접근 하기 위해서는 다양한 경로의 승인이 필요하다.
  - 벨 - 라파둘라 모델

     cf.
    - 여러 문서에서 설명 중에 나오는 ‘모든 사용’자의 의미는 해당 운영체제의 모드에서 접속 가능한 사용자를 의미하는 것으로 아무런 의미가 없다.
    - Need to know는 승인이나 인가를 의미하지 않지만 책임 추적성에 기반한다.
    - NDA(nondisclosure agreements) : 정보 비 유출 합의서
    > NDA는 입사시 작성하며, 문서의 내용에 따라 퇴사시 재취업, 혹은 금전 지불 등의 불이익을 입을 수 있음

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

 은닉 채널 (Corvert channel)(B2)
 • 기존에 계획되지 않은 통신 채널 및 전체 시스템 채널(보안에 위배되는 채널)
 • 보안 정책이 위반되고 모니터링 되지 않을 가능성이 높다.
 • Storage and timing(B3)
 >> Storage : 저장영역과 관련 / Timing : 통신과 관련
 • 자원 사용 분석을 통해 검출

 매개변수 점검 미비
 > 매개변수의 예
 오라클 : 파라미터 
 유닉스 : 환경변수... 
 윈도우 : 레지스터

 유지 보수용 특별 명령어
 • 시스템 유지 보수를 위한 트랩 도어(Trap door) (백 도어)

 TOC/TOU (Time Of Check to Time Of Use)
 • 보안 정책이 적용되는 시간과 서비스가 시작되는 시간간격
 => boot가 되어서 보안 정책이 적용되기 전까지의 시간
 • 이때는 공격이 쉽다는 문제가 있다.

 -- 복구

 IS에서 발생하는 장애는 보안 정책 요구사항을 악용하거나 복구 프로시저가 보안 정책의 위반할 기회를 제공해서는 안되며 재 시작은 반드시 특수한 사용자가 지정된 터미널에서만(maintenance mode) 허용되어야 한다.

 장애 방지(fault-tolerant) (=> 백업, 리던던트 서버)
 • 장애 시에도 지속적인 기능을 제공
 • 장애를 탐지하고 복구하고 운영을 지속시킬 능력이 필요
 > 민감한 작업 부터 복구함 -> 수작업 하기 어려운 작업들, 장시간 걸리는 작업들
 안전한 장애 보장(fail safe)
 • 시스템을 종료하여 악용되지 않도록 보호
 장애 완화(fail soft, fault-resilient)
 • 장애 탐지 시에 비 핵심적인 프로세싱을 중지시켜 핵심 기능에서 이용하도록 하는것
 비핵심적인 것은 운용하지 않도록 해야 함 => 핵심적인 것만으로도 운용하기 힘들 수 있기에
 장애시 운전 전환(failover)
 • 장애 발생시 실시간으로 이중 처리 시설로 전환 시키는것
> 이중 처리 시설 (핫사이트 등)은 서비스 업체가 따로 있음

3. 정보 보안 모델

 정보 보안 모델은 보안 정책을 정형화 하기 위한 수단으로 세가지 도메인으로 구분된
다.
 • 접근 통제 모델
 • 무결성 모델
 • 정보 흐름 모델 - 권한대로, 권한이 없는 사람에게는 않가게 하는 모델

 -- 접근 통제 모델

 정보 접근 통제 에 대한 상이한 접근법으로 다음과 같은 모델이 있다.
 • 접근 행렬(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)
  - 무결성이 보존될 데이터 항목
  -> 내용에 무결성이 확보 된 것 < 그것에 대한 내용 확인은 IVP 절차를 통해 입증
 • 무결성 입증 절차(Integrity Verification Procedure : IVP)
  - CDI가 유효한 무결성 상태에 있다는 것을 확증하는 절차
    => 문서로 할 때도 위 절차를 거치는데 위 절차를 적용 할 때 문서의 완전 무결성(문서양식, 문서 용지, 문서 내에서의 띄어쓰기 등을 일체 수정하지 않고 일정해야 하며, 위가 수정 되었을 때 변한 내용에 대해 모두 기록되어야 함)
 • 변환 절차(Transformation Procedure:TP)
  - 유효한 무결성 상태를 유지하면서 CDI를 조작하는 트렌젝션
 • 제한되지 않은 항목(Unconstrained Data Item : UDI)
  - 통제 영역 외부의 항목

 CDI는 TP에 의해서만 조작됨 
 UDI는 TP에 조작되지 않은 것 
  -> ( 산출은 UDI에서도 TP를 통해서 이루어짐 ex) 보도 자료 등..)

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

 -- Brewer-Nash(만리장성) 모델 등

 주체의 동작에 따라 접근 통제를 제공하는 모델
 사용자의 이해 충돌을 보호하기 위한 모델.


> 결혼 후 부부가 법률회사에서 조언을 받는 데 이혼은 한 법원에서 못하는 데 위 정보 보안 모델을 적용하면 서로 정보 교류(상대에 대한 정보 교환)가 없이 진행하기에 가능
 => 이해가 상충한 모델에 사용함

 -- 정보 흐름 모델

 정보 흐름 모델은 객체(데이터)가 여러 주체(사용자, 프로세스)들에 의해 공유되지
만 각각의 처리 과정 중에 기밀성과 무결성이 회손 되지 않음을 보장하기 위한 모델
 • 보안 정책에 기반한 데이터 흐름을 보장
 • 다른 레벨의 기밀성이나 무결성으로 이전되는 것을 방지 하기 위한 Bell-LaPadula 모델이나 Biba 모델이 있다.

 비 간섭 모델
 • 보안 정책은 각각의 보안 레벨에 따라 프로세스나 사용자가 객체에 대한 활동이 서로 노출되거나 간섭하지 않음을 보증하는 모델
  - 다중 사용자 환경에서 중요한 보안 모델이다.
  - 은닉채널이나 추론 공격에 대한 대비가 필요하다.
 • 일반적인 다단계 보안 시스템에서 채택된다.


댓글 없음:

댓글 쓰기