Oracle Solaris Trusted Extensions 사용자 설명서

필수 액세스 제어

필수 액세스 제어(MAC)는 레이블 관계에 기반을 둔 시스템 강제 시행 액세스 제어 메커니즘입니다. 시스템은 프로그램을 실행하기 위해 만들어진 모든 프로세스에 민감도 레이블을 연결합니다. MAC 정책은 이 레이블을 사용하여 액세스 제어를 결정합니다. 일반적으로 프로세스는 대상 레이블이 프로세스 레이블과 같지 않는 한, 정보를 저장하거나 다른 프로세스와 통신할 수 없습니다. MAC 정책은 동일한 레이블의 객체 또는 하위 레이블의 객체에서 데이터를 읽을 수 있도록 프로세스를 허용합니다. 그러나 관리자는 하위 수준 객체가 거의 없거나 사용 가능한 하위 수준 객체가 없는 레이블이 지정된 환경을 만들 수 있습니다.

기본적으로 MAC 정책은 사용자가 볼 수 없습니다. 해당 객체에 대한 MAC 액세스 권한이 없는 한, 일반 사용자는 객체를 볼 수 없습니다. 모든 경우에 사용자는 MAC 정책과는 반대로 어떠한 작업도 수행할 수 없습니다.

민감도 레이블 및 클리어런스

레이블에는 다음과 같은 두 개의 구성 요소가 있습니다.

그림 1–3 일반적인 업계 민감도 레이블

도표에는 업계에서 정의된 일반적인 레이블과 클리어런스가 표시됩니다.

Trusted Extensions는 민감도 레이블클리어런스라는 두 개의 레이블 유형을 유지관리합니다. 사용자는 하나 이상의 민감도 레이블에서 작업을 지울 수 있습니다. 사용자 클리어런스라고 하는 특수 레이블은 사용자가 작업을 수행할 수 있도록 허용되는 최대 레이블을 결정합니다. 또한 각 사용자에게는 최소 민감도 레이블이 있습니다. 이 레이블은 기본적으로 다중 레벨 데스크탑 세션에 로그인하는 동안 사용됩니다. 로그인한 후 사용자는 이 범위 내의 다른 레이블에서 작업을 수행하도록 선택할 수 있습니다. 사용자는 최소 민감도 레이블로 Public을, 클리어런스로 Confidential: Need to Know를 할당할 수 있습니다. 첫 번째 로그인 시 데스크탑 작업 공간은 Public 레이블에 있습니다. 세션 중에 사용자는 Confidential: Internal Use OnlyConfidential: Need to Know에서 작업 공간을 만들 수 있습니다.

모든 주체 및 객체는 Trusted Extensions로 구성된 시스템에 레이블이 있습니다. 주체는 일반적으로 프로세스인 활성 엔티티입니다. 이 프로세스로 정보가 객체 간에 흐르거나, 시스템 상태가 변경될 수 있습니다. 객체는 데이터 파일, 디렉토리, 프린터, 또는 기타 장치 등의 데이터가 들어있거나 수신되는 수동적인 엔티티입니다. 경우에 따라 프로세스는 한 프로세스에서 kill 명령을 사용할 때와 같이 객체일 수 있습니다.

레이블은 화면에서 창 제목 표시줄과 특수 스트라이프인 신뢰할 수 있는 스트라이프에 표시될 수 있습니다. 그림 1–4에서는 Trusted CDE에서의 일반적인 다중 레벨 Trusted Extensions 세션을 보여 줍니다. 레이블과 신뢰할 수 있는 스트라이프가 지정됩니다.

그림 1–4 일반적인 Trusted CDE 세션

화면에는 창과 아이콘에 레이블이 표시되며, 신뢰할 수 있는 기호와 작업 공간 레이블이 있는 신뢰할 수 있는 스트라이프 및 Trusted Path(신뢰할 수 있는 경로) 메뉴가 표시됩니다.

그림 1–5에서는 Trusted JDS 시스템에서의 일반적인 다중 레벨 Trusted Extensions 세션을 보여 줍니다 . 신뢰할 수 있는 스트라이프가 맨 위에 표시됩니다. 신뢰할 수 있는 스트라이프에서 Trusted Path(신뢰할 수 있는 경로) 메뉴가 호출됩니다. 역할을 수락하려면 사용자 이름을 눌러 역할 메뉴를 호출합니다. 맨 아래 패널의 작업 공간 스위치에는 작업 공간 레이블의 색상이 표시됩니다. 맨 아래 패널의 창 목록에는 창 레이블의 색상이 표시됩니다.

그림 1–5 일반적인 Trusted JDS 세션

화면에는 창의 레이블, 신뢰할 수 있는 스트라이프, 신뢰할 수 있는 기호, Trusted Path(신뢰할 수 있는 경로) 메뉴, 현재 사용자, 작업 공간과 창 레이블 및 맨 아래쪽 스트라이프가 표시됩니다.

컨테이너 및 레이블

Trusted Extensions는 레이블을 지정하기 위해 컨테이너를 사용합니다. 컨테이너는 영역이라고도 합니다. 전역 영역은 관리 영역이므로 사용자가 사용할 수 없습니다. 비전역 영역을 레이블이 있는 영역이라고도 합니다. 사용자는 레이블이 지정된 영역을 사용합니다. 전역 영역은 일부 시스템 파일을 사용자와 공유합니다. 레이블이 지정된 영역에서 해당 파일을 볼 수 있는 경우, 이 파일의 레이블은 ADMIN_LOW입니다.

네트워크 통신은 레이블로 제한됩니다. 기본적으로 영역은 해당 레이블이 다르기 때문에 서로 통신할 수 없습니다. 따라서 한 영역은 다른 영역으로 쓸 수 없습니다.

그러나 관리자는 다른 영역에서 특정 디렉토리를 읽을 수 있도록 특정 영역을 구성할 수 있습니다. 다른 영역은 동일한 호스트 또는 원격 시스템에 있을 수 있습니다. 예를 들어 하위 수준 영역의 사용자 홈 디렉토리는 자동 마운트 서비스를 사용하여 마운트할 수 있습니다. 이러한 하위 수준의 홈 마운트에 대한 경로 이름 규약에는 다음과 같이 영역 이름이 포함됩니다.


/zone/name-of-lower-level-zone/home/username

다음 털미널 창에서는 하위 수준의 홈 디렉토리 표시를 보여 줍니다. 로그인 레이블이 Confidential: Internal Use Only인 사용자는 하위 수준의 영역을 읽을 수 있도록 자동 마운트 서비스를 구성할 때 Public 영역의 내용을 볼 수 있습니다. textfileInfo.txt 파일에는 두 개의 버전이 있습니다. Public 영역 버전에는 공개적으로 공유할 수 있는 정보가 포함되어 있습니다. Confidential: Internal Use Only 버전에는 회사 내에서만 공유할 수 있는 정보가 포함되어 있습니다.

그림 1–6 상위 레이블 영역에서 공개 정보 보기

그림은 내부용으로만 사용하는 영역에서 볼 수 있는 공개 영역의 내용을 보여 줍니다.

레이블 및 트랜잭션

Trusted Extensions 소프트웨어는 시도된 모든 보안 관련 트랜잭션을 관리합니다. 소프트웨어는 주체의 레이블을 객체의 레이블과 비교한 다음 지배하는 레이블에 따라 트랜잭션을 허용하거나 허용하지 않습니다. 엔티티의 레이블이 다음과 같은 두 조건을 충족하는 경우 다른 엔티티의 레이블을 지배한다고 합니다.

두 개의 레이블은 레이블에 동일한 분류와 구획 집합이 있을 경우 동일하다고 말합니다. 레이블이 같을 경우 레이블은 서로 지배합니다. 따라서 액세스가 허용됩니다.

다음 조건 중 하나가 충족되는 경우 첫 번째 레이블은 두 번째 레이블을 엄격하게 지배한다고 합니다.

두 번째 레이블을 엄격하게 지배하는 레이블은 두 번째 레이블에 대한 액세스가 허용됩니다.

어떤 레이블도 다른 레이블을 지배하지 않는 경우 두 레이블은 분리되었다고 합니다. 분리된 레이블 간의 액세스는 허용되지 않습니다.

예를 들어 다음과 같은 그림을 생각할 수 있습니다.

그림은 가능한 구획 2개(A와 B)가 있는 일급 비밀 분류를 보여 줍니다.

네 개의 레이블은 다음 구성 요소에서 만들 수 있습니다.

TOP SECRET AB는 자체를 지배하며 다른 레이블을 엄격하게 지배합니다. TOP SECRET A는 자체를 지배하며 TOP SECRET를 엄격하게 지배합니다. TOP SECRET B는 자체를 지배하며 TOP SECRET를 엄격하게 지배합니다. TOP SECRET ATOP SECRET B는 분리됩니다.

읽기 트랜잭션에서 주체의 레이블은 객체의 레이블을 지배해야 합니다. 이 규칙은 주체의 신뢰 수준이 객체에 대한 액세스 요구 사항을 충족시킵니다. 즉, 주체의 레이블에는 객체에 대한 액세스를 허용하는 모든 구획이 포함되어 있습니다. TOP SECRET ATOP SECRET ATOP SECRET 데이터를 읽을 수 있습니다. 마찬가지로 TOP SECRET BTOP SECRET BTOP SECRET 데이터를 읽을 수 있습니다. TOP SECRET ATOP SECRET B 데이터를 읽을 수 없습니다. 또한 TOP SECRET BTOP SECRET A 데이터를 읽을 수 없습니다. TOP SECRET AB는 모든 레이블에서 데이터를 읽을 수 있습니다.

즉, 쓰기 트랜잭션에서 주체가 객체를 만들거나 수정하면 그 결과 나타나는 객체의 레이블이 있는 영역은 주체의 레이블이 있는 영역과 같아야 합니다. 한 영역에서 다른 영역으로의 쓰기 트랜잭션은 허용되지 않습니다.

실제로, 읽기 및 쓰기 트랜잭션의 주체와 객체는 보통 동일한 레이블을 가지며 엄격하게 지배할 필요가 없습니다. 예를 들어 TOP SECRET A 주체는 TOP SECRET A 객체를 만들거나 수정할 수 있습니다. Trusted Extensions에서 TOP SECRET A 객체는 TOP SECRET A라는 레이블이 있는 영역에 있습니다.

다음 표는 미국 정부 레이블과 업계 레이블 집합 간의 지배 관계를 보여 줍니다.

표 1–1 Trusted Extensions의 레이블 관계 예
 

레이블 1 

관계 

레이블 2 

미국 정부 레이블 

TOP SECRET AB

(엄격한) 지배 

SECRET A

TOP SECRET AB

(엄격한) 지배 

SECRET A B

 

TOP SECRET AB

(엄격한) 지배 

TOP SECRET A

 

TOP SECRET AB

지배(동등) 

TOP SECRET AB

 

TOP SECRET AB

분리 

TOP SECRET C

 

TOP SECRET AB

분리 

SECRET C

 

TOP SECRET AB

분리 

SECRET A B C

업계 레이블 

Confidential: Restricted

지배 

Confidential: Need to Know

 

Confidential: Restricted

지배 

Confidential: Internal Use Only

 

Confidential: Restricted

지배 

Public

 

Confidential: Need to Know

지배 

Confidential: Internal Use Only

 

Confidential: Need to Know

지배 

Public

 

Confidential: Internal

지배 

Public

 

Sandbox

분리 

모든 기타 레이블 

다른 레이블과 파일 간에 정보를 전송할 때 Trusted Extensions는 파일의 레이블을 변경할 권한이 있는지 여부를 확인 대화 상자에 표시합니다. 변경할 권한이 없는 경우 Trusted Extensions는 트랜잭션을 허용하지 않습니다. 보안 관리자는 사용자에게 정보를 업그레이드하거나 다운그레이드할 수 있는 권한을 부여할 수 있습니다. 자세한 내용은 신뢰할 수 있는 작업 수행을 참조하십시오.