FreeBSD MAC 기반 기업 보안 정책 구현
초록
본 논문은 FreeBSD 운영체제에 내장된 Mandatory Access Control(MAC) 프레임워크를 활용하여 기업 수준의 보안 정책을 설계·적용하는 방법을 제시한다. 주요 MAC 모델인 MLS, Biba, RBAC 등을 FreeBSD의 mac(4) 서브시스템과 연동시키고, 실제 서비스 환경에서 정책 적용 절차와 성능 영향을 실험적으로 검증한다.
상세 분석
FreeBSD는 초기부터 mac(4) 인터페이스를 통해 다양한 MAC 모델을 모듈형으로 제공한다는 점에서 다른 오픈소스 OS와 차별화된다. 논문은 먼저 mac(4)의 구조를 상세히 분석한다. 커널 레벨에서 라벨(label)과 정책 엔진(policy engine)이 분리되어 있어, 라벨링된 객체(파일, 소켓, 프로세스 등)에 대한 접근 판단을 정책 모듈이 수행한다. 주요 모듈로는 mac_mls(다중 레벨 보안), mac_biba(무결성 모델), mac_partition(격리), mac_test(테스트용) 등이 있다. 각 모듈은 라벨 구조와 비교 연산을 정의하며, 정책 적용 시 라벨 할당은 sysctl이나 파일 시스템 확장 속성(xattr) 등을 통해 수행된다.
논문은 기업 보안 정책을 세 가지 복합 시나리오로 구분한다. 첫 번째는 기밀성 중심의 MLS 정책으로, 고위험 데이터베이스와 일반 업무 서버를 서로 다른 보안 레벨로 구분하고, 레벨 간 흐름을 엄격히 차단한다. 두 번째는 무결성 보장을 위한 Biba 정책으로, 개발 환경과 운영 환경을 무결성 라벨로 구분해 개발자가 운영 서버에 직접 쓰기 권한을 갖지 못하도록 한다. 세 번째는 역할 기반 접근 제어(RBAC)와 mac_partition을 결합해 부서별 격리 파티션을 생성하고, 각 파티션 내에서 허용된 서비스만 실행하도록 제한한다.
정책 구현 과정에서 중요한 점은 라벨 관리 자동화이다. 논문은 rc.d 스크립트와 PAM 모듈을 연계해 로그인 시 사용자 라벨을 동적으로 할당하고, 파일 시스템 마운트 옵션에 maclabel을 지정해 영구 라벨링을 보장한다. 또한, mac_policy_check_hook을 활용해 커스텀 정책을 삽입하고, audit 로그와 연동해 위반 시 실시간 알림을 제공한다.
성능 평가에서는 기본 FreeBSD 커널에 비해 평균 3~5%의 시스템 호출 오버헤드가 발생했으며, I/O 집약적인 워크로드에서는 라벨 검사 비용이 미미함을 확인했다. 정책 위반 시 즉시 차단되는 특성은 침해 사고 대응 시간을 크게 단축시킨다. 마지막으로, 정책 충돌 해결을 위해 mac_policy_set와 mac_policy_get 인터페이스를 사용해 다중 정책 우선순위를 정의하고, 정책 테스트 프레임워크(mac_test)로 사전 검증하는 절차를 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기