Secure OS의 개요
- Secure OS는 기존의 운영체제(OS)에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제를 의미한다.
- 보안 커널은 보안 기능을 갖춘 커널을 의미하며, TCB를 기반으로 참조 모니터의 개념을 구현하고 집행한다.
- 보안 커널의 보호 대상에는 메모리와 보조기억장치, 그리고 그곳에 저장된 데이터, 하드웨어 장치, 자료 구조, 명령어, 각종 보호 메커니즘 등이 있다.
- 보호 방법을 구현하기 복잡한 것부터 차례로 분류하면 다음과 같다.
- 암호적 분리(Cryptographic Separation): 내부 정보를 암호화하는 방법
- 논리적 분리(Logical Separation): 프로세스의 논리적 구역을 지정하여 구역을 벗 어나는 행위를 제한하는 방법
- 시간적 분리(Temporal Separation): 동일 시간에 하나의 프로세스만 수행되도록 하여 동시 실행으로 발생하는 보안 취약점을 제거하는 방법
- 물리적 분리(Physical Separation): 사용자별로 특정 장비만 사용하도록 제한하는 방법
참조 모니터(Reference Monitor)
- 참조 모니터는 보호대상의 객체에 대한 접근통제를 수행하는 추상머신이며, 이것을 실제로 구현한 것이 보안 커널입니다.
- 참조 모니터는 보안 커널 데이터베이스(SKDB; Security Kernel Database)를 참조하여 객체에 대한 접근 허가 여부를 결정합니다.
- 참조 모니터와 보안 커널은 다음의 3가지 특징을 갖습니다.
- 격리성(Isolation): 부정 조작이 불가능해야 합니다.
- 검증가능성(Verifiability): 적절히 구현되었다는 것을 확인할 수 있어야 합니다.
- 완전성(Completeness): 우회가 불가능해야 합니다.
Secure OS의 보안 기능
- 식별 및 인증
- 각 접근 주체에 대한 안전하고 고유한 식별 및 인증 기능
- 임의적 접근통제
- 소속 그룹 또는 개인에 따라 부여된 권한에 따라 접근을 통제하는 기능
- DAC(Discretionary Access Control) 또는 신분 기반 정책이라고도 한다.
- 강제적 접근통제
- 접속 단말 및 접속 방법, 권한, 요청 객체의 특성 등 여러 보안 속성이 고려된 규칙에 따라 강제적으로 접근을 통제하는 기능
- MAC(Mandatory Access Control) 또는 규칙 기반 정책이라고도 한다.
- 객체 재사용 보호
- 메모리에 기존 데이터가 남아있지 않도록 초기화하는 기능
- 완전한 조정
- 우회할 수 없도록 모든 접근 경로를 완전하게 통제하는 기능
- 신뢰 경로
- 비밀번호 변경 및 권한 설정 등과 같은 보안 작업을 위한 안전한 경로를 제공하는 기능
- 감사 및 감사기록 축소
- 모든 보안 관련 사건 및 작업을 기록(Log)한 후 보호하는 기능
- 막대한 양의 기록들을 분석하고 축소하는 기능