핵심 인사이트 (3줄 요약)

  1. 본질: DAC은 파일의 **소유자(Owner)**가 자기 파일에 대한 접근 권한을 **자유재량(Discretionary)**에 따라 타인에게 부여하거나 회수할 수 있는 방식이다. Unix/Linux의 chmod 명령어가 대표적이다.
  2. 가치: 파일 공유 시 관리자의 개입 없이 소유자가 직접 권한을 설정하므로, 소규모 환경에서는 유연하고迅速(신속)한 협업이 가능하다.
  3. 한계: Trojan Horse(트로이 목마)와 같은 악성코드가 DAC 권한을 악용하면, 시스템 전체가 침해될 수 있다. 따라서 강제적 접근 제어(MAC)와의 이중 구조가 권장된다.

Ⅰ. 개요 및 필요성

1.1 DAC의原理

DAC의 핵심 원칙은 **"자신이 소유한 객체에 대한 권한은 자발적으로 부여/회수 가능"**이다:

# Alice가 소유한 파일
-rw-r--r--  alice  alice  /home/alice/document.txt

# Alice가 Bob에게 읽기 권한 부여
$ chmod 744 /home/alice/document.txt
# 결과: alice만 읽기/쓰기, others는 읽기만

1.2 Unix/Linux의 파일 권한 구조

[ 9비트 구조 ]
所有者(Owner)  Group   Others
   rwx          r-x     r--

[ 예시: chmod 750 ]
rwx r-x --- : Owner는 읽기/쓰기/실행, Group은 읽기/실행, Others는 접근 불가
  • 📢 섹션 요약 비유: 복잡한 창고에서 필요한 물건을 찾기 위해 먼저 구역과 표지판을 세우는 것과 같다.

Ⅱ. 아키텍처 및 핵심 원리

2.1 Trojan Horse의動作

  1. 사용자가 악성 프로그램을 실행
  2. 프로그램이 사용자의 DAC 권한을 상속받음
  3. 악성 코드가 사용자 권한으로 시스템 자원에 접근

2.2 공격 시나리오

[ 공격 흐름 ]
1. Alice가 malicious_program 실행
2. malicious_program이 Alice의 권한(Root)으로 실행 (DAC 상속)
3. 프로그램이 /etc/shadow 파일에 무단 접근 시도
4. Alice의 권한으로는 /etc/shadow에 접근 가능하므로 -> 공격 성공
  • 📢 섹션 요약 비유: 공장 컨베이어벨트가 어떤 순서로 부품을 받아 가공하고 내보내는지 설계도를 펼쳐 보는 것과 같다.

Ⅲ. 비교 및 연결

구분DAC (임의적)MAC (강제적)
권한 결정파일 소유자가自行(자신) 결정시스템 정책이強制(강제) 결정
대표 예시Unix chmod, Windows ACLSELinux, AppArmor
분산 관리용이 (소유자 직접 관리)어려움 (중앙 관리자 필요)
보안 수준상대적 낮음높음
유연성높음낮음
  • 📢 섹션 요약 비유: 비슷해 보이는 공구를 나란히 놓고 언제 망치를 쓰고 언제 드라이버를 써야 하는지 구분하는 것과 같다.

Ⅳ. 실무 적용 및 기술사 판단

  • 소규모 환경에서는 DAC만으로 충분한 보안 수준을 달성할 수 있음

  • 대규모/고보안 환경에서는 DAC와 MAC의 이중 방어 체계가 필수적

  • 클라우드 환경에서는 IAM(Identity and Access Management)을 통해 DAC 원칙을 세밀하게 제어

  • 📢 섹션 요약 비유: 운전자가 도로 상황에 따라 기어와 브레이크를 다르게 선택하는 것처럼 조건별 판단이 중요하다.


Ⅴ. 기대효과 및 결론

임의적 접근 제어 (DAC, Discretionary Access Control)은 운영체제 보호와 보안 메커니즘을 이해하는 연결 고리 역할을 한다. 이 개념을 익히면 시스템 동작을 더 예측 가능하게 설명할 수 있지만, 만능 해법은 아니므로 적용 전제와 한계를 함께 기억해야 한다. 앞으로는 강제적 접근 제어 (MAC, Mandatory Access Control)처럼 더 세분화된 기술과 결합되며 자동화·최적화 방향으로 발전한다.

  • 📢 섹션 요약 비유: 도구의 장점만 외우는 것이 아니라 어디까지 믿고 어디서 보완해야 하는지 기억하는 정리 노트와 같다.

📌 관련 개념 맵

개념연결 포인트
자격 증명 리스트 (Capability List / Ticket)현재 개념으로 들어오기 전에 함께 이해하면 경계가 선명해지는 기반 개념이다.
롤 기반 접근 제어 (RBAC, Role-Based Access Control)현재 개념이 등장하게 만든 직접적인 선행 흐름이다.
강제적 접근 제어 (MAC, Mandatory Access Control)현재 개념이 구현·세분화될 때 바로 연결되는 후속 개념이다.
벨-라파둘라 모델 (Bell-LaPadula)확장 학습이나 심화 비교로 이어지는 다음 단계의 키워드다.

📈 관련 키워드 및 발전 흐름도

[롤 기반 접근 제어 (RBAC, Role-Based Access Control)]
    │
    ▼
[임의적 접근 제어 (DAC, Discretionary Access Control)]
    │
    ├──▶ [강제적 접근 제어 (MAC, Mandatory Access Control)]
    └──▶ [벨-라파둘라 모델 (Bell-LaPadula)]

이 흐름도는 선행 개념에서 현재 개념으로 넘어온 뒤, 구현 세분화와 후속 확장으로 이어지는 학습 순서를 압축해 보여준다.

👶 어린이를 위한 3줄 비유 설명

  1. DAC는 아파트의 **"자가 관리 시스템"**과 같다. 각 세대의 소유자가 열쇠를 가지고 있고, 원하는 사람에게 열쇠를複製(복제)하여 줄 수 있다.

  2. 보안 문제는 악의 있는 세입자가 **"집 주인에게 받은 열쇠"**를 악용하여 금고에 침입하는 것과 같다. 열쇠를 받은 입幌(사람)이 악용하면 시스템이 이를 차단할 수 없다.

  3. DAC와 MAC의二重(이중) 방어는 **"자가 관리 + 건물 전체 경비 시스템"**과 같다. 세대 주인이 열쇠를 줘도, 경비원이 "이 사람은 금고 출입이 불가하다"고 차단할 수 있다.