필수 접근 제어
Mandatory access control컴퓨터 보안에서 필수 접근통제(MAC)는 운영체제 또는 데이터베이스가 객체 또는 [1]타깃에 대한 접근 또는 일반적인 조작을 수행하는 주체 또는 이니시에이터의 능력을 제한하는 접근통제 유형을 말합니다.operating system의 경우, 일반적으로 서브젝트는 프로세스 또는 스레드입니다.오브젝트는 파일, 디렉토리, TCP/UDP 포트, 공유 메모리 세그먼트, IO 디바이스 등의 구성입니다.서브젝트 및 오브젝트에는 각각 보안 속성 세트가 있습니다.서브젝트가 오브젝트에 접근을 시도할 때마다 운영체제커널에 의해 적용되는 인가규칙에 의해 이들 보안속성이 검사되어 접근이 가능한지 여부가 결정됩니다.오브젝트상의 임의의 서브젝트에 의한 조작은 허가 규칙(일명 정책)의 세트에 근거해 테스트되어 조작이 허가되고 있는지를 판단합니다.데이터베이스 관리 시스템은 액세스 제어 메커니즘에서 필수 액세스 제어를 적용할 수도 있습니다.이 경우 오브젝트는 테이블, 뷰, 프로시저 등입니다.
필수 액세스 제어를 사용하면 보안 정책 관리자가 이 보안 정책을 중앙에서 제어합니다. 사용자는 정책을 재정의하거나 제한되는 파일에 대한 액세스 권한을 부여할 수 없습니다.이와는 대조적으로 오브젝트에 대한 서브젝트의 접근 능력도 관리하는 Defactional Access Control(DAC; 자유재량 접근컨트롤)을 사용하면 사용자가 정책을 결정하거나 보안 속성을 할당할 수 있습니다.(사용자, 그룹 및 읽기/쓰기 실행 권한의 기존 Unix 시스템은 DAC의 예입니다).MAC 대응 시스템에서는 정책 관리자가 조직 전체의 보안 정책을 구현할 수 있습니다.MAC(및 DAC와 달리)에서는 사용자는 우발적으로든 고의적으로든 이 정책을 덮어쓰거나 변경할 수 없습니다.이를 통해 보안 관리자는 (원칙적으로) 모든 사용자에게 적용되는 중앙 정책을 정의할 수 있습니다.
역사적으로나 전통적으로 MAC는 Multilevel Security(MLS; 멀티레벨 보안) 및 특수 군사 시스템과 밀접하게 관련되어 있었습니다.이 맥락에서 MAC는 MLS 시스템의 제약을 충족하기 위한 고도의 엄격함을 의미합니다.그러나 최근에는 MAC가 MLS 틈새시장을 벗어나 주류로 변모하기 시작했습니다.SELinux 및 AppArmor for Linux 및 Mandatory Integrity Control for Windows와 같은 최신 MAC 구현을 통해 관리자는 MLS의 엄격함이나 제약 없이 네트워크 공격 및 멀웨어와 같은 문제에 집중할 수 있습니다.
다단계 보안의 역사적 배경과 시사점
지금까지 MAC는 미국의 기밀정보를 보호하기 위한 수단으로서 Multilevel Security(MLS; 멀티레벨보안)와 강하게 관련되어 있었습니다.이 주제에 관한 중요한 연구인 Trusted Computer System Evaluation Criteria(TCSEC)는 MAC의 원래 정의를 "개체에 포함된 정보의 민감도(라벨로 표시됨)와 피험자의 정보에 대한 공식적인 허가(즉, 허가)에 근거하여 개체에 대한 접근을 제한하는 수단"으로 제공하였다.이온을 검출할 [2]수 있다.Honeywell의 SCOMP, USAF SACDIN, NSA Blacker 및 Boeing의 MLS LAN과 같은 MAC의 초기 구현은 MLS에 초점을 맞추어 강력한 시행으로 군사 지향 보안 분류 수준을 보호했습니다.
MAC에서 필수라는 용어는 군사 시스템에서의 사용에서 파생된 특별한 의미를 획득했습니다.이 맥락에서 MAC는 제어 메커니즘이 어떤 유형의 전복에도 저항할 수 있음을 보증하는 매우 높은 수준의 견고성을 의미하며, 따라서 미국 기밀 정보에 대해 행정명령 12958 등 정부의 명령에 따라 요구되는 접근컨트롤을 실시할 수 있게 됩니다.상업용 애플리케이션보다 집행이 더 필수적입니다.이로 인해 best effort 메커니즘에 의한 강제 실행은 금지됩니다.MAC에서는 절대 또는 거의 절대적인 명령 실행을 제공할 수 있는 메커니즘만 허용됩니다.이것은 무리한 요구이며, 때로는 높은 보증 전략에 익숙하지 않은 사람들에 의해 비현실적이라고 생각되며, 그러한 사람들에게는 매우 어렵다.
힘
도
일부 시스템에서는 사용자가 다른 사용자에게 액세스 권한을 부여할지 여부를 결정할 권한이 있습니다.이를 허용하기 위해 모든 사용자는 모든 데이터에 대한 클리어 권한을 가집니다.이것은 MLS 시스템에 반드시 해당하는 것은 아닙니다.시스템 환경 내의 데이터에 대한 접근이 거부될 수 있는 개인 또는 프로세스가 존재할 경우 MAC를 적용하기 위해 시스템을 신뢰할 수 있어야 합니다.다양한 수준의 데이터 분류와 사용자 클리어런스가 있을 수 있기 때문에 이는 견고성을 위한 정량화된 규모를 의미합니다.예를 들어 기밀 정보 및 기밀 사용자를 포함하는 시스템 환경에서는 기밀 정보를 가진 사용자 및 최소한 기밀 정보로 클리어된 사용자보다 더 강력한 것으로 나타납니다.일관성을 촉진하고 건전성 수준의 주관성을 제거하기 위해 토픽에 대한 광범위한 과학적 분석과 리스크 평가를 통해 시스템의 보안 건전성 능력을 수량화하고 다양한 보안 환경에 보장된 신뢰도에 매핑하는 획기적인 벤치마크 표준화가 도출되었습니다.결과는 CSC-STD-004-85에 [3]문서화되어 있습니다.비교적 독립적인 두 가지 견고성 구성요소가 정의되었다.어슈어런스 레벨과 기능.둘 다 이러한 기준에 기초한 인증에 상당한 신뢰성이 보장되는 정밀도로 명시되었습니다.
평가하기
공통[4] 기준은 이 과학에 기초하고 있으며, 보증 수준을 EAL 수준으로, 기능 사양을 보호 프로파일로 보존하는 것을 목적으로 하고 있습니다.객관적 건전성 벤치마크의 두 가지 필수 구성요소 중 EAL 수준만 충실하게 보존되었다.하나의 예에서는 TCSEC 레벨[5] C2(MAC 대응 카테고리가 아님)가 Controlled Access Protection Profile(CAPP)[6]로서 Common Criteria에 충실하게 보존되어 있었습니다.Multilevel Security(MLS; 멀티레벨보안) 보호 프로파일(B2와 [7]유사한 MLSOSPP 등)은 B2보다 일반적입니다.MLS에 준거하고 있지만, Orange Book의 전임자의 상세한 실장 요건이 결여되어 있어 목표에 중점을 두고 있습니다.이를 통해 인증자는 평가된 제품의 기술적 기능이 목표를 적절하게 달성하는지 여부를 보다 주관적으로 판단할 수 있으며, 평가된 제품의 일관성이 저하될 수 있으며 신뢰성이 낮은 제품에 대한 인증을 쉽게 획득할 수 있습니다.이러한 이유로 보호 프로필의 기술 세부 정보가 제품의 적합성을 확인하는 데 중요합니다.
이러한 아키텍처는 특정 분류 또는 신뢰수준의 인증된 사용자 또는 프로세스가 다른 수준의 정보, 프로세스 또는 디바이스에 액세스하는 것을 방지합니다.이것에 의해, 유저와 프로세스의 격납 메카니즘(예를 들면, 미지의 프로그램(예를 들면, 미지의 프로그램)은, 시스템이 디바이스나 파일에의 액세스를 감시하거나 제어하는 신뢰할 수 없는 애플리케이션으로 구성되는 경우가 있습니다).
실장
![]() | 이 기사는 목록 형식이지만 산문으로 읽는 것이 더 나을 것이다.(2018년 1월) |
![]() |
Unisys의 Blacker 프로젝트와 같은 일부 MAC 구현은 지난 1000년 후반에 Top Secret과 Unclassified를 분리할 수 있을 정도로 견고하다고 인증되었습니다.그 기반이 되는 테크놀로지는 구식이 되어, 갱신되지 않았습니다.현재 TCSEC에 의해 그 수준의 견고한 구현에 대해 인증된 구현은 없습니다.그러나 일부 덜 견고한 제품이 존재합니다.
- Amon Ott의 RSBAC(Rule Set Based Access Control)는 Linux 커널용 프레임워크를 제공하여 여러 가지 보안 정책/의사결정 모듈을 허용합니다.구현된 모델 중 하나가 필수 액세스 제어 모델입니다.RSBAC 설계의 일반적인 목표는 오렌지북(TCSEC) B1 레벨에 도달하는 것이었습니다.RSBAC에서 사용되는 필수 접근컨트롤 모델은 Unix System V/MLS 버전 1.2.1(1989년 미국 국립컴퓨터보안센터에 의해 분류 B1/TCSEC로 개발됨)과 거의 동일합니다.RSBAC에는 스톡 커널에 대한 패치 세트가 필요하며 프로젝트 소유자가 이를 상당히 잘 관리합니다.
- SELinux라는 이름의 NSA 연구 프로젝트는 Linux 커널에 필수 액세스 제어 아키텍처를 추가하였고, 2003년 8월에 Linux 메인라인 버전으로 통합되었습니다.LSM(Linux Security Modules interface)이라는 Linux 2.6 커널 기능을 사용합니다.Red Hat Enterprise Linux 버전 4(및 그 이후 버전)에는 SELinux 지원 커널이 포함되어 있습니다.SELinux는 시스템 내의 모든 프로세스를 제한할 수 있지만 RHEL의 기본 대상 정책은 가장 취약한 프로그램을 다른 모든 프로그램이 실행되는 미정의 도메인에서 제한합니다.RHEL 5에는 최소 특권을 구현하려는 strict와 MLS 라벨을 기반으로 추가되는 MLS라는 다른2개의 바이너리정책 타입이 출하됩니다.RHEL 5에는 MLS 확장 기능이 추가되어 [8]2007년6월에 2개의 LSPP/RBACPP/CAPP/EAL4+ 인증을 취득했습니다.
- TOMOYO Linux는 NTT Data Corporation이 개발한 Linux 및 Embedded Linux용 경량 MAC 구현입니다.2009년 [9]6월에 Linux 커널 메인라인 버전 2.6.30으로 통합되었습니다.TOMOYO Linux는 SELinux에서 사용되는 라벨 기반 접근 방식과 달리 경로 이름 기반 필수 액세스 제어를 수행하여 시스템 동작을 설명하는 프로세스 호출 이력에 따라 보안 도메인을 분리합니다.정책은 경로 이름으로 설명됩니다.보안 도메인은 단순히 프로세스콜 체인으로 정의되며 문자열로 나타납니다.4가지 모드가 있습니다.비활성화,학습,허용,강제입니다.관리자는 도메인마다 다른 모드를 할당할 수 있습니다.TOMOYO Linux는 커널에서 발생한 액세스를 자동으로 분석 및 저장하여 MAC 정책을 생성하는 "학습" 모드를 도입했습니다.이 모드는 정책 작성의 첫 번째 단계가 될 수 있으므로 나중에 쉽게 커스터마이즈할 수 있습니다.
- SUSE Linux 및 Ubuntu 7.10은 AppArmor라는 MAC 구현을 추가했습니다.AppArmor는 LSM(Linux Security Modules 인터페이스)이라는 Linux 2.6 커널 기능을 사용합니다.LSM은 커널 코드 모듈이 ACL(DACL, 액세스컨트롤 리스트)을 제어할 수 있도록 하는 커널 API를 제공합니다.AppArmor는 일부 프로그램을 제한할 수 없으며 버전 2.6.[10]36 이후 Linux 커널에 선택적으로 포함되어 있습니다.
- Linux를 비롯한 많은 Unix 디스트리뷰션에는 CPU(멀티링), 디스크 및 메모리용 MAC가 포함되어 있습니다.OS 소프트웨어는 특권을 잘 관리하지 못할 수 있지만 Linux는 1990년대에 Unix 이외의 디스트리뷰션보다 훨씬 안전하고 안정성이 뛰어난 것으로 유명해졌습니다.Linux 디스트리뷰터에서는 일부 디바이스에서는 MAC를 DAC로 사용할 수 없습니다.단, 이는 오늘날 이용 가능한 모든 가전제품에 해당됩니다.
- grsecurity는 MAC 구현을 제공하는 Linux 커널용 패치입니다(정확히 RBAC 구현입니다).grsecurity는 LSM [11]API를 통해 구현되지 않습니다.
- Microsoft Windows Vista 및 Server 2008 이후 Windows 에는 로그인 세션에서 실행되는 프로세스에 무결성 수준(IL)을 추가하는 필수 무결성 제어 기능이 포함되어 있습니다.MIC 에서는, 같은 유저 어카운트로 동작하고 있어 신뢰성이 낮은 애플리케이션의 액세스 권한이 제한됩니다.5가지 무결성 레벨이 정의되어 있습니다.낮음, 중간, 높음, 시스템 및 신뢰할 수 있는 [12]설치 프로그램.일반 사용자가 시작한 프로세스는 중간 IL을 얻습니다.높은 프로세스는 높은 [13]IL을 가집니다.프로세스는 프로세스를 생성한 프로세스의 무결성 수준을 상속하지만 무결성 수준은 프로세스별로 커스터마이즈할 수 있습니다.예를 들어 IE7 및 다운로드된 실행 파일은 Low IL로 실행됩니다.Windows는 IL을 기반으로 개체에 대한 액세스를 제어하고 사용자 인터페이스 권한 분리를 통해 창 메시지의 경계를 정의합니다.파일, 레지스트리 키 또는 기타 프로세스 및 스레드 등의 이름 있는 오브젝트는 ACL에 오브젝트를 사용할 수 있는 프로세스의 최소 IL을 정의하는 액세스를 관리하는 엔트리가 있습니다.MIC에서는 IL이 오브젝트의 IL과 같거나 그 이상인 경우에만 프로세스가 오브젝트에 쓰거나 삭제할 수 있도록 합니다.게다가 메모리내의 기밀 데이터에의 액세스를 막기 위해서, 프로세스는 읽기 [14]액세스를 위해서 IL이 높은 프로세스를 열 수 없습니다.
- FreeBSD는 TrustedB의 일부로 구현된 필수 액세스 제어를 지원합니다.SD 프로젝트FreeBSD 5.0에서 도입되었습니다.FreeBSD 7.2 이후 MAC 지원은 기본적으로 이니블로 되어 있습니다.프레임워크는 확장 가능하며 다양한 MAC 모듈은 Biba 및 멀티레벨 보안 등의 정책을 구현합니다.
- Sun의 Trusted Solaris는 필수 시스템 강제 액세스 제어 메커니즘(MAC)을 사용합니다.MAC에서는 클리어와 라벨을 사용하여 보안 정책을 적용합니다.단, 라벨을 관리하는 기능이 다단계 보안 모드에서[citation needed] 동작하는 커널 강도를 의미하는 것은 아닙니다.라벨 및 제어 메커니즘에 대한 액세스는 커널에 의해 유지되는 보호된 도메인의 손상으로부터 확실하게 보호되지 않습니다[citation needed].사용자가 실행하는 애플리케이션은 사용자가 세션에서 작업하는 보안 라벨과 결합됩니다.정보, 프로그램 및 장치에 대한 접근은 약하게[citation needed] 제어될 뿐입니다.
- Apple의 Mac OS X MAC 프레임워크는 TrustedB를 구현한 것입니다.SD MAC [15]프레임워크명령줄 함수 sandbox_init에 의해 제한된 고급 샌드박스 인터페이스가 제공됩니다.자세한 내용은 [16]sandbox_init 매뉴얼페이지를 참조해 주세요.
- Oracle Label Security는 Oracle DBMS에서 필수 액세스 제어를 구현한 것입니다.
- SE포스트SQL은 2008년 1월 [17][18]27일 현재 진행 중이며 SE-Linux로의 통합을 제공합니다.행 레벨의 제한과 함께 버전 8.4로의 통합을 목표로 하고 있습니다.
- Trusted RUBIX는 SE-Linux와 완전히 통합되어 모든 [19]데이터베이스 개체에 대한 액세스를 제한하는 DBMS를 강제하는 필수 액세스 제어입니다.
- 러시아 육군용으로 개발된 Astra Linux OS는 자체 의무 접근통제 [20]기능이 있다.
- Smack(Simplified Mandatory Access Control Kernel)은 일련의 사용자 지정 필수 액세스 제어 규칙을 사용하여 데이터와 프로세스의 상호작용을 악의적인 조작으로부터 보호하는 Linux 커널 보안 모듈이며, 설계 목표는 [21]단순함입니다.Linux 2.6.25 [22]출시 이후 공식적으로 병합되었습니다.
- Peter Gabor Gyulay가 작성한 ZeroMAC은 Linux LSM 커널 [23]패치입니다.
「 」를 참조해 주세요.
- Bell-LaPadula 모델
- 액세스 컨트롤 리스트
- Attribute-based Access Control(ABAC; 속성 기반 접근컨트롤)
- Context-Based Access Control(CBAC; 컨텍스트 기반 접근컨트롤)
- 임의 접근 제어(DAC)
- 격자 기반 액세스 제어(LBAC)
- 조직 기반 접근 제어(OrBAC)
- Role-Based Access Control(RBAC; 롤베이스 액세스컨트롤)
- 규칙 집합 기반 액세스 제어(RSBAC)
- 기능 기반 보안
- 위치 기반 인증
- 리스크 기반 인증
- 클라크-윌슨 모형
- 기밀 정보
- 그레이엄-데닝 모형
- 필수 무결성 제어
- 복수 싱글 레벨
- 보안 모드
- 스맥(소프트웨어)
- 시스템
- 테이크 그랜트 보호 모델
- 유형 적용
각주
- ^ Belim, S. V.; Belim, S. Yu. (December 2018). "Implementation of Mandatory Access Control in Distributed Systems". Automatic Control and Computer Sciences. 52 (8): 1124–1126. doi:10.3103/S0146411618080357. ISSN 0146-4116.
- ^ http://csrc.nist.gov/publications/history/dod85.pdf[베어 URL PDF]
- ^ "Technical Rational Behind CSC-STD-003-85: Computer Security Requirements". 1985-06-25. Archived from the original on July 15, 2007. Retrieved 2008-03-15.
- ^ "The Common Criteria Portal". Archived from the original on 2006-07-18. Retrieved 2008-03-15.
- ^ US Department of Defense (December 1985). "DoD 5200.28-STD: Trusted Computer System Evaluation Criteria". Retrieved 2008-03-15.
- ^ "Controlled Access Protection Profile, Version 1.d". National Security Agency. 1999-10-08. Archived from the original on 2012-02-07. Retrieved 2008-03-15.
- ^ "Protection Profile for Multi-Level Operating Systems in Environments Requiring Medium Robustness, Version 1.22" (PDF). National Security Agency. 2001-05-23. Retrieved 2018-10-06.
- ^ National Information Assurance Partnership. "The Common Criteria Evaluation and Validation Scheme Validated Products List". Archived from the original on 2008-03-14. Retrieved 2008-03-15.
- ^ "TOMOYO Linux, an alternative Mandatory Access Control". Linux 2 6 30. Linux Kernel Newbies.
- ^ "Linux 2.6.36 released 20 October 2010". Linux 2.6.36. Linux Kernel Newbies.
- ^ "Why doesn't grsecurity use LSM?".
- ^ Matthew Conover. "Analysis of the Windows Vista Security Model". Symantec Corporation. Archived from the original on 2008-03-25. Retrieved 2007-10-08.
- ^ Steve Riley. "Mandatory Integrity Control in Windows Vista". Retrieved 2007-10-08.
- ^ Mark Russinovich. "PsExec, User Account Control and Security Boundaries". Retrieved 2007-10-08.
- ^ TrustedBSD Project. "TrustedBSD Mandatory Access Control (MAC) Framework". Retrieved 2008-03-15.
- ^ "sandbox_init(3) man page". 2007-07-07. Retrieved 2008-03-15.
- ^ "SEPostgreSQL-patch".
- ^ "Security Enhanced PostgreSQL".
- ^ "Trusted RUBIX". Archived from the original on 2008-11-21. Retrieved 2020-03-23.
- ^ (러시아어) Astra Linux Special Edition 은 Archive 2014-07 Way 에서 Archived 2014-07 Way Machine 으로 아카이브 완료
- ^ "Official SMACK documentation from the Linux source tree". Archived from the original on 2013-05-01.
- ^ Jonathan Corbet. "More stuff for 2.6.25". Archived from the original on 2012-11-02.
- ^ "zeromac.uk".
레퍼런스
- P. A. 로스코코, S. D. 스몰리, P. A. 무켈바우어, R. C.Taylor, S. J. Turner, J. F. F. Farrell.실패의 필연성: 현대 컴퓨팅 환경에서 보안에 관한 결함이 있는 가정.제21회 국가정보시스템보안회의의 속행(Presidings of the 21 National Information Systems Security Conference), 303~314쪽, 1998년 10월.
- P. A. Loscoco, S. D. Smalley, 2001 Ottawa Linux 심포지엄의 보안 강화 Linux Proceedings를 통한 중요한 보안 목표 충족
- ISO/IEC DIS 10181-3, 정보기술, OSI 보안 모델, 보안 FrameWorks, Part 3: 접근통제, 1993
- 로버트 N. M. 왓슨"10년간의 OS 액세스 제어 확장성"커뮤니케이션.ACM 56, 2(2013년 2월), 52~63.
외부 링크
- Weblog는 가상화를 사용하여 필수 액세스 제어를 구현하는 방법에 대해 게재하고 있습니다.
- Microsoft 사원이 작성한 웹 로그 투고.MAC 구현과의 차이점 및 필수 무결성 제어에 대해 자세히 설명합니다.
- GWV 형식 보안 정책 모델A 분리 커널 형식 보안 정책, David Greve, Matthew Wilding 및 W. Mark Vanfleet.