⛱️ Mbox open source песочница с своим подходом |

⛱️ Mbox open source песочница с своим подходом

Обзоры

Mbox

Mbox – это легкий механизм песочницы, который любой пользователь может использовать без специальных привилегий в обычных операционных системах.

$ git clone https://github.com/tsgates/mbox

TL;DR

$ mbox -- wget google.com
...
Network Summary:
 > [11279] -> 173.194.43.51:80
 > [11279] Create socket(PF_INET,...)
 > [11279] -> a00::2607:f8b0:4006:803:0
 ...
Sandbox Root:
 > /tmp/sandbox-11275
 >  N:/tmp/index.html
[c]ommit, [i]gnore, [d]iff, [l]ist, [s]hell, [q]uit ?> 

О какой «песочнице» мы говорим?

Mbox представляет новую модель использования песочницы; при выполнении программы в песочнице Mbox не позволяет программам изменять файловую систему хоста, создавая у них впечатление, что они действительно вносят эти изменения.

Mbox достигает этого, предоставляя многоуровневую файловую систему изолированной программной среды и вставляя системные вызовы с помощью ptrace и seccomp / BPF.

В конце выполнения программы пользователь может проверить изменения в файловой системе песочницы и выборочно зафиксировать их обратно в файловую систему хоста.

При каких обстоятельствах Mbox может помочь?

Использование 1: Установка пакетов без рута

 $ mbox -R -- apt-get install git
  (-R: эмулировать среду fakeroot)

Использование 2: Безопасный запуск неизвестного двоичного файла

 $ mbox -n -- wget google.com
  (-n: отключить удаленный доступ к сети)

Использование 3: Контрольные точки файловая система

 $ mbox -i -- sh
  (-i: включить интерактивный режим фиксации)

Использование 4: Среда сборки / разработки

$ mbox -r outdir -- make
  (-r dir: указать файловую систему песочницы)

Использование 5: песочница на основе профиля

 $ mbox -p build.prof -- ./configure
  (-p prof: enable profile-based policy)
## build.prof
[fs]
    allow: .
    hide: ~

Установка

Пакеты

Я настоятельно рекомендую вам использовать последнюю версию mbox, и вот несколько простых способов попробовать mbox.

Arch Linux

$ sudo aurget -S mbox-git

или

$ wget http://pdos.csail.mit.edu/mbox/mbox-latest-x86_64.pkg.tar.xz
$ sudo pacman -U mbox-latest-x86_64.pkg.tar.xz

Debian

$ wget http://pdos.csail.mit.edu/mbox/mbox-latest-amd64.deb
$ sudo dpkg -i mbox-latest-amd64.deb

Вот список доступных опций

$ mbox -h
usage: mbox [-r root] [-s] [PROG]
        ...
        -m      : keep md5 of original files
        -c      : count time, calls, and errors for each syscall and report summary
        -d      : enable syscall trace to stderr
        -D      : enable debug
        -p file : load profile (see. NOTE.profile)
        -t      : run as unit tester (check pre/post condition, see tests-sbox/NOTE)
        -n      : disable network accesses
        -S      : enable nested seccomp
        -i      : disable interactive session at the end
        -s      : use seccomp instead of ptrace
        -R      : fakeroot
        -C path : change directory
        -r path : sandbox root (default:/tmp/sandbox-)

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий