권한 시스템 모델링


답변:


156

보안 모델은 광범위하고 개방 된 연구 분야입니다. 다음과 같은 간단한 것부터 선택할 수있는 다양한 모델이 있습니다.

  • Lampson의 액세스 제어 매트릭스 는 보안 주체가 해당 개체에 대해 수행 할 수있는 작업과 함께 시스템의 모든 도메인 개체 및 모든 주체를 나열합니다. 매우 장황하고 실제로 이런 방식으로 구현되면 메모리 집약적입니다.

  • 액세스 제어 목록 은 Lampson 매트릭스의 단순화입니다. 객체와 주체 및 허용 된 작업을 나열하고 Lampson 매트릭스의 모든 "null"항목을 인코딩하지 않는 희소 매트릭스 구현과 유사한 것으로 간주합니다. 액세스 제어 목록에는 편의상 '그룹'이 포함될 수 있으며, 목록은 객체 또는 주체를 통해 (때때로 AppArmor 또는 TOMOYO 또는 LIDS 에서와 같이 프로그램을 통해) 저장 될 수 있습니다 .

  • 기능 시스템 은 객체에 대한 참조 또는 포인터를 갖는 아이디어를 기반으로합니다. 프로세스는 초기 기능 세트에 액세스 할 수 있으며 시스템의 다른 오브젝트에서 수신해야만 더 많은 기능을 얻을 수 있습니다. 이것은 상당히 멀리 들리지만 유닉스 파일 디스크립터를 생각해보십시오. 이것은 특정 열린 파일에 대한 위조 할 수없는 참조이며 파일 디스크립터는 다른 프로세스로 넘겨 질 수 있습니다. 설명자를 다른 프로세스에 제공하면 해당 파일에 액세스 할 수 있습니다. 전체 운영 체제는이 아이디어를 중심으로 작성되었습니다. (가장 유명한 것은 아마도 KeyKOS와 EROS이지만 이것이 논쟁의 여지가있는 점이라고 확신합니다. :)

... 객체와 보안 주체에 할당 된 보안 레이블이있는 더 복잡합니다.

  • 보안 링 (예 : Multics 및 x86 CPU에서 구현 됨)은 보안 트랩 또는 게이트를 제공하여 프로세스가 링간에 전환 할 수 있도록합니다. 각 링에는 서로 다른 권한 및 개체 집합이 있습니다.

  • Denning의 Lattice 는 보안 주체가 매우 계층 적 방식으로 어떤 보안 레이블과 상호 작용할 수 있는지에 대한 모델입니다.

  • Bell-LaPadula 는 Denning의 Lattice와 유사하며, 극비 데이터가 분류되지 않은 수준으로 유출되는 것을 방지하는 규칙을 제공하고 공통 확장은 군사 스타일의 '알아야 할 필요'지원을 더 잘 제공하기 위해 추가 구획화 및 분류를 제공합니다.

  • 비바 모델 벨 LaPadula 유사하지만, '머리에 설정'- 벨 LaPadula이 기밀에 초점을 맞추고 있지만, 무결성을 위해 아무것도하지 않으며, 비바는 무결성에 초점을 맞추고 있지만, 비밀 위해 아무것도하지 않습니다. (Bell-LaPadula는 누군가가 The List Of All Spies를 읽지 못하도록 막지 만, 누구든 기꺼이 쓸 수 있도록 허용합니다. Biba는 기꺼이 모든 사람이 The List Of All Spies를 읽을 수 있도록 허용하지만 거의 모든 사람이이 목록에 쓰는 것을 금지합니다.)

  • Type Enforcement (및 그 형제 인 Domain Type Enforcement)는 주체 및 개체에 대한 레이블을 제공하고 허용되는 object-verb-subject (class) 테이블을 지정합니다. 이것은 친숙한 SELinux와 SMACK입니다.

.. 시간의 흐름을 포함하는 몇 가지가 있습니다.

  • Chinese Wall 은 비즈니스 환경에서 특정 시장에서 경쟁사에게 서비스를 제공하는 조직 내 직원을 분리하기 위해 개발되었습니다. 예를 들어 Johnson이 Exxon-Mobil 계정에서 작업을 시작하면 BP 계정에 액세스 할 수 없습니다. Johnson이 먼저 BP 작업을 시작했다면 Exxon-Mobil의 데이터에 대한 액세스가 거부 될 것입니다.

  • LOMAChigh-watermark 는 두 가지 동적 접근 방식입니다. LOMAC는 점진적으로 더 높은 수준의 데이터에 액세스 할 때 프로세스의 권한을 수정하고 더 낮은 수준에 대한 쓰기를 금지하며 (프로세스는 "최상위 보안"으로 마이그레이션), high-watermark는 레이블을 수정합니다. 상위 수준의 프로세스가 데이터에 액세스 할 때 데이터가 액세스됩니다 (데이터는 "최상위 보안"으로 마이그레이션 됨).

  • Clark-Wilson 모델은 매우 개방적입니다. 모든 상태 전환이 불변을 위반하지 않도록하는 불변 및 규칙이 포함됩니다. (이는 이중 입력 회계 처럼 간단 하거나 HIPPA 만큼 복잡 할 수 있습니다 .) 데이터베이스 트랜잭션과 제약을 생각하십시오.

게시 된 모델에 대해 더 자세히 알고 싶다면 Matt Bishop의 "컴퓨터 보안 : 예술과 과학"을 읽을 가치가 있습니다.


7
훌륭한 대답입니다. 흥미로운 읽기. 이 지나치게 단순하지만 드물지 않은 시스템이 목록에서 어디에 적합한 지 궁금합니다. "기본적으로 게스트는 레벨 0, 등록 된 사용자는 레벨 5, 시스템 관리자는 레벨 9가 있습니다. 모든 작업에는 관련된 레벨이 있습니다. 그 수준 이상의 사람 만 수행 할 수 있습니다. "
Oddthinking 2010

1
@Oddthinking, 그 간단한 모델은 여러 개일 수 있지만 가장 간단한 '일치'는 링 모델입니다. x86에서 구현 된 것처럼 여기에는 예제에서와 같이 4 가지 수준이 있으며 각 수준은 해당 코드 수준 이상에서만 수행 할 수있는 작업을 추가합니다. (당신의 이름은 직교 문제입니다.)이 예제의 ACL, Capability, Lattice, BLP 및 TE 구현도 쉽게 상상할 수 있습니다. 다른 사람들도이 모델을 구현할 수 있다면 놀라지 않을 것입니다. 그러나 단순함은 좋은 미덕입니다. :)
sarnold

@Frank, 감사합니다! 내 철자가 끔찍합니다. 캐치 감사합니다.
sarnold


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.