메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

솔라리스 8, 과연 얼마나 안전한가?

한빛미디어

|

2002-03-14

|

by HANBIT

8,156

저자: 『Solaris 8 Administrator"s Guide』의 저자 폴 와터스, 역 서성용

필자는 고위직 매니저들로부터 종종 다음과 같은 질문을 받고 "문자열이 길면 얼마나 길겠어?"라고 마음속으로 투덜댄다. 하지만 실제로는 "어떤 형태로든 원격 접근을 허용하는 모든 컴퓨터 시스템들은 본래 불안전합니다. 솔라리스는 다른 컴퓨터 시스템들보다 좋지도 나쁘지도 않습니다."라고 대답해준다. 이런 답변을 듣는 사람들은 보통 "여전히 내 질문에 대한 대답은 아니군요." 라는 반응을 보이고, 또 이에 대해서 필자는 "어떤 것이든 측정하기 위해서는(예를 들어 운영 환경의 안전) 그것을 측정할 기준이 필요합니다."라고 반박한다. 사실 컴퓨터 안전을 평가하기 위한 척도는 필요하지만, 그러한 평가는 실제로 얻기 힘들다.

이에 대한 몇 가지 변명거리가 있다. 첫째, 필자가 컴퓨터 시스템 안전성을 인증하는 컨설팅 회사에서 일한다면, 아마 필자는 이미 알려진 모든 취약점은 물론이고 잠재적인 침입과 관련하여 속속들이 시스템을 검사할 것이다. 그런데 그 시스템이 안전하다고 인증한지 채 일주일도 지나지 않아서 침입자가 발견되었다고 해보자. 나에게는 분명히 책임이 있다(이전의 알려지지 않은 취약점이 발견될 수도 있기 때문에 엄격한 소송에 휘말리지는 않겠지만 실망한 고객과 앞으로 일어날 수도 있는 소중한 거래를 잃는 것에 대해서도 책임져야 할 것이다. 알려지지 않은 것을 다루는 것도 보안 사업이 해야 할 일이고 일부분이다). 이러한 상황은 자연스럽게 두 번째 변명으로 이어진다. 잠재적인 침입을 예측하는 사전 접근법이 아주 성공적이어서 공격이 절대로 일어나지 않을 수도 있다. 이런 경우 보안 평가를 어떻게 할 수 있을까? 이것이야말로 훌륭한 계획과 빈틈없는 작업의 결과였을까? 아니면 단지 행운이었을 뿐인가? 필자는 잘 모르겠다. 그렇지만 고객들은 궁금해할지도 모른다.

멀티프로세스, 멀티유저, 멀티스레드 운영 체제인 SunOS는 원격 공격에 대항할 수 있는 모든 설비를 제공한다. 이와 같은 설비를 제공하는 것은 HTTP 와 FTP와 같은 프로토콜이 글로벌 e-business 환경에 중요한 서비스를 구현 할 수 있도록 한다. 동시에 모든 온갖 사용을 위해 포트 접근을 열어두는 것은 공격 발생 위험을 증가시킨다 -- 가장 안전한 유닉스 시스템은 이더넷에 연결되어 있지 않은 것이라는 오래된 격언이 있다. 실제로 몇몇 조직에서는 웹 서버 운영을 위해 멀티유저 시스템 사용을 중단하고, 대신에 싱글유저 시스템을 채택했다.

이것은 아주 과감한 방법으로 생각된다. 이용 가능한 보안 정책보다는 우화에서 더 잘 아려져 있겠지만 시스템 보안을 평가하기 위한 기준이 있기는 있다. 필자는 미 국방부(the U.S. Department of Defense)의 신뢰받는 컴퓨터 시스템 평가 기준(Trusted Computer System Evaluation Criteria)인 "DoD Orange Book [1]"을 소개하고자 한다. 이것은 시스템이 따르는 표준에 근거를 두고 시스템들을 네 가지 보호 등급으로 나눈다. 네 가지 등급은 다음과 같다.

컴퓨터 보안 평가 지침서(TCSEC)라는 미 국방부 표준 규격 문서(DOD STD 5200.28). 표지 색이 오렌지색이기 때문에 통상 오렌지 북이라고 부른다. 이 문서에서는 컴퓨터 시스템의 기밀 정보 보호 능력을 포함한 보안 등급(security level)을 최고 등급인 A1에서부터 최하 등급인 D까지 7개 등급으로 구분하여 규정하고 있다.
  • 최소한의 보호(등급 D)는 보호가 전혀 이루어지고 있지 않음을 의미한다.

  • 임의적 보호(등급 C)는 인증된 사용자들에 한하여 파일과 다른 객체에 안전하게 감사되는 접속 기능을 제공한다.

  • 강제적 보호(등급 B)는 인증된 사용자들에 한하여 파일과 다른 객체에 안전하게 감사되는 접속 기능을 요구한다.

  • 검증된 보호(등급 A)는 안전을 확인하기 위해 공식적인 방법을 적용할 것을 요구한다.
여기서 솔라리스 8에 포함된 보안 기능들은 등급 C 에 제시된 기준을 만족시킨다. Trusted 솔라리스[2] 8은 썬 마이크로시스템즈에서 개별적으로 사용할 수 있는 솔라리스의 보다 안전한 버전으로 등급 B 에 서술된 기준을 만족한다. 필자는 솔라리스가 등급 A나 D 등급에 해당되지 않기 때문에 이 두 가지 등급(등급 B나 C)의 특징과 요구사항에 대해 자세히 다룰 것이다.

등급 C 의 핵심어는 "임의적(discretionary)"이라는데 있다. 이는 대다수의 기존 보호 장치들이 기본값에 의존하기 보다는 명시적으로 적용되어야 함을 의미한다. 등급 C 는 다음과 같이 두 종류로 나뉜다. C1 은 임의적 접근 보호를 제공하며, C2 는 통제되는 접근 보호를 요구한다. 이 둘의 차이는 인증을 살펴볼 때 명백하다. C1은 사용자 이름과 암호 인증을 제공하며, C2는 사용자 이름과 암호 인증을 요구한다. 이와 유사하게 C2 객체들에 대해서는 의무적인 반면 C1은 사용자와 그룹 기반의 공인을 위한 접근 제어 목록을 제공한다. 게다가 C2 시스템은 로깅과 감사 기능을 C1 시스템이 제공하는 것 이상으로 제공해야 한다. 정확하게 설정되었을 때, 솔라리스 8은 C2 등급에 지정된 특징을 제공하는 것으로 보인다.

Solaris 8 Administrator"s Guide
Trusted 솔라리스 8은 현재 B1 등급에 해당되는 것으로 평가받고 있으며 B1은 등급 B의 가장 약한 버전이다. 모든 등급 B는 등급 C 보다는 강하다. 표준 C2와 B1 시스템간 가장 중요한 차이점은 운영체제에 의해 관리되는 파일들, 프로세스들, 그리고 다른 객체들에 대한 안전 레이블링의 포함 여부이다. 이러한 레이블들은 "Top Secret", "Secret", "Confidential" 그리고 "Unclassified"를 포함한다. 정확한 허가 없이는 이러한 객체로의 접근이 불가능하다. 추가로, Trusted 솔라리스는 시스템 관리자와 안전 관리자의 역할을 분리함으로써, 보안 권한을 갖지 않은 시스템 관리자가 적절하게 레이블 된 자료에 접근할 수 없다. "최소한의 권한" 원칙은 모든 객체에 대한 접근에 적용되는데, 특정 리소스의 소유자는 다른 사용자들에게 명시적으로 접근을 승인해야 할 것이다. 보통의 솔라리스 시스템에서 root 사용자는 지역 파일시스템에 있는 모든 파일을 읽을 수 있다. 이 규칙에 대한 예외는 규칙-기반 접근 제어(RBAC:Role-Based Access Control)가 설치되고 root 사용자의 접근 권한을 줄이도록 설정되었을 경우이다.

실제로 보안 레이블이 어떻게 작동하는지 예를 살펴보자. 각각의 세션에서는 사용자가 로그인할 때 허가(clearance) 수준이 설정된다. 대신 필요하다면 같은 세션에 대해 여러 개의 허가 수준을 선택할 수 있다(서로 다른 허가 수준을 분리시키는 좋은 방법은 그것들을 개개의 CDE(Common Desktop Environment) 또는 작업공간에 연결시키는 것이다). 디렉토리는 다른 보안 수준을 가진 파일들을 저장할 수는 있지만 언제나 현재 허가 수준과 같거나 아래에 있는 것들만 보일 것이다. 예를 들어 디렉토리 /data 안에 세 개의 파일이 있다고 가정해보자. holiday.dat는 종업원들의 휴가 목록을 포함하고 있으며 등급이 "Classified"로 되어있다. budget.dat는 예산 처리의 집합을 포함하고 있으며 등급이 "Secret"으로 되어있다. 그리고 agents.dat는 비밀 요원 주소 목록을 포함하며 등급이 "Top Secret"로 되어있다. 세션 허가 수준이 "Unclassifed"로 되어있다면 /data 디렉토리 내용 목록을 보고자 할 때 다음과 같은 결과를 얻을 것이다.

$ ls /data
만약 세션 허가 수준이 "Classified"라면 /data 내용 목록을 보려고 할 때 다음과 같이 출력될 것이다.

$ ls /data
holiday.dat
만약 세션 허가 수준이 "Secret"라면 /data 내용 목록을 보려고 할 때 다음과 같이 출력될 것이다.

$ ls /data
holiday.dat	budget.dat
만약 허가 수준이 "Top Secret"라면 다음과 같이 출력될 것이다.

$ ls /data
holiday.dat	budget.dat	agents.dat
웹 서비스 공격을 방지하기 위해 Trusted 솔라리스가 어떻게 사용될 수 있는지를 잘 설명한 기사가 썬의 웹 사이트에 있다. 이 기사는 apache.com에서 웹 서버 해킹 공격으로부터 얻은 교훈을 설명했다.

이밖에도 NSA(National Security Agency)와 NIST(National Institute of Standards and Technology)가 TTAP(Trusted Technology Assessment Program)의 일부분으로 어떤 제품을 평가했는지 볼 수도 있다.

폴 와터스(Paul Watters)는 『Solaris 8 Administrator"s Guide』의 저자이다. 그가 박사학위 취득과정 중에 개발한 소프트웨어는 CGI를 이용해 인터넷에서 고성능 솔라리스 서버에서 동작한다.
[1] orange book
[2] Trusted Solaris(http://www.sun.com/software/solaris/trustedsolaris/) 참조


역자주 참고자료
TAG :
댓글 입력
자료실

최근 본 책0