출처: http://blog.daum.net/network_goshen60/6278682

 

임의 엑세스 제어(DACL)과 시스템 엑세스 제어(SACL), 통칭 ACL은 Security Descriptor에 포함되는 요소이다.

Security Descriptor는 가변 길이의 이진데이터 구조를 가지고 있고. ACL은 개체에 적용할 수 있는 보안 보호, 일련의 개체 등록 정보, 개체의 개별적인 등록 정보를 정의하는 액세스 제어 항목(ACE)의 정렬된 목록이다.

 

Security Descriptor의 데이터 구조

 

- Header : 헤더 필드에는 수정 횟수와 메모리 레이아웃, 표시될 요소, 특정 요소가 추가되거나 수정되는 방법 등 보안 설명자의 특성을

   설명하는 일련의 제어 플래그가 포함된다.

- Owner : 소유자 필드에는 개체 소유자의 SID가 포함된다. 개체의 소유자는 사용 권한을 수정하고 다른 사용자에게 소유권을 허가할

   수 있다

- Group SID(Primary Group) : 주 그룹 필드에는 소유자의 주 그룹 SID가 포함된다. 이정보는 Macintosh 서비스와 POSIX 하위

  시스템에 의해 사용된다.

- DACL : DACL은 액세스가 허가되거나 거부된 사용자와 허가되거나 거부된 엑세스 수준을 식별하는 0개 이상의 ACE 목록이다.

- SACL : SACL은 개체 엑세스를 감사하는 방법을 제어한다. 감사된 작업은 보안 로그에 이벤트가 기록된다.

 

 DACL의 ACE(Access Control Entity) 데이터 구조

 

액세스 제어 항목(ACE) : 보안 사용자가 개체에 수행할 수 있는 작업 또는 SACL에 있는 경우 어떤 작업을 감사할 것인지를 결정

 

DACL의 ACE

- 특정 사용자나 보안 그룹을 지정하는 SID

- ACE의 액세스 허용 여부를 지정하는 헤더

- 허가되거나 거부된 작업을 나열하는 액세스 마스크

- 하위 개체가 ACE를 상속할 수 있는지를 결정하는 일련의 비트 플래그

- 상속 플래그 : ACE 헤더에 위치, 상되되는 방법과 이를 상속한 하위 개체에 주는 영향을 제어

- ACE 유형을 나타내는 플래그

 

 

ACE의 유형

- Access denined : DACL에서 액세스를 거부하는데 사용

- Access Allowed : DACL에서 액세스를 허용하는데 사용

- System audit : SACL에서 액세스 시도를 기록하는데 사용

- Access denied, Obeject specific : DACL에서 등록 정보나 등록 정보 집합에 대한 엑세스를 거부하거나 특정 유형의 하위 개체에 대한

  상속을 제한하는데 사용

- Access allowed, Obeject specific : DACL에서 등록 정보나 등록 정보 집함에 대한 액세스를 허용하거나 특정 유형의 하위 개체에 개

  한 상속을 제한하는 데 사용

- System audit, Object specific : SACL에서 등록 정보나 등록 정보 집합에 액세스하려는 시도를 기록하거나 특정 유형의 하위 개체에

  대한 상속을 제한하는데 사용



AND