Sololatio, traditionalis Linux continens virtualizationis technologias adhibentur, in usu cgroups, spatiis nominalibus, Seccomp et SELinux. Ad operationes privilegiatas ut vas configurandum, Bubblewrap cum iuribus radicibus (lima exsecutabile cum suid vexillo immittitur) ac deinde privilegia reponit post initialem receptam.
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (user namespaces), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
(Bubblewrap ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ suid-ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ user namespaces β Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅ΠΆΠΈΠΌΡ CLONE_NEWUSER ΠΈ CLONE_NEWPID). ΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ
Bubblewrap ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ PR_SET_NO_NEW_PRIVS, Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠ»Π°Π³Π° setuid.
Solitudo in ordine tabellae efficitur novum spatium spatii per defaltam creando, in quo partitio vacua radix tmpfs utens creatur. Si opus est, partitiones externae FS huic partitioni in modum "montis -vinciae" coniunctae sunt (exempli gratia, cum optione "bwrap -ro -ro-bing /usr /usr" immissa, partitio /usr a principali systemate transmittitur. in read-tantum modum). Facultates retis limitantur ad accessum ad fasciculum interfaciei retis cum ACERVUS solitudo per vexilla CLONE_NEWNET et CLONE_NEWUTS.
Clavis differentia ex simili
ΠΠΎΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (user namespaces) ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (pid namespaces). ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ»Π°Π³ΠΈ Β«βusernsΒ», Β«βuserns2Β» ΠΈ Β«βpidnsΒ».
ΠΠ°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ setuid ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π² root, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ
user namespaces Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ Π² Debian ΠΈ RHEL/CentOS) ΠΈ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ
Source: opennet.ru