OS 보안도구(Server)
OS보안도구는 서버시스템 내에서 운영체제 취약성으로 인해 발생할 수 있는 중요 정보 등의 위변조 방지, 서비스 보호 및 시스템 해킹을 차단하기위한 제품 혹은 기술을 말한다.
OS보안도구는 기존의 운영체제 내에 보안기능을 통합시킨 보안커널(Security Kernel)을 추가로 이식한 Secure OS를 말한다. 이러한 OS보안도구의 핵심기술인 보안커널, 접근통제 정책, 접근통제 메커니즘 및 기술 구조는 다음과 같다. 4.1.1. 보안커널(Security kernel) 운영체제 내부에 이식되어 기존의 운영체제에 내재된 보안상의 결함으로 인한 각종 침해로부터 시스템을 보호하고, 사용자의 모든 접근 행위에 대한 안전한 통제를 제공한다.
보안커널(Security kernel)
4.1.1.1. 보안커널의 구현 방법 보안커널은 일반적으로 운영체제와 유사하기 때문에 전통적인 운영체제 설계 개념을 사용 및 보안커널에 요구되는 하드웨어도 거의 유사하다. 보안커널은 보안경계 내의 모든 주체와 객체를 통제하여야 하며 프로세스, 파일시스템, 메모리 관리, I/O를 위한 자원을 제공하여야 한다. 주어진 컴퓨터.하드웨어 상의 안전하지 않은 운영체제(ISOS: Insecure Operating System)에 보안커널을 구현하는 일반적인 방법은 다음 그림과 같이 OS 커널에 보안커널(SOS: Secure Operating System)을 삽입함으로써 구현 한다.
보안커널의 구현 방법
4.1.1.2. LKM(Loadable Kernel Module) 기술 LKM(Loadable Kernel Module) 기술은 일반 운영체제에 보안커널을 구현하기 위해 사용하는 방식이다. 일반적으로 운영체제의 커널은 Micro Kernel 과Monolithic Kernel 디자인으로 분류되며, 각 디자인에 따른 LKM 기술 구현은 다음과 같다.
LKM 기술
구분 설명 Micro Kernel • Micro kernel 디자인에서의 LKM은 커널에 동적인 기능을 제공하는 메커니즘으로, 시스템 콜 또는 커널의 자원요청에 따라 동적으로 필요한 모듈만을 로드 하거나 언로드 하는 기능 제공 Monolithic Kernel • Monolithic kernel 디자인에서는 커널을 변조하기 힘들며, 커널을 변조하기 위해서는 커널을 수정해서 다시 컴파일 해야 하고 시스템을 재부팅 시켜야 함 • 따라서, LKM 구현 시에 동적으로 커널모듈을 로드/언로드 할 수 있는 기능이 Kernel에 추가되어 있음 4.1.2. 접근통제 정책 보안커널의 접근통제 정책은 대상 시스템 자원들을 보호하기 위해서 조직이 희망하는 기본적인 원칙들의 표현이다. 즉, 정책은 어떤 주체(who)가 언제(when), 어떤 위치에서(where), 어떤 객체(what)에 대하여, 어떠한 행위(how)를 하도록 허용(또는 거부)할 것인지 접근통제의 원칙을 정의한다. 이러한 접근통제 정책 구현을 위한 방법으로 임의적 접근통제(DAC : Discretionary Access Control) 및 강제적 접근통제(MAC : Mandatory Access Control) 규칙이 적용된다
구분 설명 임의적 접근통제 (DAC) • 객체에 접근을 하고자 하는 주체의 접근권한에 따라 접근통제를 하는 방법이며, DAC의 속성은 다음과 같음 - DAC 정책은 허가된 주체(즉, 객체의 소유자)에 의하여 변경 가능한 한 주체와 한 객체간의 관계를 정의함 - 한 주체가 어느 한 객체를 판독하고 그 내용을 다른 어느 한 객체로 복사하는 경우에 처음의 객체에 내포된 DAC 관계는 복사된 객체로 전파되지 않음 - DAC 정책은 모든 주체 및 객체들 간에 일정하지 않고 하나의 주체 대 객체 단위로 접근 제한을 설정할 수 있음 - DAC가 어느 한 주체로 하여금 특정 비밀등급의 한 객체를 접근하지 못하게 할지라도, DAC는 그 주체가 그러한 비밀 등급을 갖는 다른 객체들을 접근하는 것을 방지할 필요가 없는 것임 강제적 접근통제 (MAC) • 주체의 레이블과 주체가 접근하고자 하는 객체의 보안레이블을 비교하여 보안정책에 합당한 접근통제 규칙에 의하여 접근통제를 하는 방법임 • MAC 기법들은 미국방성의 다중등급 보안정책(MLS: Multi Level Security)에 근간을 두고 있는 것이 대부분이며, MAC의 속성은 다음과 같음 - MAC 정책은 객체의 소유자에 의하여 변경할 수 없는 한 주체와 한 객체간의 접근통제 관계를 정의함 - 한 주체가 한 객체를 판독하고 그 내용을 다른 객체에게 복사하는 경우에 원래의 객체에 내포된 MAC 제약사항이 복사된 객체에 전파됨 - MAC 정책은 모든 주체 및 객체에 대하여 일정하며, 어느 하나의 주체 대 객체 단위로 접근 제한을 설정할 수 없음 4.1.3. 접근통제 메커니즘 접근통제 시스템은 보안규칙과 정책의 구현 기능을 갖는 보안 메커니즘에 의존한다. 보안 메커니즘은 부당한 접근의 예방(접근통제 메커니즘)과 부당한 접근의 탐지(감사와 침입탐지 메커니즘)에 관련이 있다. 접근 통제 메커니즘은 예방이 선호될 때 보다 기본적인 수단이며, 선택적으로 탐지가 부당한 접근의 탐색을 위하여 보완적으로 강구된다. 구분 설명 접근통제 메커니즘 • 보안 메커니즘은 하드웨어 또는 소프트웨어로 행정관리 절차에 따라 구현될 수 있으며, 정책과 메커니즘은 다음과 같은 측면에서 분리하여 생각할 수 있음 - 구현 메커니즘의 접근 규칙을 독립적으로 분석할 필요가 있으며 원칙은 설계자가 보안 요구 사항의 정확성 검증에 집중할 수 있도록 하여야 하지만 이것은 정책의 보안 요구사항이 구현 메커니즘에서 누락되지 않도록 보안정책의 일관성 있는 준수를 보장할 수 있는 체계이어야 함 - 동일한 보안정책에 대하여 다른 접근통제 정책 또는 다른 구현메커니즘들을 비교분석 할 필요가 있으며 하나의 보안정책은 다양한 형태의 구현메커니즘으로 수행될 수 있을 것임 - 다른 정책을 수용할 수 있는 메커니즘을 설계할 수 있어야 함 이것은 응용환경에 따라 보안 정책이 변경될 때 구현 메커니즘에 밀접한 영향을 미치기 때문이며 구현 메커니즘은 변경된 정책을 반영 할 수 있어야 할 것임 접근통제 메커니즘 종류 • 접근통제 메커니즘은 접근 행렬의 열을 표현하는 ACL(Access Control List), 접근 행렬의 행을 표현하는 CL(Capability List), 제어 대상에 레이블을 붙이는 SL(Security Label)을 기본적으로 분류할 수 있음 • 이러한 3 가지 정보를 종합적으로 이용하는 통합정보 메커니즘, 각 파일에 접근통제를 위한 비트들을 부가하여 제어하는 Protection Bit(PB), 파일의 접근권한을 검증하기 위한 패스워드 등의 기법이 있음
4.1.4. Secure OS 특징 및 기능 4.1.4.1. SecureOS 주요 특징 현재 상용화되어 출시되고 있는 Secure OS 솔루션들은 다음과 같은 주요 특징을 가지고 있다. 구분 설명 운영체제 레벨에서의 해킹 차단 • 운영체제 수준에서 강력한 접근제어를 통해 주요 파일의 불법적인 변조, 탈취 등을 차단하고, 불법적인 root 권한 획득, Daemon에 대한 공격, 시스템 파일 변조, 불법 실행파일을 통한 해킹 시도 등을 차단하여 악의적인 공격으로부터 시스템을 보호할 수 있음 TCSEC B1 등급의 보안 기능 구현 • 미국 국방성의 평가기준인 TCSEC의 B1 등급에서 요구하는 보안 기능(다중등급보안, 강제적 접근제어 등)에 맞게 시스템을 구현할 수 있음 통합 보안관리 환경 구현 • 다수의 서버에 대한 보안 관리를 중앙에서 원격으로 수행할 수 있기 때문에 체계적인 보안관리가 가능함 시스템 자원 분리 • 웹 서버, 웹 페이지, 애플리케이션 파일, 시스템 파일 등을 서로 다른 보안 영역으로 분리함으로써 악의적인 침입에 따른 추가적인 공격을 차단할 수 있음 4.1.4.2. Secure OS 주요 기능 Secure OS 솔루션은 개발업체에 따라 차이가 발생할 수 있으나 일반적으로 다음과 같은 주요 기능이 있다. 특징 내용 인증 및 식별 • 사용자 식별 기능(전자서명 인증을 통한 사용자 구분 및 인증) • 시스템관리자와 보안관리자의 권한 분리 • 허가된 사용자에 대한 Login 관리 기능 • 비정상적인 사용자에 대한 접근 차단 접근제어 • 강제적 접근제어(MAC) • 중요 정보(파일시스템 등) ACL 제어(MLS & RBAC) • 사용자 별 IP 및 사용시간, 사용기한, 사용 서비스 등 강제적 제어 • System 방화벽 기능(TCP/UDP/ICMP 네트워크In/Outbound 제어) • 중요 서비스/프로세스에 대한 불법적인 강제종료 방지 • Self-Security Protection & setuid/setgid 제어 능동적 침입탐지 • Virus/Worm에 대한 침입탐지 및 차단 기능(Host IPS) • BOF/Race Condition 등 시스템관리자 권한 획득 공격에 대한 자동 차단 • 비 인가자 & 비인가 작업에 대한 자동 차단 • 불법적인 접근에 대한 SMS, E-mail, Console 등 자동 통보 기능 • 비정상 행위 프로세스 강제종료 및 네트워크 자동 차단 시스템 관리 • 사용자/그룹 계정 관리(생성, 삭제 및 관리: OS와 동일하게 연동) • Audit log(접근 내역에 대한 상세한 Real-Time Logging) • 시스템 성능 관리(CPU/MEMORY 등 관리) • 운영 성능 향상을 위한 Tuning & 보안정책 Simulation 기능 • 이 기종 시스템에 대한 통합관리
4.1.4.3. Secure OS 상세 기능 Secure OS 솔루션에서 일반적으로 제공하고 있는 주요 상세 기능은 다음과 같다. 구분 설명 접근권한 통제 기능 제공 • 전자서명 인증기반 사용자 신원확인 • 역할기반의 접근통제 (Role Based Access Control) • 다중등급 접근통제 (Multi Level Security) • 최소권한 & 권한분리 지능형 침입탐지 및 방어 기능 제공 • 지능형 침입탐지 • 능동형 침입방어 불법 위/변조 및 해킹 방지 기능 제공 • 중요데몬 및 프로세스의 불법 종료 방지 • 불법 침입자에 의한 시스템 종료 방지 • 시스템 중요정보 및 자료의 불법 위/변조 방지 관리 효율을 위한 시스템 설정 기능 제공 • 보안정책 시뮬레이션 • 보안정책 일괄적용 기타 시스템 관리 기능 제공 • 사용자 계정/ 로긴/ 패스워드 관리 • 네트워크 접근통제 • 자체 보호기능 (Self-protection function) • 경고 기능 • 로그 및 리포트
4.1.5. Secure OS 시스템 구성 Secure OS는 일반적으로 보호하고자 하는 서버에 설치되는 Agent와 이를 중앙에서 원격관리하는 Manager로 구성되며, 세부적인 시스템 구성은 아래와 같다. Overall System Architecture
Secure OS는 Kernel Space내에서BOF, Race Conditio, Process Kill등을 통제하는 Intrusion Prevention 영역과 ACL 설정을 통한 자원의 접근통제를 수행하는 Access Control 영역, TCP, UDP Port 및 IP, Network을 통제하는 Network Control 영역으로 나뉘어 구성된다. Layered Security Kernel Architecture