1. 보안 운영체제
보안 운영체제란?
- 컴퓨터 운영체제상에서 내재된 보안상의 결함으로 인해 발생 가능한 각종 해킹으로부터 시스템을 보호하기 위해 기존의 운영체제 내에 보안기능을 통합시킨 보안커널을 추가로 이식한 운영체제
- 운영체제 내부에 보안기능을 구현한 것으로 기존의 응용 프로그램 실행환경을 그대로 유지하면서 시스템 차원의 강력한 보안기능을 제공
- 기술적 핵심: 정보영역의 분리, 역할기반 영역분리, 최소권한 유지, 커널 레벨의 강제적 접근통제(MAC)
2. 보안 운영체제의 주요 제공 기능
보호 대상
- 메모리
- 보조기억장치 상의 파일 또는 데이터의 집합
- 메모리상에서 실행 중인 프로그램
- 파일들의 디렉터리
- 하드웨어 장치
보호방법
- 물리적 분리 : 사용자별로 별도의 장비만 사용하도록 제한하는 방법, 강한 형태의 분리이지만 실용적이지 못함
- 시간적 분리(Temporal separation) : 프로세스가 동일 시간에 하나씩만 실행되도록 하는 방법, 동시 실행으로 발생되는 문제를 제거해 운영체제의 일을 단순화시킴
- 논리적 분리 : 각 프로세스에 논리적인 구역을 지정하는 방법, 프로세스는 자신의 구역 안에서는 어떤 일을 하든지 자유지만 할당된 구역 밖에서 할 수 있는 일은 엄격하게 제한됨
- 암호적 분리(Cryptographic separation) : 내부에서 사용되는 정보를 외부에서는 알 수 없도록 암호화하는 방법
- 위 분리방법들은 구현 복잡도가 증가하는 순서로 기술됨, 다양한 조합으로 운영 가능
파일 보호기법
: 무자격 사용자의 프로그램 무단 접근을 막기 위해 그 파일 소유자가 보호장치를 만들어 놓은 것
: 파일의 보호는 파일의 공용문제와 병행하여 고려되어야 함 → 파일 보호만 우선시할 경우 자원의 낭비를 야기함
- 파일의 이름 명명(naming)
- 다른 사용자 파일의 이름을 알 수 있는 기법이 없고 그 이름ㅇ르 추측하기도 힘들다는 가정에 근거
- 파일 이름은 보통 기억하기 쉬운 글자를 많이 쓰고 파일의 내용을 암시하고 있으므로 추측을 통해 발각 가능
- 패스워드
- 각 사용자마자 서로 다른 패스워드를 제공하여 그 패스워드를 알아야만 파일을 이용할 수 있도록 하는 방법
- 패스워드가 임의로 채택되고 자주 바뀐다면 그 패스워드를 아는 사용자에게만 파일 접근을 허용하는 접근제어에 아주 효과적임
- 암호화
- 파일 내용 자체를 암호화하여 누구나 공유할 수 있지만 인가된 사용자만 그 내용을 파악할 수 있게 함
장점 : 파일 내용의 암호화와 해독에 사용되는 암호를 파일시스템 자체 내에 기록하여 관리할 필요 없음
단점 : 파일 암호화, 복호화에는 시간과 노력이 필요함
3. 보안 운영체제와 보안커널
보안 운영체제의 보안 기능
- 사용자 식별 및 인증
- 접근통제가 사용자의 신분 증명에 의해 이루어질 경우 정확한 신분증명을 위해 보안 운영체제는 개별 사용자의 안전한 식별을 요구하며, 각각의 사용자는 고유하게 식별될 수 있어야 한다.
- 임의적/강제적 접근 통제
- 임의적 접근통제(DAC)는 신분기반 정책이라고도 하며, 주체나 소속 그룹의 신분(identity)에 근거하여 객체에 대한 접근을 제한하는 방법임
- 강제적 접근통제(MAC)는 규칙기반정책이라고도 하며, 객체의 비밀등급과 주체가 갖는 권한에 근거하여 객체에 대한 접근을 제한하는 방법임
- 객체 재사용(object reuse) 보호
- 사용자가 새로운 파일을 작성할 때, 이를 위한 기억장치 공간이 할당됨
- 할당되는 기억공간에는 이전의 데이터가 삭제되지 않고 존재하는 경우, 이를 통해 비밀 데이터 노출 가능성 존재
- 메모리, 레지스터, 자기매체 및 기타 재사용 가능한 저장매체에서 발생될 수 있음. 보안 운영체제는 재할당되는 모든 기억장치공간을 깨끗하게 지워야 한다.
- 완전한 조정
- 임의적/강제적 접근통제가 효과적이기 위해서는 모든 접근을 통제해야 함. 따라서 보안 운영체제는 모든 접근을 통제하는 완전한 조정을 수행해야 함.
- 신뢰 경로(trusted path)
- 패스워드의 설정 및 접근 허용의 변경 등과 같은 보안 관련 작업을 수행할 때 사용자는 안전한 경로라고 불리는 안전한 통신을 원하는데 보안 운영체제는 이러한 안전한 경로를 제공할 수 있어야 함
- 감사 및 감사 기록 축소
- 모든 보안 관련 사건은 감사 기록부에 반드시 기록되어야 하고 감사 기록부는 명백하게 보호되어야 함
보안 커널
- 보안 커널은 TCB 내에 있는 하드웨어, 소프트웨어, 펌웨어로 구성되며, 참조 모니터 개념을 구현하고 집행함. 주체와 객체 사이의 모든 접근과 기능 중재
- TCB의 핵심이고 신뢰할 수 있는 컴퓨터 시스템을 구축하기 위해 가장 보편적으로 사용됨
- 보안 커널의 요구사항
- 참조 모니터 개념을 수행하는 프로세스를 위해 분리가 제공되고, 프로세서는 변조를 방지할 수 있어야 함
- 모든 접근 시도에 대하여 실행되어야 하고, 이것을 우회하는 것이 불가능해야 함
- 보안 커널은 완전하고 포괄적인 방식으로 충분히 시험되고 확인되어야 함
신뢰 컴퓨터 기반(TCB, Trusted Computing Base)
- 하나의 컴퓨터 시스템내의 모든 보호 메커니즘의 총체로서, 시스템과의 조화를 통해 보안 정책을 적용할 책임이 있음
- 신뢰된 경로는 사용자, 프로그램 그리고 커널과의 통신채널을 말함. TCB는 이 통신 채널이 어떠한 경우에도 손상되지 않도록 보호 기능을 제공함
- 보안경계 : 시스템의 구성요소 중 신뢰/비신뢰 구성요소의 경계로 물리적 실체가 아닌 가상의 경계선임. 신뢰 및 비신뢰 구성요소 사이에 선을 긋기 위해 운영시스템에 의해 사용되는 개념적 부분
- TCB의 4가지 모니터 기능 : 프로세스 활성화, 실행 도메인 변경, 메모리 보호, 입출력 연산
보안커널 설계 시 고려사항
참조모니터(Reference Monitor)
- 참조모니터 및 보안커널의 특징
- 격리성 : 분리되고, 부정조직을 방지
- 검증가능성(Verifiability) : 크기가 작아야 함
- 완전성(Completeness) : 우회불가능해야 함
- 주체의 객체에 대한 모든 접근통제를 담당하는 추상머신으로, 승인되지 않은 접근이나 변경으로부터 객체를 보호하기 위해 객체에 대한 주체의 모든 접근통제를 중재하는 개념
- 참조모니터의 규칙
- 반드시 부정조작이 없어야함 → 격리성
- 항상 무시되지 않고 호출되어야 함
- 모든 동작을 항상 분석과 테스트를 통해 확인할 수 있어야 함 → 검증 가능성
- 참조모니터의 개념을 위반하는 경우 : 주체가가 참조모니터를 거치지 않고 객체에 직접 접근하는 경우
- 참조모니터는 보안커널 데이터베이스(SKDB, Security Kernel Data Base)를 참조아형 객체에 대한 접근허가 여부를 결정함
- 국가 공통 평가 기준(CC, Common Criteria)과 같은 평가기준에 의해 평가됨
4. 신뢰 플랫폼 모듈(TPM)
기본 개념 및 특징
- 신뢰 플랫폼 모듈(TPM, Trusted platform module)은 신뢰 컴퓨팅 그룹이라는 산업체 컨소시엄에 의해 표준화된 개념
- TPM은 신뢰 컴퓨팅을 위한 하드웨어/소프트웨어 방법에서 핵심이 되는 하드웨어 모듈
- 신뢰 컴퓨팅의 가장 하위에 위치하는 TPM은 훼손 방지(tamper protected)가 필수적이기 때문에 하드웨어칩으로 구현되는 것이 일반적이지만, 소프트웨어로 구현도 가능함
- TPM의 신뢰 관련 연산은 (a) 암호화키의 생성과 저장, (b) 패스워드의 저장, (c) 무결성의 검증을 위한 측정값의 저장, (d) 디지털 인증서 관련 신뢰 연산의 제공 등을 포함함
기본 서비스
- 인증된 부트 서비스 : 인증된 부트 서비스는 전체 운영체제를 단계적으로 부팅하고, 운영체제가 적재될 때 운영체제의 각 부분이 사용을 위해 승인된 버전임을 보장함
- 인증 서비스
- TPM에 의해 설정이 완성되고 로그인 되면, TPM은 다른 부분의 설정을 인증할 수 있음
- TPM은 TPM의 사설키를 사용하여 설정 정보에 서명함으로써 디지털 인증을 만들 수 있음
- 암호화 서비스 : 특정 기계가 특정 설정으로 되어 있을 때만 그 기계에서 데이터의 복호화를 수행하는 방식으로 데이터의 암호화를 지원함
TPM 함수
- I/O : 모든 명령어는 I/O 구성요소를 통해 들어오고 나감. I/O 구성요소는 다른 TPM 구성요소와의 통신을 제공함
- 암호화 보조 프로세서 : 암호화 및 관련 처리를 위한 특별한 프로세서를 포함함
- HMAC 엔진 : 이 알고리즘은 다양한 인증 프로토콜에서 사용됨
- 무작위 숫자 발생기(RNG, random number generator) : 다양한 암호화 알고리즘에서 사용되는 무작위 숫자를 만드는데, 이를 위해 키ㅡ 생성, 전자서명의 무작위값, 임시수(비표, nonces)를 생성함
- SHA-1 엔진 : 전자서명과 HMAC 알고리즘에서 사용되는 SHA 알고리즘을 구현함
- 전원 탐지 : TPM 전원 상태와 플랫폼 전원 상태를 관리함
- Opt-in : 고객 또는 사용자의 의도대로 TPM을 활성화 또는 비활성화할 수 있는 안전한 메커니즘을 제공함
- 실행 엔진: I/O 포트로부터 받은 TPM 명령어를 수행할 프로그램 코드를 실행함
- 비휘발성 메모리 : TPM을 위한 신원, 상태 인자를 저장함
- 휘발성 메모리 : 실행 함수를 위한 임시 저장 장치이며 현재 TPM 상태, 암호화키, 세션 정보와 같은 임시 인자를 저장함
'보안' 카테고리의 다른 글
[정보보안기사] 시스템보안 | 윈도우 서버 보안 (1) | 2024.07.07 |
---|---|
[정보보안기사] 시스템보안 | 클라이언트 보안 (0) | 2024.06.21 |
CVE & CWE 차이점 (0) | 2023.08.11 |