본문 바로가기

교육/Security Governance

Day 67(Security Architecture & Model_정보 보안 모델)

반응형

<목차>

1. 정보보안 구조 모델

2. TCB

  1) 신뢰 수준

  2) 보안경계

  3) 신뢰 경로

  4) 참조 모니터

  5) 보안 커널

  6) 신뢰 가능한 컴퓨터 시스템

3. 프로텍션 링

4. 보안 구조의 취약점

  1) 은닉채널

  2) 매개변수 점검 미비

  3) 유지보수 위한 트랩도어

  4) TOC/TOU

5. 복구과정

6. 정보보안 모델

  1) 접근 통제 모델

  2) 무결성(integrity) 모델


1. 정보보안 구조 모델
운영체제는 커널이 메모리로 올라가는 현상으로 부트라고 한다. 다른 프로그램 부트 메모리에 침범하면 비정상 종료되는 시스템의 허점이 있다. 예를 들면 윈도우의 블루스크린현상, 리눅스의 시스템 강제종료 등이 있다.
프로텍션 도메인은 프로세서에 할당된 메모리 영역을 의미하고, 허가되지 않은 접속 혹은 메모리 보호하기 위해 사용된다.
운영체제가 프로그램 강제적으로 종료한다. 예를 들면 오라클에서는 피몬이 수행한다.

2. TCB

TCB는 일종의 환경으로 컴퓨터, 네트워크 포함된 환경을 의미한다.

TCB에는 pc, network, 사용공간등 가용성,기밀성,무결성 확보가 가능한 것들이 포함된다. 과거에는 하딩되어진 일련의 요구사항정의 문서 혹은 구현된 것이다.

 

1) 신뢰 수준
레벨로 표현하여 등급을 나타낸다.
등급의 한계는 용인 가능할 만큼 위험 낮추는 것이다. 환경 자체를 구현하여 통제한다.
현재는 등급이 확실하지 않고, 단지 TCB구현 여부로만 신뢰수준이 있다, 없다를 판단한다. 

2) 보안경계
보안 경계는 TCB와 그외 구분를 구분하는 것으로 물리적 경계로는 다루기 힘들다. 왜냐하면 TCB는 방화벽에 국한되지 않고 사람이나 프로그램, 과정에 대한 것들 전부 포함하기 때문이다.

자산식별은 정량적으로 측정한 위험 측정을 통해 비용을 측정한다. 위험도가 가장 높은 수준에 통제를 만드는 것이 아니라 통제가 가능한 위험도를 선별하는것이 문제다. 모니터링만 수행하는 것이다. 이것을 통해 BCP 사업이 중단될 만큼의 위험에서 복구하는 비용을 측정하는데, 사전에 BCP안에 IT에 관련된 재해복구요인을 설정해야 한다.

 

BCP를 작성하기 위해 인터뷰는 CEO부터 하향식으로 이루어진다.

ISO에 등급이 초기/구현/반복으로 정해진다. 자연과학에서는 자신이 관심있는 영역은 계 또는 시스템이라고 한다.

3) 신뢰 경로

신뢰 경로는 컴퓨터 접속 뿐만아니라 회사에 들어갈때 본인을 인증하는 것도 포함한다. 로그인 없이 바로 접속가능한 것은 single sign on이라고 하며 예를 들면 윈도우에서 삼바 서버 이용시 윈도우 계정과 삼바 계정이 일치하면 계정 입력없이 로그인 하는 것이 있다. 하지만 계정 유출로 인한 위험이 발생할 가능성이 있기 때문에 이를 방지하기 위해 2중 인증방식을 사용한다. 예를들면 서버실에 들어갈때 1차 인증 후 서버실 안에서 2차 인증하는 것이다.
보안기법에는 리눅스 시스템 중 커널과 같이 모두 공개하여 다른 부분이 생기면 눈에 보이는 방법과 접근을 방지하는 철저한 block하는 일반적인 방법이 있다.

4) 참조 모니터
참조 모니터는 접근통제에 대한 개념을 정리한 문서로 주로 OS, S/W, H/W와 관련된 것들이다. 참조 모니터는 요구사항 검증에 사용한다. 예를들면 usb없는 pc가 있는데 usb포트자체를 없애고 ps2포트 사용하는 방식이 있다.

5) 보안 커널
보안커널은 참조 모니터를 구현한것이다. 협상을 통해 경영진이 수용가능한 양을 정한다. TCB도 일종의 통제이다.

6) 신뢰 가능한 컴퓨터 시스템
등급별로 분류가 되어있어야 하며 등급에 대한 기준과 내용을 문서화 하여 공표해야 한다. 별도의 인증이 필요 하지 않게 인증된 TCSEC에 의거해 이야기 한다. 
만약 임의로 생성후 인증으로 사용하려면 별도의 인증이 필요하다.
신뢰 가능한 컴퓨터 시스템이 필요한 이유는 업무별 보안상의 등급이 전부 다르기 때문이다. 민감정보와 민감하지 않은 정보로 구분하며 신뢰적인 입증 증명 자료로서 사용한다. 외부 컨설팅 업체가 통상적으로 만든다. 내부에서 생성하려면 생성과 신뢰도 입증을 요구하기 때문에 맨파워가 많이 필요하다.
신뢰 가느한 시스템은 한 PC가 아닌 네트워크 전체를 증빙하는 것이 원칙이지만 통상 일반적인 상황에서는 소규모 네트워크 단위만 확인한다.
신뢰 가능한 컴퓨터 시스템의 보증수단 중에 반드시 포함되어야 하는 것은 보안관리자이다. 보안 관리자가 없다는 것은 TCB도 구축이 안되고 신뢰적이지 않은 시스템인것이다. 하지만 기업 규모에 따라서 적용이 가능하고 불가능함이 생긴다.

3. 프로텍션 링

중첩된 보안 도메인은 운영체제 구성하는 가장 기본 개념이다. multics는 unix의 상위 버전이다. 즉 multic를 간략화 한것이 unix이다.
multi tasking은 한 cpu를 여러 프로세스가 같이 실행하는 것이다. multi tasking이 가능하게 하는것이 운영체제가 cpu를 배분하여 동시 실행하는 것처럼 보이게 하는 것이다. time shared는 동시 실행 가능하게 사용시간 배분하는 것이다.

 


프로텍션 링은 64개 설계되지만 현재 대부분의 OS는 4개 링으로 구현한다. 반면 multics는 8개의 링을 정의한다.

링 크기가 작아질수록 권한이 커진다. 링이란 표현을 사용하는 이유는 반드시 폐곡선으로 이루어지며 hardware는 ring 0안에 있다. 따라서 밖에서 hardware를 접근하기 위해서는 하위 링을 거칠 수 밖에 없고 직접적으로 접근이 불가능 함을 표현한다. 접근을 직접적인 접근으로부터 하드웨어(시스템)를 보호하기 위해 한다.

 

국내에서는 cpu개발 업체가 커널을 직접 심고, 이러한 일을 하는 프로그램은 임베디드 프로그램이다.

4. 보안 구조의 취약점
1) 은닉채널

은닉채널은 특정 프로그램이 아닌 계획되지 않은 통신채널을 전부 통칭한다. 은닉채널이 취약한 이유는 감시되지 않을 가능성이 크기 때문이다. 즉, 문제를 일으키는것이 문제가 아닌 문제를 일으킬 가능성이 크다는 것이 위험하다는 것이다. 감시가 되지 않는다면 접근에 대한 제어가 불가능을 야기 하기 때문이다.

 

모듈을 통한 제어의 예로 ftp에서 pam.d를 이용한 사용 계정을 제어가 있다. pam.d는 플러그인 모듈로 인증을 통한 제어를 보다 간편하게 할수있다. 설정만 변경하면 다른 프로그램에서도 그대로 사용하여 접근 제어가 가능하다.

사용 시간을 통한 제어도 가능하다. 스케쥴링을 통해서 접속 시간을 조절할 수 있다.

2) 매개변수 점검 미비

윈도우의 registry나 리눅스의 커널 파라미터등 OS의 매개변수의 변화를 감지하지 못해 문제가 발생하는 것을 이야기 하는 것이다. 

3) 유지보수 위한 트랩도어

유지보수 위한 트랩도어에는 네임서버 위한 특별 클라이언트 키가 있다.

DB나 Server 관리자는 터미널을 이용한 우회가 가능하기 때문에 위험인자로써 판단하는 것이다.

4) TOC/TOU

TOC/TOU는 운영체제가 부트업 후 보안용 소프트웨어가 올라오는 시간 사이 갭이 발생하여 이 갭이 보안상 취약함을 의미한다. 현재는 OS 제작 회사가 이런 간격을 패치하여 없앴다.


5. 복구과정

복구 과정에서 사용하는 용어는 대부분 위기관리에서 가져옴
1) 장애 방지 - 장애시 지속적인 기능 제공하는 것으로 RAID, backup line등이 있다.
2) 장애 보장 - 장애시 시스템 종료하여 시스템에 영향 퍼지지 않게 하는것이다. 증거 수집 단계와 증거 수집 프로그램에 차이가 있다. 왜냐하면 컴퓨터 즉시종료 하지 않게 되면 안에 데이터를 지울 가능성이 크다. 이 때문에 현재는 pc를 키지 않고 하드자체를 물리적으로 복사하여 분석하고 원본은 손대지 않는다.
3) 장애 완화 - 비핵심 프로세스 종료, 핵심 프로세스는 유지하는 것을 의미한다. 핵심 프로세스와 비 핵심 프로세스의 구별은 민감도로 구분한다. 민감도는 수작업이 가능한가(정지했을때 심각한 손실을 일으키지 않는것)로 측정한다.
4) 운전 전환 - 2중 처리 시설을 운영하는 것이다. cool 사이트, warm 사이트, hot 사이트가 있으며 비용이 점점 비싸진다.

6. 정보보안 모델
정보보안 모델은 접근 통제 모델, 무결성 모델, 정보 흐름 모델 3가지의 도메인으로 구분되지만 상당수의 교집합이 생긴다. 관점의 차이만 있을 뿐이다.

 

1) 접근 통제 모델
 - 접근 행렬 모델(Access Matrix)
열과 행으로 표현한다.
각 소유자는 각 부서의 최고 책임자이다. 소유자들이 실무적 결정을 하며 구현은 관리자가 한다.
장점은 확인 및 오류검출이 쉽다.
file system에서는 프로그램이 주체에도 객체에도 포함되어 접근행렬모델이 잘 사용되지 않았지만 rdb가 도입되면서부터 프로그램이 주체에 포함되어 접근 행렬 모델의 본격적인 사용이 가능해졌다.

 - Take-Grant 모델
접근 권한 양도를 통해 이루어진다. 업무를 위임하는 것 즉, 결정 권한을 양도하는것이다.

소유자가 다름에도 결정 권한이 있는 자가 결정가능함으로써 업무 연결성이 높아진다.

* 접근행렬모델과 takegrant모델은 기업에서 많이 사용한다.

 - Bell-Lapadula모델

Bell-Lapadula모델은 국가에서 많이 사용하는 모델이다.
Bell-Lapadula모델은 정보 유출 방지에 중점을 둔 모델이다.
미분류, 비밀, 기밀, 극비의 4등급으로 분류한 기밀성만을 위한 보안 모델이다.

강제적 접근제어를 통해 RuleBase를 통해 주체가 동일하거나 낮은 등급의 레벨에만 접근이 가능하게 한다.
임의적 접근제어를 통해 알 필요성을 통해 접근을 제어한다.

단순 보안 속성인 no read up은 나보다 높은 단계 읽을수 없다는 것을 말한다.
스타(*) 보안 속성은 no write down으로 나보다 낮은 등급의 문서를 작성하는것은 불가능 하다는 것을 말한다. 만약 이 속성이 적용되지 않게되면 정보 유출이라고 판단 가능하다.
정보유출이란 것은 자신보다 높은 등급의 문서 읽는것이기 때문이다.

예외 규정은 최소권한의 원칙 알 필요성에 의해 부여하되 접근행렬에 근거하여 부여해야한다.


2) 무결성(integrity) 모델
무결성 모델에는 Biba 무결성 모델, Clark-Wilson 무결성 모델, Brewer-Nash 모델이 있다.
정보 분석 단계에서 사용한다.
무결성 모델은 허가되지 않은 사용자 접근과 허가된 사용자 비 인가 수정을 불가능하게 하기 위해 사용한다.

- Biba 무결성 모델
Biba 무결성 모델은 Bell-Lapadula모델을 그대로 사용하고, 등급도 같이 사용한다.
하지만 용도가 정보 오염을 방지하기 위해 사용하며, 데이터의 정확성에 중점을 두고 설계한다.
신뢰도가 떨어지는 단계는 읽지 말고(선입견을 가질수 있기 때문에), 자신보다 높은 등급의 문서는 만들 수 없다.(결과 추론 안된다)를 원칙으로 한다.
Biba 무결성 모델은 등급은 신뢰도에 따라 구분된다. 하위 등급은 상위 등급보다 신뢰도가 떨어지는 것을 의미한다.

- Clark-Wilson 무결성 모델
Clark-Wilson 무결성 모델은 프로세스를 의미하며 프레임워크로 개발한다.
제한된 데이터 항목(Constrained Data Item : CDI)은 무결성이 보존될 데이터 혹은 컴퓨터 항목을 의미한다.

무결성 입증 절차(Integrity Verification Procedure : IVP)은 CDI가 유효한 무결성 상태에 있다는 것을 확증하는 절차이며, TP의 생성 원칙이 된다.

변환 절차(Transformation Procedure:TP)은 유효한 무결성 상태를 유지하면서 CDI를 조작하는 트렌젝션으로 업무 혹은 프로그램을 의미한다. TP는 CDI를 생성할때 IVP에 의거해 생성한다.

TP와 CDI와 IVP의 관계는 예를 들면 IVP는 제약조건이고, CDI는 테이블 내용, TP는 테이블이 된다.

제한되지 않은 항목(Unconstrained Data Item : UDI)은 통제 영역 외부의 항목이다.

 

- Brewer-Nash 모델
정보(자원)가 2가지 존재할 때 자원중 access가 가능한 것을 구분하는 것이다.
이해가 상충 데이터 확인할때 주로 사용한다. 서로 데이터 교환을 할 수 없는 상황에서 이해가 상충되는 두개의 자원을 사용하는 경우가 발생한다. 이때 서로의 결과에 침범하지 않게 하기 위해서 사용한다. 모델은 있지만 보통 사용하지 않는다.

반응형