임의 엑세스 제어(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에서 등록 정보나 등록 정보 집합에 액세스하려는 시도를 기록하거나 특정 유형의 하위 개체에
대한 상속을 제한하는데 사용