안녕하세요 컴퓨터의 접근 통제 방식에 대해서 적어보려고 합니다.

우리는 컴퓨터에서 접근 권한에 대해서 자주 접하게 됩니다. 예를 들어 파일과 폴더의 퍼미션을 통해서요.

여러 접근 통제 방식이 있다고 하는데, 어떠한 것이 있는지 정리해보겠습니다.

개발보다는 보안쪽에 가까운 내용이긴합니다... ㅎ;;

용어 설명

출처 : devage@tistory

출처 : devage@tistory

먼저, 접근 제어 모델에서 사용하는 용어에 대해 알 필요가 있습니다.

간단하게 프로세스 또는 사용자주체(Subject) 라고 생각하면 되고, 객체(Object)는 자원, 정보와 같은 파일이나 폴더라고 생각하면 됩니다.

접근 통제 방식

1. 임의 접근 통제 - DAC(Discretionary Access Control)

퍼미션 설정

퍼미션 설정

간단하게 우리가 잘 알고 있는 파일과 폴더의 Permission이 DAC 방식이라고 이해하면 쉽습니다.

대부분의 운영체제의 기본 접근 통제 모델로 시용되고 있고, 객체에 대한 접근을 사용자나 또는 그룹의 신분을 기준으로 제한하는 방법입니다.

임의 접근 통제 방식의 경우 보안 취약점으로 프로세스나 사용자의 권한이 탈취되면 시스템을 자유롭게 조종이 가능하게 되기에, 피해가 커집니다.

2. 강제 접근 통제 - MAC (Mandatory Access Control)

SELinux 권한 설정 예시

SELinux 권한 설정 예시

MAC 방식은 미리 정해진 정책보안 등급에 의거하여 주체에게 허용된 접근 권한과 객체에게 부여된 허용 등급을 비교하여 접근을 통제하는 모델입니다.

SELinux, AppArmor 등 여러 보안 모듈은 MAC 방식을 사용하고 있습니다.

MAC 방식은 구현이 복잡하고 어려우며 모든 주체와 객체에 대해서 보안 등급과 허용 등급을 부여하여야 하므로 설정이 복잡하고 시스템 관리자가 접근 통제 모델에 대해 잘 이해하고 있어야 합니다.