Linux용 Capsicum 시도가 NIH 때문에 죽지 않았으면 정말 좋았을 텐데 싶음
데스크톱 앱 샌드박싱에는 지금 Linux에서 같은 걸 해보려고 쌓아 올린 잡다한 방식들보다 훨씬 나은 모델임. 런처가 메타데이터를 바탕으로 초기 권한 집합, 즉 파일 디스크립터를 넘겨주고 앱은 그 외에는 접근하지 못하며, powerbox가 다른 파일 열기·저장 권한을 제공하는 구조임
Linux의 컨테이너 모델 전체가 좀 엉성한 개념들의 짜깁기처럼 보임
Kubernetes 서비스처럼 어떤 신적 프로세스가 서비스를 오케스트레이션하는 환경에는 대체로 맞지만, 데스크톱에서는 잘 맞지 않음. 사용자 공간에서 더 낮은 권한의 cgroup/namespace로 들어가고 싶은데, root 데몬이나 setuid 같은 의식을 거쳐야 해서 결국 권한 상승 위험을 부름
이론적으로는 Flatpak 같은 주요 Linux 데스크톱 샌드박스 도구들이 SCM_RIGHTS + Wayland + D-Bus를 기본 요소로 삼아 이렇게 동작해야 함
눈을 가늘게 뜨고 보면 안전한 데스크톱의 윤곽이 보이긴 함
하지만 실제 구현은 전반적으로 너무 관대하거나, 융통성이 없거나, 반쯤 망가져 있음. 서버 워크로드 보안을 챙기는 것만큼 종단 간 데스크톱 보안을 신경 쓰는 사람이 없어 보임. 그래서 gVisor와 Firecracker는 잘 동작하는데 Flatpak은 기본 Gtk+ 앱 하나도 글꼴을 깨지 않고 실행하기 어렵고, 모든 Wayland 컴포지터가 신뢰할 수 있는 데스크톱 기반의 절반을 다시 구현해야 함
Android가 신뢰할 수 없는 코드를 실행할 만큼 충분히 강화된 Linux 배포판 역할을 꽤 잘 해냈고, iOS와 macOS는 사용자-facing 앱 샌드박싱도 충분히 쓰기 편할 수 있음을 보여줬다는 점을 생각하면 더 민망함. 그냥 그들이 하는 대로 하면 됨. 대체 왜 창 관리자 안의 무언가가 /proc/{pid}/cmdline 을 읽고 있는 건가
업스트림이 패치하지 못한 뒤에 공개 공개로 이어진 상황이라 보기 좋지 않음
이 말은 연구자를 향한 비판은 전혀 아님
업스트림에 보낸 이슈 보고도 이런 식이었는지는 모르겠지만, 따라가기가 꽤 어려웠음
KDE나 Flatpak 내부 구조에 더 익숙하면 훨씬 잘 이해됐을 것 같음