Apre yon ane nan devlopman, yo te pibliye yon nouvo vèsyon zouti pou òganize travay anviwònman izole, Bubblewrap 0.9, ki itilize pou mete restriksyon sou aplikasyon endividyèl itilizatè ki pa gen privilèj. Nan pratik, pwojè Flatpak la itilize Bubblewrap kòm yon kouch pou izole aplikasyon yo te lanse nan pakè yo. Kòd pwojè a ekri an C epi distribye anba lisans LGPLv2+.
Materyèl tradisyonèl yo itilize pou izolasyon Linux teknoloji virtualizasyon kontenè ki baze sou itilizasyon gwoup c, espas non, Seccomp ak SELinuxPou fè operasyon konfigirasyon kontenè privilejye, Bubblewrap fonksyone ak privilèj root (fichye ekzekisyon an gen drapo suid la aktive) epi answit li retire privilèj yo apre inisyalizasyon kontenè a fini.
Aktivasyon espas non itilizatè yo nan sistèm espas non an, ki pèmèt ou sèvi ak pwòp seri idantifyan ou yo nan resipyan, pa obligatwa pou operasyon an, paske li pa travay pa defo nan anpil distribisyon (Bubblewrap pozisyone kòm yon aplikasyon limite suid nan yon sou-ansanm kapasite espas non itilizatè yo - pou eskli tout idantifyan itilizatè ak pwosesis nan anviwònman an, eksepte yon sèl aktyèl la, yo itilize mòd CLONE_NEWUSER ak CLONE_NEWPID). Pou plis pwoteksyon, pwogram ki egzekite anba Bubblewrap yo lanse nan mòd PR_SET_NO_NEW_PRIVS, ki entèdi akizisyon de nouvo privilèj, pou egzanp, si drapo setuid la prezan.
Izolasyon nan nivo sistèm fichye akonpli lè yo kreye yon nouvo espas non mòn pa default, kote yo kreye yon patisyon rasin vid lè l sèvi avèk tmpfs. Si sa nesesè, patisyon FS ekstèn yo tache ak patisyon sa a nan mòd "mount —bind" (pa egzanp, lè yo lanse ak opsyon "bwrap -ro-bind /usr /usr", patisyon /usr la voye soti nan sistèm prensipal la. nan mòd lekti sèlman). Kapasite rezo yo limite a aksè nan koòdone loopback la ak izolasyon pile rezo atravè drapo yo CLONE_NEWNET ak CLONE_NEWUTS.
Diferans kle ak pwojè Firejail menm jan an, ki itilize tou modèl lansman setuid la, se ke nan Bubblewrap kouch kreyasyon veso a gen ladan sèlman kapasite minimòm ki nesesè yo, ak tout fonksyon avanse ki nesesè pou kouri aplikasyon grafik, kominike avèk Desktop la ak demann filtraj. nan Pulseaudio, transfere sou bò Flatpak ak egzekite apre privilèj yo te reset. Firejail, nan lòt men an, konbine tout fonksyon ki gen rapò yo nan yon sèl dosye ègzèkutabl, ki fè li difisil pou odit epi kenbe sekirite nan nivo apwopriye.
Nan nouvo lage a:
- Fichye ki te pwodwi nan Autotools yo te retire nan pake sous la. Se sistèm nan bati Meson kounye a rekòmande pou asanble. Sipò opsyonèl pou Autotools rete pou kounye a, men yo planifye pou yo retire nan pwochen degaje yo.
- Te ajoute opsyon "--argv0" pou mete valè agiman zewo liy lòd la (argv[0] se non dosye ègzèkutabl la, pou egzanp "-argv0 /usr/bin/test").
- Opsyon "--symlink" la kounye a sèlman dife lè yon lyen senbolik deja egziste epi lonje dwèt sou fichye sib ou vle a.
- Opsyon "--cap-add" dokimante epi yo itilize pou mete drapo kapasite, pou egzanp, "CAP_DAC_READ_SEARCH".
- Kontni enfòmasyon erè ki parèt lè yon mòn echwe te ogmante.
- Pwosesis pou kreye tès inite yo te senplifye.
- Ka itilize yo pa sipòte ansyen vèsyon Python ankò.
- Amelyore operasyon alokasyon memwa.
Sous: opennet.ru
