최근에 가용성 샌드박싱의 새 버전 버블 랩 0.6, Meson을 사용한 컴파일 지원 포함, REUSE 사양에 대한 부분 지원 및 기타 몇 가지 변경 사항과 같은 몇 가지 중요한 변경 사항이 있습니다.
Bubblewrap을 모르는 사람들을 위해 이것이 일반적으로 개별 응용 프로그램을 권한이 없는 사용자로 제한하는 데 사용되는 유틸리티. 실제로 Flatpak 프로젝트는 Bubblewrap을 레이어로 사용하여 패키지에서 시작된 응용 프로그램을 분리합니다.
격리를 위해 Linux는 가상화 기술을 사용합니다. cgroup, 네임 스페이스, Seccomp 및 SELinux 사용을 기반으로하는 기존 컨테이너의 컨테이너를 구성하기위한 권한있는 작업을 수행하기 위해 Bubblewrap은 루트 권한 (suid 플래그가있는 실행 파일)로 시작되고 컨테이너가 초기화 된 후 권한이 재설정됩니다.
Bubblewrap 정보
Bubblewrap은 제한된 suida 구현으로 포지셔닝됩니다. 사용자 네임 스페이스 함수의 하위 집합에서 현재 환경을 제외한 모든 사용자 및 프로세스 ID를 환경에서 제외하려면 모드를 사용합니다. CLONE_NEWUSER 및 CLONE_NEWPID.
추가 보호를 위해 Bubblewrap에서 실행되는 프로그램이 모드에서 시작됩니다. PR_SET_NO_NEW_PRIVS, 새로운 특권을 금지하는 예를 들어 setuid 플래그를 사용합니다.
파일 시스템 수준에서의 격리는 기본적으로 tmpfs를 사용하여 빈 루트 파티션이 생성되는 새 마운트 네임 스페이스를 생성하여 수행됩니다.
필요한 경우 외부 FS 섹션이«마운트 – 바인드»(예 : 옵션으로 시작«bwrap –ro-bind / usr / usr', / usr 섹션은 읽기 전용 모드로 호스트에서 전달됩니다.
의 능력 네트워크는 루프백 인터페이스에 대한 액세스로 제한됩니다. 인디케이터를 통한 네트워크 스택 격리로 반전 CLONE_NEWNET 및 CLONE_NEWUTS.
유사한 Firejail 프로젝트와의 주요 차이점은 setuid 런처도 사용합니다. Bubblewrap에서 컨테이너 레이어에는 필요한 최소한의 기능 만 포함됩니다. 그래픽 응용 프로그램을 시작하고, 데스크톱과 상호 작용하고, Pulseaudio에 대한 호출을 필터링하는 데 필요한 모든 고급 기능은 Flatpak의 측면으로 가져와 권한이 재설정 된 후에 실행됩니다.
Bubblewrap 0.6의 주요 참신
제시된 이 새 버전의 Bubblewrap 0.6에서는 다음이 강조됩니다. 에 대한 추가 지원 빌드 시스템 중간자, 이에 따라 컴파일 지원 Autotools는 다음 기간 동안 보존되었습니다. 지금, 그러나 이것은 향후 릴리스에서 Meson을 사용하기 위해 제거될 것입니다.
이 새 버전의 Bubblewrap 0.6에서 또 다른 참신함은 옵션의 구현입니다. 둘 이상의 seccomp 프로그램을 추가하려면 "-add-seccomp", "-seccomp" 옵션을 다시 지정하면 마지막 옵션만 적용된다는 경고도 추가되었습니다.
또한 주목된다 REUSE 사양에 대한 부분 지원, 라이선스 및 저작권 정보를 지정하는 프로세스를 통합합니다.
그 외에 헤더도 추가되었습니다. 많은 파일에 대한 SPDX-License-Identifier 코드의. REUSE 지침을 따르면 애플리케이션 코드의 어떤 부분에 적용되는 라이선스를 자동으로 쉽게 결정할 수 있습니다.
한편 덧붙인 인수 카운터 값 확인 명령줄(argc)에서 시작하고 카운터가 XNUMX이면 비상구를 구현했습니다. 변경 p보안 문제를 차단할 수 있습니다. Polkit의 CVE-2021-4034와 같이 전달된 명령줄 인수의 잘못된 처리로 인해 발생
다른 변경 사항 중 이 새 버전에서 눈에 띄는 :
- git 저장소의 마스터 브랜치가 main으로 이름이 변경되었습니다.
- 이전 CI 통합 제거
- 비 FHS 운영 체제와의 더 나은 호환성을 위해 PATH를 통해 bash 사용
마침내 당신이 있다면 그것에 대해 조금 더 알고 싶어 이 새 버전에 대한 세부 정보를 확인할 수 있습니다. 다음 링크에서.