강제적 접근통제 (Mandatory Access Control (MAC))

정보보안학
한 줄 정의: 시스템이 미리 정한 보안 정책에 따라 사용자나 프로세스의 자원 접근을 강제로 제한하는, 소유자가 임의로 바꿀 수 없는 접근통제 방식입니다.

쉽게 풀면

일반적인 파일 권한 설정은 파일 주인이 "이 사람에게는 읽기 권한을 주겠다"라고 자유롭게 정할 수 있습니다. 하지만 강제적 접근통제에서는 파일 주인이라 해도 시스템 전체의 규칙을 마음대로 바꿀 수 없습니다. 마치 회사 건물의 보안 등급이 개인 사무실 주인이 아니라 회사 전체 보안 정책으로 정해지는 것과 비슷합니다. 이 방식은 사용자의 실수나 악의적 프로그램이 권한을 함부로 넓히는 것을 막아줍니다.

왜 중요한가

강제적 접근통제는 군사, 정부, 금융처럼 높은 보안 수준이 요구되는 환경에서 정보 유출을 구조적으로 막는 핵심 수단으로 연구되어 왔습니다. 일반적인 임의적 접근통제(DAC)만으로는 악성코드가 사용자의 권한을 그대로 물려받아 자유롭게 퍼질 수 있다는 한계가 있는데, 정보보안학에서는 이를 보완하는 정책 모델과 구현 방식이 꾸준히 다뤄지고 있습니다.

논문에서는 이렇게 쓰입니다

"본 논문은 강제적 접근통제 모델을 리눅스 커널에 적용하여 프로세스 간 정보 흐름을 제한하는 방안을 제시하였다."

운영체제 수준에서 프로세스들이 서로 데이터를 주고받는 흐름 자체를 정책으로 통제하는 연구라는 의미입니다.

"임의적 접근통제와 달리 강제적 접근통제는 사용자의 권한 위임으로도 정책을 우회할 수 없다는 특징을 갖는다."

사용자가 자신의 권한을 다른 사람에게 넘기더라도 시스템의 중앙 정책이 우선한다는 설명입니다.

조금 더 깊게 보면

대표적인 구현으로는 리눅스의 SELinux, AppArmor 등이 있으며, 이들은 벨-라파둘라(Bell-LaPadula) 모델과 같은 정보 흐름 이론을 기반으로 설계되는 경우가 많습니다. 강제적 접근통제는 주체(subject)와 객체(object)에 보안 레이블을 부여하고, 이 레이블 간의 관계 규칙에 따라 접근 허용 여부를 판단하는 방식으로 동작합니다.

주의할 점

정책이 매우 엄격하기 때문에 잘못 설정하면 정상적인 프로그램 동작까지 막아버릴 수 있어, 실제 운영 환경에서는 정책 설계와 테스트에 상당한 노력이 필요합니다.

관련 용어