보안 요구 분석(1)

2020. 2. 4. 09:24Security/물리보안&보안 요구 분석&거버넌스

* TCSEC(Trusted Computer System Evaluation Criteria)

- 미국의 신뢰성 있는 컴퓨터 시스템 평가기준

- 1983년 국방성(DoD) NCSC 주도하 오렌지 북이라 불리는 컴퓨터 시스템 평가 기준인 TCSEC 초안 제정

- Bell-LaPadula Model 정보보안 모델 기반의 기밀성을 다룸. (가용성과 무결성은 다루지 않음.)

- 통제 목적은 보안 정책(보안 계획), 보증, 책임 추적성.

- 기능성(Functionality)과 보증(Assurance)를 분리하지 않음

- 1985년 미 국방성 표준(DoD STD 5200.28)으로 채택

 

Bell-LaPadula Model

- No Read Up : 낮은 등급의 주체는 높은 등급의 객체를 읽을 수 없음

- No Write Down : 높은 등급의 주체는 낮은 등급의 객체를 수정할 수 없음

- 한계점 : 낮은 등급의 주체가 높은 등급의 객체를 수정하는 무결성 문제

 

TCSEC의 보안 클래스

D등급

- 최소보호(사용자 계정이 없는 소프트 웨어)

- 사실상 보안이 필요없음

- ex) MS office, 한글,,,

 

C등급

- 재량적(임의적) 보호 : 알아야할 필요성(임의적 접근제어(사용자 계정을 통해 관리))

- ex) 운영체제, 오라클

 

B등급

- 강제적 보호 : 보안 레이블(강제적 접근제어)

- 정부 인가하에 해외 수출 가능

 

A등급

- 검증된 정형화된 보호

- 해외 수출이 절대 불가

- ex) 전투기 탑재 소프트웨어

 

* ITSEC(Information Technology Security Evaluation)

- 독일, 프랑스, 네덜란드, 영국등 유럽 4개국이 평가제품의 상호인정, 평가기준이 다른 것을 보완하기 위해 작성한 유럽형 보안 기준

- 기밀성, 무결성, 가용성을 다루고 있으며 기능성(Functionality)과 보증(Assurance)를 분리하여 평가

- TCSEC는 제한성이 너무 많은데에 비해 ITSEC는 지나치게 많은 융통성 부여

 

* CC(Common Criteria, 공통 평가기준)

- 국가마다 다른 정보 보호시스템 평가기준을 연동하고 평가 결과를 상호 인증하기위해 제정된 국제표준 평가 기준
- ISO에서 제공, 국제표준(ISO/IEC 15408)으로 1999년 9월 제정
- TCSEC나 ITSEC의 단점을 보안

- 정보보호 시스템 보안 등급 평가에 신뢰성 부여

- PP와 ST를 이용해 등급 평가

PP(Protection Profile, 보호 프로파일)

- 정보 제품이 갖춰야 할 공통적인 보안 요구 사항을 모아 놓은 것

- CC의 기능과 보증 요구사항을 이용, 특정 제품(Target of Evaluation)의 구현과 상관없이 보안요구사항을 정의한 문서
- 사용자, 정보보호 시스템 개발자, 이외 여러 단체나 집단등의 민간 기관에 의해서 개발 가능
- 보안 필요성을 설명하는 수단을 제공, 보안 필요성에 대한 평가를 용이하게 함.

- 프로파일의 종류는 방화벽 IDS, VPN등 10개 내외

 

ST(Security Target, 보안 목표 명세서)

- 벤더나 개발자가 직접 작성한 제품의 명세.

- PP를 기초로 보안 기능을 서술한 문서. 
- 시스템 사용 환경, 보안 환경, 보안 기능 명세서 등을 포함.

- 벤더는 PP를 먼저 참조한 후 ST를 작성해 제품을 개발  

 

EAL(Evaluation Assurance Level)

- 등급별 보안수준으로 EAL0부터 EAL7까지 구성

- 자체적으로 온전한 보증 컴포넌트의 집합

- CC의 체계화된 보증 수준이 보증 등급을 형성

- 우리나라의 관공서는 K4등급 이상의 프로그램을 사용해야 함

 

* 요구 분석 명세화

- 접근 권한은 유형에 따라 ‘알 필요성(need to know), 할 필요(need to do)’ 에 근거하여 문서화 되어야 한다.

- 근거자료로는 BPR(Business Processing Reprograming)과 ISP 사용

 

접근 통제의 기본 원칙

- 알 필요성 원칙(need to know) : 해당 업무에 대해서만 접근 권한을 부여하는 원칙.

- 최소 권한의 원칙(least privilege policy) : 업무수행에 필요한 최소한의 권한만 부여하는 원칙.

- 직무 분리 원칙(separation of Duty) : 특정인에게 모든 업무 권한을 부여하지 않는 원칙.

 

접근 권한 통제 목록 (Access control list, ACL)
- 특정 시스템의 자원을 사용하도록 권한을 부여 받은 사용자 정보, 허용된 접근 시스템이나 소스의 종류를 포함.
- 정책 입안자나 개별 사용자에 의해 결정되지만 반드시 보안 관리자에 의해 구현

- 결정과 구현이 구분되기때문에 무결성을 확보, , 책임추적성이 보장된다.

- IS(정보시스템)는 자원에 관련된 구체적인 대상을 의미

 

ACL 작성하기 위한 작업의 순서

1. IS 자원 목록 작성

- 소프트웨어, 업무 시간, 업무 프로세스등의 자산을 평가

2. IS 자원 분류

- 접근 권한 기준에 따라 분류하고 그룹화

3. IS 자원 라벨링 작업

- 정보 자산 목록의 명명화

- 정보 자산을 여러 그룹이 공유해서 사용하는 경우가 많아 라벨링이 생각보다 쉽지 않다. 

4. ACL 작성

- 작성된 ACL을 검증해서 업무 분석 자료로 사용

 

임의적 접근 통제 (DAC : Discretionary Access Control) 

- 계정(또는 그룹) 기반으로 접근 권한을 결정하는 것

- 데이터의 소유자가 접근 요청자의 알 필요성에 근거하여 접근 권한을 결정 
- 강제적 접근 통제에 우선 할 수 없고, 추가적인 검정 도구로 사용. 
- 많은 조직에서 채택하고 있으나 보안 관리자의 업무가 증가 

 

강제적 접근 통제 (MAC : Mandatory Access Control)
- 보안관리자가 이미 만들어진 보안 정책에 근거해 접근 내용을 ACL로 작성
- 보안 대상의 민감도와 응용 및 사용자의 보안 취급 권한을 비교함으로써 접근제어를 구성
- 임의적 접근 통제를 포함해서 최소 권한의 원칙(least privilege policy)을 구현.

- 보안 등급, 규칙 기반, 관리 기반의 접근 통제(role-base access control)

- 기밀성 보안 등급에서는 상위 등급의 데이터를 읽을 수 없지만, 무결성(=데이터의 정확성) 보안 등급에서는 하위 등급의 데이터를 읽을 수 없음. 

 

역할 기반 접근 통제 (Role-Based Access Control)
- 역할(Role)이나 역할(Task) 중심의 접근 통제 
- 그룹의 역할을 정의하고 권한을 사용자가 아닌 그룹에 부여
- 빠른 직무 순환이나 변화되는 조직에 적합

- 격자기반 접근통제(하한값, 상한값을 가지는 주체, 객체로 이루어진 쌍에서 주체는 가장 낮은 범위의, 객체는 가장 높은 범위의 접근 권한을 갖는 방식)

- 오라클의 take-grant 모델이 RBAC 방식

 

CRUD

- 기본적인 데이터 처리 기능(create, read, update, delete)을 이용해 구축된 데이터베이스 시스템을 검증하는 방법 

 

[실습]임의적 접근 통제에서 다음 보안 명세 구현

1. CURD를 참조해 리눅스에 알맞게 구현

- 리눅스 상에서 특정 파일에 대해 같은 그룹내의 사용자에게 권한을 다르게 주는 것은 불가능하기 때문에 파일 B같은 설정은 불가능

- 사용자는 aaa, bbb, ccc, ddd, eee로, 부서는 sales와 dept로 설정

 

2. CRUD를 참조해 보안 정책 서술

top secret - A
secret - B, D
confidential - C, E 

top secret
create - top secret에만 가능 
read - top secret, secret, confidential 파일에 가능
update - top secret, secret, confidential 파일에 가능

secret
create - secret에만 가능
read - top secret, secret, confidential 파일에 가능
update - secret, confidential 파일에 가능

confidential
create - confidential에만 가능
read - top secret, secret, confidential 파일에 가능
update - confidential 파일에 가능

 

3. 서술된 보안 정책을 참조해 CRUD 작성

[보안 정책]

Top Secret -  A      
Secret - B, D
Confidential - C, E 

Top Secret
create : top secret파일 생성 가능 
update : top secret파일에 가능 
read : top secret, secret, confidential 파일에 가능.

 

Secret 
create : secret파일에 생성 가능. 
update : secret 파일에 가능. 
read : secret, confidential 파일에 가능. 

 

Confidential 
create : confidential에 생성 가능. 
update : confidential 파일에 가능. 
read : confidential 파일에 가능.

 

  영업부 총무부
유저 A 유저 B 유저 C 유저 D 유저 E
파일 A CRW - - - -
파일 B R CRW - - -
파일 C R R CRW - -
파일 D - - - CRW -
파일 E - - - R CRW

Top Secret -  A      
Secret - B, D
Confidential - C, E

Top Secret
create : top secret파일 생성 가능 
update : top secret파일에 가능 
read : top secret, secret, confidential 파일에 가능.

 

Secret
create : secret파일에 생성 가능.
update : secret 파일에 가능.
read : secret, confidential 파일에 가능.

 

Confidential
create : confidential에 생성 가능.
update : confidential 파일에 가능.
read : confidential 파일에 가능.