Liberazione di Bubblewrap 0.6, una strata per creà ambienti isolati

Una liberazione di arnesi per urganizà u travagliu di ambienti isolati Bubblewrap 0.6 hè dispunibule, generalmente utilizatu per limità l'applicazioni individuali di l'utilizatori senza privilegi. In pratica, Bubblewrap hè utilizatu da u prughjettu Flatpak cum'è una capa per isolà l'applicazioni lanciate da i pacchetti. U codice di u prughjettu hè scrittu in C è hè distribuitu sottu a licenza LGPLv2+.

Per l'isolamentu, i tecnulugii tradiziunali di virtualizazione di u containeru Linux sò usati, basatu annantu à l'usu di cgroups, namespaces, Seccomp è SELinux. Per fà operazioni privilegiate per cunfigurà un containeru, Bubblewrap hè lanciatu cù diritti di root (un schedariu eseguibile cù una bandiera suid) è poi resetta i privilegi dopu chì u containeru hè inizializatu.

L'attivazione di spazii di nomi d'utilizatori in u sistema di spazii di nomi, chì vi permette di utilizà u vostru propiu set di identificatori separati in cuntenituri, ùn hè micca necessariu per u funziunamentu, postu chì ùn funziona micca per difettu in parechje distribuzioni (Bubblewrap hè posizionatu cum'è una implementazione suid limitata di una subset of user namespaces capacità - per escludiri tutti l'identificatori di l'utilizatori è di u prucessu da l'ambiente, eccettu l'attuale, i modi CLONE_NEWUSER è CLONE_NEWPID sò usati). Per prutezzione supplementu, i prugrammi eseguiti sottu Bubblewrap sò lanciati in u modu PR_SET_NO_NEW_PRIVS, chì pruibisce l'acquistu di novi privilegii, per esempiu, se a bandiera setuid hè presente.

L'isolamentu à u nivellu di u sistema di fugliale hè realizatu creendu un novu spaziu di nomi di muntagna per difettu, in quale una partizione radicale viota hè creata cù tmpfs. Se necessariu, partizioni FS esterni sò attaccati à sta partizione in u modu "mount -bind" (per esempiu, quandu lanciate cù l'opzione "bwrap -ro-bind /usr /usr", a partizione /usr hè trasmessa da u sistema principale. in modu di sola lettura). E capacità di a rete sò limitate à l'accessu à l'interfaccia di loopback cù l'isolamentu di a pila di rete via i bandieri CLONE_NEWNET è CLONE_NEWUTS.

A diferenza chjave da u prughjettu simile Firejail, chì usa ancu u mudellu di lanciamentu setuid, hè chì in Bubblewrap a strata di creazione di cuntainer include solu e capacità minime necessarie, è tutte e funzioni avanzate necessarie per eseguisce l'applicazioni grafiche, interagisce cù u desktop è filtra e richieste. à Pulseaudio, trasferitu à u latu Flatpak è eseguitu dopu chì i privilegi sò stati resettati. Firejail, invece, combina tutte e funzioni cunnesse in un schedariu eseguibile, chì rende difficiule di audità è mantene a sicurità à u livellu propiu.

In a nova versione:

  • Добавлена поддержка сборочной системы Meson. Поддержка сборки при помощи Autotools пока сохранена, но будет удалена в одном из следующих выпусков.
  • Реализована опция «—add-seccomp» для добавления более чем одной программы seccomp. Добавлено предупреждение о том, что при повторном указании опции «—seccomp» будет применён только последний параметр.
  • Ветка master в git-репозитории переименована в main.
  • Добавлена частичная поддержка спецификации REUSE, унифицирующей процесс указания сведений о лицензиях и авторских правах. Во многие файлы с кодом добавлены заголовки SPDX-License-Identifier. Следование рекомендациям REUSE позволяет упростить автоматическое определение какая лицензия применяется к каким из частей кода приложения.
  • Добавлена проверка значения счётчика аргументов командной строки (argc) и реализован экстренный выход в случае если счётчик равен нулю. Изменение позволяет блокировать проблемы с безопасностью, вызванные некорректной обработкой передаваемых аргументов командной строки, такие как CVE-2021-4034 в Polkit.

Source: opennet.ru

Add a comment