소프트웨어 샌드박싱, 왜 Linux namespaces는 위험한 선택인가
Software Sandboxing: The Basics

Emilua 개발자가 소프트웨어 샌드박싱의 기본 개념과 실전 적용법을 정리했다. 샌드박싱은 관리자 권한 없이 프로그램적으로 권한을 낮추는 '재량적 권한 하락'을 의미하며, 프로세스 수준에서 격리하는 것이 현실적이다. Linux namespaces는 커널 공격 표면을 키우고 권한 상승 취약점을 유발할 수 있어 샌드박싱 용도로는 부적합하다. 대신 Landlock 같은 최신 인터페이스와 액터 모델 기반의 분산 애플리케이션 개발이 권장된다.
나는 CLONE_NEWUSER를 사용해 어떤 네트워크 네임스페이스에 대해서든 CAP_NET_ADMIN을 획득하고, 그리하여 네트워크 구성 API에 접근할 수 있는 능력을 거대한 위험으로 본다. 예를 들어 비특권 사용자가 iptables를 프로그래밍할 수 있다. 거기에 권한 상승 취약점이 없다면 내 모자를 먹겠다.