toolkit áĄáá áşáá˝ááşáážáááźááşá¸á Linux áážá ááŽá¸ááźáŹá¸áááşáááşá¸ááťááşááťáŹá¸á áĄááŻááşááťáŹá¸ááᯠá áŻá ááşá¸ááźáŽá¸ áĄáá˝ááˇáşáá°á¸áááśáááąáŹ ááŻáśá¸á á˝á˛áá°ááťáŹá¸á áĄáááŽááąá¸áážááşá¸áĄáááˇáşáá˝ááş áááşáááşáááş ááŽáááŻááşá¸ááŻááşááŹá¸áááşá áááşáá˝áąáˇáá˝ááşá Bubblewrap ááᯠáááşááąáˇááťáşááťáŹá¸ááž á áááşááąáŹ áĄáááŽááąá¸áážááşá¸ááťáŹá¸ááᯠáá˝á˛ááŻááşáááş áĄáá˝ážáŹáá áşááŻáĄááąááźááˇáş Flatpak áááąáŹááťááşááž áĄááŻáśá¸ááźáŻááŤáááşá áááąáŹááťááşááŻááşááᯠC áá˛áˇááąá¸ááŹá¸áááşá LGPLv2+ áĄáąáŹááşáá˝ááş áááŻááşá ááşáááŹá¸áááşá
áĄááŽá¸ááťááşáážáŻáĄáá˝ááşá cgroupsá namespacesá Seccomp áážááˇáş SELinux áááŻáĄááŻáśá¸ááźáŻáážáŻáĄááąáŤáş áĄááźáąááśá áááŻá¸áᏠLinux container virtualization áááşá¸áááŹááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻááŤáááşá áá˝ááşááááşááŹááᯠconfigure ááŻááşáááş áĄáá˝ááˇáşáá°á¸ááś ááŻááşááąáŹááşááťááşááťáŹá¸ááᯠááŻááşááąáŹááşáááş Bubblewrap ááᯠroot ááŻááşáááŻááşáá˝ááˇáş ( suid áĄááśááŤááąáŹ executable áááŻááşáá áşááŻ) ááźááˇáş á áááşááźáŽá¸ áá˝ááşááááşááŹááᯠá áááşááźáŽá¸ááąáŹááş áĄáá˝ááˇáşáá°á¸ááťáŹá¸ááᯠááźááşáááşáááşáážááşááŤá
áá˝ááşááááşááŹááťáŹá¸áá˝ááş áááˇáşáááŻááşáááŻááş ááŽá¸ááźáŹá¸áááşáážááşáááşáážááşáážáŻáĄá
áŻáĄááąá¸ááᯠáĄááŻáśá¸ááźáŻáá˝ááˇáşááźáŻáááˇáş namespace á
áá
áşáá˝ááş áĄááŻáśá¸ááźáŻáá°áĄáááşááąááŹááťáŹá¸ááᯠáĄáááşáá˝ááşá¸ááźááşá¸áááş ááŻááşááąáŹááşááťááşáĄáá˝ááş ááááŻáĄááşááąáŹááźáąáŹááˇáşá áááşá¸áááş ááźááˇáşááąáážáŻááťáŹá¸á
á˝áŹáá˝ááş ááŻáśááąááźááˇáş áĄááŻááşáááŻááşááąáŹááźáąáŹááˇáş (Bubblewrap ááᯠáááˇáşáááş suid áĄááąáŹááşáĄáááşááąáŹáşáážáŻáá
áşááŻáĄááźá
áş áááşáážááşááŹá¸áááşá áĄááŻáśá¸ááźáŻáá° namespaces á
á˝ááşá¸áááşá áĄá
áŻáá˝á˛ - áááşáážááá
áşááŻáážáá˝á˛á áĄááŻáśá¸ááźáŻáá°áážááˇáş ááŻááşáááşá¸á
ááşáááŻááşáᏠáá˝á˛ááźáŹá¸áááşáážááşáážáŻáĄáŹá¸ááŻáśá¸ááᯠáááşáááşá¸ááťááşááž áááşááŻááşáááşá CLONE_NEWUSER áážááˇáş CLONE_NEWPID ááŻááşááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻáááş)á áĄáááŻááŹáá˝ááşáážáŻááťáŹá¸áĄáá˝ááşá ááááşá¸ááťáŻááşáážáŻáĄáąáŹááşáá˝ááş ááŻááşááąáŹááşáááŻááşáááşá
Bubblewrap ááááŻááááşááťáŹá¸ááᯠPR_SET_NO_NEW_PRIVS ááŻááşáá˝ááş áá˝ážááˇáşáááşááŹá¸ááźáŽá¸á áĽáááŹá setuid áĄááśáážáááąááŤáá áĄáá°á¸áĄáá˝ááˇáşáĄááąá¸áĄáá
áşááťáŹá¸ááá°ááźááşá¸ááᯠááŹá¸ááźá
áşááŹá¸áááşá
tmpfs ááᯠáĄááŻáśá¸ááźáŻá áĄááťááşá¸áážáŽá¸ááąáŹ root partition áááŻáááşááŽá¸ááŹá¸áááˇáş áááŻááşá áá áşáĄáááˇáşáá˝ááş ááŽá¸ááźáŹá¸áá˝á˛ááŹá¸ááźááşá¸áááş mount namespace áĄáá áşáá áşáᯠáááşááŽá¸ááźááşá¸ááźááˇáş ááźáŽá¸ááźáąáŹááşááŤáááşá áááŻáĄááşááŤáá ááźááşá FS áĄáááşá¸áááˇáşááťáŹá¸ááᯠ"mount âbind" ááŻááşáá˝ááş á¤áĄáááşá¸áááˇáşáááŻáˇ ááťáááşáááşááŹá¸ááŤáááş (áĽáááŹá "bwrap âro-bind /usr /usr" áá˝áąá¸ááťááşáážáŻááźááˇáş á áááşááąáŹáĄá፠/usr áĄáááŻááşá¸ááᯠáááşáá áá áşááž áá áşáááˇáşááąá¸áááŻáˇááŤáááşá áááşáááşááŹááŻááşáá˝ááş)á CLONE_NEWNET áážááˇáş CLONE_NEWUTS áĄááśááťáŹá¸áážáá áşáááˇáş áá˝ááşáááşáĄá áŻáĄááąá¸ááᯠááŽá¸ááźáŹá¸áá˝á˛ááŹá¸ááźááşá¸ááźááˇáş áá˝ááşáááşááťáááşáááşáááŻááşá á˝ááşá¸ááᯠáááˇáşáááşááŹá¸áááşá
áĄááŹá¸áá°áááąáŹááťááşáá áşááŻááž áĄááááá˝áŹááźáŹá¸ááťááş setuid launch model áááŻáááşá¸áĄááŻáśá¸ááźáŻáááˇáşáĄááťááşáážáŹ Bubblewrap áááş container áááşááŽá¸áážáŻáĄáá˝ážáŹáá˝ááş áááŻáĄááşááąáŹáĄáááşá¸ááŻáśá¸á á˝ááşá¸áááşááťáŹá¸ááŹááŤáááşááźáŽá¸ graphical applications ááťáŹá¸áááşáááşáááşáĄáá˝ááşáááŻáĄááşááąáŹáĄáááˇáşááźááˇáşááŻááşááąáŹááşááťááşááťáŹá¸áĄáŹá¸ááŻáśá¸ááᯠdesktop áážááˇáşáĄááźááşáĄáážááşááŻáśáˇááźááşááźááşá¸áážááˇáş Pulseaudio áááŻáˇ filtering calls ááťáŹá¸ááᯠFlatpak ááž outsourced ááŻááşááźáŽá¸ááŻááşááąáŹááşááąááźááşá¸ááźá áşáááşá áĄáá˝ááˇáşáá°á¸ááťáŹá¸ ááźááşáááşáááşáážááşááźáŽá¸ááąáŹááşá áá áşáááşáá˝ááş Firejail áááş áááşá ááşááŻááşááąáŹááşáááŻááşááąáŹ ááŻááşááąáŹááşááťááşáĄáŹá¸ááŻáśá¸ááᯠáááŻááşáá áşááŻáááşá¸áá˝ááş ááąáŤááşá¸á ááşááŹá¸ááźáŽá¸ ááŻáśááźáŻáśááąá¸ááᯠá á áşááąá¸áááşáážááˇáş ááááşá¸ááááşá¸áááş áááşáá˛á áąáááşá .
ááŻááşááąáážáŻáĄáá
áşáááş áááşáážááĄááŻáśá¸ááźáŻáá°áĄáááşááąááŹááťáŹá¸áážááˇáş pid namespaces ááťáŹá¸ááŻááşááąáŹááşáááşáĄáá˝ááş ááśáˇáááŻá¸áážáŻáĄááąáŹááşáĄáááşááąáŹáşáážáŻáĄáá˝ááş áážááşááŹá¸áá˝ááşááźá
áşáááşá namespaces ááťáŹá¸áááťáááşáááşáážáŻáááŻááááşá¸ááťáŻááşáááşá "--users", "--users2" áážááˇáş "-pidns" áĄááśááťáŹá¸áááŻáááˇáşáá˝ááşá¸ááŹá¸áááşá
á¤áĄááşášááŤáááşáááş setuid ááŻááşáá˝ááş áĄááŻááşáááŻááşáᲠroot ááŻááşáááŻááşáá˝ááˇáşááťáŹá¸ áááá°áᲠááŻááşááąáŹááşáááŻááşááąáŹ ááŽá¸ááźáŹá¸ááŻááşááᯠáĄááŻáśá¸ááźáŻáááş áááŻáĄááşááąáŹáşáááşá¸ activation áááŻáĄááşáááş
á
áá
áşáážá user namespaces (Debian áážááˇáş RHEL/CentOS áá˝ááş áá°áááşá¸áĄáááŻááşá¸ááááşááŹá¸áááş) áážááˇáş ááźá
áşáááŻááşááťáąááᯠáááŤáááşááŤá "user namespaces" áĄáá˝ááş áááˇáşáááşááťááşááťáŹá¸ áĄááŹá¸áá˝ááşá Bubblewrap 0.4 á áĄááşášááŤáááşáĄáá
áşááťáŹá¸áááş glibc áĄá
áŹá¸ musl C á
áŹááźááˇáşáááŻááşááźááˇáş áááşááąáŹááşáááŻááşáážáŻáážááˇáş JSON ááąáŹáşáááşáážá á
áŹáááşá¸áááŹá¸ááŤááąáŹ áááŻááşáá
áşááŻáááŻáˇ namespace áĄááťááşáĄáááşááᯠááááşá¸áááşá¸áááşáĄáá˝ááş ááśáˇáááŻá¸áážáŻáááşá¸ ááŤáááşáááşá
source: opennet.ru
