Shpallja e Bubblewrap 0.9, një shtresë për krijimin e mjediseve të izoluara

Pas një vit zhvillimi, u publikua versioni i ri i mjeteve për organizimin e punës në mjedise të izoluara Bubblewrap 0.9, që përdoret për të kufizuar aplikacionet e përdoruesve të cilët nuk kanë privilegje. Në praktikë, Bubblewrap përdoret nga projekti Flatpak si një shtesë për izolimin e aplikacioneve të ekzekutuara nga paketat. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën LGPLv2+.

Për izolimin përdoren teknologjitë tradicionale të virtualizimit të kontejnerëve në Linux, të bazuara në përdorimin e cgroups, hapësirave të emrave (namespaces), Seccomp dhe SELinux. Për të kryer operacione me privilegje për konfigurimin e kontejnerit, Bubblewrap ekzekutohet me të drejta root (skedari ekzekutiv me shenjën suid), duke i hequr më pas privilegjet pas përfundimit të inicializimit të kontejnerit.

Aktivizimi nĂ« sistem i user namespaces, qĂ« lejojnĂ« pĂ«rdorimin e njĂ« grupi tĂ« veçantĂ« identifikuesish brenda kontejnerĂ«ve, nuk kĂ«rkohet pĂ«r funksionimin, pasi si parazgjedhje kjo veçori nuk punon nĂ« shumĂ« shpĂ«rndarje (Bubblewrap pozicionohet si njĂ« implementim i kufizuar suid i njĂ« nĂ«nkompleti tĂ« mundĂ«sive tĂ« user namespaces — pĂ«r tĂ« pĂ«rjashtuar nga mjedisi tĂ« gjithĂ« identifikuesit e pĂ«rdoruesve dhe proceseve, pĂ«rveç atij aktual, pĂ«rdoren mĂ«nyrat CLONE_NEWUSER dhe CLONE_NEWPID). PĂ«r mbrojtje shtesĂ«, programet e ekzekutuara nĂ«n kontrollin e Bubblewrap nisen nĂ« regjimin PR_SET_NO_NEW_PRIVS, i cili ndalon marrjen e privilegjeve tĂ« reja, pĂ«r shembull nĂ« prani tĂ« flamurit setuid.

Izolimi nĂ« nivelin e sistemit tĂ« skedarĂ«ve bĂ«het pĂ«rmes krijimit tĂ« njĂ« hapĂ«sire tĂ« re tĂ« emrave tĂ« pikave tĂ« montimit (mount namespace) me parazgjedhje, nĂ« tĂ« cilĂ«n krijohet njĂ« pjesĂ« e zbrazĂ«t e rrĂ«njĂ«s duke pĂ«rdorur tmpfs. NĂ« kĂ«tĂ« pjesĂ«, sipas nevojĂ«s, lidhen pjesĂ« tĂ« FS-sĂ« sĂ« jashtme nĂ« modalitetin „mount —bind“ (pĂ«r shembull, kur ekzekutohet me opsionin „bwrap —ro-bind /usr /usr“, pjesa /usr kalon nga sistemi kryesor nĂ« modalitetin vetĂ«m pĂ«r lexim). MundĂ«sitĂ« rrjetĂ«rore kufizohen nĂ« qasjen nĂ« ndĂ«rfaqen loopback me izolimin e skakereve tĂ« rrjetit pĂ«rmes flamujve CLONE_NEWNET dhe CLONE_NEWUTS.

Dallimi kryesor nga projekti i ngjashëm Firejail, i cili gjithashtu përdor modelin e nisjes me setuid, është se te Bubblewrap shtresa për krijimin e kontejnerëve përfshin vetëm minimumin e nevojshëm të funksioneve, ndërsa të gjitha veçoritë e avancuara të nevojshme për nisjen e aplikacioneve grafike, ndërveprimin me desktop-in dhe filtrimin e thirrjeve ndaj Pulseaudio janë zhvendosur te Flatpak dhe ekzekutohen vetëm pasi privilegjet të jenë hequr. Ndërsa Firejail bashkon në një skedar të vetëm të ekzekutueshëm të gjitha funksionet shoqëruese, gjë që e bën më të vështirë auditimin dhe ruajtjen e sigurisë në nivelin e duhur.

NĂ« versionin e ri:

  • Skedari me kodin burimor Ă«shtĂ« pastruar nga skedarĂ«t e gjeneruar nga Autotools. Tani rekomandohet tĂ« pĂ«rdoret sistemi i ndĂ«rtimit Meson. MbĂ«shtetje e opsional pĂ«r Autotools Ă«shtĂ« ende ruajtur, por nĂ« lĂ«shimet e ardhshme planifikohet qĂ« ajo tĂ« hiqet.
  • Shtohet opsioni "--argv0" pĂ«r tĂ« pĂ«rcaktuar vlerĂ«n e argumentit tĂ« parĂ« tĂ« linjĂ«s sĂ« komandĂ«s (argv[0] - emri i skedarit ekzekutues, pĂ«r shembull "--argv0 /usr/bin/test").
  • Opsioni "--symlink" tani vepron vetĂ«m kur lidhja simbolike ekziston tashmĂ« dhe tregon nĂ« skedarin e duhur tĂ« destinacionit.
  • Dokumentohet opsioni "--cap-add", i pĂ«rdorur pĂ«r tĂ« vendosur flag-at e capability, pĂ«r shembull, "CAP_DAC_READ_SEARCH".
  • Rritet informativiteti i gabimeve qĂ« shfaqen gjatĂ« dĂ«shtimit tĂ« montimit.
  • Procesi i krijimit tĂ« testeve tĂ« njĂ«sisĂ« Ă«shtĂ« thjeshtuar.
  • NĂ« shembujt e pĂ«rdorimit, mbĂ«shtetja pĂ«r versionet e vjetra tĂ« Python-it Ă«shtĂ« ndalur.
  • Operacionet e alokimit tĂ« memories janĂ« pĂ«rmirĂ«suar.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster