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